From 58dd2f5996b23eda709582fb7883d63842a5ce98 Mon Sep 17 00:00:00 2001 From: Vegard Stikbakke Date: Thu, 18 Jun 2026 10:06:23 +0200 Subject: [PATCH] feat(ai): add GLM-5.2 to OpenCode Go model catalog closes #5860 --- packages/ai/CHANGELOG.md | 4 + packages/ai/src/models.generated.ts | 171 +++++++++++++++++++--------- 2 files changed, 124 insertions(+), 51 deletions(-) diff --git a/packages/ai/CHANGELOG.md b/packages/ai/CHANGELOG.md index b69233a1..a49ddf52 100644 --- a/packages/ai/CHANGELOG.md +++ b/packages/ai/CHANGELOG.md @@ -2,6 +2,10 @@ ## [Unreleased] +### Added + +- Added GLM-5.2 model to the OpenCode Go subscription model catalog ([#5860](https://github.com/earendil-works/pi/issues/5860)). + ## [0.79.6] - 2026-06-16 ### Fixed diff --git a/packages/ai/src/models.generated.ts b/packages/ai/src/models.generated.ts index 52eac523..424f8bcd 100644 --- a/packages/ai/src/models.generated.ts +++ b/packages/ai/src/models.generated.ts @@ -3885,7 +3885,7 @@ export const MODELS = { cost: { input: 0.14, output: 0.28, - cacheRead: 0.03, + cacheRead: 0.028, cacheWrite: 0, }, contextWindow: 1000000, @@ -3927,6 +3927,24 @@ export const MODELS = { contextWindow: 202800, maxTokens: 131072, } satisfies Model<"anthropic-messages">, + "accounts/fireworks/models/glm-5p2": { + id: "accounts/fireworks/models/glm-5p2", + name: "GLM 5.2", + api: "anthropic-messages", + provider: "fireworks", + baseUrl: "https://api.fireworks.ai/inference", + compat: {"sendSessionAffinityHeaders":true,"supportsEagerToolInputStreaming":false,"supportsCacheControlOnTools":false,"supportsLongCacheRetention":false}, + reasoning: true, + input: ["text"], + cost: { + input: 1.4, + output: 4.4, + cacheRead: 0.26, + cacheWrite: 0, + }, + contextWindow: 1048576, + maxTokens: 131072, + } satisfies Model<"anthropic-messages">, "accounts/fireworks/models/gpt-oss-120b": { id: "accounts/fireworks/models/gpt-oss-120b", name: "GPT OSS 120B", @@ -3939,7 +3957,7 @@ export const MODELS = { cost: { input: 0.15, output: 0.6, - cacheRead: 0.01, + cacheRead: 0.015, cacheWrite: 0, }, contextWindow: 131072, @@ -4117,7 +4135,7 @@ export const MODELS = { reasoning: true, input: ["text", "image"], cost: { - input: 2, + input: 1.9, output: 8, cacheRead: 0.38, cacheWrite: 0, @@ -8604,24 +8622,6 @@ export const MODELS = { contextWindow: 1000000, maxTokens: 384000, } satisfies Model<"openai-completions">, - "glm-5": { - id: "glm-5", - name: "GLM-5", - api: "openai-completions", - provider: "opencode-go", - baseUrl: "https://opencode.ai/zen/go/v1", - compat: {"maxTokensField":"max_tokens"}, - reasoning: true, - input: ["text"], - cost: { - input: 1, - output: 3.2, - cacheRead: 0.2, - cacheWrite: 0, - }, - contextWindow: 202752, - maxTokens: 32768, - } satisfies Model<"openai-completions">, "glm-5.1": { id: "glm-5.1", name: "GLM-5.1", @@ -8640,6 +8640,24 @@ export const MODELS = { contextWindow: 202752, maxTokens: 32768, } satisfies Model<"openai-completions">, + "glm-5.2": { + id: "glm-5.2", + name: "GLM-5.2", + api: "openai-completions", + provider: "opencode-go", + baseUrl: "https://opencode.ai/zen/go/v1", + compat: {"maxTokensField":"max_tokens"}, + reasoning: true, + input: ["text"], + cost: { + input: 1.4, + output: 4.4, + cacheRead: 0.26, + cacheWrite: 0, + }, + contextWindow: 1000000, + maxTokens: 131072, + } satisfies Model<"openai-completions">, "kimi-k2.6": { id: "kimi-k2.6", name: "Kimi K2.6", @@ -9352,6 +9370,23 @@ export const MODELS = { contextWindow: 128000, maxTokens: 4000, } satisfies Model<"openai-completions">, + "cohere/north-mini-code:free": { + id: "cohere/north-mini-code:free", + name: "Cohere: North Mini Code (free)", + api: "openai-completions", + provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", + reasoning: true, + input: ["text"], + cost: { + input: 0, + output: 0, + cacheRead: 0, + cacheWrite: 0, + }, + contextWindow: 256000, + maxTokens: 64000, + } satisfies Model<"openai-completions">, "deepseek/deepseek-chat": { id: "deepseek/deepseek-chat", name: "DeepSeek: DeepSeek V3", @@ -9660,7 +9695,24 @@ export const MODELS = { cacheWrite: 0.083333, }, contextWindow: 1048576, - maxTokens: 65536, + maxTokens: 65535, + } satisfies Model<"openai-completions">, + "google/gemini-3-pro-image": { + id: "google/gemini-3-pro-image", + name: "Google: Nano Banana Pro (Gemini 3 Pro Image)", + api: "openai-completions", + provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", + reasoning: true, + input: ["text", "image"], + cost: { + input: 2, + output: 12, + cacheRead: 0.2, + cacheWrite: 0.375, + }, + contextWindow: 65536, + maxTokens: 32768, } satisfies Model<"openai-completions">, "google/gemini-3.1-flash-lite": { id: "google/gemini-3.1-flash-lite", @@ -9847,7 +9899,7 @@ export const MODELS = { cacheWrite: 0, }, contextWindow: 262144, - maxTokens: 32768, + maxTokens: 8192, } satisfies Model<"openai-completions">, "ibm-granite/granite-4.1-8b": { id: "ibm-granite/granite-4.1-8b", @@ -9952,6 +10004,23 @@ export const MODELS = { contextWindow: 256000, maxTokens: 80000, } satisfies Model<"openai-completions">, + "liquid/lfm-2.5-1.2b-thinking:free": { + id: "liquid/lfm-2.5-1.2b-thinking:free", + name: "LiquidAI: LFM2.5-1.2B-Thinking (free)", + api: "openai-completions", + provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", + reasoning: true, + input: ["text"], + cost: { + input: 0, + output: 0, + cacheRead: 0, + cacheWrite: 0, + }, + contextWindow: 32768, + maxTokens: 4096, + } satisfies Model<"openai-completions">, "meta-llama/llama-3.1-70b-instruct": { id: "meta-llama/llama-3.1-70b-instruct", name: "Meta: Llama 3.1 70B Instruct", @@ -10677,8 +10746,8 @@ export const MODELS = { input: ["text"], cost: { input: 0.5, - output: 2.5, - cacheRead: 0.15, + output: 2.2, + cacheRead: 0.1, cacheWrite: 0, }, contextWindow: 1000000, @@ -11493,7 +11562,7 @@ export const MODELS = { cacheWrite: 0, }, contextWindow: 131072, - maxTokens: 8192, + maxTokens: 32768, } satisfies Model<"openai-completions">, "openai/gpt-oss-safeguard-20b": { id: "openai/gpt-oss-safeguard-20b", @@ -11784,6 +11853,23 @@ export const MODELS = { contextWindow: 131072, maxTokens: 16384, } satisfies Model<"openai-completions">, + "qwen/qwen-2.5-7b-instruct": { + id: "qwen/qwen-2.5-7b-instruct", + name: "Qwen: Qwen2.5 7B Instruct", + api: "openai-completions", + provider: "openrouter", + baseUrl: "https://openrouter.ai/api/v1", + reasoning: false, + input: ["text"], + cost: { + input: 0.04, + output: 0.1, + cacheRead: 0, + cacheWrite: 0, + }, + contextWindow: 131072, + maxTokens: 32768, + } satisfies Model<"openai-completions">, "qwen/qwen-plus": { id: "qwen/qwen-plus", name: "Qwen: Qwen-Plus", @@ -12753,23 +12839,6 @@ export const MODELS = { contextWindow: 256000, maxTokens: 4096, } satisfies Model<"openai-completions">, - "xiaomi/mimo-v2-flash": { - id: "xiaomi/mimo-v2-flash", - name: "Xiaomi: MiMo-V2-Flash", - api: "openai-completions", - provider: "openrouter", - baseUrl: "https://openrouter.ai/api/v1", - reasoning: true, - input: ["text"], - cost: { - input: 0.1, - output: 0.3, - cacheRead: 0.01, - cacheWrite: 0, - }, - contextWindow: 262144, - maxTokens: 65536, - } satisfies Model<"openai-completions">, "xiaomi/mimo-v2.5": { id: "xiaomi/mimo-v2.5", name: "Xiaomi: MiMo-V2.5", @@ -14948,13 +15017,13 @@ export const MODELS = { reasoning: false, input: ["text"], cost: { - input: 0.02, - output: 0.04, + input: 0.15, + output: 0.15, cacheRead: 0, cacheWrite: 0, }, - contextWindow: 131072, - maxTokens: 131072, + contextWindow: 128000, + maxTokens: 128000, } satisfies Model<"anthropic-messages">, "mistral/mistral-small": { id: "mistral/mistral-small", @@ -15107,7 +15176,7 @@ export const MODELS = { cacheWrite: 0, }, contextWindow: 262144, - maxTokens: 4096, + maxTokens: 32768, } satisfies Model<"anthropic-messages">, "nvidia/nemotron-3-super-120b-a12b": { id: "nvidia/nemotron-3-super-120b-a12b", @@ -16354,9 +16423,9 @@ export const MODELS = { reasoning: true, input: ["text"], cost: { - input: 1.4, - output: 4.4, - cacheRead: 0.26, + input: 1.5, + output: 4.5, + cacheRead: 0.3, cacheWrite: 0, }, contextWindow: 1000000,