diff --git a/bun.lock b/bun.lock
index aabc44e32f..c72fe6a280 100644
--- a/bun.lock
+++ b/bun.lock
@@ -29,7 +29,7 @@
},
"packages/app": {
"name": "@opencode-ai/app",
- "version": "1.17.11",
+ "version": "1.17.12",
"dependencies": {
"@dnd-kit/abstract": "0.5.0",
"@dnd-kit/dom": "0.5.0",
@@ -92,7 +92,7 @@
},
"packages/cli": {
"name": "@opencode-ai/cli",
- "version": "1.17.11",
+ "version": "1.17.12",
"bin": {
"lildax": "./bin/lildax.cjs",
},
@@ -140,7 +140,7 @@
},
"packages/console/app": {
"name": "@opencode-ai/console-app",
- "version": "1.17.11",
+ "version": "1.17.12",
"dependencies": {
"@cloudflare/vite-plugin": "1.15.2",
"@ibm/plex": "6.4.1",
@@ -176,7 +176,7 @@
},
"packages/console/core": {
"name": "@opencode-ai/console-core",
- "version": "1.17.11",
+ "version": "1.17.12",
"dependencies": {
"@aws-sdk/client-sts": "3.782.0",
"@jsx-email/render": "1.1.1",
@@ -203,7 +203,7 @@
},
"packages/console/function": {
"name": "@opencode-ai/console-function",
- "version": "1.17.11",
+ "version": "1.17.12",
"dependencies": {
"@ai-sdk/anthropic": "3.0.82",
"@ai-sdk/openai": "3.0.48",
@@ -225,7 +225,7 @@
},
"packages/console/mail": {
"name": "@opencode-ai/console-mail",
- "version": "1.17.11",
+ "version": "1.17.12",
"dependencies": {
"@jsx-email/all": "2.2.3",
"@jsx-email/cli": "1.4.3",
@@ -249,7 +249,7 @@
},
"packages/console/support": {
"name": "@opencode-ai/console-support",
- "version": "1.17.11",
+ "version": "1.17.12",
"dependencies": {
"@cloudflare/vite-plugin": "1.15.2",
"@opencode-ai/console-core": "workspace:*",
@@ -269,7 +269,7 @@
},
"packages/core": {
"name": "@opencode-ai/core",
- "version": "1.17.11",
+ "version": "1.17.12",
"bin": {
"opencode": "./bin/opencode",
},
@@ -363,7 +363,7 @@
},
"packages/desktop": {
"name": "@opencode-ai/desktop",
- "version": "1.17.11",
+ "version": "1.17.12",
"dependencies": {
"@zip.js/zip.js": "2.7.62",
"effect": "catalog:",
@@ -417,7 +417,7 @@
},
"packages/effect-drizzle-sqlite": {
"name": "@opencode-ai/effect-drizzle-sqlite",
- "version": "1.17.11",
+ "version": "1.17.12",
"dependencies": {
"drizzle-orm": "catalog:",
"effect": "catalog:",
@@ -431,7 +431,7 @@
},
"packages/effect-sqlite-node": {
"name": "@opencode-ai/effect-sqlite-node",
- "version": "1.17.11",
+ "version": "1.17.12",
"dependencies": {
"effect": "catalog:",
},
@@ -443,7 +443,7 @@
},
"packages/enterprise": {
"name": "@opencode-ai/enterprise",
- "version": "1.17.11",
+ "version": "1.17.12",
"dependencies": {
"@hono/standard-validator": "catalog:",
"@opencode-ai/core": "workspace:*",
@@ -475,7 +475,7 @@
},
"packages/function": {
"name": "@opencode-ai/function",
- "version": "1.17.11",
+ "version": "1.17.12",
"dependencies": {
"@octokit/auth-app": "8.0.1",
"@octokit/rest": "catalog:",
@@ -491,7 +491,7 @@
},
"packages/http-recorder": {
"name": "@opencode-ai/http-recorder",
- "version": "1.17.11",
+ "version": "1.17.12",
"dependencies": {
"@effect/platform-node": "4.0.0-beta.83",
"@effect/platform-node-shared": "4.0.0-beta.83",
@@ -522,7 +522,7 @@
},
"packages/llm": {
"name": "@opencode-ai/llm",
- "version": "1.17.11",
+ "version": "1.17.12",
"dependencies": {
"@opencode-ai/schema": "workspace:*",
"@smithy/eventstream-codec": "4.2.14",
@@ -541,7 +541,7 @@
},
"packages/opencode": {
"name": "opencode",
- "version": "1.17.11",
+ "version": "1.17.12",
"bin": {
"opencode": "./bin/opencode",
},
@@ -671,7 +671,7 @@
},
"packages/plugin": {
"name": "@opencode-ai/plugin",
- "version": "1.17.11",
+ "version": "1.17.12",
"dependencies": {
"@ai-sdk/provider": "3.0.8",
"@opencode-ai/sdk": "workspace:*",
@@ -747,7 +747,7 @@
},
"packages/sdk/js": {
"name": "@opencode-ai/sdk",
- "version": "1.17.11",
+ "version": "1.17.12",
"dependencies": {
"cross-spawn": "catalog:",
},
@@ -762,7 +762,7 @@
},
"packages/server": {
"name": "@opencode-ai/server",
- "version": "1.17.11",
+ "version": "1.17.12",
"dependencies": {
"@opencode-ai/core": "workspace:*",
"@opencode-ai/protocol": "workspace:*",
@@ -777,7 +777,7 @@
},
"packages/session-ui": {
"name": "@opencode-ai/session-ui",
- "version": "1.17.11",
+ "version": "1.17.12",
"dependencies": {
"@kobalte/core": "catalog:",
"@opencode-ai/core": "workspace:*",
@@ -821,7 +821,7 @@
},
"packages/slack": {
"name": "@opencode-ai/slack",
- "version": "1.17.11",
+ "version": "1.17.12",
"dependencies": {
"@opencode-ai/sdk": "workspace:*",
"@slack/bolt": "^3.17.1",
@@ -834,7 +834,7 @@
},
"packages/stats/app": {
"name": "@opencode-ai/stats-app",
- "version": "1.17.11",
+ "version": "1.17.12",
"dependencies": {
"@ibm/plex": "6.4.1",
"@opencode-ai/stats-core": "workspace:*",
@@ -867,7 +867,7 @@
},
"packages/stats/core": {
"name": "@opencode-ai/stats-core",
- "version": "1.17.11",
+ "version": "1.17.12",
"dependencies": {
"@aws-sdk/client-athena": "3.933.0",
"@planetscale/database": "1.19.0",
@@ -886,7 +886,7 @@
},
"packages/stats/server": {
"name": "@opencode-ai/stats-server",
- "version": "1.17.11",
+ "version": "1.17.12",
"dependencies": {
"@aws-sdk/client-firehose": "3.933.0",
"@effect/platform-node": "catalog:",
@@ -927,7 +927,7 @@
},
"packages/tui": {
"name": "@opencode-ai/tui",
- "version": "1.17.11",
+ "version": "1.17.12",
"dependencies": {
"@opencode-ai/core": "workspace:*",
"@opencode-ai/plugin": "workspace:*",
@@ -954,7 +954,7 @@
},
"packages/ui": {
"name": "@opencode-ai/ui",
- "version": "1.17.11",
+ "version": "1.17.12",
"dependencies": {
"@kobalte/core": "catalog:",
"@pierre/diffs": "catalog:",
@@ -1005,7 +1005,7 @@
},
"packages/web": {
"name": "@opencode-ai/web",
- "version": "1.17.11",
+ "version": "1.17.12",
"dependencies": {
"@astrojs/cloudflare": "12.6.3",
"@astrojs/markdown-remark": "6.3.1",
diff --git a/nix/hashes.json b/nix/hashes.json
index 769d63a0d3..a55fa08399 100644
--- a/nix/hashes.json
+++ b/nix/hashes.json
@@ -1,8 +1,8 @@
{
"nodeModules": {
- "x86_64-linux": "sha256-An7vZmA+sVlxoSOMK4vQvkq3KJOF6Rm9IBU62LN3Hkg=",
- "aarch64-linux": "sha256-Hx4trrBLxRDyY4HQc96EQZUa8abIeetNvE8GtRFvrrc=",
- "aarch64-darwin": "sha256-/eXdkybUkDCrfQRCkZHsgCa3BM/OfaQzH/z7OxwlpVM=",
- "x86_64-darwin": "sha256-flhsuFXikpI8tzK7nTwIVF/jzpmb5p+BWxGa/5vhN54="
+ "x86_64-linux": "sha256-Ulflihjr8JDRVyNxSchoqaey6z/12256zs1FOiw+4vo=",
+ "aarch64-linux": "sha256-wP6p30a9f7s3tua5qbIq/10OHdbJb8xUni5KxE3F+/k=",
+ "aarch64-darwin": "sha256-7+4skFiJ+tLSjNG6WR53bT/IektA5B7gEcWLYpkK4z8=",
+ "x86_64-darwin": "sha256-NL945zD4J6HomH5SF0XIO8ZFCbIh2MTsJFtTyuxm2Q0="
}
}
diff --git a/packages/app/package.json b/packages/app/package.json
index 52420afedc..d9317f39bc 100644
--- a/packages/app/package.json
+++ b/packages/app/package.json
@@ -1,6 +1,6 @@
{
"name": "@opencode-ai/app",
- "version": "1.17.11",
+ "version": "1.17.12",
"description": "",
"type": "module",
"exports": {
diff --git a/packages/cli/package.json b/packages/cli/package.json
index 1ea11f0864..03667a524a 100644
--- a/packages/cli/package.json
+++ b/packages/cli/package.json
@@ -1,7 +1,7 @@
{
"$schema": "https://json.schemastore.org/package.json",
"name": "@opencode-ai/cli",
- "version": "1.17.11",
+ "version": "1.17.12",
"type": "module",
"license": "MIT",
"bin": {
diff --git a/packages/console/app/package.json b/packages/console/app/package.json
index 1011a5a59a..5a1aeab61d 100644
--- a/packages/console/app/package.json
+++ b/packages/console/app/package.json
@@ -1,6 +1,6 @@
{
"name": "@opencode-ai/console-app",
- "version": "1.17.11",
+ "version": "1.17.12",
"type": "module",
"license": "MIT",
"scripts": {
diff --git a/packages/console/app/src/i18n/ar.ts b/packages/console/app/src/i18n/ar.ts
index 3a172c5d9b..ddb66b4135 100644
--- a/packages/console/app/src/i18n/ar.ts
+++ b/packages/console/app/src/i18n/ar.ts
@@ -248,7 +248,6 @@ export const dict = {
"zen.privacy.exceptionsLink": "الاستثناءات التالية",
"go.title": "OpenCode Go | نماذج برمجة منخفضة التكلفة للجميع",
- "go.banner.text": "MiniMax M3: حد استخدام أكبر 3 مرات لفترة محدودة",
"go.meta.description":
"يبدأ Go من $5 للشهر الأول، ثم $10/شهر، مع حدود طلب سخية لمدة 5 ساعات لـ GLM-5.2 وGLM-5.1 وKimi K2.7 Code وKimi K2.6 وMiMo-V2.5-Pro وMiMo-V2.5 وQwen3.7 Max وQwen3.7 Plus وQwen3.6 Plus وMiniMax M2.7 وMiniMax M3 وDeepSeek V4 Pro وDeepSeek V4 Flash.",
"go.hero.title": "نماذج برمجة منخفضة التكلفة للجميع",
diff --git a/packages/console/app/src/i18n/br.ts b/packages/console/app/src/i18n/br.ts
index 2c1b81c5b4..3c00dc8643 100644
--- a/packages/console/app/src/i18n/br.ts
+++ b/packages/console/app/src/i18n/br.ts
@@ -252,7 +252,6 @@ export const dict = {
"zen.privacy.exceptionsLink": "seguintes exceções",
"go.title": "OpenCode Go | Modelos de codificação de baixo custo para todos",
- "go.banner.text": "MiniMax M3 tem limite de uso 3x maior por tempo limitado",
"go.meta.description":
"O Go começa em $5 no primeiro mês, depois $10/mês, com limites generosos de solicitação de 5 horas para GLM-5.2, GLM-5.1, Kimi K2.7 Code, Kimi K2.6, MiMo-V2.5-Pro, MiMo-V2.5, Qwen3.7 Max, Qwen3.7 Plus, Qwen3.6 Plus, MiniMax M2.7, MiniMax M3, DeepSeek V4 Pro e DeepSeek V4 Flash.",
"go.hero.title": "Modelos de codificação de baixo custo para todos",
diff --git a/packages/console/app/src/i18n/da.ts b/packages/console/app/src/i18n/da.ts
index 8df09f3dba..b87aa04cd9 100644
--- a/packages/console/app/src/i18n/da.ts
+++ b/packages/console/app/src/i18n/da.ts
@@ -250,7 +250,6 @@ export const dict = {
"zen.privacy.exceptionsLink": "følgende undtagelser",
"go.title": "OpenCode Go | Kodningsmodeller til lav pris for alle",
- "go.banner.text": "MiniMax M3 får tredoblet brugsgrænse i en begrænset periode",
"go.meta.description":
"Go starter ved $5 for den første måned, derefter $10/måned, med generøse 5-timers anmodningsgrænser for GLM-5.2, GLM-5.1, Kimi K2.7 Code, Kimi K2.6, MiMo-V2.5-Pro, MiMo-V2.5, Qwen3.7 Max, Qwen3.7 Plus, Qwen3.6 Plus, MiniMax M2.7, MiniMax M3, DeepSeek V4 Pro og DeepSeek V4 Flash.",
"go.hero.title": "Kodningsmodeller til lav pris for alle",
diff --git a/packages/console/app/src/i18n/de.ts b/packages/console/app/src/i18n/de.ts
index fd8060e545..5579796f3a 100644
--- a/packages/console/app/src/i18n/de.ts
+++ b/packages/console/app/src/i18n/de.ts
@@ -252,7 +252,6 @@ export const dict = {
"zen.privacy.exceptionsLink": "folgenden Ausnahmen",
"go.title": "OpenCode Go | Kostengünstige Coding-Modelle für alle",
- "go.banner.text": "MiniMax M3 erhält für begrenzte Zeit 3x Nutzungslimits",
"go.meta.description":
"Go beginnt bei $5 für den ersten Monat, danach $10/Monat, mit großzügigen 5-Stunden-Anfragelimits für GLM-5.2, GLM-5.1, Kimi K2.7 Code, Kimi K2.6, MiMo-V2.5-Pro, MiMo-V2.5, Qwen3.7 Max, Qwen3.7 Plus, Qwen3.6 Plus, MiniMax M2.7, MiniMax M3, DeepSeek V4 Pro und DeepSeek V4 Flash.",
"go.hero.title": "Kostengünstige Coding-Modelle für alle",
diff --git a/packages/console/app/src/i18n/en.ts b/packages/console/app/src/i18n/en.ts
index 88b710ac37..9cd10f6407 100644
--- a/packages/console/app/src/i18n/en.ts
+++ b/packages/console/app/src/i18n/en.ts
@@ -248,7 +248,6 @@ export const dict = {
"zen.privacy.exceptionsLink": "following exceptions",
"go.title": "OpenCode Go | Low cost coding models for everyone",
- "go.banner.text": "MiniMax M3 gets 3× usage limits for a limited time",
"go.meta.description":
"Go starts at $5 for your first month, then $10/month, with generous 5-hour request limits for GLM-5.2, GLM-5.1, Kimi K2.7 Code, Kimi K2.6, MiMo-V2.5-Pro, MiMo-V2.5, Qwen3.7 Max, Qwen3.7 Plus, Qwen3.6 Plus, MiniMax M2.7, MiniMax M3, DeepSeek V4 Pro, and DeepSeek V4 Flash.",
"go.hero.title": "Low cost coding models for everyone",
diff --git a/packages/console/app/src/i18n/es.ts b/packages/console/app/src/i18n/es.ts
index 3f5cfe1422..96d760e0b6 100644
--- a/packages/console/app/src/i18n/es.ts
+++ b/packages/console/app/src/i18n/es.ts
@@ -253,7 +253,6 @@ export const dict = {
"zen.privacy.exceptionsLink": "siguientes excepciones",
"go.title": "OpenCode Go | Modelos de programación de bajo coste para todos",
- "go.banner.text": "MiniMax M3 tiene límites de uso 3x mayores por tiempo limitado",
"go.meta.description":
"Go comienza en $5 el primer mes, luego 10 $/mes, con generosos límites de solicitudes de 5 horas para GLM-5.2, GLM-5.1, Kimi K2.7 Code, Kimi K2.6, MiMo-V2.5-Pro, MiMo-V2.5, Qwen3.7 Max, Qwen3.7 Plus, Qwen3.6 Plus, MiniMax M2.7, MiniMax M3, DeepSeek V4 Pro y DeepSeek V4 Flash.",
"go.hero.title": "Modelos de programación de bajo coste para todos",
diff --git a/packages/console/app/src/i18n/fr.ts b/packages/console/app/src/i18n/fr.ts
index 7e3de42b8d..039692ef6b 100644
--- a/packages/console/app/src/i18n/fr.ts
+++ b/packages/console/app/src/i18n/fr.ts
@@ -254,7 +254,6 @@ export const dict = {
"zen.privacy.exceptionsLink": "exceptions suivantes",
"go.title": "OpenCode Go | Modèles de code à faible coût pour tous",
- "go.banner.text": "MiniMax M3 bénéficie de limites d’utilisation 3x supérieures pour une durée limitée",
"go.meta.description":
"Go commence à $5 pour le premier mois, puis 10 $/mois, avec des limites de requêtes généreuses sur 5 heures pour GLM-5.2, GLM-5.1, Kimi K2.7 Code, Kimi K2.6, MiMo-V2.5-Pro, MiMo-V2.5, Qwen3.7 Max, Qwen3.7 Plus, Qwen3.6 Plus, MiniMax M2.7, MiniMax M3, DeepSeek V4 Pro et DeepSeek V4 Flash.",
"go.hero.title": "Modèles de code à faible coût pour tous",
diff --git a/packages/console/app/src/i18n/it.ts b/packages/console/app/src/i18n/it.ts
index 39d4c3626b..bd080c44d3 100644
--- a/packages/console/app/src/i18n/it.ts
+++ b/packages/console/app/src/i18n/it.ts
@@ -250,7 +250,6 @@ export const dict = {
"zen.privacy.exceptionsLink": "seguenti eccezioni",
"go.title": "OpenCode Go | Modelli di coding a basso costo per tutti",
- "go.banner.text": "MiniMax M3 offre limiti di utilizzo 3x superiori per un periodo limitato",
"go.meta.description":
"Go inizia a $5 per il primo mese, poi $10/mese, con generosi limiti di richiesta di 5 ore per GLM-5.2, GLM-5.1, Kimi K2.7 Code, Kimi K2.6, MiMo-V2.5-Pro, MiMo-V2.5, Qwen3.7 Max, Qwen3.7 Plus, Qwen3.6 Plus, MiniMax M2.7, MiniMax M3, DeepSeek V4 Pro e DeepSeek V4 Flash.",
"go.hero.title": "Modelli di coding a basso costo per tutti",
diff --git a/packages/console/app/src/i18n/ja.ts b/packages/console/app/src/i18n/ja.ts
index fc124adc1b..c3e7ff2d4c 100644
--- a/packages/console/app/src/i18n/ja.ts
+++ b/packages/console/app/src/i18n/ja.ts
@@ -249,7 +249,6 @@ export const dict = {
"zen.privacy.exceptionsLink": "以下の例外",
"go.title": "OpenCode Go | すべての人のための低価格なコーディングモデル",
- "go.banner.text": "MiniMax M3の利用上限が期間限定で3倍に",
"go.meta.description":
"Goは最初の月$5、その後$10/月で、GLM-5.2、GLM-5.1、Kimi K2.7 Code、Kimi K2.6、MiMo-V2.5-Pro、MiMo-V2.5、Qwen3.7 Max、Qwen3.7 Plus、Qwen3.6 Plus、MiniMax M2.7、MiniMax M3、DeepSeek V4 Pro、DeepSeek V4 Flashに対して5時間のゆとりあるリクエスト上限があります。",
"go.hero.title": "すべての人のための低価格なコーディングモデル",
diff --git a/packages/console/app/src/i18n/ko.ts b/packages/console/app/src/i18n/ko.ts
index db21a40cc3..0245d0c970 100644
--- a/packages/console/app/src/i18n/ko.ts
+++ b/packages/console/app/src/i18n/ko.ts
@@ -246,7 +246,6 @@ export const dict = {
"zen.privacy.exceptionsLink": "다음 예외",
"go.title": "OpenCode Go | 모두를 위한 저비용 코딩 모델",
- "go.banner.text": "MiniMax M3 사용 한도가 한시적으로 3배 확대됩니다",
"go.meta.description":
"Go는 첫 달 $5, 이후 $10/월로 시작하며, GLM-5.2, GLM-5.1, Kimi K2.7 Code, Kimi K2.6, MiMo-V2.5-Pro, MiMo-V2.5, Qwen3.7 Max, Qwen3.7 Plus, Qwen3.6 Plus, MiniMax M2.7, MiniMax M3, DeepSeek V4 Pro, DeepSeek V4 Flash에 대해 넉넉한 5시간 요청 한도를 제공합니다.",
"go.hero.title": "모두를 위한 저비용 코딩 모델",
diff --git a/packages/console/app/src/i18n/no.ts b/packages/console/app/src/i18n/no.ts
index 0cf394ce8b..bc2f9a935f 100644
--- a/packages/console/app/src/i18n/no.ts
+++ b/packages/console/app/src/i18n/no.ts
@@ -250,7 +250,6 @@ export const dict = {
"zen.privacy.exceptionsLink": "følgende unntak",
"go.title": "OpenCode Go | Rimelige kodemodeller for alle",
- "go.banner.text": "MiniMax M3 får 3x bruksgrense i en begrenset periode",
"go.meta.description":
"Go starter på $5 for den første måneden, deretter $10/måned, med sjenerøse 5-timers forespørselsgrenser for GLM-5.2, GLM-5.1, Kimi K2.7 Code, Kimi K2.6, MiMo-V2.5-Pro, MiMo-V2.5, Qwen3.7 Max, Qwen3.7 Plus, Qwen3.6 Plus, MiniMax M2.7, MiniMax M3, DeepSeek V4 Pro og DeepSeek V4 Flash.",
"go.hero.title": "Rimelige kodemodeller for alle",
diff --git a/packages/console/app/src/i18n/pl.ts b/packages/console/app/src/i18n/pl.ts
index 48c292100d..6d7df39d2b 100644
--- a/packages/console/app/src/i18n/pl.ts
+++ b/packages/console/app/src/i18n/pl.ts
@@ -251,7 +251,6 @@ export const dict = {
"zen.privacy.exceptionsLink": "następującymi wyjątkami",
"go.title": "OpenCode Go | Niskokosztowe modele do kodowania dla każdego",
- "go.banner.text": "MiniMax M3 oferuje 3x wyższe limity użycia przez ograniczony czas",
"go.meta.description":
"Go zaczyna się od $5 za pierwszy miesiąc, potem $10/miesiąc, z hojnymi 5-godzinnymi limitami zapytań dla GLM-5.2, GLM-5.1, Kimi K2.7 Code, Kimi K2.6, MiMo-V2.5-Pro, MiMo-V2.5, Qwen3.7 Max, Qwen3.7 Plus, Qwen3.6 Plus, MiniMax M2.7, MiniMax M3, DeepSeek V4 Pro i DeepSeek V4 Flash.",
"go.hero.title": "Niskokosztowe modele do kodowania dla każdego",
diff --git a/packages/console/app/src/i18n/ru.ts b/packages/console/app/src/i18n/ru.ts
index 6d77d17ee9..90d3c6c8c5 100644
--- a/packages/console/app/src/i18n/ru.ts
+++ b/packages/console/app/src/i18n/ru.ts
@@ -254,7 +254,6 @@ export const dict = {
"zen.privacy.exceptionsLink": "следующими исключениями",
"go.title": "OpenCode Go | Недорогие модели для кодинга для всех",
- "go.banner.text": "MiniMax M3 получает 3x лимиты использования на ограниченное время",
"go.meta.description":
"Go начинается с $5 за первый месяц, затем $10/месяц, с щедрыми лимитами запросов за 5 часов для GLM-5.2, GLM-5.1, Kimi K2.7 Code, Kimi K2.6, MiMo-V2.5-Pro, MiMo-V2.5, Qwen3.7 Max, Qwen3.7 Plus, Qwen3.6 Plus, MiniMax M2.7, MiniMax M3, DeepSeek V4 Pro и DeepSeek V4 Flash.",
"go.hero.title": "Недорогие модели для кодинга для всех",
diff --git a/packages/console/app/src/i18n/th.ts b/packages/console/app/src/i18n/th.ts
index eebe020948..bf7c2e58e4 100644
--- a/packages/console/app/src/i18n/th.ts
+++ b/packages/console/app/src/i18n/th.ts
@@ -249,7 +249,6 @@ export const dict = {
"zen.privacy.exceptionsLink": "ข้อยกเว้นดังนี้",
"go.title": "OpenCode Go | โมเดลเขียนโค้ดราคาประหยัดสำหรับทุกคน",
- "go.banner.text": "MiniMax M3 เพิ่มโควตาการใช้งานเป็น 3 เท่าในช่วงเวลาจำกัด",
"go.meta.description":
"Go เริ่มต้นที่ $5 สำหรับเดือนแรก จากนั้น $10/เดือน พร้อมขีดจำกัดคำขอ 5 ชั่วโมงที่เอื้อเฟื้อสำหรับ GLM-5.2, GLM-5.1, Kimi K2.7 Code, Kimi K2.6, MiMo-V2.5-Pro, MiMo-V2.5, Qwen3.7 Max, Qwen3.7 Plus, Qwen3.6 Plus, MiniMax M2.7, MiniMax M3, DeepSeek V4 Pro และ DeepSeek V4 Flash",
"go.hero.title": "โมเดลเขียนโค้ดราคาประหยัดสำหรับทุกคน",
diff --git a/packages/console/app/src/i18n/tr.ts b/packages/console/app/src/i18n/tr.ts
index 866f3adc9a..7bc45ee2e2 100644
--- a/packages/console/app/src/i18n/tr.ts
+++ b/packages/console/app/src/i18n/tr.ts
@@ -252,7 +252,6 @@ export const dict = {
"zen.privacy.exceptionsLink": "aşağıdaki istisnalar",
"go.title": "OpenCode Go | Herkes için düşük maliyetli kodlama modelleri",
- "go.banner.text": "MiniMax M3 sınırlı bir süre için 3x kullanım limiti sunuyor",
"go.meta.description":
"Go ilk ay $5, sonrasında ayda 10$ fiyatıyla başlar; GLM-5.2, GLM-5.1, Kimi K2.7 Code, Kimi K2.6, MiMo-V2.5-Pro, MiMo-V2.5, Qwen3.7 Max, Qwen3.7 Plus, Qwen3.6 Plus, MiniMax M2.7, MiniMax M3, DeepSeek V4 Pro ve DeepSeek V4 Flash için cömert 5 saatlik istek limitleri sunar.",
"go.hero.title": "Herkes için düşük maliyetli kodlama modelleri",
diff --git a/packages/console/app/src/i18n/uk.ts b/packages/console/app/src/i18n/uk.ts
index 91c7510148..8486fa81b5 100644
--- a/packages/console/app/src/i18n/uk.ts
+++ b/packages/console/app/src/i18n/uk.ts
@@ -251,7 +251,6 @@ export const dict = {
"zen.privacy.exceptionsLink": "такими винятками",
"go.title": "OpenCode Go | Недорогі моделі кодування для всіх",
- "go.banner.text": "MiniMax M3 отримує 3x ліміти використання протягом обмеженого часу",
"go.meta.description":
"Go починається від $5 за перший місяць, потім $10/місяць, з generous 5-годинними лімітами запитів для GLM-5.2, GLM-5.1, Kimi K2.7 Code, Kimi K2.6, MiMo-V2.5-Pro, MiMo-V2.5, Qwen3.7 Max, Qwen3.7 Plus, Qwen3.6 Plus, MiniMax M2.7, MiniMax M3, DeepSeek V4 Pro та DeepSeek V4 Flash.",
"go.hero.title": "Недорогі моделі кодування для всіх",
diff --git a/packages/console/app/src/i18n/zh.ts b/packages/console/app/src/i18n/zh.ts
index ebb0f47e7d..5bcb84ac82 100644
--- a/packages/console/app/src/i18n/zh.ts
+++ b/packages/console/app/src/i18n/zh.ts
@@ -240,7 +240,6 @@ export const dict = {
"zen.privacy.exceptionsLink": "以下例外情况除外",
"go.title": "OpenCode Go | 人人可用的低成本编程模型",
- "go.banner.text": "MiniMax M3 限时享受 3 倍使用额度",
"go.meta.description":
"Go 首月 $5,之后 $10/月,提供对 GLM-5.2、GLM-5.1、Kimi K2.7 Code、Kimi K2.6、MiMo-V2.5-Pro、MiMo-V2.5、Qwen3.7 Max、Qwen3.7 Plus、Qwen3.6 Plus、MiniMax M2.7、MiniMax M3、DeepSeek V4 Pro 和 DeepSeek V4 Flash 的 5 小时充裕请求额度。",
"go.hero.title": "人人可用的低成本编程模型",
diff --git a/packages/console/app/src/i18n/zht.ts b/packages/console/app/src/i18n/zht.ts
index 8170edf646..eaa5763d46 100644
--- a/packages/console/app/src/i18n/zht.ts
+++ b/packages/console/app/src/i18n/zht.ts
@@ -240,7 +240,6 @@ export const dict = {
"zen.privacy.exceptionsLink": "以下例外情況",
"go.title": "OpenCode Go | 低成本全民編碼模型",
- "go.banner.text": "MiniMax M3 限時享有 3 倍使用額度",
"go.meta.description":
"Go 首月 $5,之後 $10/月,提供對 GLM-5.2、GLM-5.1、Kimi K2.7 Code、Kimi K2.6、MiMo-V2.5-Pro、MiMo-V2.5、Qwen3.7 Max、Qwen3.7 Plus、Qwen3.6 Plus、MiniMax M2.7、MiniMax M3、DeepSeek V4 Pro 和 DeepSeek V4 Flash 的 5 小時充裕請求額度。",
"go.hero.title": "低成本全民編碼模型",
diff --git a/packages/console/app/src/routes/go/index.css b/packages/console/app/src/routes/go/index.css
index 94dfa1d96f..45b61d217e 100644
--- a/packages/console/app/src/routes/go/index.css
+++ b/packages/console/app/src/routes/go/index.css
@@ -327,37 +327,6 @@ body {
}
}
- [data-component="desktop-app-banner"] {
- display: flex;
- align-items: center;
- gap: 12px;
- margin-bottom: 32px;
-
- [data-slot="badge"] {
- background: var(--color-background-strong);
- color: var(--color-text-inverted);
- font-weight: 500;
- padding: 4px 8px;
- line-height: 1;
- flex-shrink: 0;
- }
-
- [data-slot="content"] {
- display: flex;
- align-items: center;
- gap: 1ch;
- }
-
- [data-slot="text"] {
- color: var(--color-text-strong);
- line-height: 1.4;
-
- @media (max-width: 30.625rem) {
- display: none;
- }
- }
- }
-
[data-slot="hero-copy"] {
img {
margin-bottom: 24px;
@@ -663,10 +632,6 @@ body {
fill: var(--color-text-strong);
}
- [data-bar][data-kind="promo"] {
- fill: color-mix(in srgb, var(--bar-go) 50%, transparent);
- }
-
[data-val] {
fill: var(--color-text-strong);
font-size: 13px;
diff --git a/packages/console/app/src/routes/go/index.tsx b/packages/console/app/src/routes/go/index.tsx
index b0409b174c..960099fe49 100644
--- a/packages/console/app/src/routes/go/index.tsx
+++ b/packages/console/app/src/routes/go/index.tsx
@@ -64,10 +64,10 @@ function LimitsGraph(props: { href: string }) {
{ id: "glm-5.2", name: "GLM-5.2", req: 880, d: "100ms" },
{ id: "qwen3.7-max", name: "Qwen3.7 Max", req: 950, d: "110ms" },
{ id: "kimi-k2.7-code", name: "Kimi K2.7 Code", req: 1150, d: "150ms" },
- { id: "mimo-v2.5-pro", name: "MiMo-V2.5-Pro", req: 3250, d: "210ms" },
- { id: "deepseek-v4-pro", name: "DeepSeek V4 Pro", req: 3450, d: "240ms" },
- { id: "qwen3.7-plus", name: "Qwen3.7 Plus", req: 4300, d: "250ms" },
- { id: "minimax-m3", name: "MiniMax M3 (3x usage)", req: 9600, baseReq: 3200, d: "280ms" },
+ { id: "minimax-m3", name: "MiniMax M3", req: 3200, d: "210ms" },
+ { id: "mimo-v2.5-pro", name: "MiMo-V2.5-Pro", req: 3250, d: "240ms" },
+ { id: "deepseek-v4-pro", name: "DeepSeek V4 Pro", req: 3450, d: "270ms" },
+ { id: "qwen3.7-plus", name: "Qwen3.7 Plus", req: 4300, d: "300ms" },
{ id: "mimo-v2.5", name: "MiMo-V2.5", req: 30100, d: "340ms" },
{ id: "deepseek-v4-flash", name: "DeepSeek V4 Flash", req: 31650, d: "340ms" },
]
@@ -157,24 +157,12 @@ function LimitsGraph(props: { href: string }) {
- {m.baseReq && (
-
- )}
)}
@@ -264,12 +252,6 @@ export default function Home() {
-
-
{i18n.t("home.banner.badge")}
-
- {i18n.t("go.banner.text")}
-
-

diff --git a/packages/console/core/package.json b/packages/console/core/package.json
index bc7c31cc0b..239f78d1ed 100644
--- a/packages/console/core/package.json
+++ b/packages/console/core/package.json
@@ -1,7 +1,7 @@
{
"$schema": "https://json.schemastore.org/package.json",
"name": "@opencode-ai/console-core",
- "version": "1.17.11",
+ "version": "1.17.12",
"private": true,
"type": "module",
"license": "MIT",
diff --git a/packages/console/function/package.json b/packages/console/function/package.json
index 3cb120ed69..ca0020fea2 100644
--- a/packages/console/function/package.json
+++ b/packages/console/function/package.json
@@ -1,6 +1,6 @@
{
"name": "@opencode-ai/console-function",
- "version": "1.17.11",
+ "version": "1.17.12",
"$schema": "https://json.schemastore.org/package.json",
"private": true,
"type": "module",
diff --git a/packages/console/mail/package.json b/packages/console/mail/package.json
index da8c06a611..53ef65e162 100644
--- a/packages/console/mail/package.json
+++ b/packages/console/mail/package.json
@@ -1,6 +1,6 @@
{
"name": "@opencode-ai/console-mail",
- "version": "1.17.11",
+ "version": "1.17.12",
"dependencies": {
"@jsx-email/all": "2.2.3",
"@jsx-email/cli": "1.4.3",
diff --git a/packages/console/support/package.json b/packages/console/support/package.json
index 5c081f7f4d..6d4a3066fb 100644
--- a/packages/console/support/package.json
+++ b/packages/console/support/package.json
@@ -1,6 +1,6 @@
{
"name": "@opencode-ai/console-support",
- "version": "1.17.11",
+ "version": "1.17.12",
"type": "module",
"license": "MIT",
"scripts": {
diff --git a/packages/core/package.json b/packages/core/package.json
index c540e44292..61e73adcd8 100644
--- a/packages/core/package.json
+++ b/packages/core/package.json
@@ -1,6 +1,6 @@
{
"$schema": "https://json.schemastore.org/package.json",
- "version": "1.17.11",
+ "version": "1.17.12",
"name": "@opencode-ai/core",
"type": "module",
"license": "MIT",
diff --git a/packages/core/src/github-copilot/responses/convert-to-openai-responses-input.ts b/packages/core/src/github-copilot/responses/convert-to-openai-responses-input.ts
index 83e46015dd..1e4f86d933 100644
--- a/packages/core/src/github-copilot/responses/convert-to-openai-responses-input.ts
+++ b/packages/core/src/github-copilot/responses/convert-to-openai-responses-input.ts
@@ -86,7 +86,7 @@ export async function convertToOpenAIResponsesInput({
: {
image_url: `data:${mediaType};base64,${convertToBase64(part.data)}`,
}),
- detail: part.providerOptions?.openai?.imageDetail,
+ detail: part.providerOptions?.copilot?.imageDetail,
}
} else if (part.mediaType === "application/pdf") {
if (part.data instanceof URL) {
@@ -127,7 +127,7 @@ export async function convertToOpenAIResponsesInput({
input.push({
role: "assistant",
content: [{ type: "output_text", text: part.text }],
- id: (part.providerOptions?.openai?.itemId as string) ?? undefined,
+ id: (part.providerOptions?.copilot?.itemId as string) ?? undefined,
})
break
}
@@ -143,7 +143,7 @@ export async function convertToOpenAIResponsesInput({
input.push({
type: "local_shell_call",
call_id: part.toolCallId,
- id: (part.providerOptions?.openai?.itemId as string) ?? undefined,
+ id: (part.providerOptions?.copilot?.itemId as string) ?? undefined,
action: {
type: "exec",
command: parsedInput.action.command,
@@ -162,7 +162,7 @@ export async function convertToOpenAIResponsesInput({
call_id: part.toolCallId,
name: part.toolName,
arguments: JSON.stringify(part.input),
- id: (part.providerOptions?.openai?.itemId as string) ?? undefined,
+ id: (part.providerOptions?.copilot?.itemId as string) ?? undefined,
})
break
}
@@ -275,7 +275,7 @@ export async function convertToOpenAIResponsesInput({
const output = part.output
if (output.type === "execution-denied") {
- const approvalId = (output.providerOptions?.openai as { approvalId?: string } | undefined)?.approvalId
+ const approvalId = (output.providerOptions?.copilot as { approvalId?: string } | undefined)?.approvalId
if (approvalId) {
continue
diff --git a/packages/core/src/github-copilot/responses/openai-responses-language-model.ts b/packages/core/src/github-copilot/responses/openai-responses-language-model.ts
index 250d1f6f34..8df1dcedad 100644
--- a/packages/core/src/github-copilot/responses/openai-responses-language-model.ts
+++ b/packages/core/src/github-copilot/responses/openai-responses-language-model.ts
@@ -525,7 +525,7 @@ export class OpenAIResponsesLanguageModel implements LanguageModelV3 {
type: "reasoning" as const,
text: summary.text,
providerMetadata: {
- openai: {
+ copilot: {
itemId: part.id,
reasoningEncryptedContent: part.encrypted_content ?? null,
},
@@ -563,7 +563,7 @@ export class OpenAIResponsesLanguageModel implements LanguageModelV3 {
toolName: "local_shell",
input: JSON.stringify({ action: part.action } satisfies z.infer
),
providerMetadata: {
- openai: {
+ copilot: {
itemId: part.id,
},
},
@@ -574,7 +574,7 @@ export class OpenAIResponsesLanguageModel implements LanguageModelV3 {
case "message": {
for (const contentPart of part.content) {
- if (options.providerOptions?.openai?.logprobs && contentPart.logprobs) {
+ if (options.providerOptions?.copilot?.logprobs && contentPart.logprobs) {
logprobs.push(contentPart.logprobs)
}
@@ -582,7 +582,7 @@ export class OpenAIResponsesLanguageModel implements LanguageModelV3 {
type: "text",
text: contentPart.text,
providerMetadata: {
- openai: {
+ copilot: {
itemId: part.id,
},
},
@@ -622,7 +622,7 @@ export class OpenAIResponsesLanguageModel implements LanguageModelV3 {
toolName: part.name,
input: part.arguments,
providerMetadata: {
- openai: {
+ copilot: {
itemId: part.id,
},
},
@@ -724,15 +724,15 @@ export class OpenAIResponsesLanguageModel implements LanguageModelV3 {
}
const providerMetadata: SharedV3ProviderMetadata = {
- openai: { responseId: response.id },
+ copilot: { responseId: response.id },
}
if (logprobs.length > 0) {
- providerMetadata.openai.logprobs = logprobs
+ providerMetadata.copilot.logprobs = logprobs
}
if (typeof response.service_tier === "string") {
- providerMetadata.openai.serviceTier = response.service_tier
+ providerMetadata.copilot.serviceTier = response.service_tier
}
return {
@@ -954,7 +954,7 @@ export class OpenAIResponsesLanguageModel implements LanguageModelV3 {
type: "text-start",
id: value.item.id,
providerMetadata: {
- openai: {
+ copilot: {
itemId: value.item.id,
},
},
@@ -971,7 +971,7 @@ export class OpenAIResponsesLanguageModel implements LanguageModelV3 {
type: "reasoning-start",
id: `${value.item.id}:0`,
providerMetadata: {
- openai: {
+ copilot: {
itemId: value.item.id,
reasoningEncryptedContent: value.item.encrypted_content ?? null,
},
@@ -994,7 +994,7 @@ export class OpenAIResponsesLanguageModel implements LanguageModelV3 {
toolName: value.item.name,
input: value.item.arguments,
providerMetadata: {
- openai: {
+ copilot: {
itemId: value.item.id,
},
},
@@ -1103,7 +1103,7 @@ export class OpenAIResponsesLanguageModel implements LanguageModelV3 {
},
} satisfies z.infer),
providerMetadata: {
- openai: { itemId: value.item.id },
+ copilot: { itemId: value.item.id },
},
})
} else if (value.item.type === "message") {
@@ -1122,7 +1122,7 @@ export class OpenAIResponsesLanguageModel implements LanguageModelV3 {
type: "reasoning-end",
id: `${activeReasoningPart.canonicalId}:${summaryIndex}`,
providerMetadata: {
- openai: {
+ copilot: {
itemId: activeReasoningPart.canonicalId,
reasoningEncryptedContent: value.item.encrypted_content ?? null,
},
@@ -1209,7 +1209,7 @@ export class OpenAIResponsesLanguageModel implements LanguageModelV3 {
type: "text-start",
id: currentTextId,
providerMetadata: {
- openai: { itemId: value.item_id },
+ copilot: { itemId: value.item_id },
},
})
}
@@ -1220,7 +1220,7 @@ export class OpenAIResponsesLanguageModel implements LanguageModelV3 {
delta: value.delta,
})
- if (options.providerOptions?.openai?.logprobs && value.logprobs) {
+ if (options.providerOptions?.copilot?.logprobs && value.logprobs) {
logprobs.push(value.logprobs)
}
} else if (isResponseReasoningSummaryPartAddedChunk(value)) {
@@ -1235,7 +1235,7 @@ export class OpenAIResponsesLanguageModel implements LanguageModelV3 {
type: "reasoning-start",
id: `${activeItem.canonicalId}:${value.summary_index}`,
providerMetadata: {
- openai: {
+ copilot: {
itemId: activeItem.canonicalId,
reasoningEncryptedContent: activeItem.encryptedContent ?? null,
},
@@ -1252,7 +1252,7 @@ export class OpenAIResponsesLanguageModel implements LanguageModelV3 {
id: `${activeItem.canonicalId}:${value.summary_index}`,
delta: value.delta,
providerMetadata: {
- openai: {
+ copilot: {
itemId: activeItem.canonicalId,
},
},
@@ -1306,17 +1306,17 @@ export class OpenAIResponsesLanguageModel implements LanguageModelV3 {
}
const providerMetadata: SharedV3ProviderMetadata = {
- openai: {
+ copilot: {
responseId,
},
}
if (logprobs.length > 0) {
- providerMetadata.openai.logprobs = logprobs
+ providerMetadata.copilot.logprobs = logprobs
}
if (serviceTier !== undefined) {
- providerMetadata.openai.serviceTier = serviceTier
+ providerMetadata.copilot.serviceTier = serviceTier
}
controller.enqueue({
diff --git a/packages/core/test/github-copilot/openai-responses-language-model.test.ts b/packages/core/test/github-copilot/openai-responses-language-model.test.ts
new file mode 100644
index 0000000000..ab047d04eb
--- /dev/null
+++ b/packages/core/test/github-copilot/openai-responses-language-model.test.ts
@@ -0,0 +1,206 @@
+import { OpenAIResponsesLanguageModel } from "@opencode-ai/core/github-copilot/responses/openai-responses-language-model"
+import { convertToOpenAIResponsesInput } from "@opencode-ai/core/github-copilot/responses/convert-to-openai-responses-input"
+import { describe, test, expect, mock } from "bun:test"
+import type { LanguageModelV3Prompt } from "@ai-sdk/provider"
+
+const TEST_PROMPT: LanguageModelV3Prompt = [{ role: "user", content: [{ type: "text", text: "Hello" }] }]
+
+function createMockFetch(body: unknown) {
+ return mock(
+ async () => new Response(JSON.stringify(body), { status: 200, headers: { "Content-Type": "application/json" } }),
+ )
+}
+
+function createModel(fetchFn: ReturnType) {
+ return new OpenAIResponsesLanguageModel("test-model", {
+ provider: "copilot",
+ url: () => "https://api.test.com/responses",
+ headers: () => ({ Authorization: "Bearer test-token" }),
+ fetch: fetchFn as any,
+ })
+}
+
+// GitHub Copilot's Responses model echoes item metadata (itemId, reasoningEncryptedContent,
+// responseId, ...) under the "copilot" providerOptions/providerMetadata namespace, matching the
+// namespace request options already use. It used to echo this metadata under "openai" (a leftover
+// from forking the OpenAI Responses model), which left it unreachable by anything reading the
+// "copilot" namespace and let stale itemIds slip past stripping meant for that namespace.
+describe("doGenerate", () => {
+ test("attaches item metadata under the copilot namespace, not openai", async () => {
+ const mockFetch = createMockFetch({
+ id: "resp_1",
+ created_at: 0,
+ model: "gpt-5.5",
+ output: [
+ {
+ type: "reasoning",
+ id: "rs_1",
+ encrypted_content: "enc_1",
+ summary: [{ type: "summary_text", text: "thinking..." }],
+ },
+ {
+ type: "message",
+ role: "assistant",
+ id: "msg_1",
+ content: [{ type: "output_text", text: "Hello there", annotations: [] }],
+ },
+ {
+ type: "function_call",
+ call_id: "call_1",
+ name: "bash",
+ arguments: "{}",
+ id: "fc_1",
+ },
+ ],
+ usage: { input_tokens: 10, output_tokens: 5 },
+ })
+ const model = createModel(mockFetch)
+
+ const { content, providerMetadata } = await model.doGenerate({
+ prompt: TEST_PROMPT,
+ includeRawChunks: false,
+ } as any)
+
+ const reasoning = content.find((part: any) => part.type === "reasoning") as any
+ expect(reasoning.providerMetadata?.copilot?.itemId).toBe("rs_1")
+ expect(reasoning.providerMetadata?.copilot?.reasoningEncryptedContent).toBe("enc_1")
+ expect(reasoning.providerMetadata?.openai).toBeUndefined()
+
+ const text = content.find((part: any) => part.type === "text") as any
+ expect(text.providerMetadata?.copilot?.itemId).toBe("msg_1")
+ expect(text.providerMetadata?.openai).toBeUndefined()
+
+ const toolCall = content.find((part: any) => part.type === "tool-call") as any
+ expect(toolCall.providerMetadata?.copilot?.itemId).toBe("fc_1")
+ expect(toolCall.providerMetadata?.openai).toBeUndefined()
+
+ expect(providerMetadata?.copilot?.responseId).toBe("resp_1")
+ expect(providerMetadata?.openai).toBeUndefined()
+ })
+})
+
+describe("convertToOpenAIResponsesInput", () => {
+ test("echoes a stale tool-call itemId from the copilot namespace as the function_call id", async () => {
+ const { input } = await convertToOpenAIResponsesInput({
+ prompt: [
+ {
+ role: "assistant",
+ content: [
+ {
+ type: "tool-call",
+ toolCallId: "call_1",
+ toolName: "bash",
+ input: { command: "ls" },
+ providerOptions: { copilot: { itemId: "fc_999" } },
+ },
+ ],
+ },
+ ],
+ systemMessageMode: "system",
+ store: false,
+ })
+
+ expect(input).toEqual([
+ {
+ type: "function_call",
+ call_id: "call_1",
+ name: "bash",
+ arguments: JSON.stringify({ command: "ls" }),
+ id: "fc_999",
+ },
+ ])
+ })
+
+ test("omits the function_call id once the stale copilot itemId has been stripped", async () => {
+ const { input } = await convertToOpenAIResponsesInput({
+ prompt: [
+ {
+ role: "assistant",
+ content: [
+ {
+ type: "tool-call",
+ toolCallId: "call_1",
+ toolName: "bash",
+ input: { command: "ls" },
+ providerOptions: {},
+ },
+ ],
+ },
+ ],
+ systemMessageMode: "system",
+ store: false,
+ })
+
+ expect((input[0] as any).id).toBeUndefined()
+ })
+
+ test("preserves reasoning items keyed by the copilot namespace instead of dropping them", async () => {
+ const { input, warnings } = await convertToOpenAIResponsesInput({
+ prompt: [
+ {
+ role: "assistant",
+ content: [
+ {
+ type: "reasoning",
+ text: "thinking...",
+ providerOptions: { copilot: { itemId: "rs_1", reasoningEncryptedContent: "enc_1" } },
+ },
+ ],
+ },
+ ],
+ systemMessageMode: "system",
+ store: false,
+ })
+
+ expect(warnings).toEqual([])
+ expect(input).toEqual([
+ {
+ type: "reasoning",
+ id: "rs_1",
+ encrypted_content: "enc_1",
+ summary: [{ type: "summary_text", text: "thinking..." }],
+ },
+ ])
+ })
+
+ test("drops reasoning items with no copilot itemId and warns, as before", async () => {
+ const { input, warnings } = await convertToOpenAIResponsesInput({
+ prompt: [
+ {
+ role: "assistant",
+ content: [{ type: "reasoning", text: "thinking...", providerOptions: {} }],
+ },
+ ],
+ systemMessageMode: "system",
+ store: false,
+ })
+
+ expect(input).toEqual([])
+ expect(warnings).toHaveLength(1)
+ expect(warnings[0]).toMatchObject({
+ message: expect.stringContaining("Non-OpenAI reasoning parts are not supported"),
+ })
+ })
+
+ test("reads imageDetail from the copilot namespace on user file parts", async () => {
+ const { input } = await convertToOpenAIResponsesInput({
+ prompt: [
+ {
+ role: "user",
+ content: [
+ {
+ type: "file",
+ mediaType: "image/png",
+ data: "aGVsbG8=",
+ providerOptions: { copilot: { imageDetail: "high" } },
+ },
+ ],
+ },
+ ],
+ systemMessageMode: "system",
+ store: false,
+ })
+
+ expect((input[0] as any).content[0].detail).toBe("high")
+ })
+})
diff --git a/packages/desktop/package.json b/packages/desktop/package.json
index 5a239863a8..2d040ea5c3 100644
--- a/packages/desktop/package.json
+++ b/packages/desktop/package.json
@@ -1,7 +1,7 @@
{
"name": "@opencode-ai/desktop",
"private": true,
- "version": "1.17.11",
+ "version": "1.17.12",
"type": "module",
"license": "MIT",
"homepage": "https://opencode.ai",
diff --git a/packages/effect-drizzle-sqlite/package.json b/packages/effect-drizzle-sqlite/package.json
index 0e66036f0f..fcd1d80dbf 100644
--- a/packages/effect-drizzle-sqlite/package.json
+++ b/packages/effect-drizzle-sqlite/package.json
@@ -1,6 +1,6 @@
{
"$schema": "https://json.schemastore.org/package.json",
- "version": "1.17.11",
+ "version": "1.17.12",
"name": "@opencode-ai/effect-drizzle-sqlite",
"type": "module",
"license": "MIT",
diff --git a/packages/effect-sqlite-node/package.json b/packages/effect-sqlite-node/package.json
index 0bf7116aa6..8954d9cbdf 100644
--- a/packages/effect-sqlite-node/package.json
+++ b/packages/effect-sqlite-node/package.json
@@ -1,6 +1,6 @@
{
"$schema": "https://json.schemastore.org/package.json",
- "version": "1.17.11",
+ "version": "1.17.12",
"name": "@opencode-ai/effect-sqlite-node",
"type": "module",
"license": "MIT",
diff --git a/packages/enterprise/package.json b/packages/enterprise/package.json
index 03183d33a5..2c0c92caa6 100644
--- a/packages/enterprise/package.json
+++ b/packages/enterprise/package.json
@@ -1,6 +1,6 @@
{
"name": "@opencode-ai/enterprise",
- "version": "1.17.11",
+ "version": "1.17.12",
"private": true,
"type": "module",
"license": "MIT",
diff --git a/packages/function/package.json b/packages/function/package.json
index ba08675567..dd2763d345 100644
--- a/packages/function/package.json
+++ b/packages/function/package.json
@@ -1,6 +1,6 @@
{
"name": "@opencode-ai/function",
- "version": "1.17.11",
+ "version": "1.17.12",
"$schema": "https://json.schemastore.org/package.json",
"private": true,
"type": "module",
diff --git a/packages/http-recorder/package.json b/packages/http-recorder/package.json
index 09cf673afc..2777962469 100644
--- a/packages/http-recorder/package.json
+++ b/packages/http-recorder/package.json
@@ -1,6 +1,6 @@
{
"$schema": "https://json.schemastore.org/package.json",
- "version": "1.17.11",
+ "version": "1.17.12",
"name": "@opencode-ai/http-recorder",
"description": "Record and replay Effect HTTP client traffic with deterministic cassettes",
"type": "module",
diff --git a/packages/llm/package.json b/packages/llm/package.json
index d5b370c7d4..a80f74a364 100644
--- a/packages/llm/package.json
+++ b/packages/llm/package.json
@@ -1,6 +1,6 @@
{
"$schema": "https://json.schemastore.org/package.json",
- "version": "1.17.11",
+ "version": "1.17.12",
"name": "@opencode-ai/llm",
"type": "module",
"license": "MIT",
diff --git a/packages/opencode/package.json b/packages/opencode/package.json
index 09667e5907..124fc98a44 100644
--- a/packages/opencode/package.json
+++ b/packages/opencode/package.json
@@ -1,6 +1,6 @@
{
"$schema": "https://json.schemastore.org/package.json",
- "version": "1.17.11",
+ "version": "1.17.12",
"name": "opencode",
"type": "module",
"license": "MIT",
diff --git a/packages/opencode/src/provider/transform.ts b/packages/opencode/src/provider/transform.ts
index e459380faa..2a8c3cfb41 100644
--- a/packages/opencode/src/provider/transform.ts
+++ b/packages/opencode/src/provider/transform.ts
@@ -463,7 +463,9 @@ export function message(msgs: ModelMessage[], model: Provider.Model, options: Re
if (
options.store !== true &&
key &&
- ["@ai-sdk/openai", "@ai-sdk/azure", "@ai-sdk/amazon-bedrock/mantle"].includes(model.api.npm)
+ ["@ai-sdk/openai", "@ai-sdk/azure", "@ai-sdk/amazon-bedrock/mantle", "@ai-sdk/github-copilot"].includes(
+ model.api.npm,
+ )
) {
msgs = mapProviderOptions(msgs, (options) => {
if (!options?.[key] || !("itemId" in options[key])) return options
@@ -605,8 +607,14 @@ function anthropicOpus47OrLater(apiId: string) {
return major > 4 || (major === 4 && minor >= 7)
}
+function anthropicSonnet5OrLater(apiId: string) {
+ const version = /sonnet-(\d+)(?:[.@-]|$)|claude-(\d+)-sonnet(?:[.@-]|$)/i.exec(apiId)
+ if (!version) return false
+ return Number(version[1] ?? version[2]) >= 5
+}
+
function anthropicAdaptiveEfforts(apiId: string): string[] | null {
- if (anthropicOpus47OrLater(apiId) || apiId.includes("fable-5")) {
+ if (anthropicOpus47OrLater(apiId) || anthropicSonnet5OrLater(apiId) || apiId.includes("fable-5")) {
return ["low", "medium", "high", "xhigh", "max"]
}
if (
@@ -620,7 +628,7 @@ function anthropicAdaptiveEfforts(apiId: string): string[] | null {
}
function anthropicOmitsThinking(apiId: string) {
- return anthropicOpus47OrLater(apiId) || apiId.includes("fable-5")
+ return anthropicOpus47OrLater(apiId) || anthropicSonnet5OrLater(apiId) || apiId.includes("fable-5")
}
function googleThinkingLevelEfforts(apiId: string) {
@@ -1255,6 +1263,16 @@ const SLUG_OVERRIDES: Record = {
}
export function providerOptions(model: Provider.Model, options: { [x: string]: any }) {
+ const usesOpenAIReasoningGate =
+ model.api.npm === "@ai-sdk/openai" ||
+ model.api.npm === "@ai-sdk/azure" ||
+ model.api.npm === "@ai-sdk/amazon-bedrock/mantle"
+ const normalized =
+ usesOpenAIReasoningGate &&
+ (model.capabilities.reasoning || options.reasoningEffort !== undefined || options.reasoningSummary !== undefined)
+ ? { ...options, forceReasoning: true }
+ : options
+
if (model.api.npm === "@ai-sdk/gateway") {
// Gateway providerOptions are split across two namespaces:
// - `gateway`: gateway-native routing/caching controls (order, only, byok, etc.)
@@ -1264,8 +1282,8 @@ export function providerOptions(model: Provider.Model, options: { [x: string]: a
const i = model.api.id.indexOf("/")
const rawSlug = i > 0 ? model.api.id.slice(0, i) : undefined
const slug = rawSlug ? (SLUG_OVERRIDES[rawSlug] ?? rawSlug) : undefined
- const gateway = options.gateway
- const rest = Object.fromEntries(Object.entries(options).filter(([k]) => k !== "gateway"))
+ const gateway = normalized.gateway
+ const rest = Object.fromEntries(Object.entries(normalized).filter(([k]) => k !== "gateway"))
const has = Object.keys(rest).length > 0
const result: Record = {}
@@ -1299,9 +1317,9 @@ export function providerOptions(model: Provider.Model, options: { [x: string]: a
// providerOptions["openai"], but OpenAIResponsesLanguageModel checks
// "azure" first. Pass both so model options work on either code path.
if (model.api.npm === "@ai-sdk/azure") {
- return { openai: options, azure: options }
+ return { openai: normalized, azure: normalized }
}
- return { [key]: options }
+ return { [key]: normalized }
}
export function maxOutputTokens(model: Provider.Model, outputTokenMax = OUTPUT_TOKEN_MAX): number {
diff --git a/packages/opencode/test/provider/transform.test.ts b/packages/opencode/test/provider/transform.test.ts
index aa1b8eee1b..912dbb13cb 100644
--- a/packages/opencode/test/provider/transform.test.ts
+++ b/packages/opencode/test/provider/transform.test.ts
@@ -613,6 +613,84 @@ describe("ProviderTransform.providerOptions", () => {
})
})
+ test("forces reasoning for custom OpenAI package models with explicit effort", () => {
+ const model = createModel({
+ providerID: "meta",
+ api: {
+ id: "muse-spark",
+ url: "https://api.ai.meta.com/v1",
+ npm: "@ai-sdk/openai",
+ },
+ })
+
+ expect(ProviderTransform.providerOptions(model, { reasoningEffort: "xhigh", reasoningSummary: "auto" })).toEqual({
+ openai: { forceReasoning: true, reasoningEffort: "xhigh", reasoningSummary: "auto" },
+ })
+ })
+
+ test("forces reasoning for OpenAI package models marked reasoning-capable", () => {
+ expect(ProviderTransform.providerOptions(createModel(), { store: false })).toEqual({
+ openai: { forceReasoning: true, store: false },
+ })
+ })
+
+ test("forces reasoning for explicit effort even when model is not marked reasoning-capable", () => {
+ const model = createModel({
+ capabilities: {
+ temperature: true,
+ reasoning: false,
+ attachment: true,
+ toolcall: true,
+ input: { text: true, audio: false, image: true, video: false, pdf: false },
+ output: { text: true, audio: false, image: false, video: false, pdf: false },
+ interleaved: false,
+ },
+ })
+
+ expect(ProviderTransform.providerOptions(model, { reasoningEffort: "xhigh" })).toEqual({
+ openai: { forceReasoning: true, reasoningEffort: "xhigh" },
+ })
+ })
+
+ test("forces reasoning for Azure OpenAI models with explicit effort", () => {
+ const model = createModel({
+ providerID: "azure",
+ api: {
+ id: "custom-gpt-5-deployment",
+ url: "https://azure.openai.example.com/openai/v1",
+ npm: "@ai-sdk/azure",
+ },
+ })
+
+ expect(ProviderTransform.providerOptions(model, { reasoningEffort: "xhigh" })).toEqual({
+ openai: { forceReasoning: true, reasoningEffort: "xhigh" },
+ azure: { forceReasoning: true, reasoningEffort: "xhigh" },
+ })
+ })
+
+ test("forces reasoning for Bedrock Mantle OpenAI models with explicit effort", () => {
+ const model = createModel({
+ providerID: "amazon-bedrock",
+ api: {
+ id: "openai.gpt-5-custom",
+ url: "https://bedrock-mantle.us-east-2.api.aws/openai/v1",
+ npm: "@ai-sdk/amazon-bedrock/mantle",
+ },
+ })
+
+ expect(ProviderTransform.providerOptions(model, { reasoningEffort: "xhigh" })).toEqual({
+ openai: { forceReasoning: true, reasoningEffort: "xhigh" },
+ })
+ })
+
+ test("overrides forceReasoning false when reasoning should be forced", () => {
+ expect(
+ ProviderTransform.providerOptions(createModel(), { forceReasoning: false, reasoningEffort: "xhigh" }),
+ ).toEqual({
+ openai: { forceReasoning: true, reasoningEffort: "xhigh" },
+ })
+ })
+
test("uses gateway model provider slug for gateway models", () => {
const model = createModel({
providerID: "vercel",
@@ -707,7 +785,7 @@ describe("ProviderTransform.providerOptions", () => {
})
expect(ProviderTransform.providerOptions(model, { reasoningEffort: "medium" })).toEqual({
- openai: { reasoningEffort: "medium" },
+ openai: { forceReasoning: true, reasoningEffort: "medium" },
})
})
@@ -2268,6 +2346,82 @@ describe("ProviderTransform.message - strip openai metadata when store=false", (
expect(result[0].content[0].providerOptions?.openai?.reasoningEncryptedContent).toBe("encrypted")
})
+ test("strips GitHub Copilot itemId from the copilot namespace, preserving other copilot options", () => {
+ const copilotModel = {
+ ...openaiModel,
+ id: "github-copilot/gpt-5.5",
+ providerID: "github-copilot",
+ api: {
+ id: "gpt-5.5",
+ url: "https://api.githubcopilot.com",
+ npm: "@ai-sdk/github-copilot",
+ },
+ }
+ const msgs = [
+ {
+ role: "assistant",
+ content: [
+ {
+ type: "reasoning",
+ text: "thinking...",
+ providerOptions: {
+ copilot: { itemId: "rs_123", reasoningEncryptedContent: "encrypted" },
+ },
+ },
+ {
+ // The stale itemId on tool-call parts is what Copilot echoes back as the
+ // `function_call` item `id`, which is what the upstream connection rejects.
+ type: "tool-call",
+ toolCallId: "call_1",
+ toolName: "bash",
+ input: { command: "ls" },
+ providerOptions: {
+ copilot: { itemId: "fc_456", reasoningEffort: "medium" },
+ },
+ },
+ ],
+ },
+ ] as any[]
+
+ const result = ProviderTransform.message(msgs, copilotModel, { store: false }) as any[]
+
+ expect(result[0].content[0].providerOptions?.copilot?.itemId).toBeUndefined()
+ expect(result[0].content[0].providerOptions?.copilot?.reasoningEncryptedContent).toBe("encrypted")
+ expect(result[0].content[1].providerOptions?.copilot?.itemId).toBeUndefined()
+ expect(result[0].content[1].providerOptions?.copilot?.reasoningEffort).toBe("medium")
+ })
+
+ test("leaves a stray openai namespace on a Copilot model untouched, since Copilot's Responses model only reads the copilot namespace", () => {
+ const copilotModel = {
+ ...openaiModel,
+ id: "github-copilot/gpt-5.5",
+ providerID: "github-copilot",
+ api: {
+ id: "gpt-5.5",
+ url: "https://api.githubcopilot.com",
+ npm: "@ai-sdk/github-copilot",
+ },
+ }
+ const msgs = [
+ {
+ role: "assistant",
+ content: [
+ {
+ type: "text",
+ text: "Hello",
+ providerOptions: {
+ openai: { itemId: "msg_456" },
+ },
+ },
+ ],
+ },
+ ] as any[]
+
+ const result = ProviderTransform.message(msgs, copilotModel, { store: false }) as any[]
+
+ expect(result[0].content[0].providerOptions?.openai?.itemId).toBe("msg_456")
+ })
+
test("preserves metadata for openai package when store is true", () => {
const msgs = [
{
@@ -3290,6 +3444,27 @@ describe("ProviderTransform.variants", () => {
})
})
+ test("anthropic sonnet 5 returns adaptive thinking options with xhigh", () => {
+ const model = createMockModel({
+ id: "anthropic/claude-sonnet-5",
+ providerID: "gateway",
+ api: {
+ id: "anthropic/claude-sonnet-5",
+ url: "https://gateway.ai",
+ npm: "@ai-sdk/gateway",
+ },
+ })
+ const result = ProviderTransform.variants(model)
+ expect(Object.keys(result)).toEqual(["low", "medium", "high", "xhigh", "max"])
+ expect(result.high).toEqual({
+ thinking: {
+ type: "adaptive",
+ display: "summarized",
+ },
+ effort: "high",
+ })
+ })
+
test("anthropic opus 4.6 omits display so it keeps the summarized default", () => {
const model = createMockModel({
id: "anthropic/claude-opus-4-6",
@@ -3877,6 +4052,12 @@ describe("ProviderTransform.variants", () => {
efforts: ["low", "medium", "high", "xhigh", "max"],
expectedHigh: { thinking: { type: "adaptive", display: "summarized" }, effort: "high" },
},
+ {
+ name: "sonnet 5",
+ apiIds: ["claude-sonnet-5", "claude-sonnet-5-20260630"],
+ efforts: ["low", "medium", "high", "xhigh", "max"],
+ expectedHigh: { thinking: { type: "adaptive", display: "summarized" }, effort: "high" },
+ },
{
name: "fable 5",
apiIds: ["claude-fable-5"],
@@ -3974,6 +4155,28 @@ describe("ProviderTransform.variants", () => {
effort: "high",
})
})
+
+ test("sonnet 5 uses adaptive reasoning for Vertex model IDs", () => {
+ const result = ProviderTransform.variants(
+ createMockModel({
+ id: "google-vertex-anthropic/claude-sonnet-5@default",
+ providerID: "google-vertex-anthropic",
+ api: {
+ id: "claude-sonnet-5@default",
+ url: "https://us-central1-aiplatform.googleapis.com",
+ npm: "@ai-sdk/google-vertex/anthropic",
+ },
+ }),
+ )
+ expect(Object.keys(result)).toEqual(["low", "medium", "high", "xhigh", "max"])
+ expect(result.high).toEqual({
+ thinking: {
+ type: "adaptive",
+ display: "summarized",
+ },
+ effort: "high",
+ })
+ })
})
describe("@ai-sdk/amazon-bedrock", () => {
@@ -4047,6 +4250,28 @@ describe("ProviderTransform.variants", () => {
})
})
+ test("anthropic sonnet 5 returns adaptive reasoning options with xhigh", () => {
+ const result = ProviderTransform.variants(
+ createMockModel({
+ id: "bedrock/anthropic-claude-sonnet-5",
+ providerID: "bedrock",
+ api: {
+ id: "anthropic.claude-sonnet-5",
+ url: "https://bedrock.amazonaws.com",
+ npm: "@ai-sdk/amazon-bedrock",
+ },
+ }),
+ )
+ expect(Object.keys(result)).toEqual(["low", "medium", "high", "xhigh", "max"])
+ expect(result.high).toEqual({
+ reasoningConfig: {
+ type: "adaptive",
+ maxReasoningEffort: "high",
+ display: "summarized",
+ },
+ })
+ })
+
test("returns WIDELY_SUPPORTED_EFFORTS with reasoningConfig", () => {
const model = createMockModel({
id: "bedrock/llama-4",
@@ -4229,6 +4454,12 @@ describe("ProviderTransform.variants", () => {
efforts: ["low", "medium", "high", "xhigh", "max"],
thinking: { type: "adaptive", display: "summarized" },
},
+ {
+ name: "sonnet 5",
+ apiIds: ["anthropic--claude-sonnet-5", "anthropic--claude-5-sonnet"],
+ efforts: ["low", "medium", "high", "xhigh", "max"],
+ thinking: { type: "adaptive", display: "summarized" },
+ },
]) {
for (const apiId of testCase.apiIds) {
test(`${testCase.name} ${apiId} returns adaptive thinking variants under modelParams`, () => {
diff --git a/packages/plugin/package.json b/packages/plugin/package.json
index 6e3c59bea3..574fcfa275 100644
--- a/packages/plugin/package.json
+++ b/packages/plugin/package.json
@@ -1,7 +1,7 @@
{
"$schema": "https://json.schemastore.org/package.json",
"name": "@opencode-ai/plugin",
- "version": "1.17.11",
+ "version": "1.17.12",
"type": "module",
"license": "MIT",
"scripts": {
diff --git a/packages/sdk/js/package.json b/packages/sdk/js/package.json
index de6c62bc26..63b5609171 100644
--- a/packages/sdk/js/package.json
+++ b/packages/sdk/js/package.json
@@ -1,7 +1,7 @@
{
"$schema": "https://json.schemastore.org/package.json",
"name": "@opencode-ai/sdk",
- "version": "1.17.11",
+ "version": "1.17.12",
"type": "module",
"license": "MIT",
"scripts": {
diff --git a/packages/server/package.json b/packages/server/package.json
index b0c4d948cb..4d25421842 100644
--- a/packages/server/package.json
+++ b/packages/server/package.json
@@ -1,7 +1,7 @@
{
"$schema": "https://json.schemastore.org/package.json",
"name": "@opencode-ai/server",
- "version": "1.17.11",
+ "version": "1.17.12",
"private": true,
"type": "module",
"license": "MIT",
diff --git a/packages/session-ui/package.json b/packages/session-ui/package.json
index f6c70cf5ae..f6da78f1b0 100644
--- a/packages/session-ui/package.json
+++ b/packages/session-ui/package.json
@@ -1,6 +1,6 @@
{
"name": "@opencode-ai/session-ui",
- "version": "1.17.11",
+ "version": "1.17.12",
"private": true,
"type": "module",
"license": "MIT",
diff --git a/packages/session-ui/src/components/markdown-inline-code-kind.test.ts b/packages/session-ui/src/components/markdown-inline-code-kind.test.ts
index 43e8ad4ed2..5b7c00855b 100644
--- a/packages/session-ui/src/components/markdown-inline-code-kind.test.ts
+++ b/packages/session-ui/src/components/markdown-inline-code-kind.test.ts
@@ -13,10 +13,24 @@ describe("inlineCodeKind", () => {
expect(inlineCodeKind(`@opencode-ai/app )`)).toBeUndefined()
expect(inlineCodeKind(`sync.data.session`)).toBeUndefined()
expect(inlineCodeKind(`window.api`)).toBeUndefined()
+ expect(inlineCodeKind(`1.2`)).toBeUndefined()
})
test("detects file and directory paths", () => {
expect(inlineCodeKind(`app.tsx`)).toBe("path")
+ expect(inlineCodeKind(`vite.config.mjs`)).toBe("path")
+ expect(inlineCodeKind(`eslint.config.cjs`)).toBe("path")
+ expect(inlineCodeKind(`app.d.ts`)).toBe("path")
+ expect(inlineCodeKind(`component.svelte`)).toBe("path")
+ expect(inlineCodeKind(`schema.graphql`)).toBe("path")
+ expect(inlineCodeKind(`Dockerfile`)).toBe("path")
+ expect(inlineCodeKind(`Dockerfile.dev`)).toBe("path")
+ expect(inlineCodeKind(`.gitignore`)).toBe("path")
+ expect(inlineCodeKind(`Cargo.lock`)).toBe("path")
+ expect(inlineCodeKind(`go.sum`)).toBe("path")
+ expect(inlineCodeKind(`bun.lockb`)).toBe("path")
+ expect(inlineCodeKind(`terraform.tfvars`)).toBe("path")
+ expect(inlineCodeKind(`pnpm-lock.yaml`)).toBe("path")
expect(inlineCodeKind(`packages/desktop-electron`)).toBe("path")
expect(inlineCodeKind(`~/.config/opencode`)).toBe("path")
expect(inlineCodeKind(`@opencode-ai/app`)).toBe("path")
diff --git a/packages/session-ui/src/components/markdown-inline-code-kind.ts b/packages/session-ui/src/components/markdown-inline-code-kind.ts
index 3679fe4ff4..ee6cc8dccc 100644
--- a/packages/session-ui/src/components/markdown-inline-code-kind.ts
+++ b/packages/session-ui/src/components/markdown-inline-code-kind.ts
@@ -1,3 +1,1893 @@
+// One-off copy from GitHub Linguist languages.yml (e9fe3c9f230cd9220afcd057f75702de4d7700c9), plus common lockfile suffixes.
+// Normalized to lower-case; numeric manpage-style extensions are excluded so versions like `1.2` stay plain code.
+const pathExtensions = new Set([
+ "a51",
+ "abap",
+ "abnf",
+ "action",
+ "ada",
+ "adb",
+ "adml",
+ "admx",
+ "ado",
+ "adoc",
+ "adp",
+ "ads",
+ "afm",
+ "agc",
+ "agda",
+ "ahk",
+ "ahkl",
+ "aidl",
+ "aj",
+ "ak",
+ "al",
+ "alg",
+ "als",
+ "ampl",
+ "angelscript",
+ "anim",
+ "ant",
+ "antlers.html",
+ "antlers.php",
+ "antlers.xml",
+ "apacheconf",
+ "apex",
+ "apib",
+ "apl",
+ "app",
+ "app.src",
+ "applescript",
+ "arc",
+ "arpa",
+ "arr",
+ "as",
+ "asax",
+ "asc",
+ "asciidoc",
+ "ascx",
+ "asd",
+ "asddls",
+ "ash",
+ "ashx",
+ "asl",
+ "asm",
+ "asmx",
+ "asn",
+ "asn1",
+ "asp",
+ "aspx",
+ "asset",
+ "astro",
+ "asy",
+ "au3",
+ "aug",
+ "auk",
+ "aux",
+ "avdl",
+ "avsc",
+ "aw",
+ "awk",
+ "axaml",
+ "axd",
+ "axi",
+ "axi.erb",
+ "axml",
+ "axs",
+ "axs.erb",
+ "b",
+ "bal",
+ "baml",
+ "bas",
+ "bash",
+ "bat",
+ "bats",
+ "bb",
+ "bbappend",
+ "bbclass",
+ "bbx",
+ "bdf",
+ "bdy",
+ "be",
+ "befunge",
+ "bf",
+ "bi",
+ "bib",
+ "bibtex",
+ "bicep",
+ "bicepparam",
+ "bison",
+ "blade",
+ "blade.php",
+ "blp",
+ "bmx",
+ "bones",
+ "boo",
+ "boot",
+ "bpl",
+ "bqn",
+ "brd",
+ "bro",
+ "brs",
+ "bru",
+ "bs",
+ "bsl",
+ "bst",
+ "bsv",
+ "builder",
+ "builds",
+ "bzl",
+ "c",
+ "c++",
+ "c++-objdump",
+ "c++objdump",
+ "c-objdump",
+ "c3",
+ "cabal",
+ "caddyfile",
+ "cairo",
+ "cake",
+ "capnp",
+ "carbon",
+ "cats",
+ "cbl",
+ "cbx",
+ "cc",
+ "ccp",
+ "ccproj",
+ "ccxml",
+ "cdc",
+ "cdf",
+ "cds",
+ "ceylon",
+ "cfc",
+ "cfg",
+ "cfm",
+ "cfml",
+ "cgi",
+ "cginc",
+ "ch",
+ "chem",
+ "chpl",
+ "chs",
+ "cil",
+ "circom",
+ "cirru",
+ "cj",
+ "cjs",
+ "cjsx",
+ "ck",
+ "cl",
+ "cl2",
+ "clar",
+ "click",
+ "clixml",
+ "clj",
+ "cljc",
+ "cljs",
+ "cljs.hl",
+ "cljscm",
+ "cljx",
+ "clp",
+ "cls",
+ "clue",
+ "clw",
+ "cmake",
+ "cmake.in",
+ "cmd",
+ "cmp",
+ "cnc",
+ "cnf",
+ "cob",
+ "cobol",
+ "cocci",
+ "code-snippets",
+ "code-workspace",
+ "coffee",
+ "coffee.md",
+ "com",
+ "command",
+ "conll",
+ "conllu",
+ "container",
+ "containerfile",
+ "cook",
+ "coq",
+ "cp",
+ "cpp",
+ "cpp-objdump",
+ "cppm",
+ "cppobjdump",
+ "cproject",
+ "cps",
+ "cpy",
+ "cql",
+ "cr",
+ "crc32",
+ "creole",
+ "cs",
+ "cs.pp",
+ "csc",
+ "cscfg",
+ "csd",
+ "csdef",
+ "csh",
+ "cshtml",
+ "csl",
+ "cson",
+ "csproj",
+ "css",
+ "csv",
+ "csx",
+ "ct",
+ "ctl",
+ "ctp",
+ "cts",
+ "cu",
+ "cue",
+ "cuh",
+ "curry",
+ "cw",
+ "cwl",
+ "cxx",
+ "cxx-objdump",
+ "cy",
+ "cylc",
+ "cyp",
+ "cypher",
+ "d",
+ "d-objdump",
+ "d2",
+ "dae",
+ "darcspatch",
+ "dart",
+ "das",
+ "dats",
+ "db2",
+ "dcl",
+ "ddl",
+ "decls",
+ "depproj",
+ "desktop",
+ "desktop.in",
+ "dfm",
+ "dfy",
+ "dhall",
+ "di",
+ "diff",
+ "dircolors",
+ "dita",
+ "ditamap",
+ "ditaval",
+ "djs",
+ "dll.config",
+ "dlm",
+ "dm",
+ "do",
+ "dockerfile",
+ "dof",
+ "doh",
+ "dot",
+ "dotsettings",
+ "dpatch",
+ "dpr",
+ "druby",
+ "dsc",
+ "dsl",
+ "dsp",
+ "dsr",
+ "dtx",
+ "duby",
+ "dwl",
+ "dyalog",
+ "dyl",
+ "dylan",
+ "dzn",
+ "e",
+ "eam.fs",
+ "eb",
+ "ebnf",
+ "ebuild",
+ "ec",
+ "ecl",
+ "eclass",
+ "eclxml",
+ "ecr",
+ "ect",
+ "edc",
+ "edge",
+ "edgeql",
+ "editorconfig",
+ "edn",
+ "eh",
+ "ejs",
+ "ejs.t",
+ "el",
+ "eliom",
+ "eliomi",
+ "elm",
+ "elv",
+ "em",
+ "emacs",
+ "emacs.desktop",
+ "emberscript",
+ "eml",
+ "env",
+ "epj",
+ "eps",
+ "epsi",
+ "eq",
+ "erb",
+ "erb.deface",
+ "erl",
+ "es",
+ "es6",
+ "escript",
+ "esdl",
+ "ex",
+ "exs",
+ "eye",
+ "f",
+ "f03",
+ "f08",
+ "f77",
+ "f90",
+ "f95",
+ "factor",
+ "fan",
+ "fancypack",
+ "fbs",
+ "fcgi",
+ "fea",
+ "feature",
+ "filters",
+ "fir",
+ "fish",
+ "flex",
+ "flf",
+ "flix",
+ "flux",
+ "fnc",
+ "fnl",
+ "for",
+ "forth",
+ "fp",
+ "fpp",
+ "fr",
+ "frag",
+ "frg",
+ "frm",
+ "frt",
+ "fs",
+ "fsh",
+ "fshader",
+ "fsi",
+ "fsproj",
+ "fst",
+ "fsti",
+ "fsx",
+ "fth",
+ "ftl",
+ "ftlh",
+ "fun",
+ "fut",
+ "fx",
+ "fxh",
+ "fxml",
+ "fy",
+ "g",
+ "g4",
+ "gaml",
+ "gap",
+ "gawk",
+ "gbl",
+ "gbo",
+ "gbp",
+ "gbr",
+ "gbs",
+ "gco",
+ "gcode",
+ "gd",
+ "gdb",
+ "gdbinit",
+ "gdnlib",
+ "gdns",
+ "gdshader",
+ "gdshaderinc",
+ "ged",
+ "gemspec",
+ "geo",
+ "geojson",
+ "geom",
+ "gf",
+ "gi",
+ "gitconfig",
+ "gitignore",
+ "gjs",
+ "gko",
+ "glade",
+ "gleam",
+ "glf",
+ "glsl",
+ "glslf",
+ "glslv",
+ "gltf",
+ "glyphs",
+ "gmi",
+ "gml",
+ "gms",
+ "gmx",
+ "gn",
+ "gni",
+ "gnu",
+ "gnuplot",
+ "go",
+ "god",
+ "gohtml",
+ "golo",
+ "gotmpl",
+ "gp",
+ "gpb",
+ "gpt",
+ "gpx",
+ "gql",
+ "grace",
+ "gradle",
+ "gradle.kts",
+ "graphql",
+ "graphqls",
+ "groovy",
+ "grt",
+ "grxml",
+ "gs",
+ "gsc",
+ "gsh",
+ "gshader",
+ "gsp",
+ "gst",
+ "gsx",
+ "gtkrc",
+ "gtl",
+ "gto",
+ "gtp",
+ "gtpl",
+ "gts",
+ "gv",
+ "gvy",
+ "gyp",
+ "gypi",
+ "h",
+ "h++",
+ "h.in",
+ "ha",
+ "hack",
+ "haml",
+ "haml.deface",
+ "handlebars",
+ "har",
+ "hats",
+ "hb",
+ "hbs",
+ "hc",
+ "hcl",
+ "heex",
+ "hh",
+ "hhi",
+ "hic",
+ "hip",
+ "hlean",
+ "hlsl",
+ "hlsli",
+ "hocon",
+ "hoon",
+ "hpp",
+ "hqf",
+ "hql",
+ "hrl",
+ "hs",
+ "hs-boot",
+ "hsc",
+ "hta",
+ "htm",
+ "html",
+ "html.eex",
+ "html.hl",
+ "html.tmpl",
+ "http",
+ "hurl",
+ "hx",
+ "hxml",
+ "hxsl",
+ "hxx",
+ "hy",
+ "hzp",
+ "i",
+ "i3",
+ "i7x",
+ "ical",
+ "ice",
+ "iced",
+ "icl",
+ "icls",
+ "ics",
+ "idc",
+ "idr",
+ "ig",
+ "ihlp",
+ "ijm",
+ "ijs",
+ "ik",
+ "il",
+ "ily",
+ "imba",
+ "iml",
+ "inc",
+ "ini",
+ "ink",
+ "inl",
+ "ino",
+ "ins",
+ "intr",
+ "io",
+ "iol",
+ "ipf",
+ "ipp",
+ "ipynb",
+ "irclog",
+ "isl",
+ "ispc",
+ "iss",
+ "iuml",
+ "ivy",
+ "ixx",
+ "j",
+ "j2",
+ "jac",
+ "jade",
+ "jai",
+ "jake",
+ "janet",
+ "jav",
+ "java",
+ "javascript",
+ "jbuilder",
+ "jcl",
+ "jelly",
+ "jflex",
+ "jinja",
+ "jinja2",
+ "jison",
+ "jisonlex",
+ "jl",
+ "jq",
+ "js",
+ "js.erb",
+ "jsb",
+ "jscad",
+ "jsfl",
+ "jsh",
+ "jslib",
+ "jsm",
+ "json",
+ "json-tmlanguage",
+ "json.example",
+ "json5",
+ "jsonc",
+ "jsonl",
+ "jsonld",
+ "jsonnet",
+ "jsp",
+ "jspre",
+ "jsproj",
+ "jss",
+ "jst",
+ "jsx",
+ "jte",
+ "just",
+ "k",
+ "kak",
+ "kdl",
+ "kicad_mod",
+ "kicad_pcb",
+ "kicad_sch",
+ "kicad_sym",
+ "kicad_wks",
+ "kid",
+ "kit",
+ "kk",
+ "kml",
+ "kojo",
+ "kql",
+ "krl",
+ "ks",
+ "ksh",
+ "ksy",
+ "kt",
+ "ktm",
+ "kts",
+ "kv",
+ "l",
+ "lagda",
+ "langium",
+ "lark",
+ "las",
+ "lasso",
+ "lasso8",
+ "lasso9",
+ "latte",
+ "launch",
+ "lbx",
+ "ld",
+ "lds",
+ "lean",
+ "leex",
+ "lektorproject",
+ "leo",
+ "less",
+ "lex",
+ "lfe",
+ "lgt",
+ "lhs",
+ "libsonnet",
+ "lid",
+ "lidr",
+ "ligo",
+ "linq",
+ "liq",
+ "liquid",
+ "lisp",
+ "litcoffee",
+ "livecodescript",
+ "livemd",
+ "lkml",
+ "ll",
+ "lmi",
+ "lock",
+ "lockb",
+ "logtalk",
+ "lol",
+ "lookml",
+ "lp",
+ "lpr",
+ "ls",
+ "lsl",
+ "lslp",
+ "lsp",
+ "ltx",
+ "lua",
+ "luau",
+ "lvclass",
+ "lvlib",
+ "lvproj",
+ "ly",
+ "m",
+ "m2",
+ "m3",
+ "m3u",
+ "m3u8",
+ "m4",
+ "ma",
+ "mak",
+ "make",
+ "makefile",
+ "mako",
+ "man",
+ "mao",
+ "markdown",
+ "marko",
+ "mask",
+ "mat",
+ "mata",
+ "matah",
+ "mathematica",
+ "matlab",
+ "mawk",
+ "maxhelp",
+ "maxpat",
+ "maxproj",
+ "mbox",
+ "mbt",
+ "mc",
+ "mcfunction",
+ "mch",
+ "mcmeta",
+ "mcr",
+ "md",
+ "md2",
+ "md4",
+ "md5",
+ "mdoc",
+ "mdown",
+ "mdpolicy",
+ "mdwn",
+ "mdx",
+ "me",
+ "mediawiki",
+ "mermaid",
+ "meta",
+ "metal",
+ "metta",
+ "mg",
+ "minid",
+ "mint",
+ "mir",
+ "mirah",
+ "mjml",
+ "mjs",
+ "mk",
+ "mkd",
+ "mkdn",
+ "mkdown",
+ "mkfile",
+ "mkii",
+ "mkiv",
+ "mkvi",
+ "ml",
+ "ml4",
+ "mli",
+ "mligo",
+ "mlir",
+ "mll",
+ "mly",
+ "mm",
+ "mmd",
+ "mmk",
+ "mms",
+ "mo",
+ "mod",
+ "mojo",
+ "monkey",
+ "monkey2",
+ "moo",
+ "moon",
+ "mount",
+ "move",
+ "mpl",
+ "mps",
+ "mq4",
+ "mq5",
+ "mqh",
+ "mrc",
+ "ms",
+ "msd",
+ "msg",
+ "mspec",
+ "mss",
+ "mt",
+ "mtl",
+ "mtml",
+ "mts",
+ "mu",
+ "mud",
+ "muf",
+ "mumps",
+ "muse",
+ "mustache",
+ "mxml",
+ "mxt",
+ "mysql",
+ "myt",
+ "mzn",
+ "n",
+ "nanorc",
+ "nas",
+ "nasl",
+ "nasm",
+ "natvis",
+ "nawk",
+ "nb",
+ "nbp",
+ "nc",
+ "ncl",
+ "ndproj",
+ "ne",
+ "nearley",
+ "ned",
+ "neon",
+ "network",
+ "nf",
+ "nginx",
+ "nginxconf",
+ "ni",
+ "nim",
+ "nim.cfg",
+ "nimble",
+ "nimrod",
+ "nims",
+ "ninja",
+ "nit",
+ "nix",
+ "njk",
+ "njs",
+ "nl",
+ "nlogo",
+ "no",
+ "nomad",
+ "nproj",
+ "nqp",
+ "nr",
+ "nse",
+ "nsh",
+ "nsi",
+ "nss",
+ "nu",
+ "numpy",
+ "numpyw",
+ "numsc",
+ "nuspec",
+ "nut",
+ "ny",
+ "ob2",
+ "obj",
+ "objdump",
+ "odd",
+ "odin",
+ "ol",
+ "omgrofl",
+ "ooc",
+ "opa",
+ "opal",
+ "opencl",
+ "opy",
+ "orc",
+ "org",
+ "os",
+ "osm",
+ "outjob",
+ "overpassql",
+ "owl",
+ "ox",
+ "oxh",
+ "oxo",
+ "oxygene",
+ "oz",
+ "p",
+ "p4",
+ "p6",
+ "p6l",
+ "p6m",
+ "p8",
+ "pac",
+ "pact",
+ "pan",
+ "parrot",
+ "pas",
+ "pascal",
+ "pasm",
+ "pat",
+ "patch",
+ "pb",
+ "pbi",
+ "pbt",
+ "pbtxt",
+ "pc",
+ "pc.in",
+ "pcbdoc",
+ "pck",
+ "pcss",
+ "pd",
+ "pd_lua",
+ "pddl",
+ "pde",
+ "peggy",
+ "pegjs",
+ "pep",
+ "per",
+ "perl",
+ "pfa",
+ "pgsql",
+ "ph",
+ "php",
+ "php3",
+ "php4",
+ "php5",
+ "phps",
+ "phpt",
+ "phtml",
+ "pic",
+ "pig",
+ "pike",
+ "pir",
+ "pkb",
+ "pkgproj",
+ "pkl",
+ "pks",
+ "pl",
+ "pl6",
+ "plantuml",
+ "plb",
+ "plist",
+ "plot",
+ "pls",
+ "plsql",
+ "plt",
+ "pluginspec",
+ "plx",
+ "pm",
+ "pm6",
+ "pml",
+ "pmod",
+ "po",
+ "pod",
+ "pod6",
+ "podsl",
+ "podspec",
+ "pogo",
+ "polar",
+ "pony",
+ "por",
+ "postcss",
+ "pot",
+ "pov",
+ "pp",
+ "pprx",
+ "pq",
+ "praat",
+ "prawn",
+ "prc",
+ "prefab",
+ "prefs",
+ "prg",
+ "pri",
+ "prisma",
+ "prjpcb",
+ "pro",
+ "proj",
+ "prolog",
+ "properties",
+ "props",
+ "proto",
+ "prw",
+ "ps",
+ "ps1",
+ "ps1xml",
+ "psc",
+ "psc1",
+ "psd1",
+ "psgi",
+ "psm1",
+ "pt",
+ "pub",
+ "pubxml",
+ "pug",
+ "puml",
+ "purs",
+ "pwn",
+ "pxd",
+ "pxi",
+ "py",
+ "py3",
+ "pyde",
+ "pyi",
+ "pyp",
+ "pyt",
+ "pytb",
+ "pyw",
+ "pyx",
+ "q",
+ "qasm",
+ "qbs",
+ "qc",
+ "qhelp",
+ "ql",
+ "qll",
+ "qmd",
+ "qml",
+ "qnt",
+ "qs",
+ "r",
+ "r2",
+ "r3",
+ "rabl",
+ "rake",
+ "raku",
+ "rakumod",
+ "raml",
+ "rascript",
+ "raw",
+ "razor",
+ "rb",
+ "rbbas",
+ "rbfrm",
+ "rbi",
+ "rbmnu",
+ "rbres",
+ "rbs",
+ "rbtbar",
+ "rbuild",
+ "rbuistate",
+ "rbw",
+ "rbx",
+ "rbxs",
+ "rchit",
+ "rd",
+ "rdf",
+ "rdoc",
+ "re",
+ "reb",
+ "rebol",
+ "red",
+ "reds",
+ "reek",
+ "reg",
+ "regex",
+ "regexp",
+ "rego",
+ "rei",
+ "religo",
+ "res",
+ "resi",
+ "resource",
+ "rest",
+ "rest.txt",
+ "resx",
+ "rex",
+ "rexx",
+ "rg",
+ "rhtml",
+ "ring",
+ "riot",
+ "rkt",
+ "rktd",
+ "rktl",
+ "rl",
+ "rmd",
+ "rmiss",
+ "rnh",
+ "rno",
+ "rnw",
+ "robot",
+ "roc",
+ "rockspec",
+ "roff",
+ "ron",
+ "ronn",
+ "rpgle",
+ "rpy",
+ "rq",
+ "rs",
+ "rs.in",
+ "rsc",
+ "rsh",
+ "rss",
+ "rst",
+ "rst.txt",
+ "rsx",
+ "rtf",
+ "ru",
+ "ruby",
+ "rviz",
+ "s",
+ "sage",
+ "sagews",
+ "sail",
+ "sarif",
+ "sas",
+ "sass",
+ "sats",
+ "sbatch",
+ "sbt",
+ "sc",
+ "scad",
+ "scala",
+ "scaml",
+ "scd",
+ "sce",
+ "scenic",
+ "sch",
+ "schdoc",
+ "sci",
+ "scm",
+ "sco",
+ "scpt",
+ "scrbl",
+ "scss",
+ "scxml",
+ "sdc",
+ "sed",
+ "self",
+ "service",
+ "sexp",
+ "sfd",
+ "sfproj",
+ "sfv",
+ "sh",
+ "sh-session",
+ "sh.in",
+ "sha1",
+ "sha2",
+ "sha224",
+ "sha256",
+ "sha256sum",
+ "sha3",
+ "sha384",
+ "sha512",
+ "shader",
+ "shen",
+ "shproj",
+ "sieve",
+ "sig",
+ "sj",
+ "sjs",
+ "sl",
+ "slang",
+ "sld",
+ "slim",
+ "slint",
+ "sln",
+ "slnlaunch",
+ "slnx",
+ "sls",
+ "slurm",
+ "sma",
+ "smali",
+ "smithy",
+ "smk",
+ "sml",
+ "smt",
+ "smt2",
+ "snakefile",
+ "snap",
+ "snip",
+ "snippet",
+ "snippets",
+ "socket",
+ "sol",
+ "soy",
+ "sp",
+ "sparql",
+ "spc",
+ "spec",
+ "spin",
+ "sps",
+ "sqf",
+ "sql",
+ "sqlrpgle",
+ "sra",
+ "srdf",
+ "srt",
+ "sru",
+ "srv",
+ "srw",
+ "ss",
+ "ssjs",
+ "sss",
+ "st",
+ "stan",
+ "star",
+ "sthlp",
+ "stl",
+ "ston",
+ "story",
+ "storyboard",
+ "sttheme",
+ "sty",
+ "styl",
+ "sublime-build",
+ "sublime-color-scheme",
+ "sublime-commands",
+ "sublime-completions",
+ "sublime-keymap",
+ "sublime-macro",
+ "sublime-menu",
+ "sublime-mousemap",
+ "sublime-project",
+ "sublime-settings",
+ "sublime-snippet",
+ "sublime-syntax",
+ "sublime-theme",
+ "sublime-workspace",
+ "sublime_metrics",
+ "sublime_session",
+ "sum",
+ "surql",
+ "sv",
+ "svelte",
+ "svg",
+ "svh",
+ "svx",
+ "sw",
+ "swg",
+ "swift",
+ "swig",
+ "syntax",
+ "t",
+ "tab",
+ "tac",
+ "tact",
+ "tag",
+ "talon",
+ "target",
+ "targets",
+ "tcc",
+ "tcl",
+ "tcl.in",
+ "tcsh",
+ "te",
+ "tea",
+ "templ",
+ "tesc",
+ "tese",
+ "tex",
+ "texi",
+ "texinfo",
+ "textgrid",
+ "textile",
+ "textproto",
+ "tf",
+ "tfstate",
+ "tfstate.backup",
+ "tftpl",
+ "tfvars",
+ "thor",
+ "thrift",
+ "thy",
+ "timer",
+ "tl",
+ "tla",
+ "tlv",
+ "tm",
+ "tmac",
+ "tmcommand",
+ "tmdl",
+ "tml",
+ "tmlanguage",
+ "tmpl",
+ "tmpreferences",
+ "tmsnippet",
+ "tmtheme",
+ "tmux",
+ "toc",
+ "tofu",
+ "toit",
+ "toml",
+ "toml.example",
+ "tool",
+ "topojson",
+ "tpb",
+ "tpl",
+ "tpp",
+ "tps",
+ "tres",
+ "trg",
+ "trigger",
+ "ts",
+ "tscn",
+ "tsconfig.json",
+ "tsp",
+ "tst",
+ "tsv",
+ "tsx",
+ "ttl",
+ "tu",
+ "twig",
+ "txi",
+ "txl",
+ "txt",
+ "txtpb",
+ "txx",
+ "typ",
+ "uc",
+ "udf",
+ "udo",
+ "ui",
+ "unity",
+ "uno",
+ "upc",
+ "uplc",
+ "ur",
+ "urdf",
+ "url",
+ "urs",
+ "ux",
+ "v",
+ "vala",
+ "vapi",
+ "vark",
+ "vb",
+ "vba",
+ "vbhtml",
+ "vbproj",
+ "vbs",
+ "vcf",
+ "vcl",
+ "vcxproj",
+ "vdf",
+ "veo",
+ "vert",
+ "vh",
+ "vhd",
+ "vhdl",
+ "vhf",
+ "vhi",
+ "vho",
+ "vhost",
+ "vhs",
+ "vht",
+ "vhw",
+ "vim",
+ "vimrc",
+ "viw",
+ "vmb",
+ "vmf",
+ "volt",
+ "vrx",
+ "vs",
+ "vsh",
+ "vshader",
+ "vsixmanifest",
+ "vssettings",
+ "vstemplate",
+ "vtl",
+ "vto",
+ "vtt",
+ "vue",
+ "vw",
+ "vxml",
+ "vy",
+ "w",
+ "wast",
+ "wat",
+ "watchr",
+ "wdl",
+ "webapp",
+ "webidl",
+ "webmanifest",
+ "weechatlog",
+ "wgsl",
+ "whiley",
+ "wiki",
+ "wikitext",
+ "wisp",
+ "wit",
+ "wixproj",
+ "wl",
+ "wlk",
+ "wls",
+ "wlt",
+ "wlua",
+ "workbook",
+ "workflow",
+ "wren",
+ "ws",
+ "wsdl",
+ "wsf",
+ "wsgi",
+ "wxi",
+ "wxl",
+ "wxs",
+ "x",
+ "x10",
+ "x3d",
+ "x68",
+ "xacro",
+ "xaml",
+ "xbm",
+ "xc",
+ "xdc",
+ "xht",
+ "xhtml",
+ "xi",
+ "xib",
+ "xlf",
+ "xliff",
+ "xm",
+ "xmi",
+ "xml",
+ "xml.dist",
+ "xmp",
+ "xojo_code",
+ "xojo_menu",
+ "xojo_report",
+ "xojo_script",
+ "xojo_toolbar",
+ "xojo_window",
+ "xpl",
+ "xpm",
+ "xproc",
+ "xproj",
+ "xpy",
+ "xq",
+ "xql",
+ "xqm",
+ "xquery",
+ "xqy",
+ "xrl",
+ "xs",
+ "xsd",
+ "xsh",
+ "xsjs",
+ "xsjslib",
+ "xsl",
+ "xslt",
+ "xsp-config",
+ "xsp.metadata",
+ "xspec",
+ "xtend",
+ "xul",
+ "xzap",
+ "y",
+ "yacc",
+ "yaml",
+ "yaml-tmlanguage",
+ "yaml.sed",
+ "yang",
+ "yap",
+ "yar",
+ "yara",
+ "yasnippet",
+ "yml",
+ "yml.mysql",
+ "yrl",
+ "yul",
+ "yy",
+ "yyp",
+ "z3",
+ "zap",
+ "zcml",
+ "zed",
+ "zeek",
+ "zep",
+ "zig",
+ "zig.zon",
+ "zil",
+ "zimpl",
+ "zmodel",
+ "zmpl",
+ "zone",
+ "zpl",
+ "zs",
+ "zsh",
+ "zsh-theme",
+])
+
+const pathFileNames = new Set([
+ ".abbrev_defs",
+ ".ackrc",
+ ".all-contributorsrc",
+ ".arcconfig",
+ ".atomignore",
+ ".auto-changelog",
+ ".babelignore",
+ ".babelrc",
+ ".bash_aliases",
+ ".bash_functions",
+ ".bash_history",
+ ".bash_logout",
+ ".bash_profile",
+ ".bashrc",
+ ".browserslistrc",
+ ".buckconfig",
+ ".bzrignore",
+ ".c8rc",
+ ".ckignore",
+ ".clang-format",
+ ".clang-tidy",
+ ".clangd",
+ ".classpath",
+ ".coffeelintignore",
+ ".coveragerc",
+ ".cshrc",
+ ".curlrc",
+ ".cvsignore",
+ ".dir_colors",
+ ".dockerignore",
+ ".easignore",
+ ".eleventyignore",
+ ".env.ci",
+ ".env.dev",
+ ".env.development",
+ ".env.development.local",
+ ".env.example",
+ ".env.local",
+ ".env.prod",
+ ".env.production",
+ ".env.sample",
+ ".env.staging",
+ ".env.template",
+ ".env.test",
+ ".env.testing",
+ ".envrc",
+ ".eslint-ignore",
+ ".eslintignore",
+ ".exrc",
+ ".factor-boot-rc",
+ ".factor-rc",
+ ".flake8",
+ ".flaskenv",
+ ".gclient",
+ ".gemrc",
+ ".git-blame-ignore-revs",
+ ".gitattributes",
+ ".gitmodules",
+ ".gnus",
+ ".gvimrc",
+ ".htaccess",
+ ".htmlhintrc",
+ ".ignore",
+ ".imgbotconfig",
+ ".inputrc",
+ ".irbrc",
+ ".jscsrc",
+ ".jshintrc",
+ ".jslintrc",
+ ".justfile",
+ ".kshrc",
+ ".latexmkrc",
+ ".login",
+ ".luacheckrc",
+ ".markdownlintignore",
+ ".nodemonignore",
+ ".npmignore",
+ ".npmrc",
+ ".nvimrc",
+ ".nycrc",
+ ".php_cs",
+ ".php_cs.dist",
+ ".prettierignore",
+ ".profile",
+ ".project",
+ ".pryrc",
+ ".pylintrc",
+ ".rgignore",
+ ".rprofile",
+ ".rspec",
+ ".scalafix.conf",
+ ".scalafmt.conf",
+ ".shellcheckrc",
+ ".simplecov",
+ ".spacemacs",
+ ".stylelintignore",
+ ".swcrc",
+ ".tern-config",
+ ".tern-project",
+ ".tgitconfig",
+ ".tm_properties",
+ ".tmux.conf",
+ ".vercelignore",
+ ".viper",
+ ".vscodeignore",
+ ".watchmanconfig",
+ ".wgetrc",
+ ".xcompose",
+ ".xinitrc",
+ ".xsession",
+ ".yardopts",
+ ".zlogin",
+ ".zlogout",
+ ".zprofile",
+ ".zshenv",
+ ".zshrc",
+ "9fs",
+ "_curlrc",
+ "_dir_colors",
+ "_dircolors",
+ "_emacs",
+ "_redirects",
+ "_vimrc",
+ "abbrev_defs",
+ "ack",
+ "ackrc",
+ "android.bp",
+ "apache2.conf",
+ "apkbuild",
+ "app.config",
+ "appraisals",
+ "bash_aliases",
+ "bash_logout",
+ "bash_profile",
+ "bashrc",
+ "berksfile",
+ "brewfile",
+ "browserslist",
+ "bsdmakefile",
+ "buck",
+ "build",
+ "build.bazel",
+ "buildfile",
+ "cabal.config",
+ "cabal.project",
+ "caddyfile",
+ "cakefile",
+ "capfile",
+ "cargo.toml.orig",
+ "cask",
+ "citation",
+ "citation.cff",
+ "citations",
+ "cksums",
+ "codeowners",
+ "commit_editmsg",
+ "config.worktree",
+ "configure.ac",
+ "containerfile",
+ "contents.lr",
+ "copying",
+ "cpanfile",
+ "crontab",
+ "cshrc",
+ "dangerfile",
+ "deliverfile",
+ "deps",
+ "dir_colors",
+ "dockerfile",
+ "dune-project",
+ "earthfile",
+ "eask",
+ "emakefile",
+ "encodings.dir",
+ "eqnrc",
+ "expr-dist",
+ "fakefile",
+ "fastfile",
+ "file_contexts",
+ "firestore.rules",
+ "fontlog",
+ "fonts.alias",
+ "fonts.dir",
+ "fonts.scale",
+ "fp-lib-table",
+ "gemfile",
+ "genfs_contexts",
+ "gitignore-global",
+ "gitignore_global",
+ "gnumakefile",
+ "go.work",
+ "gradlew",
+ "gtkrc",
+ "gtkrc-2.0",
+ "guardfile",
+ "gvimrc",
+ "hosts",
+ "httpd.conf",
+ "initial_sids",
+ "inputrc",
+ "install",
+ "jakefile",
+ "jarfile",
+ "jenkinsfile",
+ "justfile",
+ "kakrc",
+ "kbuild",
+ "kshrc",
+ "latexmkrc",
+ "ld.script",
+ "license",
+ "login",
+ "m3makefile",
+ "m3overrides",
+ "makefile",
+ "makefile.am",
+ "makefile.in",
+ "man",
+ "manifest.mf",
+ "mavenfile",
+ "mcmod.info",
+ "md5sums",
+ "meson.build",
+ "mkfile",
+ "mmn",
+ "mmt",
+ "mocha.opts",
+ "module.bazel",
+ "modulefile",
+ "mvnw",
+ "nanorc",
+ "news",
+ "nextflow.config",
+ "nginx.conf",
+ "notebook",
+ "nuget.config",
+ "nukefile",
+ "nvimrc",
+ "owh",
+ "package.resolved",
+ "packages.config",
+ "phakefile",
+ "pipfile",
+ "pkgbuild",
+ "podfile",
+ "port_contexts",
+ "procfile",
+ "profile",
+ "project.ede",
+ "project.godot",
+ "puppetfile",
+ "pylintrc",
+ "rakefile",
+ "readme.1st",
+ "rebar.config",
+ "rexfile",
+ "riemann.config",
+ "root",
+ "sconscript",
+ "sconstruct",
+ "security_classes",
+ "settings.stylecop",
+ "sha1sums",
+ "sha256sums",
+ "sha512sums",
+ "singularity",
+ "slakefile",
+ "snakefile",
+ "snapfile",
+ "ssh-config",
+ "ssh_config",
+ "sshconfig",
+ "sshd-config",
+ "sshd_config",
+ "starfield",
+ "steepfile",
+ "suite.rc",
+ "thorfile",
+ "tiltfile",
+ "tmux.conf",
+ "torrc",
+ "troffrc",
+ "troffrc-end",
+ "vagrantfile",
+ "vimrc",
+ "vlcrc",
+ "web.config",
+ "web.debug.config",
+ "web.release.config",
+ "workspace",
+ "workspace.bazel",
+ "workspace.bzlmod",
+ "wscript",
+ "xcompose",
+ "xinitrc",
+ "xsession",
+ "zlogin",
+ "zlogout",
+ "zprofile",
+ "zshenv",
+ "zshrc",
+])
+
+const pathFileNamePrefixes = new Set([
+ "9fs",
+ "_curlrc",
+ "_dir_colors",
+ "_dircolors",
+ "_emacs",
+ "_redirects",
+ "_vimrc",
+ "abbrev_defs",
+ "ack",
+ "ackrc",
+ "apkbuild",
+ "appraisals",
+ "bash_aliases",
+ "bash_logout",
+ "bash_profile",
+ "bashrc",
+ "berksfile",
+ "brewfile",
+ "browserslist",
+ "bsdmakefile",
+ "buck",
+ "build",
+ "buildfile",
+ "caddyfile",
+ "cakefile",
+ "capfile",
+ "cask",
+ "citation",
+ "citations",
+ "cksums",
+ "codeowners",
+ "commit_editmsg",
+ "containerfile",
+ "copying",
+ "cpanfile",
+ "crontab",
+ "cshrc",
+ "dangerfile",
+ "deliverfile",
+ "deps",
+ "dir_colors",
+ "dockerfile",
+ "dune-project",
+ "earthfile",
+ "eask",
+ "emakefile",
+ "eqnrc",
+ "expr-dist",
+ "fakefile",
+ "fastfile",
+ "file_contexts",
+ "fontlog",
+ "fp-lib-table",
+ "gemfile",
+ "genfs_contexts",
+ "gitignore-global",
+ "gitignore_global",
+ "gnumakefile",
+ "gradlew",
+ "gtkrc",
+ "guardfile",
+ "gvimrc",
+ "hosts",
+ "initial_sids",
+ "inputrc",
+ "install",
+ "jakefile",
+ "jarfile",
+ "jenkinsfile",
+ "justfile",
+ "kakrc",
+ "kbuild",
+ "kshrc",
+ "latexmkrc",
+ "license",
+ "login",
+ "m3makefile",
+ "m3overrides",
+ "makefile",
+ "man",
+ "mavenfile",
+ "md5sums",
+ "mkfile",
+ "mmn",
+ "mmt",
+ "modulefile",
+ "mvnw",
+ "nanorc",
+ "news",
+ "notebook",
+ "nukefile",
+ "nvimrc",
+ "owh",
+ "phakefile",
+ "pipfile",
+ "pkgbuild",
+ "podfile",
+ "port_contexts",
+ "procfile",
+ "profile",
+ "puppetfile",
+ "pylintrc",
+ "rakefile",
+ "rexfile",
+ "root",
+ "sconscript",
+ "sconstruct",
+ "security_classes",
+ "sha1sums",
+ "sha256sums",
+ "sha512sums",
+ "singularity",
+ "slakefile",
+ "snakefile",
+ "snapfile",
+ "ssh-config",
+ "ssh_config",
+ "sshconfig",
+ "sshd-config",
+ "sshd_config",
+ "starfield",
+ "steepfile",
+ "thorfile",
+ "tiltfile",
+ "torrc",
+ "troffrc",
+ "troffrc-end",
+ "vagrantfile",
+ "vimrc",
+ "vlcrc",
+ "workspace",
+ "wscript",
+ "xcompose",
+ "xinitrc",
+ "xsession",
+ "zlogin",
+ "zlogout",
+ "zprofile",
+ "zshenv",
+ "zshrc",
+])
+
export function inlineCodeKind(text: string): "path" | "url" | undefined {
if (/^https?:\/\//i.test(text)) return "url"
if (/^[a-z][a-z0-9+.-]*:\/\//i.test(text)) return
@@ -5,12 +1895,21 @@ export function inlineCodeKind(text: string): "path" | "url" | undefined {
if (/^\/[a-z][a-z0-9-]*$/i.test(text)) return
if (/\s/.test(text)) return
if (/[()\[\]{}*+=<>|&^"';]/.test(text)) return
- if (
- /[/\\]/.test(text) ||
- /^\.\.?[/\\]/.test(text) ||
- /\.(tsx?|jsx?|json|py|go|rs|rb|php|css|html|md|sh|ya?ml|toml|sql|c|cpp|h|java|kt|swift|scala|xml|png|jpe?g|gif|svg|ico)$/i.test(
- text,
- )
- )
- return "path"
+ if (/[/\\]/.test(text) || /^\.\.?[/\\]/.test(text) || hasPathExtension(text) || hasPathFileName(text)) return "path"
+}
+
+function hasPathExtension(text: string) {
+ const value = text.toLowerCase()
+ if (value.endsWith(".d.ts")) return true
+ const index = value.lastIndexOf(".")
+ if (index === -1) return false
+ return pathExtensions.has(value.slice(index + 1))
+}
+
+function hasPathFileName(text: string) {
+ const value = text.toLowerCase()
+ if (pathFileNames.has(value)) return true
+ const index = value.indexOf(".")
+ if (index === -1) return false
+ return pathFileNamePrefixes.has(value.slice(0, index))
}
diff --git a/packages/slack/package.json b/packages/slack/package.json
index a815936e5d..030525dffc 100644
--- a/packages/slack/package.json
+++ b/packages/slack/package.json
@@ -1,6 +1,6 @@
{
"name": "@opencode-ai/slack",
- "version": "1.17.11",
+ "version": "1.17.12",
"type": "module",
"license": "MIT",
"scripts": {
diff --git a/packages/stats/app/package.json b/packages/stats/app/package.json
index d3b83ac4b3..5021abc666 100644
--- a/packages/stats/app/package.json
+++ b/packages/stats/app/package.json
@@ -1,7 +1,7 @@
{
"$schema": "https://json.schemastore.org/package.json",
"name": "@opencode-ai/stats-app",
- "version": "1.17.11",
+ "version": "1.17.12",
"private": true,
"type": "module",
"license": "MIT",
diff --git a/packages/stats/core/package.json b/packages/stats/core/package.json
index 3d93cba551..cdffcae183 100644
--- a/packages/stats/core/package.json
+++ b/packages/stats/core/package.json
@@ -1,7 +1,7 @@
{
"$schema": "https://json.schemastore.org/package.json",
"name": "@opencode-ai/stats-core",
- "version": "1.17.11",
+ "version": "1.17.12",
"private": true,
"type": "module",
"license": "MIT",
diff --git a/packages/stats/server/package.json b/packages/stats/server/package.json
index 86ad57f337..35c572dedf 100644
--- a/packages/stats/server/package.json
+++ b/packages/stats/server/package.json
@@ -1,7 +1,7 @@
{
"$schema": "https://json.schemastore.org/package.json",
"name": "@opencode-ai/stats-server",
- "version": "1.17.11",
+ "version": "1.17.12",
"private": true,
"type": "module",
"license": "MIT",
diff --git a/packages/tui/package.json b/packages/tui/package.json
index ee3972a2c6..182d266bf5 100644
--- a/packages/tui/package.json
+++ b/packages/tui/package.json
@@ -1,7 +1,7 @@
{
"$schema": "https://json.schemastore.org/package.json",
"name": "@opencode-ai/tui",
- "version": "1.17.11",
+ "version": "1.17.12",
"private": true,
"type": "module",
"license": "MIT",
diff --git a/packages/ui/package.json b/packages/ui/package.json
index 6312702331..bd306af535 100644
--- a/packages/ui/package.json
+++ b/packages/ui/package.json
@@ -1,6 +1,6 @@
{
"name": "@opencode-ai/ui",
- "version": "1.17.11",
+ "version": "1.17.12",
"type": "module",
"license": "MIT",
"repository": {
diff --git a/packages/web/package.json b/packages/web/package.json
index 4c924ea504..22db2b0ad4 100644
--- a/packages/web/package.json
+++ b/packages/web/package.json
@@ -2,7 +2,7 @@
"name": "@opencode-ai/web",
"type": "module",
"license": "MIT",
- "version": "1.17.11",
+ "version": "1.17.12",
"scripts": {
"dev": "astro dev",
"dev:remote": "VITE_API_URL=https://api.opencode.ai astro dev",
diff --git a/packages/web/src/content/docs/ar/zen.mdx b/packages/web/src/content/docs/ar/zen.mdx
index 63489b1c2f..aa827f6304 100644
--- a/packages/web/src/content/docs/ar/zen.mdx
+++ b/packages/web/src/content/docs/ar/zen.mdx
@@ -77,12 +77,10 @@ OpenCode Zen هي بوابة AI تتيح لك الوصول إلى هذه الن
| Claude Opus 4.7 | claude-opus-4-7 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Opus 4.6 | claude-opus-4-6 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Opus 4.5 | claude-opus-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
-| Claude Opus 4.1 | claude-opus-4-1 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
+| Claude Sonnet 5 | claude-sonnet-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Sonnet 4.6 | claude-sonnet-4-6 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Sonnet 4.5 | claude-sonnet-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
-| Claude Sonnet 4 | claude-sonnet-4 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Haiku 4.5 | claude-haiku-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
-| Claude Haiku 3.5 | claude-3-5-haiku | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Gemini 3.5 Flash | gemini-3.5-flash | `https://opencode.ai/zen/v1/models/gemini-3.5-flash` | `@ai-sdk/google` |
| Gemini 3.1 Pro | gemini-3.1-pro | `https://opencode.ai/zen/v1/models/gemini-3.1-pro` | `@ai-sdk/google` |
| Gemini 3 Flash | gemini-3-flash | `https://opencode.ai/zen/v1/models/gemini-3-flash` | `@ai-sdk/google` |
@@ -92,6 +90,7 @@ OpenCode Zen هي بوابة AI تتيح لك الوصول إلى هذه الن
| Qwen3.5 Plus | qwen3.5-plus | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| DeepSeek V4 Pro | deepseek-v4-pro | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| DeepSeek V4 Flash | deepseek-v4-flash | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
+| MiniMax M3 | minimax-m3 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| MiniMax M2.7 | minimax-m2.7 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| MiniMax M2.5 | minimax-m2.5 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| GLM 5.2 | glm-5.2 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
@@ -99,6 +98,7 @@ OpenCode Zen هي بوابة AI تتيح لك الوصول إلى هذه الن
| GLM 5 | glm-5 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Kimi K2.5 | kimi-k2.5 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Kimi K2.6 | kimi-k2.6 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
+| Kimi K2.7 Code | kimi-k2.7-code | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Grok Build 0.1 | grok-build-0.1 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Big Pickle | big-pickle | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| MiMo-V2.5 Free | mimo-v2.5-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
@@ -131,13 +131,15 @@ https://opencode.ai/zen/v1/models
| MiMo-V2.5 Free | Free | Free | Free | - |
| North Mini Code Free | Free | Free | Free | - |
| Nemotron 3 Ultra Free | Free | Free | Free | - |
-| MiniMax M2.7 | $0.30 | $1.20 | $0.06 | $0.375 |
-| MiniMax M2.5 | $0.30 | $1.20 | $0.06 | $0.375 |
+| MiniMax M3 | $0.30 | $1.20 | $0.06 | - |
+| MiniMax M2.7 | $0.30 | $1.20 | $0.06 | - |
+| MiniMax M2.5 | $0.30 | $1.20 | $0.06 | - |
| GLM 5.2 | $1.40 | $4.40 | $0.26 | - |
| GLM 5.1 | $1.40 | $4.40 | $0.26 | - |
| GLM 5 | $1.00 | $3.20 | $0.20 | - |
-| Kimi K2.5 | $0.60 | $3.00 | $0.10 | - |
+| Kimi K2.7 Code | $0.95 | $4.00 | $0.19 | - |
| Kimi K2.6 | $0.95 | $4.00 | $0.16 | - |
+| Kimi K2.5 | $0.60 | $3.00 | $0.10 | - |
| Qwen3.7 Max | $2.50 | $7.50 | $0.50 | $3.125 |
| Qwen3.7 Plus | $0.40 | $1.60 | $0.04 | $0.50 |
| Qwen3.6 Plus | $0.50 | $3.00 | $0.05 | $0.625 |
@@ -150,12 +152,10 @@ https://opencode.ai/zen/v1/models
| Claude Opus 4.7 | $5.00 | $25.00 | $0.50 | $6.25 |
| Claude Opus 4.6 | $5.00 | $25.00 | $0.50 | $6.25 |
| Claude Opus 4.5 | $5.00 | $25.00 | $0.50 | $6.25 |
-| Claude Opus 4.1 | $15.00 | $75.00 | $1.50 | $18.75 |
+| Claude Sonnet 5 | $2.00 | $10.00 | $0.20 | $2.50 |
| Claude Sonnet 4.6 | $3.00 | $15.00 | $0.30 | $3.75 |
| Claude Sonnet 4.5 (≤ 200K tokens) | $3.00 | $15.00 | $0.30 | $3.75 |
| Claude Sonnet 4.5 (> 200K tokens) | $6.00 | $22.50 | $0.60 | $7.50 |
-| Claude Sonnet 4 (≤ 200K tokens) | $3.00 | $15.00 | $0.30 | $3.75 |
-| Claude Sonnet 4 (> 200K tokens) | $6.00 | $22.50 | $0.60 | $7.50 |
| Claude Haiku 4.5 | $1.00 | $5.00 | $0.10 | $1.25 |
| Gemini 3.5 Flash | $1.50 | $9.00 | $0.15 | - |
| Gemini 3.1 Pro (≤ 200K tokens) | $2.00 | $12.00 | $0.20 | - |
@@ -217,23 +217,26 @@ https://opencode.ai/zen/v1/models
### النماذج المهملة
-| النموذج | تاريخ الإيقاف |
-| ------------------ | -------------- |
-| GPT 5.2 Codex | 23 يوليو 2026 |
-| GPT 5.1 Codex | 23 يوليو 2026 |
-| GPT 5.1 Codex Max | 23 يوليو 2026 |
-| GPT 5.1 Codex Mini | 23 يوليو 2026 |
-| GPT 5 Codex | 23 يوليو 2026 |
-| Claude Sonnet 4 | 15 يونيو 2026 |
-| GLM 5 | 14 مايو 2026 |
-| MiniMax M2.1 | 15 مارس 2026 |
-| GLM 4.7 | 15 مارس 2026 |
-| GLM 4.6 | 15 مارس 2026 |
-| Gemini 3 Pro | 9 مارس 2026 |
-| Kimi K2 Thinking | 6 مارس 2026 |
-| Kimi K2 | 6 مارس 2026 |
-| Claude Haiku 3.5 | 16 فبراير 2026 |
-| Qwen3 Coder 480B | 6 فبراير 2026 |
+| النموذج | تاريخ الإيقاف |
+| ------------------ | ----------------- |
+| GPT 5.2 Codex | July 23, 2026 |
+| GPT 5.1 Codex | July 23, 2026 |
+| GPT 5.1 Codex Max | July 23, 2026 |
+| GPT 5.1 Codex Mini | July 23, 2026 |
+| GPT 5 Codex | July 23, 2026 |
+| Claude Opus 4.1 | August 5, 2026 |
+| Claude Sonnet 4 | June 15, 2026 |
+| Claude Haiku 3.5 | February 16, 2026 |
+| Gemini 3 Pro | March 9, 2026 |
+| MiniMax M2.5 | August 5, 2026 |
+| MiniMax M2.1 | March 15, 2026 |
+| GLM 5 | May 14, 2026 |
+| GLM 4.7 | March 15, 2026 |
+| GLM 4.6 | March 15, 2026 |
+| Kimi K2.5 | August 5, 2026 |
+| Kimi K2 Thinking | March 6, 2026 |
+| Kimi K2 | March 6, 2026 |
+| Qwen3 Coder 480B | February 6, 2026 |
---
diff --git a/packages/web/src/content/docs/bs/zen.mdx b/packages/web/src/content/docs/bs/zen.mdx
index c07afb3765..d19e13c6e9 100644
--- a/packages/web/src/content/docs/bs/zen.mdx
+++ b/packages/web/src/content/docs/bs/zen.mdx
@@ -82,12 +82,10 @@ Našim modelima možete pristupiti i preko sljedećih API endpointa.
| Claude Opus 4.7 | claude-opus-4-7 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Opus 4.6 | claude-opus-4-6 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Opus 4.5 | claude-opus-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
-| Claude Opus 4.1 | claude-opus-4-1 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
+| Claude Sonnet 5 | claude-sonnet-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Sonnet 4.6 | claude-sonnet-4-6 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Sonnet 4.5 | claude-sonnet-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
-| Claude Sonnet 4 | claude-sonnet-4 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Haiku 4.5 | claude-haiku-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
-| Claude Haiku 3.5 | claude-3-5-haiku | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Gemini 3.5 Flash | gemini-3.5-flash | `https://opencode.ai/zen/v1/models/gemini-3.5-flash` | `@ai-sdk/google` |
| Gemini 3.1 Pro | gemini-3.1-pro | `https://opencode.ai/zen/v1/models/gemini-3.1-pro` | `@ai-sdk/google` |
| Gemini 3 Flash | gemini-3-flash | `https://opencode.ai/zen/v1/models/gemini-3-flash` | `@ai-sdk/google` |
@@ -97,6 +95,7 @@ Našim modelima možete pristupiti i preko sljedećih API endpointa.
| Qwen3.5 Plus | qwen3.5-plus | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| DeepSeek V4 Pro | deepseek-v4-pro | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| DeepSeek V4 Flash | deepseek-v4-flash | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
+| MiniMax M3 | minimax-m3 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| MiniMax M2.7 | minimax-m2.7 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| MiniMax M2.5 | minimax-m2.5 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| GLM 5.2 | glm-5.2 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
@@ -104,6 +103,7 @@ Našim modelima možete pristupiti i preko sljedećih API endpointa.
| GLM 5 | glm-5 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Kimi K2.5 | kimi-k2.5 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Kimi K2.6 | kimi-k2.6 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
+| Kimi K2.7 Code | kimi-k2.7-code | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Grok Build 0.1 | grok-build-0.1 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Big Pickle | big-pickle | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| MiMo-V2.5 Free | mimo-v2.5-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
@@ -138,13 +138,15 @@ Podržavamo pay-as-you-go model. Ispod su cijene **po 1M tokena**.
| MiMo-V2.5 Free | Free | Free | Free | - |
| North Mini Code Free | Free | Free | Free | - |
| Nemotron 3 Ultra Free | Free | Free | Free | - |
-| MiniMax M2.7 | $0.30 | $1.20 | $0.06 | $0.375 |
-| MiniMax M2.5 | $0.30 | $1.20 | $0.06 | $0.375 |
+| MiniMax M3 | $0.30 | $1.20 | $0.06 | - |
+| MiniMax M2.7 | $0.30 | $1.20 | $0.06 | - |
+| MiniMax M2.5 | $0.30 | $1.20 | $0.06 | - |
| GLM 5.2 | $1.40 | $4.40 | $0.26 | - |
| GLM 5.1 | $1.40 | $4.40 | $0.26 | - |
| GLM 5 | $1.00 | $3.20 | $0.20 | - |
-| Kimi K2.5 | $0.60 | $3.00 | $0.10 | - |
+| Kimi K2.7 Code | $0.95 | $4.00 | $0.19 | - |
| Kimi K2.6 | $0.95 | $4.00 | $0.16 | - |
+| Kimi K2.5 | $0.60 | $3.00 | $0.10 | - |
| Qwen3.7 Max | $2.50 | $7.50 | $0.50 | $3.125 |
| Qwen3.7 Plus | $0.40 | $1.60 | $0.04 | $0.50 |
| Qwen3.6 Plus | $0.50 | $3.00 | $0.05 | $0.625 |
@@ -157,12 +159,10 @@ Podržavamo pay-as-you-go model. Ispod su cijene **po 1M tokena**.
| Claude Opus 4.7 | $5.00 | $25.00 | $0.50 | $6.25 |
| Claude Opus 4.6 | $5.00 | $25.00 | $0.50 | $6.25 |
| Claude Opus 4.5 | $5.00 | $25.00 | $0.50 | $6.25 |
-| Claude Opus 4.1 | $15.00 | $75.00 | $1.50 | $18.75 |
+| Claude Sonnet 5 | $2.00 | $10.00 | $0.20 | $2.50 |
| Claude Sonnet 4.6 | $3.00 | $15.00 | $0.30 | $3.75 |
| Claude Sonnet 4.5 (≤ 200K tokens) | $3.00 | $15.00 | $0.30 | $3.75 |
| Claude Sonnet 4.5 (> 200K tokens) | $6.00 | $22.50 | $0.60 | $7.50 |
-| Claude Sonnet 4 (≤ 200K tokens) | $3.00 | $15.00 | $0.30 | $3.75 |
-| Claude Sonnet 4 (> 200K tokens) | $6.00 | $22.50 | $0.60 | $7.50 |
| Claude Haiku 4.5 | $1.00 | $5.00 | $0.10 | $1.25 |
| Gemini 3.5 Flash | $1.50 | $9.00 | $0.15 | - |
| Gemini 3.1 Pro (≤ 200K tokens) | $2.00 | $12.00 | $0.20 | - |
@@ -235,16 +235,19 @@ vam ipak može naplatiti više od $20 ako vam stanje padne ispod $5.
| GPT 5.1 Codex Max | July 23, 2026 |
| GPT 5.1 Codex Mini | July 23, 2026 |
| GPT 5 Codex | July 23, 2026 |
+| Claude Opus 4.1 | August 5, 2026 |
| Claude Sonnet 4 | June 15, 2026 |
-| GLM 5 | May 14, 2026 |
+| Claude Haiku 3.5 | February 16, 2026 |
+| Gemini 3 Pro | March 9, 2026 |
+| MiniMax M2.5 | August 5, 2026 |
| MiniMax M2.1 | March 15, 2026 |
+| GLM 5 | May 14, 2026 |
| GLM 4.7 | March 15, 2026 |
| GLM 4.6 | March 15, 2026 |
-| Gemini 3 Pro | March 9, 2026 |
+| Kimi K2.5 | August 5, 2026 |
| Kimi K2 Thinking | March 6, 2026 |
| Kimi K2 | March 6, 2026 |
-| Claude Haiku 3.5 | Feb 16, 2026 |
-| Qwen3 Coder 480B | Feb 6, 2026 |
+| Qwen3 Coder 480B | February 6, 2026 |
---
diff --git a/packages/web/src/content/docs/da/zen.mdx b/packages/web/src/content/docs/da/zen.mdx
index 198796b451..346af2b51b 100644
--- a/packages/web/src/content/docs/da/zen.mdx
+++ b/packages/web/src/content/docs/da/zen.mdx
@@ -82,12 +82,10 @@ Du kan også få adgang til vores modeller gennem følgende API-endpoints.
| Claude Opus 4.7 | claude-opus-4-7 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Opus 4.6 | claude-opus-4-6 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Opus 4.5 | claude-opus-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
-| Claude Opus 4.1 | claude-opus-4-1 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
+| Claude Sonnet 5 | claude-sonnet-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Sonnet 4.6 | claude-sonnet-4-6 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Sonnet 4.5 | claude-sonnet-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
-| Claude Sonnet 4 | claude-sonnet-4 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Haiku 4.5 | claude-haiku-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
-| Claude Haiku 3.5 | claude-3-5-haiku | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Gemini 3.5 Flash | gemini-3.5-flash | `https://opencode.ai/zen/v1/models/gemini-3.5-flash` | `@ai-sdk/google` |
| Gemini 3.1 Pro | gemini-3.1-pro | `https://opencode.ai/zen/v1/models/gemini-3.1-pro` | `@ai-sdk/google` |
| Gemini 3 Flash | gemini-3-flash | `https://opencode.ai/zen/v1/models/gemini-3-flash` | `@ai-sdk/google` |
@@ -97,6 +95,7 @@ Du kan også få adgang til vores modeller gennem følgende API-endpoints.
| Qwen3.5 Plus | qwen3.5-plus | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| DeepSeek V4 Pro | deepseek-v4-pro | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| DeepSeek V4 Flash | deepseek-v4-flash | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
+| MiniMax M3 | minimax-m3 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| MiniMax M2.7 | minimax-m2.7 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| MiniMax M2.5 | minimax-m2.5 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| GLM 5.2 | glm-5.2 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
@@ -104,6 +103,7 @@ Du kan også få adgang til vores modeller gennem følgende API-endpoints.
| GLM 5 | glm-5 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Kimi K2.5 | kimi-k2.5 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Kimi K2.6 | kimi-k2.6 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
+| Kimi K2.7 Code | kimi-k2.7-code | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Grok Build 0.1 | grok-build-0.1 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Big Pickle | big-pickle | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| MiMo-V2.5 Free | mimo-v2.5-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
@@ -138,13 +138,15 @@ Vi understøtter en pay-as-you-go-model. Nedenfor er priserne **pr. 1M tokens**.
| MiMo-V2.5 Free | Free | Free | Free | - |
| North Mini Code Free | Free | Free | Free | - |
| Nemotron 3 Ultra Free | Free | Free | Free | - |
-| MiniMax M2.7 | $0.30 | $1.20 | $0.06 | $0.375 |
-| MiniMax M2.5 | $0.30 | $1.20 | $0.06 | $0.375 |
+| MiniMax M3 | $0.30 | $1.20 | $0.06 | - |
+| MiniMax M2.7 | $0.30 | $1.20 | $0.06 | - |
+| MiniMax M2.5 | $0.30 | $1.20 | $0.06 | - |
| GLM 5.2 | $1.40 | $4.40 | $0.26 | - |
| GLM 5.1 | $1.40 | $4.40 | $0.26 | - |
| GLM 5 | $1.00 | $3.20 | $0.20 | - |
-| Kimi K2.5 | $0.60 | $3.00 | $0.10 | - |
+| Kimi K2.7 Code | $0.95 | $4.00 | $0.19 | - |
| Kimi K2.6 | $0.95 | $4.00 | $0.16 | - |
+| Kimi K2.5 | $0.60 | $3.00 | $0.10 | - |
| Qwen3.7 Max | $2.50 | $7.50 | $0.50 | $3.125 |
| Qwen3.7 Plus | $0.40 | $1.60 | $0.04 | $0.50 |
| Qwen3.6 Plus | $0.50 | $3.00 | $0.05 | $0.625 |
@@ -157,12 +159,10 @@ Vi understøtter en pay-as-you-go-model. Nedenfor er priserne **pr. 1M tokens**.
| Claude Opus 4.7 | $5.00 | $25.00 | $0.50 | $6.25 |
| Claude Opus 4.6 | $5.00 | $25.00 | $0.50 | $6.25 |
| Claude Opus 4.5 | $5.00 | $25.00 | $0.50 | $6.25 |
-| Claude Opus 4.1 | $15.00 | $75.00 | $1.50 | $18.75 |
+| Claude Sonnet 5 | $2.00 | $10.00 | $0.20 | $2.50 |
| Claude Sonnet 4.6 | $3.00 | $15.00 | $0.30 | $3.75 |
| Claude Sonnet 4.5 (≤ 200K tokens) | $3.00 | $15.00 | $0.30 | $3.75 |
| Claude Sonnet 4.5 (> 200K tokens) | $6.00 | $22.50 | $0.60 | $7.50 |
-| Claude Sonnet 4 (≤ 200K tokens) | $3.00 | $15.00 | $0.30 | $3.75 |
-| Claude Sonnet 4 (> 200K tokens) | $6.00 | $22.50 | $0.60 | $7.50 |
| Claude Haiku 4.5 | $1.00 | $5.00 | $0.10 | $1.25 |
| Gemini 3.5 Flash | $1.50 | $9.00 | $0.15 | - |
| Gemini 3.1 Pro (≤ 200K tokens) | $2.00 | $12.00 | $0.20 | - |
@@ -227,23 +227,26 @@ at opkræve dig mere end $20, hvis din saldo kommer under $5.
### Udfasede modeller
-| Model | Udfasningsdato |
-| ------------------ | -------------- |
-| GPT 5.2 Codex | July 23, 2026 |
-| GPT 5.1 Codex | July 23, 2026 |
-| GPT 5.1 Codex Max | July 23, 2026 |
-| GPT 5.1 Codex Mini | July 23, 2026 |
-| GPT 5 Codex | July 23, 2026 |
-| Claude Sonnet 4 | June 15, 2026 |
-| GLM 5 | May 14, 2026 |
-| MiniMax M2.1 | March 15, 2026 |
-| GLM 4.7 | March 15, 2026 |
-| GLM 4.6 | March 15, 2026 |
-| Gemini 3 Pro | March 9, 2026 |
-| Kimi K2 Thinking | March 6, 2026 |
-| Kimi K2 | March 6, 2026 |
-| Claude Haiku 3.5 | Feb 16, 2026 |
-| Qwen3 Coder 480B | Feb 6, 2026 |
+| Model | Udfasningsdato |
+| ------------------ | ----------------- |
+| GPT 5.2 Codex | July 23, 2026 |
+| GPT 5.1 Codex | July 23, 2026 |
+| GPT 5.1 Codex Max | July 23, 2026 |
+| GPT 5.1 Codex Mini | July 23, 2026 |
+| GPT 5 Codex | July 23, 2026 |
+| Claude Opus 4.1 | August 5, 2026 |
+| Claude Sonnet 4 | June 15, 2026 |
+| Claude Haiku 3.5 | February 16, 2026 |
+| Gemini 3 Pro | March 9, 2026 |
+| MiniMax M2.5 | August 5, 2026 |
+| MiniMax M2.1 | March 15, 2026 |
+| GLM 5 | May 14, 2026 |
+| GLM 4.7 | March 15, 2026 |
+| GLM 4.6 | March 15, 2026 |
+| Kimi K2.5 | August 5, 2026 |
+| Kimi K2 Thinking | March 6, 2026 |
+| Kimi K2 | March 6, 2026 |
+| Qwen3 Coder 480B | February 6, 2026 |
---
diff --git a/packages/web/src/content/docs/de/zen.mdx b/packages/web/src/content/docs/de/zen.mdx
index 4a5a079abd..7a2fa0bfc1 100644
--- a/packages/web/src/content/docs/de/zen.mdx
+++ b/packages/web/src/content/docs/de/zen.mdx
@@ -73,12 +73,10 @@ Du kannst auch über die folgenden API-Endpunkte auf unsere Modelle zugreifen.
| Claude Opus 4.7 | claude-opus-4-7 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Opus 4.6 | claude-opus-4-6 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Opus 4.5 | claude-opus-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
-| Claude Opus 4.1 | claude-opus-4-1 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
+| Claude Sonnet 5 | claude-sonnet-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Sonnet 4.6 | claude-sonnet-4-6 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Sonnet 4.5 | claude-sonnet-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
-| Claude Sonnet 4 | claude-sonnet-4 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Haiku 4.5 | claude-haiku-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
-| Claude Haiku 3.5 | claude-3-5-haiku | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Gemini 3.5 Flash | gemini-3.5-flash | `https://opencode.ai/zen/v1/models/gemini-3.5-flash` | `@ai-sdk/google` |
| Gemini 3.1 Pro | gemini-3.1-pro | `https://opencode.ai/zen/v1/models/gemini-3.1-pro` | `@ai-sdk/google` |
| Gemini 3 Flash | gemini-3-flash | `https://opencode.ai/zen/v1/models/gemini-3-flash` | `@ai-sdk/google` |
@@ -88,6 +86,7 @@ Du kannst auch über die folgenden API-Endpunkte auf unsere Modelle zugreifen.
| Qwen3.5 Plus | qwen3.5-plus | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| DeepSeek V4 Pro | deepseek-v4-pro | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| DeepSeek V4 Flash | deepseek-v4-flash | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
+| MiniMax M3 | minimax-m3 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| MiniMax M2.7 | minimax-m2.7 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| MiniMax M2.5 | minimax-m2.5 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| GLM 5.2 | glm-5.2 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
@@ -95,6 +94,7 @@ Du kannst auch über die folgenden API-Endpunkte auf unsere Modelle zugreifen.
| GLM 5 | glm-5 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Kimi K2.5 | kimi-k2.5 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Kimi K2.6 | kimi-k2.6 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
+| Kimi K2.7 Code | kimi-k2.7-code | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Grok Build 0.1 | grok-build-0.1 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Big Pickle | big-pickle | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| MiMo-V2.5 Free | mimo-v2.5-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
@@ -127,13 +127,15 @@ Wir unterstützen ein Pay-as-you-go-Modell. Unten findest du die Preise **pro 1M
| MiMo-V2.5 Free | Free | Free | Free | - |
| North Mini Code Free | Free | Free | Free | - |
| Nemotron 3 Ultra Free | Free | Free | Free | - |
-| MiniMax M2.7 | $0.30 | $1.20 | $0.06 | $0.375 |
-| MiniMax M2.5 | $0.30 | $1.20 | $0.06 | $0.375 |
+| MiniMax M3 | $0.30 | $1.20 | $0.06 | - |
+| MiniMax M2.7 | $0.30 | $1.20 | $0.06 | - |
+| MiniMax M2.5 | $0.30 | $1.20 | $0.06 | - |
| GLM 5.2 | $1.40 | $4.40 | $0.26 | - |
| GLM 5.1 | $1.40 | $4.40 | $0.26 | - |
| GLM 5 | $1.00 | $3.20 | $0.20 | - |
-| Kimi K2.5 | $0.60 | $3.00 | $0.10 | - |
+| Kimi K2.7 Code | $0.95 | $4.00 | $0.19 | - |
| Kimi K2.6 | $0.95 | $4.00 | $0.16 | - |
+| Kimi K2.5 | $0.60 | $3.00 | $0.10 | - |
| Qwen3.7 Max | $2.50 | $7.50 | $0.50 | $3.125 |
| Qwen3.7 Plus | $0.40 | $1.60 | $0.04 | $0.50 |
| Qwen3.6 Plus | $0.50 | $3.00 | $0.05 | $0.625 |
@@ -146,12 +148,10 @@ Wir unterstützen ein Pay-as-you-go-Modell. Unten findest du die Preise **pro 1M
| Claude Opus 4.7 | $5.00 | $25.00 | $0.50 | $6.25 |
| Claude Opus 4.6 | $5.00 | $25.00 | $0.50 | $6.25 |
| Claude Opus 4.5 | $5.00 | $25.00 | $0.50 | $6.25 |
-| Claude Opus 4.1 | $15.00 | $75.00 | $1.50 | $18.75 |
+| Claude Sonnet 5 | $2.00 | $10.00 | $0.20 | $2.50 |
| Claude Sonnet 4.6 | $3.00 | $15.00 | $0.30 | $3.75 |
| Claude Sonnet 4.5 (≤ 200K tokens) | $3.00 | $15.00 | $0.30 | $3.75 |
| Claude Sonnet 4.5 (> 200K tokens) | $6.00 | $22.50 | $0.60 | $7.50 |
-| Claude Sonnet 4 (≤ 200K tokens) | $3.00 | $15.00 | $0.30 | $3.75 |
-| Claude Sonnet 4 (> 200K tokens) | $6.00 | $22.50 | $0.60 | $7.50 |
| Claude Haiku 4.5 | $1.00 | $5.00 | $0.10 | $1.25 |
| Gemini 3.5 Flash | $1.50 | $9.00 | $0.15 | - |
| Gemini 3.1 Pro (≤ 200K tokens) | $2.00 | $12.00 | $0.20 | - |
@@ -213,23 +213,26 @@ Angenommen, du setzt ein monatliches Nutzungslimit von $20, dann wird Zen in ein
### Veraltete Modelle
-| Model | Deprecation date |
-| ------------------ | ---------------- |
-| GPT 5.2 Codex | July 23, 2026 |
-| GPT 5.1 Codex | July 23, 2026 |
-| GPT 5.1 Codex Max | July 23, 2026 |
-| GPT 5.1 Codex Mini | July 23, 2026 |
-| GPT 5 Codex | July 23, 2026 |
-| Claude Sonnet 4 | June 15, 2026 |
-| GLM 5 | May 14, 2026 |
-| MiniMax M2.1 | March 15, 2026 |
-| GLM 4.7 | March 15, 2026 |
-| GLM 4.6 | March 15, 2026 |
-| Gemini 3 Pro | March 9, 2026 |
-| Kimi K2 Thinking | March 6, 2026 |
-| Kimi K2 | March 6, 2026 |
-| Claude Haiku 3.5 | Feb 16, 2026 |
-| Qwen3 Coder 480B | Feb 6, 2026 |
+| Model | Deprecation date |
+| ------------------ | ----------------- |
+| GPT 5.2 Codex | July 23, 2026 |
+| GPT 5.1 Codex | July 23, 2026 |
+| GPT 5.1 Codex Max | July 23, 2026 |
+| GPT 5.1 Codex Mini | July 23, 2026 |
+| GPT 5 Codex | July 23, 2026 |
+| Claude Opus 4.1 | August 5, 2026 |
+| Claude Sonnet 4 | June 15, 2026 |
+| Claude Haiku 3.5 | February 16, 2026 |
+| Gemini 3 Pro | March 9, 2026 |
+| MiniMax M2.5 | August 5, 2026 |
+| MiniMax M2.1 | March 15, 2026 |
+| GLM 5 | May 14, 2026 |
+| GLM 4.7 | March 15, 2026 |
+| GLM 4.6 | March 15, 2026 |
+| Kimi K2.5 | August 5, 2026 |
+| Kimi K2 Thinking | March 6, 2026 |
+| Kimi K2 | March 6, 2026 |
+| Qwen3 Coder 480B | February 6, 2026 |
---
diff --git a/packages/web/src/content/docs/es/zen.mdx b/packages/web/src/content/docs/es/zen.mdx
index 7b96155c90..e5e4452c6b 100644
--- a/packages/web/src/content/docs/es/zen.mdx
+++ b/packages/web/src/content/docs/es/zen.mdx
@@ -82,12 +82,10 @@ También puedes acceder a nuestros modelos a través de los siguientes endpoints
| Claude Opus 4.7 | claude-opus-4-7 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Opus 4.6 | claude-opus-4-6 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Opus 4.5 | claude-opus-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
-| Claude Opus 4.1 | claude-opus-4-1 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
+| Claude Sonnet 5 | claude-sonnet-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Sonnet 4.6 | claude-sonnet-4-6 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Sonnet 4.5 | claude-sonnet-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
-| Claude Sonnet 4 | claude-sonnet-4 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Haiku 4.5 | claude-haiku-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
-| Claude Haiku 3.5 | claude-3-5-haiku | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Gemini 3.5 Flash | gemini-3.5-flash | `https://opencode.ai/zen/v1/models/gemini-3.5-flash` | `@ai-sdk/google` |
| Gemini 3.1 Pro | gemini-3.1-pro | `https://opencode.ai/zen/v1/models/gemini-3.1-pro` | `@ai-sdk/google` |
| Gemini 3 Flash | gemini-3-flash | `https://opencode.ai/zen/v1/models/gemini-3-flash` | `@ai-sdk/google` |
@@ -97,6 +95,7 @@ También puedes acceder a nuestros modelos a través de los siguientes endpoints
| Qwen3.5 Plus | qwen3.5-plus | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| DeepSeek V4 Pro | deepseek-v4-pro | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| DeepSeek V4 Flash | deepseek-v4-flash | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
+| MiniMax M3 | minimax-m3 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| MiniMax M2.7 | minimax-m2.7 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| MiniMax M2.5 | minimax-m2.5 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| GLM 5.2 | glm-5.2 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
@@ -104,6 +103,7 @@ También puedes acceder a nuestros modelos a través de los siguientes endpoints
| GLM 5 | glm-5 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Kimi K2.5 | kimi-k2.5 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Kimi K2.6 | kimi-k2.6 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
+| Kimi K2.7 Code | kimi-k2.7-code | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Grok Build 0.1 | grok-build-0.1 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Big Pickle | big-pickle | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| MiMo-V2.5 Free | mimo-v2.5-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
@@ -138,13 +138,15 @@ Admitimos un modelo de pago por uso. A continuación se muestran los precios **p
| MiMo-V2.5 Free | Free | Free | Free | - |
| North Mini Code Free | Free | Free | Free | - |
| Nemotron 3 Ultra Free | Free | Free | Free | - |
-| MiniMax M2.7 | $0.30 | $1.20 | $0.06 | $0.375 |
-| MiniMax M2.5 | $0.30 | $1.20 | $0.06 | $0.375 |
+| MiniMax M3 | $0.30 | $1.20 | $0.06 | - |
+| MiniMax M2.7 | $0.30 | $1.20 | $0.06 | - |
+| MiniMax M2.5 | $0.30 | $1.20 | $0.06 | - |
| GLM 5.2 | $1.40 | $4.40 | $0.26 | - |
| GLM 5.1 | $1.40 | $4.40 | $0.26 | - |
| GLM 5 | $1.00 | $3.20 | $0.20 | - |
-| Kimi K2.5 | $0.60 | $3.00 | $0.10 | - |
+| Kimi K2.7 Code | $0.95 | $4.00 | $0.19 | - |
| Kimi K2.6 | $0.95 | $4.00 | $0.16 | - |
+| Kimi K2.5 | $0.60 | $3.00 | $0.10 | - |
| Qwen3.7 Max | $2.50 | $7.50 | $0.50 | $3.125 |
| Qwen3.7 Plus | $0.40 | $1.60 | $0.04 | $0.50 |
| Qwen3.6 Plus | $0.50 | $3.00 | $0.05 | $0.625 |
@@ -157,12 +159,10 @@ Admitimos un modelo de pago por uso. A continuación se muestran los precios **p
| Claude Opus 4.7 | $5.00 | $25.00 | $0.50 | $6.25 |
| Claude Opus 4.6 | $5.00 | $25.00 | $0.50 | $6.25 |
| Claude Opus 4.5 | $5.00 | $25.00 | $0.50 | $6.25 |
-| Claude Opus 4.1 | $15.00 | $75.00 | $1.50 | $18.75 |
+| Claude Sonnet 5 | $2.00 | $10.00 | $0.20 | $2.50 |
| Claude Sonnet 4.6 | $3.00 | $15.00 | $0.30 | $3.75 |
| Claude Sonnet 4.5 (≤ 200K tokens) | $3.00 | $15.00 | $0.30 | $3.75 |
| Claude Sonnet 4.5 (> 200K tokens) | $6.00 | $22.50 | $0.60 | $7.50 |
-| Claude Sonnet 4 (≤ 200K tokens) | $3.00 | $15.00 | $0.30 | $3.75 |
-| Claude Sonnet 4 (> 200K tokens) | $6.00 | $22.50 | $0.60 | $7.50 |
| Claude Haiku 4.5 | $1.00 | $5.00 | $0.10 | $1.25 |
| Gemini 3.5 Flash | $1.50 | $9.00 | $0.15 | - |
| Gemini 3.1 Pro (≤ 200K tokens) | $2.00 | $12.00 | $0.20 | - |
@@ -234,16 +234,19 @@ cobrándote más de $20 si tu saldo baja de $5.
| GPT 5.1 Codex Max | July 23, 2026 |
| GPT 5.1 Codex Mini | July 23, 2026 |
| GPT 5 Codex | July 23, 2026 |
+| Claude Opus 4.1 | August 5, 2026 |
| Claude Sonnet 4 | June 15, 2026 |
-| GLM 5 | May 14, 2026 |
+| Claude Haiku 3.5 | February 16, 2026 |
+| Gemini 3 Pro | March 9, 2026 |
+| MiniMax M2.5 | August 5, 2026 |
| MiniMax M2.1 | March 15, 2026 |
+| GLM 5 | May 14, 2026 |
| GLM 4.7 | March 15, 2026 |
| GLM 4.6 | March 15, 2026 |
-| Gemini 3 Pro | March 9, 2026 |
+| Kimi K2.5 | August 5, 2026 |
| Kimi K2 Thinking | March 6, 2026 |
| Kimi K2 | March 6, 2026 |
-| Claude Haiku 3.5 | Feb 16, 2026 |
-| Qwen3 Coder 480B | Feb 6, 2026 |
+| Qwen3 Coder 480B | February 6, 2026 |
---
diff --git a/packages/web/src/content/docs/fr/zen.mdx b/packages/web/src/content/docs/fr/zen.mdx
index f59181ddf4..8342f76b89 100644
--- a/packages/web/src/content/docs/fr/zen.mdx
+++ b/packages/web/src/content/docs/fr/zen.mdx
@@ -73,12 +73,10 @@ Vous pouvez également accéder à nos modèles via les points de terminaison AP
| Claude Opus 4.7 | claude-opus-4-7 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Opus 4.6 | claude-opus-4-6 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Opus 4.5 | claude-opus-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
-| Claude Opus 4.1 | claude-opus-4-1 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
+| Claude Sonnet 5 | claude-sonnet-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Sonnet 4.6 | claude-sonnet-4-6 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Sonnet 4.5 | claude-sonnet-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
-| Claude Sonnet 4 | claude-sonnet-4 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Haiku 4.5 | claude-haiku-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
-| Claude Haiku 3.5 | claude-3-5-haiku | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Gemini 3.5 Flash | gemini-3.5-flash | `https://opencode.ai/zen/v1/models/gemini-3.5-flash` | `@ai-sdk/google` |
| Gemini 3.1 Pro | gemini-3.1-pro | `https://opencode.ai/zen/v1/models/gemini-3.1-pro` | `@ai-sdk/google` |
| Gemini 3 Flash | gemini-3-flash | `https://opencode.ai/zen/v1/models/gemini-3-flash` | `@ai-sdk/google` |
@@ -88,6 +86,7 @@ Vous pouvez également accéder à nos modèles via les points de terminaison AP
| Qwen3.5 Plus | qwen3.5-plus | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| DeepSeek V4 Pro | deepseek-v4-pro | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| DeepSeek V4 Flash | deepseek-v4-flash | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
+| MiniMax M3 | minimax-m3 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| MiniMax M2.7 | minimax-m2.7 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| MiniMax M2.5 | minimax-m2.5 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| GLM 5.2 | glm-5.2 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
@@ -95,6 +94,7 @@ Vous pouvez également accéder à nos modèles via les points de terminaison AP
| GLM 5 | glm-5 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Kimi K2.5 | kimi-k2.5 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Kimi K2.6 | kimi-k2.6 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
+| Kimi K2.7 Code | kimi-k2.7-code | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Grok Build 0.1 | grok-build-0.1 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Big Pickle | big-pickle | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| MiMo-V2.5 Free | mimo-v2.5-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
@@ -127,13 +127,15 @@ Nous prenons en charge un modèle de paiement à l'utilisation. Vous trouverez c
| MiMo-V2.5 Free | Free | Free | Free | - |
| North Mini Code Free | Free | Free | Free | - |
| Nemotron 3 Ultra Free | Free | Free | Free | - |
-| MiniMax M2.7 | $0.30 | $1.20 | $0.06 | $0.375 |
-| MiniMax M2.5 | $0.30 | $1.20 | $0.06 | $0.375 |
+| MiniMax M3 | $0.30 | $1.20 | $0.06 | - |
+| MiniMax M2.7 | $0.30 | $1.20 | $0.06 | - |
+| MiniMax M2.5 | $0.30 | $1.20 | $0.06 | - |
| GLM 5.2 | $1.40 | $4.40 | $0.26 | - |
| GLM 5.1 | $1.40 | $4.40 | $0.26 | - |
| GLM 5 | $1.00 | $3.20 | $0.20 | - |
-| Kimi K2.5 | $0.60 | $3.00 | $0.10 | - |
+| Kimi K2.7 Code | $0.95 | $4.00 | $0.19 | - |
| Kimi K2.6 | $0.95 | $4.00 | $0.16 | - |
+| Kimi K2.5 | $0.60 | $3.00 | $0.10 | - |
| Qwen3.7 Max | $2.50 | $7.50 | $0.50 | $3.125 |
| Qwen3.7 Plus | $0.40 | $1.60 | $0.04 | $0.50 |
| Qwen3.6 Plus | $0.50 | $3.00 | $0.05 | $0.625 |
@@ -146,12 +148,10 @@ Nous prenons en charge un modèle de paiement à l'utilisation. Vous trouverez c
| Claude Opus 4.7 | $5.00 | $25.00 | $0.50 | $6.25 |
| Claude Opus 4.6 | $5.00 | $25.00 | $0.50 | $6.25 |
| Claude Opus 4.5 | $5.00 | $25.00 | $0.50 | $6.25 |
-| Claude Opus 4.1 | $15.00 | $75.00 | $1.50 | $18.75 |
+| Claude Sonnet 5 | $2.00 | $10.00 | $0.20 | $2.50 |
| Claude Sonnet 4.6 | $3.00 | $15.00 | $0.30 | $3.75 |
| Claude Sonnet 4.5 (≤ 200K tokens) | $3.00 | $15.00 | $0.30 | $3.75 |
| Claude Sonnet 4.5 (> 200K tokens) | $6.00 | $22.50 | $0.60 | $7.50 |
-| Claude Sonnet 4 (≤ 200K tokens) | $3.00 | $15.00 | $0.30 | $3.75 |
-| Claude Sonnet 4 (> 200K tokens) | $6.00 | $22.50 | $0.60 | $7.50 |
| Claude Haiku 4.5 | $1.00 | $5.00 | $0.10 | $1.25 |
| Gemini 3.5 Flash | $1.50 | $9.00 | $0.15 | - |
| Gemini 3.1 Pro (≤ 200K tokens) | $2.00 | $12.00 | $0.20 | - |
@@ -220,16 +220,19 @@ Par exemple, si vous définissez une limite d'utilisation mensuelle à $20, Zen
| GPT 5.1 Codex Max | July 23, 2026 |
| GPT 5.1 Codex Mini | July 23, 2026 |
| GPT 5 Codex | July 23, 2026 |
+| Claude Opus 4.1 | August 5, 2026 |
| Claude Sonnet 4 | June 15, 2026 |
-| GLM 5 | May 14, 2026 |
+| Claude Haiku 3.5 | February 16, 2026 |
+| Gemini 3 Pro | March 9, 2026 |
+| MiniMax M2.5 | August 5, 2026 |
| MiniMax M2.1 | March 15, 2026 |
+| GLM 5 | May 14, 2026 |
| GLM 4.7 | March 15, 2026 |
| GLM 4.6 | March 15, 2026 |
-| Gemini 3 Pro | March 9, 2026 |
+| Kimi K2.5 | August 5, 2026 |
| Kimi K2 Thinking | March 6, 2026 |
| Kimi K2 | March 6, 2026 |
-| Claude Haiku 3.5 | Feb 16, 2026 |
-| Qwen3 Coder 480B | Feb 6, 2026 |
+| Qwen3 Coder 480B | February 6, 2026 |
---
diff --git a/packages/web/src/content/docs/it/zen.mdx b/packages/web/src/content/docs/it/zen.mdx
index 76f47118aa..77f019d43a 100644
--- a/packages/web/src/content/docs/it/zen.mdx
+++ b/packages/web/src/content/docs/it/zen.mdx
@@ -82,12 +82,10 @@ Puoi anche accedere ai nostri modelli tramite i seguenti endpoint API.
| Claude Opus 4.7 | claude-opus-4-7 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Opus 4.6 | claude-opus-4-6 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Opus 4.5 | claude-opus-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
-| Claude Opus 4.1 | claude-opus-4-1 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
+| Claude Sonnet 5 | claude-sonnet-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Sonnet 4.6 | claude-sonnet-4-6 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Sonnet 4.5 | claude-sonnet-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
-| Claude Sonnet 4 | claude-sonnet-4 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Haiku 4.5 | claude-haiku-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
-| Claude Haiku 3.5 | claude-3-5-haiku | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Gemini 3.5 Flash | gemini-3.5-flash | `https://opencode.ai/zen/v1/models/gemini-3.5-flash` | `@ai-sdk/google` |
| Gemini 3.1 Pro | gemini-3.1-pro | `https://opencode.ai/zen/v1/models/gemini-3.1-pro` | `@ai-sdk/google` |
| Gemini 3 Flash | gemini-3-flash | `https://opencode.ai/zen/v1/models/gemini-3-flash` | `@ai-sdk/google` |
@@ -97,6 +95,7 @@ Puoi anche accedere ai nostri modelli tramite i seguenti endpoint API.
| Qwen3.5 Plus | qwen3.5-plus | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| DeepSeek V4 Pro | deepseek-v4-pro | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| DeepSeek V4 Flash | deepseek-v4-flash | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
+| MiniMax M3 | minimax-m3 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| MiniMax M2.7 | minimax-m2.7 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| MiniMax M2.5 | minimax-m2.5 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| GLM 5.2 | glm-5.2 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
@@ -104,6 +103,7 @@ Puoi anche accedere ai nostri modelli tramite i seguenti endpoint API.
| GLM 5 | glm-5 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Kimi K2.5 | kimi-k2.5 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Kimi K2.6 | kimi-k2.6 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
+| Kimi K2.7 Code | kimi-k2.7-code | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Grok Build 0.1 | grok-build-0.1 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Big Pickle | big-pickle | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| MiMo-V2.5 Free | mimo-v2.5-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
@@ -138,13 +138,15 @@ Supportiamo un modello pay-as-you-go. Qui sotto trovi i prezzi **per 1M token**.
| MiMo-V2.5 Free | Free | Free | Free | - |
| North Mini Code Free | Free | Free | Free | - |
| Nemotron 3 Ultra Free | Free | Free | Free | - |
-| MiniMax M2.7 | $0.30 | $1.20 | $0.06 | $0.375 |
-| MiniMax M2.5 | $0.30 | $1.20 | $0.06 | $0.375 |
+| MiniMax M3 | $0.30 | $1.20 | $0.06 | - |
+| MiniMax M2.7 | $0.30 | $1.20 | $0.06 | - |
+| MiniMax M2.5 | $0.30 | $1.20 | $0.06 | - |
| GLM 5.2 | $1.40 | $4.40 | $0.26 | - |
| GLM 5.1 | $1.40 | $4.40 | $0.26 | - |
| GLM 5 | $1.00 | $3.20 | $0.20 | - |
-| Kimi K2.5 | $0.60 | $3.00 | $0.10 | - |
+| Kimi K2.7 Code | $0.95 | $4.00 | $0.19 | - |
| Kimi K2.6 | $0.95 | $4.00 | $0.16 | - |
+| Kimi K2.5 | $0.60 | $3.00 | $0.10 | - |
| Qwen3.7 Max | $2.50 | $7.50 | $0.50 | $3.125 |
| Qwen3.7 Plus | $0.40 | $1.60 | $0.04 | $0.50 |
| Qwen3.6 Plus | $0.50 | $3.00 | $0.05 | $0.625 |
@@ -157,12 +159,10 @@ Supportiamo un modello pay-as-you-go. Qui sotto trovi i prezzi **per 1M token**.
| Claude Opus 4.7 | $5.00 | $25.00 | $0.50 | $6.25 |
| Claude Opus 4.6 | $5.00 | $25.00 | $0.50 | $6.25 |
| Claude Opus 4.5 | $5.00 | $25.00 | $0.50 | $6.25 |
-| Claude Opus 4.1 | $15.00 | $75.00 | $1.50 | $18.75 |
+| Claude Sonnet 5 | $2.00 | $10.00 | $0.20 | $2.50 |
| Claude Sonnet 4.6 | $3.00 | $15.00 | $0.30 | $3.75 |
| Claude Sonnet 4.5 (≤ 200K tokens) | $3.00 | $15.00 | $0.30 | $3.75 |
| Claude Sonnet 4.5 (> 200K tokens) | $6.00 | $22.50 | $0.60 | $7.50 |
-| Claude Sonnet 4 (≤ 200K tokens) | $3.00 | $15.00 | $0.30 | $3.75 |
-| Claude Sonnet 4 (> 200K tokens) | $6.00 | $22.50 | $0.60 | $7.50 |
| Claude Haiku 4.5 | $1.00 | $5.00 | $0.10 | $1.25 |
| Gemini 3.5 Flash | $1.50 | $9.00 | $0.15 | - |
| Gemini 3.1 Pro (≤ 200K tokens) | $2.00 | $12.00 | $0.20 | - |
@@ -234,16 +234,19 @@ per addebitarti più di $20 se il tuo saldo scende sotto $5.
| GPT 5.1 Codex Max | July 23, 2026 |
| GPT 5.1 Codex Mini | July 23, 2026 |
| GPT 5 Codex | July 23, 2026 |
+| Claude Opus 4.1 | August 5, 2026 |
| Claude Sonnet 4 | June 15, 2026 |
-| GLM 5 | May 14, 2026 |
+| Claude Haiku 3.5 | February 16, 2026 |
+| Gemini 3 Pro | March 9, 2026 |
+| MiniMax M2.5 | August 5, 2026 |
| MiniMax M2.1 | March 15, 2026 |
+| GLM 5 | May 14, 2026 |
| GLM 4.7 | March 15, 2026 |
| GLM 4.6 | March 15, 2026 |
-| Gemini 3 Pro | March 9, 2026 |
+| Kimi K2.5 | August 5, 2026 |
| Kimi K2 Thinking | March 6, 2026 |
| Kimi K2 | March 6, 2026 |
-| Claude Haiku 3.5 | Feb 16, 2026 |
-| Qwen3 Coder 480B | Feb 6, 2026 |
+| Qwen3 Coder 480B | February 6, 2026 |
---
diff --git a/packages/web/src/content/docs/ja/zen.mdx b/packages/web/src/content/docs/ja/zen.mdx
index 0c92aa1e31..72df27be4c 100644
--- a/packages/web/src/content/docs/ja/zen.mdx
+++ b/packages/web/src/content/docs/ja/zen.mdx
@@ -73,12 +73,10 @@ OpenCode Zen は、OpenCode のほかのプロバイダーと同じように動
| Claude Opus 4.7 | claude-opus-4-7 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Opus 4.6 | claude-opus-4-6 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Opus 4.5 | claude-opus-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
-| Claude Opus 4.1 | claude-opus-4-1 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
+| Claude Sonnet 5 | claude-sonnet-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Sonnet 4.6 | claude-sonnet-4-6 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Sonnet 4.5 | claude-sonnet-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
-| Claude Sonnet 4 | claude-sonnet-4 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Haiku 4.5 | claude-haiku-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
-| Claude Haiku 3.5 | claude-3-5-haiku | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Gemini 3.5 Flash | gemini-3.5-flash | `https://opencode.ai/zen/v1/models/gemini-3.5-flash` | `@ai-sdk/google` |
| Gemini 3.1 Pro | gemini-3.1-pro | `https://opencode.ai/zen/v1/models/gemini-3.1-pro` | `@ai-sdk/google` |
| Gemini 3 Flash | gemini-3-flash | `https://opencode.ai/zen/v1/models/gemini-3-flash` | `@ai-sdk/google` |
@@ -88,6 +86,7 @@ OpenCode Zen は、OpenCode のほかのプロバイダーと同じように動
| Qwen3.5 Plus | qwen3.5-plus | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| DeepSeek V4 Pro | deepseek-v4-pro | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| DeepSeek V4 Flash | deepseek-v4-flash | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
+| MiniMax M3 | minimax-m3 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| MiniMax M2.7 | minimax-m2.7 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| MiniMax M2.5 | minimax-m2.5 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| GLM 5.2 | glm-5.2 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
@@ -95,6 +94,7 @@ OpenCode Zen は、OpenCode のほかのプロバイダーと同じように動
| GLM 5 | glm-5 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Kimi K2.5 | kimi-k2.5 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Kimi K2.6 | kimi-k2.6 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
+| Kimi K2.7 Code | kimi-k2.7-code | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Grok Build 0.1 | grok-build-0.1 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Big Pickle | big-pickle | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| MiMo-V2.5 Free | mimo-v2.5-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
@@ -127,13 +127,15 @@ https://opencode.ai/zen/v1/models
| MiMo-V2.5 Free | Free | Free | Free | - |
| North Mini Code Free | Free | Free | Free | - |
| Nemotron 3 Ultra Free | Free | Free | Free | - |
-| MiniMax M2.7 | $0.30 | $1.20 | $0.06 | $0.375 |
-| MiniMax M2.5 | $0.30 | $1.20 | $0.06 | $0.375 |
+| MiniMax M3 | $0.30 | $1.20 | $0.06 | - |
+| MiniMax M2.7 | $0.30 | $1.20 | $0.06 | - |
+| MiniMax M2.5 | $0.30 | $1.20 | $0.06 | - |
| GLM 5.2 | $1.40 | $4.40 | $0.26 | - |
| GLM 5.1 | $1.40 | $4.40 | $0.26 | - |
| GLM 5 | $1.00 | $3.20 | $0.20 | - |
-| Kimi K2.5 | $0.60 | $3.00 | $0.10 | - |
+| Kimi K2.7 Code | $0.95 | $4.00 | $0.19 | - |
| Kimi K2.6 | $0.95 | $4.00 | $0.16 | - |
+| Kimi K2.5 | $0.60 | $3.00 | $0.10 | - |
| Qwen3.7 Max | $2.50 | $7.50 | $0.50 | $3.125 |
| Qwen3.7 Plus | $0.40 | $1.60 | $0.04 | $0.50 |
| Qwen3.6 Plus | $0.50 | $3.00 | $0.05 | $0.625 |
@@ -146,12 +148,10 @@ https://opencode.ai/zen/v1/models
| Claude Opus 4.7 | $5.00 | $25.00 | $0.50 | $6.25 |
| Claude Opus 4.6 | $5.00 | $25.00 | $0.50 | $6.25 |
| Claude Opus 4.5 | $5.00 | $25.00 | $0.50 | $6.25 |
-| Claude Opus 4.1 | $15.00 | $75.00 | $1.50 | $18.75 |
+| Claude Sonnet 5 | $2.00 | $10.00 | $0.20 | $2.50 |
| Claude Sonnet 4.6 | $3.00 | $15.00 | $0.30 | $3.75 |
| Claude Sonnet 4.5 (≤ 200K tokens) | $3.00 | $15.00 | $0.30 | $3.75 |
| Claude Sonnet 4.5 (> 200K tokens) | $6.00 | $22.50 | $0.60 | $7.50 |
-| Claude Sonnet 4 (≤ 200K tokens) | $3.00 | $15.00 | $0.30 | $3.75 |
-| Claude Sonnet 4 (> 200K tokens) | $6.00 | $22.50 | $0.60 | $7.50 |
| Claude Haiku 4.5 | $1.00 | $5.00 | $0.10 | $1.25 |
| Gemini 3.5 Flash | $1.50 | $9.00 | $0.15 | - |
| Gemini 3.1 Pro (≤ 200K tokens) | $2.00 | $12.00 | $0.20 | - |
@@ -213,23 +213,26 @@ https://opencode.ai/zen/v1/models
### 非推奨モデル
-| Model | Deprecation date |
-| ------------------ | ---------------- |
-| GPT 5.2 Codex | July 23, 2026 |
-| GPT 5.1 Codex | July 23, 2026 |
-| GPT 5.1 Codex Max | July 23, 2026 |
-| GPT 5.1 Codex Mini | July 23, 2026 |
-| GPT 5 Codex | July 23, 2026 |
-| Claude Sonnet 4 | June 15, 2026 |
-| GLM 5 | May 14, 2026 |
-| MiniMax M2.1 | March 15, 2026 |
-| GLM 4.7 | March 15, 2026 |
-| GLM 4.6 | March 15, 2026 |
-| Gemini 3 Pro | March 9, 2026 |
-| Kimi K2 Thinking | March 6, 2026 |
-| Kimi K2 | March 6, 2026 |
-| Claude Haiku 3.5 | Feb 16, 2026 |
-| Qwen3 Coder 480B | Feb 6, 2026 |
+| Model | Deprecation date |
+| ------------------ | ----------------- |
+| GPT 5.2 Codex | July 23, 2026 |
+| GPT 5.1 Codex | July 23, 2026 |
+| GPT 5.1 Codex Max | July 23, 2026 |
+| GPT 5.1 Codex Mini | July 23, 2026 |
+| GPT 5 Codex | July 23, 2026 |
+| Claude Opus 4.1 | August 5, 2026 |
+| Claude Sonnet 4 | June 15, 2026 |
+| Claude Haiku 3.5 | February 16, 2026 |
+| Gemini 3 Pro | March 9, 2026 |
+| MiniMax M2.5 | August 5, 2026 |
+| MiniMax M2.1 | March 15, 2026 |
+| GLM 5 | May 14, 2026 |
+| GLM 4.7 | March 15, 2026 |
+| GLM 4.6 | March 15, 2026 |
+| Kimi K2.5 | August 5, 2026 |
+| Kimi K2 Thinking | March 6, 2026 |
+| Kimi K2 | March 6, 2026 |
+| Qwen3 Coder 480B | February 6, 2026 |
---
diff --git a/packages/web/src/content/docs/ko/zen.mdx b/packages/web/src/content/docs/ko/zen.mdx
index b21af94525..31b07f0a71 100644
--- a/packages/web/src/content/docs/ko/zen.mdx
+++ b/packages/web/src/content/docs/ko/zen.mdx
@@ -73,12 +73,10 @@ OpenCode Zen은 OpenCode의 다른 provider와 똑같이 작동합니다.
| Claude Opus 4.7 | claude-opus-4-7 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Opus 4.6 | claude-opus-4-6 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Opus 4.5 | claude-opus-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
-| Claude Opus 4.1 | claude-opus-4-1 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
+| Claude Sonnet 5 | claude-sonnet-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Sonnet 4.6 | claude-sonnet-4-6 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Sonnet 4.5 | claude-sonnet-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
-| Claude Sonnet 4 | claude-sonnet-4 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Haiku 4.5 | claude-haiku-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
-| Claude Haiku 3.5 | claude-3-5-haiku | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Gemini 3.5 Flash | gemini-3.5-flash | `https://opencode.ai/zen/v1/models/gemini-3.5-flash` | `@ai-sdk/google` |
| Gemini 3.1 Pro | gemini-3.1-pro | `https://opencode.ai/zen/v1/models/gemini-3.1-pro` | `@ai-sdk/google` |
| Gemini 3 Flash | gemini-3-flash | `https://opencode.ai/zen/v1/models/gemini-3-flash` | `@ai-sdk/google` |
@@ -88,6 +86,7 @@ OpenCode Zen은 OpenCode의 다른 provider와 똑같이 작동합니다.
| Qwen3.5 Plus | qwen3.5-plus | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| DeepSeek V4 Pro | deepseek-v4-pro | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| DeepSeek V4 Flash | deepseek-v4-flash | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
+| MiniMax M3 | minimax-m3 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| MiniMax M2.7 | minimax-m2.7 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| MiniMax M2.5 | minimax-m2.5 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| GLM 5.2 | glm-5.2 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
@@ -95,6 +94,7 @@ OpenCode Zen은 OpenCode의 다른 provider와 똑같이 작동합니다.
| GLM 5 | glm-5 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Kimi K2.5 | kimi-k2.5 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Kimi K2.6 | kimi-k2.6 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
+| Kimi K2.7 Code | kimi-k2.7-code | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Grok Build 0.1 | grok-build-0.1 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Big Pickle | big-pickle | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| MiMo-V2.5 Free | mimo-v2.5-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
@@ -127,13 +127,15 @@ https://opencode.ai/zen/v1/models
| MiMo-V2.5 Free | Free | Free | Free | - |
| North Mini Code Free | Free | Free | Free | - |
| Nemotron 3 Ultra Free | Free | Free | Free | - |
-| MiniMax M2.7 | $0.30 | $1.20 | $0.06 | $0.375 |
-| MiniMax M2.5 | $0.30 | $1.20 | $0.06 | $0.375 |
+| MiniMax M3 | $0.30 | $1.20 | $0.06 | - |
+| MiniMax M2.7 | $0.30 | $1.20 | $0.06 | - |
+| MiniMax M2.5 | $0.30 | $1.20 | $0.06 | - |
| GLM 5.2 | $1.40 | $4.40 | $0.26 | - |
| GLM 5.1 | $1.40 | $4.40 | $0.26 | - |
| GLM 5 | $1.00 | $3.20 | $0.20 | - |
-| Kimi K2.5 | $0.60 | $3.00 | $0.10 | - |
+| Kimi K2.7 Code | $0.95 | $4.00 | $0.19 | - |
| Kimi K2.6 | $0.95 | $4.00 | $0.16 | - |
+| Kimi K2.5 | $0.60 | $3.00 | $0.10 | - |
| Qwen3.7 Max | $2.50 | $7.50 | $0.50 | $3.125 |
| Qwen3.7 Plus | $0.40 | $1.60 | $0.04 | $0.50 |
| Qwen3.6 Plus | $0.50 | $3.00 | $0.05 | $0.625 |
@@ -146,12 +148,10 @@ https://opencode.ai/zen/v1/models
| Claude Opus 4.7 | $5.00 | $25.00 | $0.50 | $6.25 |
| Claude Opus 4.6 | $5.00 | $25.00 | $0.50 | $6.25 |
| Claude Opus 4.5 | $5.00 | $25.00 | $0.50 | $6.25 |
-| Claude Opus 4.1 | $15.00 | $75.00 | $1.50 | $18.75 |
+| Claude Sonnet 5 | $2.00 | $10.00 | $0.20 | $2.50 |
| Claude Sonnet 4.6 | $3.00 | $15.00 | $0.30 | $3.75 |
| Claude Sonnet 4.5 (≤ 200K tokens) | $3.00 | $15.00 | $0.30 | $3.75 |
| Claude Sonnet 4.5 (> 200K tokens) | $6.00 | $22.50 | $0.60 | $7.50 |
-| Claude Sonnet 4 (≤ 200K tokens) | $3.00 | $15.00 | $0.30 | $3.75 |
-| Claude Sonnet 4 (> 200K tokens) | $6.00 | $22.50 | $0.60 | $7.50 |
| Claude Haiku 4.5 | $1.00 | $5.00 | $0.10 | $1.25 |
| Gemini 3.5 Flash | $1.50 | $9.00 | $0.15 | - |
| Gemini 3.1 Pro (≤ 200K tokens) | $2.00 | $12.00 | $0.20 | - |
@@ -213,23 +213,26 @@ https://opencode.ai/zen/v1/models
### 지원 중단 모델
-| 모델 | 지원 중단 날짜 |
-| ------------------ | -------------- |
-| GPT 5.2 Codex | July 23, 2026 |
-| GPT 5.1 Codex | July 23, 2026 |
-| GPT 5.1 Codex Max | July 23, 2026 |
-| GPT 5.1 Codex Mini | July 23, 2026 |
-| GPT 5 Codex | July 23, 2026 |
-| Claude Sonnet 4 | June 15, 2026 |
-| GLM 5 | May 14, 2026 |
-| MiniMax M2.1 | March 15, 2026 |
-| GLM 4.7 | March 15, 2026 |
-| GLM 4.6 | March 15, 2026 |
-| Gemini 3 Pro | March 9, 2026 |
-| Kimi K2 Thinking | March 6, 2026 |
-| Kimi K2 | March 6, 2026 |
-| Claude Haiku 3.5 | Feb 16, 2026 |
-| Qwen3 Coder 480B | Feb 6, 2026 |
+| 모델 | 지원 중단 날짜 |
+| ------------------ | ----------------- |
+| GPT 5.2 Codex | July 23, 2026 |
+| GPT 5.1 Codex | July 23, 2026 |
+| GPT 5.1 Codex Max | July 23, 2026 |
+| GPT 5.1 Codex Mini | July 23, 2026 |
+| GPT 5 Codex | July 23, 2026 |
+| Claude Opus 4.1 | August 5, 2026 |
+| Claude Sonnet 4 | June 15, 2026 |
+| Claude Haiku 3.5 | February 16, 2026 |
+| Gemini 3 Pro | March 9, 2026 |
+| MiniMax M2.5 | August 5, 2026 |
+| MiniMax M2.1 | March 15, 2026 |
+| GLM 5 | May 14, 2026 |
+| GLM 4.7 | March 15, 2026 |
+| GLM 4.6 | March 15, 2026 |
+| Kimi K2.5 | August 5, 2026 |
+| Kimi K2 Thinking | March 6, 2026 |
+| Kimi K2 | March 6, 2026 |
+| Qwen3 Coder 480B | February 6, 2026 |
---
diff --git a/packages/web/src/content/docs/nb/zen.mdx b/packages/web/src/content/docs/nb/zen.mdx
index 6121817a47..b08ee2e5f1 100644
--- a/packages/web/src/content/docs/nb/zen.mdx
+++ b/packages/web/src/content/docs/nb/zen.mdx
@@ -82,12 +82,10 @@ Du kan også få tilgang til modellene våre gjennom følgende API-endepunkter.
| Claude Opus 4.7 | claude-opus-4-7 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Opus 4.6 | claude-opus-4-6 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Opus 4.5 | claude-opus-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
-| Claude Opus 4.1 | claude-opus-4-1 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
+| Claude Sonnet 5 | claude-sonnet-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Sonnet 4.6 | claude-sonnet-4-6 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Sonnet 4.5 | claude-sonnet-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
-| Claude Sonnet 4 | claude-sonnet-4 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Haiku 4.5 | claude-haiku-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
-| Claude Haiku 3.5 | claude-3-5-haiku | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Gemini 3.5 Flash | gemini-3.5-flash | `https://opencode.ai/zen/v1/models/gemini-3.5-flash` | `@ai-sdk/google` |
| Gemini 3.1 Pro | gemini-3.1-pro | `https://opencode.ai/zen/v1/models/gemini-3.1-pro` | `@ai-sdk/google` |
| Gemini 3 Flash | gemini-3-flash | `https://opencode.ai/zen/v1/models/gemini-3-flash` | `@ai-sdk/google` |
@@ -97,6 +95,7 @@ Du kan også få tilgang til modellene våre gjennom følgende API-endepunkter.
| Qwen3.5 Plus | qwen3.5-plus | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| DeepSeek V4 Pro | deepseek-v4-pro | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| DeepSeek V4 Flash | deepseek-v4-flash | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
+| MiniMax M3 | minimax-m3 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| MiniMax M2.7 | minimax-m2.7 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| MiniMax M2.5 | minimax-m2.5 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| GLM 5.2 | glm-5.2 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
@@ -104,6 +103,7 @@ Du kan også få tilgang til modellene våre gjennom følgende API-endepunkter.
| GLM 5 | glm-5 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Kimi K2.5 | kimi-k2.5 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Kimi K2.6 | kimi-k2.6 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
+| Kimi K2.7 Code | kimi-k2.7-code | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Grok Build 0.1 | grok-build-0.1 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Big Pickle | big-pickle | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| MiMo-V2.5 Free | mimo-v2.5-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
@@ -138,13 +138,15 @@ Vi støtter en pay-as-you-go-modell. Nedenfor er prisene **per 1M tokens**.
| MiMo-V2.5 Free | Free | Free | Free | - |
| North Mini Code Free | Free | Free | Free | - |
| Nemotron 3 Ultra Free | Free | Free | Free | - |
-| MiniMax M2.7 | $0.30 | $1.20 | $0.06 | $0.375 |
-| MiniMax M2.5 | $0.30 | $1.20 | $0.06 | $0.375 |
+| MiniMax M3 | $0.30 | $1.20 | $0.06 | - |
+| MiniMax M2.7 | $0.30 | $1.20 | $0.06 | - |
+| MiniMax M2.5 | $0.30 | $1.20 | $0.06 | - |
| GLM 5.2 | $1.40 | $4.40 | $0.26 | - |
| GLM 5.1 | $1.40 | $4.40 | $0.26 | - |
| GLM 5 | $1.00 | $3.20 | $0.20 | - |
-| Kimi K2.5 | $0.60 | $3.00 | $0.10 | - |
+| Kimi K2.7 Code | $0.95 | $4.00 | $0.19 | - |
| Kimi K2.6 | $0.95 | $4.00 | $0.16 | - |
+| Kimi K2.5 | $0.60 | $3.00 | $0.10 | - |
| Qwen3.7 Max | $2.50 | $7.50 | $0.50 | $3.125 |
| Qwen3.7 Plus | $0.40 | $1.60 | $0.04 | $0.50 |
| Qwen3.6 Plus | $0.50 | $3.00 | $0.05 | $0.625 |
@@ -157,12 +159,10 @@ Vi støtter en pay-as-you-go-modell. Nedenfor er prisene **per 1M tokens**.
| Claude Opus 4.7 | $5.00 | $25.00 | $0.50 | $6.25 |
| Claude Opus 4.6 | $5.00 | $25.00 | $0.50 | $6.25 |
| Claude Opus 4.5 | $5.00 | $25.00 | $0.50 | $6.25 |
-| Claude Opus 4.1 | $15.00 | $75.00 | $1.50 | $18.75 |
+| Claude Sonnet 5 | $2.00 | $10.00 | $0.20 | $2.50 |
| Claude Sonnet 4.6 | $3.00 | $15.00 | $0.30 | $3.75 |
| Claude Sonnet 4.5 (≤ 200K tokens) | $3.00 | $15.00 | $0.30 | $3.75 |
| Claude Sonnet 4.5 (> 200K tokens) | $6.00 | $22.50 | $0.60 | $7.50 |
-| Claude Sonnet 4 (≤ 200K tokens) | $3.00 | $15.00 | $0.30 | $3.75 |
-| Claude Sonnet 4 (> 200K tokens) | $6.00 | $22.50 | $0.60 | $7.50 |
| Claude Haiku 4.5 | $1.00 | $5.00 | $0.10 | $1.25 |
| Gemini 3.5 Flash | $1.50 | $9.00 | $0.15 | - |
| Gemini 3.1 Pro (≤ 200K tokens) | $2.00 | $12.00 | $0.20 | - |
@@ -227,23 +227,26 @@ med å belaste deg mer enn $20 hvis saldoen din går under $5.
### Utfasede modeller
-| Modell | Utfasingsdato |
-| ------------------ | -------------- |
-| GPT 5.2 Codex | July 23, 2026 |
-| GPT 5.1 Codex | July 23, 2026 |
-| GPT 5.1 Codex Max | July 23, 2026 |
-| GPT 5.1 Codex Mini | July 23, 2026 |
-| GPT 5 Codex | July 23, 2026 |
-| Claude Sonnet 4 | June 15, 2026 |
-| GLM 5 | May 14, 2026 |
-| MiniMax M2.1 | March 15, 2026 |
-| GLM 4.7 | March 15, 2026 |
-| GLM 4.6 | March 15, 2026 |
-| Gemini 3 Pro | March 9, 2026 |
-| Kimi K2 Thinking | March 6, 2026 |
-| Kimi K2 | March 6, 2026 |
-| Claude Haiku 3.5 | Feb 16, 2026 |
-| Qwen3 Coder 480B | Feb 6, 2026 |
+| Modell | Utfasingsdato |
+| ------------------ | ----------------- |
+| GPT 5.2 Codex | July 23, 2026 |
+| GPT 5.1 Codex | July 23, 2026 |
+| GPT 5.1 Codex Max | July 23, 2026 |
+| GPT 5.1 Codex Mini | July 23, 2026 |
+| GPT 5 Codex | July 23, 2026 |
+| Claude Opus 4.1 | August 5, 2026 |
+| Claude Sonnet 4 | June 15, 2026 |
+| Claude Haiku 3.5 | February 16, 2026 |
+| Gemini 3 Pro | March 9, 2026 |
+| MiniMax M2.5 | August 5, 2026 |
+| MiniMax M2.1 | March 15, 2026 |
+| GLM 5 | May 14, 2026 |
+| GLM 4.7 | March 15, 2026 |
+| GLM 4.6 | March 15, 2026 |
+| Kimi K2.5 | August 5, 2026 |
+| Kimi K2 Thinking | March 6, 2026 |
+| Kimi K2 | March 6, 2026 |
+| Qwen3 Coder 480B | February 6, 2026 |
---
diff --git a/packages/web/src/content/docs/pl/zen.mdx b/packages/web/src/content/docs/pl/zen.mdx
index 41b1b66341..14f77c843e 100644
--- a/packages/web/src/content/docs/pl/zen.mdx
+++ b/packages/web/src/content/docs/pl/zen.mdx
@@ -82,12 +82,10 @@ Możesz też uzyskać dostęp do naszych modeli przez poniższe endpointy API.
| Claude Opus 4.7 | claude-opus-4-7 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Opus 4.6 | claude-opus-4-6 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Opus 4.5 | claude-opus-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
-| Claude Opus 4.1 | claude-opus-4-1 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
+| Claude Sonnet 5 | claude-sonnet-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Sonnet 4.6 | claude-sonnet-4-6 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Sonnet 4.5 | claude-sonnet-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
-| Claude Sonnet 4 | claude-sonnet-4 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Haiku 4.5 | claude-haiku-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
-| Claude Haiku 3.5 | claude-3-5-haiku | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Gemini 3.5 Flash | gemini-3.5-flash | `https://opencode.ai/zen/v1/models/gemini-3.5-flash` | `@ai-sdk/google` |
| Gemini 3.1 Pro | gemini-3.1-pro | `https://opencode.ai/zen/v1/models/gemini-3.1-pro` | `@ai-sdk/google` |
| Gemini 3 Flash | gemini-3-flash | `https://opencode.ai/zen/v1/models/gemini-3-flash` | `@ai-sdk/google` |
@@ -97,6 +95,7 @@ Możesz też uzyskać dostęp do naszych modeli przez poniższe endpointy API.
| Qwen3.5 Plus | qwen3.5-plus | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| DeepSeek V4 Pro | deepseek-v4-pro | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| DeepSeek V4 Flash | deepseek-v4-flash | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
+| MiniMax M3 | minimax-m3 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| MiniMax M2.7 | minimax-m2.7 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| MiniMax M2.5 | minimax-m2.5 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| GLM 5.2 | glm-5.2 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
@@ -104,6 +103,7 @@ Możesz też uzyskać dostęp do naszych modeli przez poniższe endpointy API.
| GLM 5 | glm-5 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Kimi K2.5 | kimi-k2.5 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Kimi K2.6 | kimi-k2.6 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
+| Kimi K2.7 Code | kimi-k2.7-code | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Grok Build 0.1 | grok-build-0.1 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Big Pickle | big-pickle | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| MiMo-V2.5 Free | mimo-v2.5-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
@@ -138,13 +138,15 @@ Obsługujemy model pay-as-you-go. Poniżej znajdują się ceny **za 1M tokenów*
| MiMo-V2.5 Free | Free | Free | Free | - |
| North Mini Code Free | Free | Free | Free | - |
| Nemotron 3 Ultra Free | Free | Free | Free | - |
-| MiniMax M2.7 | $0.30 | $1.20 | $0.06 | $0.375 |
-| MiniMax M2.5 | $0.30 | $1.20 | $0.06 | $0.375 |
+| MiniMax M3 | $0.30 | $1.20 | $0.06 | - |
+| MiniMax M2.7 | $0.30 | $1.20 | $0.06 | - |
+| MiniMax M2.5 | $0.30 | $1.20 | $0.06 | - |
| GLM 5.2 | $1.40 | $4.40 | $0.26 | - |
| GLM 5.1 | $1.40 | $4.40 | $0.26 | - |
| GLM 5 | $1.00 | $3.20 | $0.20 | - |
-| Kimi K2.5 | $0.60 | $3.00 | $0.10 | - |
+| Kimi K2.7 Code | $0.95 | $4.00 | $0.19 | - |
| Kimi K2.6 | $0.95 | $4.00 | $0.16 | - |
+| Kimi K2.5 | $0.60 | $3.00 | $0.10 | - |
| Qwen3.7 Max | $2.50 | $7.50 | $0.50 | $3.125 |
| Qwen3.7 Plus | $0.40 | $1.60 | $0.04 | $0.50 |
| Qwen3.6 Plus | $0.50 | $3.00 | $0.05 | $0.625 |
@@ -157,12 +159,10 @@ Obsługujemy model pay-as-you-go. Poniżej znajdują się ceny **za 1M tokenów*
| Claude Opus 4.7 | $5.00 | $25.00 | $0.50 | $6.25 |
| Claude Opus 4.6 | $5.00 | $25.00 | $0.50 | $6.25 |
| Claude Opus 4.5 | $5.00 | $25.00 | $0.50 | $6.25 |
-| Claude Opus 4.1 | $15.00 | $75.00 | $1.50 | $18.75 |
+| Claude Sonnet 5 | $2.00 | $10.00 | $0.20 | $2.50 |
| Claude Sonnet 4.6 | $3.00 | $15.00 | $0.30 | $3.75 |
| Claude Sonnet 4.5 (≤ 200K tokens) | $3.00 | $15.00 | $0.30 | $3.75 |
| Claude Sonnet 4.5 (> 200K tokens) | $6.00 | $22.50 | $0.60 | $7.50 |
-| Claude Sonnet 4 (≤ 200K tokens) | $3.00 | $15.00 | $0.30 | $3.75 |
-| Claude Sonnet 4 (> 200K tokens) | $6.00 | $22.50 | $0.60 | $7.50 |
| Claude Haiku 4.5 | $1.00 | $5.00 | $0.10 | $1.25 |
| Gemini 3.5 Flash | $1.50 | $9.00 | $0.15 | - |
| Gemini 3.1 Pro (≤ 200K tokens) | $2.00 | $12.00 | $0.20 | - |
@@ -228,23 +228,26 @@ ostatecznie obciążyć Cię kwotą wyższą niż $20, jeśli Twoje saldo spadni
### Wycofane modele
-| Model | Data wycofania |
-| ------------------ | -------------- |
-| GPT 5.2 Codex | July 23, 2026 |
-| GPT 5.1 Codex | July 23, 2026 |
-| GPT 5.1 Codex Max | July 23, 2026 |
-| GPT 5.1 Codex Mini | July 23, 2026 |
-| GPT 5 Codex | July 23, 2026 |
-| Claude Sonnet 4 | June 15, 2026 |
-| GLM 5 | May 14, 2026 |
-| MiniMax M2.1 | March 15, 2026 |
-| GLM 4.7 | March 15, 2026 |
-| GLM 4.6 | March 15, 2026 |
-| Gemini 3 Pro | March 9, 2026 |
-| Kimi K2 Thinking | March 6, 2026 |
-| Kimi K2 | March 6, 2026 |
-| Claude Haiku 3.5 | Feb 16, 2026 |
-| Qwen3 Coder 480B | Feb 6, 2026 |
+| Model | Data wycofania |
+| ------------------ | ----------------- |
+| GPT 5.2 Codex | July 23, 2026 |
+| GPT 5.1 Codex | July 23, 2026 |
+| GPT 5.1 Codex Max | July 23, 2026 |
+| GPT 5.1 Codex Mini | July 23, 2026 |
+| GPT 5 Codex | July 23, 2026 |
+| Claude Opus 4.1 | August 5, 2026 |
+| Claude Sonnet 4 | June 15, 2026 |
+| Claude Haiku 3.5 | February 16, 2026 |
+| Gemini 3 Pro | March 9, 2026 |
+| MiniMax M2.5 | August 5, 2026 |
+| MiniMax M2.1 | March 15, 2026 |
+| GLM 5 | May 14, 2026 |
+| GLM 4.7 | March 15, 2026 |
+| GLM 4.6 | March 15, 2026 |
+| Kimi K2.5 | August 5, 2026 |
+| Kimi K2 Thinking | March 6, 2026 |
+| Kimi K2 | March 6, 2026 |
+| Qwen3 Coder 480B | February 6, 2026 |
---
diff --git a/packages/web/src/content/docs/pt-br/zen.mdx b/packages/web/src/content/docs/pt-br/zen.mdx
index 4672c1f41e..493b5eb322 100644
--- a/packages/web/src/content/docs/pt-br/zen.mdx
+++ b/packages/web/src/content/docs/pt-br/zen.mdx
@@ -73,12 +73,10 @@ Você também pode acessar nossos modelos pelos seguintes endpoints de API.
| Claude Opus 4.7 | claude-opus-4-7 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Opus 4.6 | claude-opus-4-6 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Opus 4.5 | claude-opus-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
-| Claude Opus 4.1 | claude-opus-4-1 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
+| Claude Sonnet 5 | claude-sonnet-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Sonnet 4.6 | claude-sonnet-4-6 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Sonnet 4.5 | claude-sonnet-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
-| Claude Sonnet 4 | claude-sonnet-4 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Haiku 4.5 | claude-haiku-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
-| Claude Haiku 3.5 | claude-3-5-haiku | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Gemini 3.5 Flash | gemini-3.5-flash | `https://opencode.ai/zen/v1/models/gemini-3.5-flash` | `@ai-sdk/google` |
| Gemini 3.1 Pro | gemini-3.1-pro | `https://opencode.ai/zen/v1/models/gemini-3.1-pro` | `@ai-sdk/google` |
| Gemini 3 Flash | gemini-3-flash | `https://opencode.ai/zen/v1/models/gemini-3-flash` | `@ai-sdk/google` |
@@ -88,6 +86,7 @@ Você também pode acessar nossos modelos pelos seguintes endpoints de API.
| Qwen3.5 Plus | qwen3.5-plus | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| DeepSeek V4 Pro | deepseek-v4-pro | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| DeepSeek V4 Flash | deepseek-v4-flash | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
+| MiniMax M3 | minimax-m3 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| MiniMax M2.7 | minimax-m2.7 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| MiniMax M2.5 | minimax-m2.5 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| GLM 5.2 | glm-5.2 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
@@ -95,6 +94,7 @@ Você também pode acessar nossos modelos pelos seguintes endpoints de API.
| GLM 5 | glm-5 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Kimi K2.5 | kimi-k2.5 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Kimi K2.6 | kimi-k2.6 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
+| Kimi K2.7 Code | kimi-k2.7-code | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Grok Build 0.1 | grok-build-0.1 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Big Pickle | big-pickle | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| MiMo-V2.5 Free | mimo-v2.5-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
@@ -127,13 +127,15 @@ Oferecemos um modelo pay-as-you-go. Abaixo estão os preços **por 1M tokens**.
| MiMo-V2.5 Free | Free | Free | Free | - |
| North Mini Code Free | Free | Free | Free | - |
| Nemotron 3 Ultra Free | Free | Free | Free | - |
-| MiniMax M2.7 | $0.30 | $1.20 | $0.06 | $0.375 |
-| MiniMax M2.5 | $0.30 | $1.20 | $0.06 | $0.375 |
+| MiniMax M3 | $0.30 | $1.20 | $0.06 | - |
+| MiniMax M2.7 | $0.30 | $1.20 | $0.06 | - |
+| MiniMax M2.5 | $0.30 | $1.20 | $0.06 | - |
| GLM 5.2 | $1.40 | $4.40 | $0.26 | - |
| GLM 5.1 | $1.40 | $4.40 | $0.26 | - |
| GLM 5 | $1.00 | $3.20 | $0.20 | - |
-| Kimi K2.5 | $0.60 | $3.00 | $0.10 | - |
+| Kimi K2.7 Code | $0.95 | $4.00 | $0.19 | - |
| Kimi K2.6 | $0.95 | $4.00 | $0.16 | - |
+| Kimi K2.5 | $0.60 | $3.00 | $0.10 | - |
| Qwen3.7 Max | $2.50 | $7.50 | $0.50 | $3.125 |
| Qwen3.7 Plus | $0.40 | $1.60 | $0.04 | $0.50 |
| Qwen3.6 Plus | $0.50 | $3.00 | $0.05 | $0.625 |
@@ -146,12 +148,10 @@ Oferecemos um modelo pay-as-you-go. Abaixo estão os preços **por 1M tokens**.
| Claude Opus 4.7 | $5.00 | $25.00 | $0.50 | $6.25 |
| Claude Opus 4.6 | $5.00 | $25.00 | $0.50 | $6.25 |
| Claude Opus 4.5 | $5.00 | $25.00 | $0.50 | $6.25 |
-| Claude Opus 4.1 | $15.00 | $75.00 | $1.50 | $18.75 |
+| Claude Sonnet 5 | $2.00 | $10.00 | $0.20 | $2.50 |
| Claude Sonnet 4.6 | $3.00 | $15.00 | $0.30 | $3.75 |
| Claude Sonnet 4.5 (≤ 200K tokens) | $3.00 | $15.00 | $0.30 | $3.75 |
| Claude Sonnet 4.5 (> 200K tokens) | $6.00 | $22.50 | $0.60 | $7.50 |
-| Claude Sonnet 4 (≤ 200K tokens) | $3.00 | $15.00 | $0.30 | $3.75 |
-| Claude Sonnet 4 (> 200K tokens) | $6.00 | $22.50 | $0.60 | $7.50 |
| Claude Haiku 4.5 | $1.00 | $5.00 | $0.10 | $1.25 |
| Gemini 3.5 Flash | $1.50 | $9.00 | $0.15 | - |
| Gemini 3.1 Pro (≤ 200K tokens) | $2.00 | $12.00 | $0.20 | - |
@@ -220,16 +220,19 @@ Por exemplo, digamos que você defina um limite mensal de uso de $20; o Zen não
| GPT 5.1 Codex Max | July 23, 2026 |
| GPT 5.1 Codex Mini | July 23, 2026 |
| GPT 5 Codex | July 23, 2026 |
+| Claude Opus 4.1 | August 5, 2026 |
| Claude Sonnet 4 | June 15, 2026 |
-| GLM 5 | May 14, 2026 |
+| Claude Haiku 3.5 | February 16, 2026 |
+| Gemini 3 Pro | March 9, 2026 |
+| MiniMax M2.5 | August 5, 2026 |
| MiniMax M2.1 | March 15, 2026 |
+| GLM 5 | May 14, 2026 |
| GLM 4.7 | March 15, 2026 |
| GLM 4.6 | March 15, 2026 |
-| Gemini 3 Pro | March 9, 2026 |
+| Kimi K2.5 | August 5, 2026 |
| Kimi K2 Thinking | March 6, 2026 |
| Kimi K2 | March 6, 2026 |
-| Claude Haiku 3.5 | Feb 16, 2026 |
-| Qwen3 Coder 480B | Feb 6, 2026 |
+| Qwen3 Coder 480B | February 6, 2026 |
---
diff --git a/packages/web/src/content/docs/ru/zen.mdx b/packages/web/src/content/docs/ru/zen.mdx
index bfd4d380e8..218d4c0295 100644
--- a/packages/web/src/content/docs/ru/zen.mdx
+++ b/packages/web/src/content/docs/ru/zen.mdx
@@ -82,12 +82,10 @@ OpenCode Zen работает как любой другой провайдер
| Claude Opus 4.7 | claude-opus-4-7 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Opus 4.6 | claude-opus-4-6 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Opus 4.5 | claude-opus-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
-| Claude Opus 4.1 | claude-opus-4-1 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
+| Claude Sonnet 5 | claude-sonnet-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Sonnet 4.6 | claude-sonnet-4-6 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Sonnet 4.5 | claude-sonnet-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
-| Claude Sonnet 4 | claude-sonnet-4 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Haiku 4.5 | claude-haiku-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
-| Claude Haiku 3.5 | claude-3-5-haiku | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Gemini 3.5 Flash | gemini-3.5-flash | `https://opencode.ai/zen/v1/models/gemini-3.5-flash` | `@ai-sdk/google` |
| Gemini 3.1 Pro | gemini-3.1-pro | `https://opencode.ai/zen/v1/models/gemini-3.1-pro` | `@ai-sdk/google` |
| Gemini 3 Flash | gemini-3-flash | `https://opencode.ai/zen/v1/models/gemini-3-flash` | `@ai-sdk/google` |
@@ -97,6 +95,7 @@ OpenCode Zen работает как любой другой провайдер
| Qwen3.5 Plus | qwen3.5-plus | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| DeepSeek V4 Pro | deepseek-v4-pro | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| DeepSeek V4 Flash | deepseek-v4-flash | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
+| MiniMax M3 | minimax-m3 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| MiniMax M2.7 | minimax-m2.7 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| MiniMax M2.5 | minimax-m2.5 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| GLM 5.2 | glm-5.2 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
@@ -104,6 +103,7 @@ OpenCode Zen работает как любой другой провайдер
| GLM 5 | glm-5 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Kimi K2.5 | kimi-k2.5 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Kimi K2.6 | kimi-k2.6 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
+| Kimi K2.7 Code | kimi-k2.7-code | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Grok Build 0.1 | grok-build-0.1 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Big Pickle | big-pickle | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| MiMo-V2.5 Free | mimo-v2.5-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
@@ -138,13 +138,15 @@ https://opencode.ai/zen/v1/models
| MiMo-V2.5 Free | Free | Free | Free | - |
| North Mini Code Free | Free | Free | Free | - |
| Nemotron 3 Ultra Free | Free | Free | Free | - |
-| MiniMax M2.7 | $0.30 | $1.20 | $0.06 | $0.375 |
-| MiniMax M2.5 | $0.30 | $1.20 | $0.06 | $0.375 |
+| MiniMax M3 | $0.30 | $1.20 | $0.06 | - |
+| MiniMax M2.7 | $0.30 | $1.20 | $0.06 | - |
+| MiniMax M2.5 | $0.30 | $1.20 | $0.06 | - |
| GLM 5.2 | $1.40 | $4.40 | $0.26 | - |
| GLM 5.1 | $1.40 | $4.40 | $0.26 | - |
| GLM 5 | $1.00 | $3.20 | $0.20 | - |
-| Kimi K2.5 | $0.60 | $3.00 | $0.10 | - |
+| Kimi K2.7 Code | $0.95 | $4.00 | $0.19 | - |
| Kimi K2.6 | $0.95 | $4.00 | $0.16 | - |
+| Kimi K2.5 | $0.60 | $3.00 | $0.10 | - |
| Qwen3.7 Max | $2.50 | $7.50 | $0.50 | $3.125 |
| Qwen3.7 Plus | $0.40 | $1.60 | $0.04 | $0.50 |
| Qwen3.6 Plus | $0.50 | $3.00 | $0.05 | $0.625 |
@@ -157,12 +159,10 @@ https://opencode.ai/zen/v1/models
| Claude Opus 4.7 | $5.00 | $25.00 | $0.50 | $6.25 |
| Claude Opus 4.6 | $5.00 | $25.00 | $0.50 | $6.25 |
| Claude Opus 4.5 | $5.00 | $25.00 | $0.50 | $6.25 |
-| Claude Opus 4.1 | $15.00 | $75.00 | $1.50 | $18.75 |
+| Claude Sonnet 5 | $2.00 | $10.00 | $0.20 | $2.50 |
| Claude Sonnet 4.6 | $3.00 | $15.00 | $0.30 | $3.75 |
| Claude Sonnet 4.5 (≤ 200K tokens) | $3.00 | $15.00 | $0.30 | $3.75 |
| Claude Sonnet 4.5 (> 200K tokens) | $6.00 | $22.50 | $0.60 | $7.50 |
-| Claude Sonnet 4 (≤ 200K tokens) | $3.00 | $15.00 | $0.30 | $3.75 |
-| Claude Sonnet 4 (> 200K tokens) | $6.00 | $22.50 | $0.60 | $7.50 |
| Claude Haiku 4.5 | $1.00 | $5.00 | $0.10 | $1.25 |
| Gemini 3.5 Flash | $1.50 | $9.00 | $0.15 | - |
| Gemini 3.1 Pro (≤ 200K tokens) | $2.00 | $12.00 | $0.20 | - |
@@ -227,23 +227,26 @@ https://opencode.ai/zen/v1/models
### Устаревшие модели
-| Модель | Дата устаревания |
-| ------------------ | ---------------- |
-| GPT 5.2 Codex | July 23, 2026 |
-| GPT 5.1 Codex | July 23, 2026 |
-| GPT 5.1 Codex Max | July 23, 2026 |
-| GPT 5.1 Codex Mini | July 23, 2026 |
-| GPT 5 Codex | July 23, 2026 |
-| Claude Sonnet 4 | June 15, 2026 |
-| GLM 5 | May 14, 2026 |
-| MiniMax M2.1 | March 15, 2026 |
-| GLM 4.7 | March 15, 2026 |
-| GLM 4.6 | March 15, 2026 |
-| Gemini 3 Pro | March 9, 2026 |
-| Kimi K2 Thinking | March 6, 2026 |
-| Kimi K2 | March 6, 2026 |
-| Claude Haiku 3.5 | Feb 16, 2026 |
-| Qwen3 Coder 480B | Feb 6, 2026 |
+| Модель | Дата устаревания |
+| ------------------ | ----------------- |
+| GPT 5.2 Codex | July 23, 2026 |
+| GPT 5.1 Codex | July 23, 2026 |
+| GPT 5.1 Codex Max | July 23, 2026 |
+| GPT 5.1 Codex Mini | July 23, 2026 |
+| GPT 5 Codex | July 23, 2026 |
+| Claude Opus 4.1 | August 5, 2026 |
+| Claude Sonnet 4 | June 15, 2026 |
+| Claude Haiku 3.5 | February 16, 2026 |
+| Gemini 3 Pro | March 9, 2026 |
+| MiniMax M2.5 | August 5, 2026 |
+| MiniMax M2.1 | March 15, 2026 |
+| GLM 5 | May 14, 2026 |
+| GLM 4.7 | March 15, 2026 |
+| GLM 4.6 | March 15, 2026 |
+| Kimi K2.5 | August 5, 2026 |
+| Kimi K2 Thinking | March 6, 2026 |
+| Kimi K2 | March 6, 2026 |
+| Qwen3 Coder 480B | February 6, 2026 |
---
diff --git a/packages/web/src/content/docs/th/zen.mdx b/packages/web/src/content/docs/th/zen.mdx
index d4f679b9e9..4f2c3aebd4 100644
--- a/packages/web/src/content/docs/th/zen.mdx
+++ b/packages/web/src/content/docs/th/zen.mdx
@@ -75,12 +75,10 @@ OpenCode Zen ทำงานเหมือน provider อื่น ๆ ใน
| Claude Opus 4.7 | claude-opus-4-7 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Opus 4.6 | claude-opus-4-6 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Opus 4.5 | claude-opus-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
-| Claude Opus 4.1 | claude-opus-4-1 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
+| Claude Sonnet 5 | claude-sonnet-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Sonnet 4.6 | claude-sonnet-4-6 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Sonnet 4.5 | claude-sonnet-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
-| Claude Sonnet 4 | claude-sonnet-4 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Haiku 4.5 | claude-haiku-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
-| Claude Haiku 3.5 | claude-3-5-haiku | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Gemini 3.5 Flash | gemini-3.5-flash | `https://opencode.ai/zen/v1/models/gemini-3.5-flash` | `@ai-sdk/google` |
| Gemini 3.1 Pro | gemini-3.1-pro | `https://opencode.ai/zen/v1/models/gemini-3.1-pro` | `@ai-sdk/google` |
| Gemini 3 Flash | gemini-3-flash | `https://opencode.ai/zen/v1/models/gemini-3-flash` | `@ai-sdk/google` |
@@ -90,6 +88,7 @@ OpenCode Zen ทำงานเหมือน provider อื่น ๆ ใน
| Qwen3.5 Plus | qwen3.5-plus | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| DeepSeek V4 Pro | deepseek-v4-pro | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| DeepSeek V4 Flash | deepseek-v4-flash | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
+| MiniMax M3 | minimax-m3 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| MiniMax M2.7 | minimax-m2.7 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| MiniMax M2.5 | minimax-m2.5 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| GLM 5.2 | glm-5.2 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
@@ -97,6 +96,7 @@ OpenCode Zen ทำงานเหมือน provider อื่น ๆ ใน
| GLM 5 | glm-5 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Kimi K2.5 | kimi-k2.5 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Kimi K2.6 | kimi-k2.6 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
+| Kimi K2.7 Code | kimi-k2.7-code | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Grok Build 0.1 | grok-build-0.1 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Big Pickle | big-pickle | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| MiMo-V2.5 Free | mimo-v2.5-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
@@ -129,13 +129,15 @@ https://opencode.ai/zen/v1/models
| MiMo-V2.5 Free | Free | Free | Free | - |
| North Mini Code Free | Free | Free | Free | - |
| Nemotron 3 Ultra Free | Free | Free | Free | - |
-| MiniMax M2.7 | $0.30 | $1.20 | $0.06 | $0.375 |
-| MiniMax M2.5 | $0.30 | $1.20 | $0.06 | $0.375 |
+| MiniMax M3 | $0.30 | $1.20 | $0.06 | - |
+| MiniMax M2.7 | $0.30 | $1.20 | $0.06 | - |
+| MiniMax M2.5 | $0.30 | $1.20 | $0.06 | - |
| GLM 5.2 | $1.40 | $4.40 | $0.26 | - |
| GLM 5.1 | $1.40 | $4.40 | $0.26 | - |
| GLM 5 | $1.00 | $3.20 | $0.20 | - |
-| Kimi K2.5 | $0.60 | $3.00 | $0.10 | - |
+| Kimi K2.7 Code | $0.95 | $4.00 | $0.19 | - |
| Kimi K2.6 | $0.95 | $4.00 | $0.16 | - |
+| Kimi K2.5 | $0.60 | $3.00 | $0.10 | - |
| Qwen3.7 Max | $2.50 | $7.50 | $0.50 | $3.125 |
| Qwen3.7 Plus | $0.40 | $1.60 | $0.04 | $0.50 |
| Qwen3.6 Plus | $0.50 | $3.00 | $0.05 | $0.625 |
@@ -148,12 +150,10 @@ https://opencode.ai/zen/v1/models
| Claude Opus 4.7 | $5.00 | $25.00 | $0.50 | $6.25 |
| Claude Opus 4.6 | $5.00 | $25.00 | $0.50 | $6.25 |
| Claude Opus 4.5 | $5.00 | $25.00 | $0.50 | $6.25 |
-| Claude Opus 4.1 | $15.00 | $75.00 | $1.50 | $18.75 |
+| Claude Sonnet 5 | $2.00 | $10.00 | $0.20 | $2.50 |
| Claude Sonnet 4.6 | $3.00 | $15.00 | $0.30 | $3.75 |
| Claude Sonnet 4.5 (≤ 200K tokens) | $3.00 | $15.00 | $0.30 | $3.75 |
| Claude Sonnet 4.5 (> 200K tokens) | $6.00 | $22.50 | $0.60 | $7.50 |
-| Claude Sonnet 4 (≤ 200K tokens) | $3.00 | $15.00 | $0.30 | $3.75 |
-| Claude Sonnet 4 (> 200K tokens) | $6.00 | $22.50 | $0.60 | $7.50 |
| Claude Haiku 4.5 | $1.00 | $5.00 | $0.10 | $1.25 |
| Gemini 3.5 Flash | $1.50 | $9.00 | $0.15 | - |
| Gemini 3.1 Pro (≤ 200K tokens) | $2.00 | $12.00 | $0.20 | - |
@@ -215,23 +215,26 @@ https://opencode.ai/zen/v1/models
### โมเดลที่ถูกยกเลิก
-| Model | Deprecation date |
-| ------------------ | ---------------- |
-| GPT 5.2 Codex | July 23, 2026 |
-| GPT 5.1 Codex | July 23, 2026 |
-| GPT 5.1 Codex Max | July 23, 2026 |
-| GPT 5.1 Codex Mini | July 23, 2026 |
-| GPT 5 Codex | July 23, 2026 |
-| Claude Sonnet 4 | June 15, 2026 |
-| GLM 5 | May 14, 2026 |
-| MiniMax M2.1 | March 15, 2026 |
-| GLM 4.7 | March 15, 2026 |
-| GLM 4.6 | March 15, 2026 |
-| Gemini 3 Pro | March 9, 2026 |
-| Kimi K2 Thinking | March 6, 2026 |
-| Kimi K2 | March 6, 2026 |
-| Claude Haiku 3.5 | Feb 16, 2026 |
-| Qwen3 Coder 480B | Feb 6, 2026 |
+| Model | Deprecation date |
+| ------------------ | ----------------- |
+| GPT 5.2 Codex | July 23, 2026 |
+| GPT 5.1 Codex | July 23, 2026 |
+| GPT 5.1 Codex Max | July 23, 2026 |
+| GPT 5.1 Codex Mini | July 23, 2026 |
+| GPT 5 Codex | July 23, 2026 |
+| Claude Opus 4.1 | August 5, 2026 |
+| Claude Sonnet 4 | June 15, 2026 |
+| Claude Haiku 3.5 | February 16, 2026 |
+| Gemini 3 Pro | March 9, 2026 |
+| MiniMax M2.5 | August 5, 2026 |
+| MiniMax M2.1 | March 15, 2026 |
+| GLM 5 | May 14, 2026 |
+| GLM 4.7 | March 15, 2026 |
+| GLM 4.6 | March 15, 2026 |
+| Kimi K2.5 | August 5, 2026 |
+| Kimi K2 Thinking | March 6, 2026 |
+| Kimi K2 | March 6, 2026 |
+| Qwen3 Coder 480B | February 6, 2026 |
---
diff --git a/packages/web/src/content/docs/tr/zen.mdx b/packages/web/src/content/docs/tr/zen.mdx
index b9529f2012..8655d23412 100644
--- a/packages/web/src/content/docs/tr/zen.mdx
+++ b/packages/web/src/content/docs/tr/zen.mdx
@@ -73,12 +73,10 @@ Modellerimize aşağıdaki API uç noktaları aracılığıyla da erişebilirsin
| Claude Opus 4.7 | claude-opus-4-7 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Opus 4.6 | claude-opus-4-6 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Opus 4.5 | claude-opus-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
-| Claude Opus 4.1 | claude-opus-4-1 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
+| Claude Sonnet 5 | claude-sonnet-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Sonnet 4.6 | claude-sonnet-4-6 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Sonnet 4.5 | claude-sonnet-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
-| Claude Sonnet 4 | claude-sonnet-4 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Haiku 4.5 | claude-haiku-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
-| Claude Haiku 3.5 | claude-3-5-haiku | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Gemini 3.5 Flash | gemini-3.5-flash | `https://opencode.ai/zen/v1/models/gemini-3.5-flash` | `@ai-sdk/google` |
| Gemini 3.1 Pro | gemini-3.1-pro | `https://opencode.ai/zen/v1/models/gemini-3.1-pro` | `@ai-sdk/google` |
| Gemini 3 Flash | gemini-3-flash | `https://opencode.ai/zen/v1/models/gemini-3-flash` | `@ai-sdk/google` |
@@ -88,6 +86,7 @@ Modellerimize aşağıdaki API uç noktaları aracılığıyla da erişebilirsin
| Qwen3.5 Plus | qwen3.5-plus | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| DeepSeek V4 Pro | deepseek-v4-pro | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| DeepSeek V4 Flash | deepseek-v4-flash | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
+| MiniMax M3 | minimax-m3 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| MiniMax M2.7 | minimax-m2.7 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| MiniMax M2.5 | minimax-m2.5 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| GLM 5.2 | glm-5.2 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
@@ -95,6 +94,7 @@ Modellerimize aşağıdaki API uç noktaları aracılığıyla da erişebilirsin
| GLM 5 | glm-5 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Kimi K2.5 | kimi-k2.5 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Kimi K2.6 | kimi-k2.6 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
+| Kimi K2.7 Code | kimi-k2.7-code | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Grok Build 0.1 | grok-build-0.1 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Big Pickle | big-pickle | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| MiMo-V2.5 Free | mimo-v2.5-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
@@ -127,13 +127,15 @@ Kullandıkça öde modelini destekliyoruz. Aşağıda **1M token başına** fiya
| MiMo-V2.5 Free | Free | Free | Free | - |
| North Mini Code Free | Free | Free | Free | - |
| Nemotron 3 Ultra Free | Free | Free | Free | - |
-| MiniMax M2.7 | $0.30 | $1.20 | $0.06 | $0.375 |
-| MiniMax M2.5 | $0.30 | $1.20 | $0.06 | $0.375 |
+| MiniMax M3 | $0.30 | $1.20 | $0.06 | - |
+| MiniMax M2.7 | $0.30 | $1.20 | $0.06 | - |
+| MiniMax M2.5 | $0.30 | $1.20 | $0.06 | - |
| GLM 5.2 | $1.40 | $4.40 | $0.26 | - |
| GLM 5.1 | $1.40 | $4.40 | $0.26 | - |
| GLM 5 | $1.00 | $3.20 | $0.20 | - |
-| Kimi K2.5 | $0.60 | $3.00 | $0.10 | - |
+| Kimi K2.7 Code | $0.95 | $4.00 | $0.19 | - |
| Kimi K2.6 | $0.95 | $4.00 | $0.16 | - |
+| Kimi K2.5 | $0.60 | $3.00 | $0.10 | - |
| Qwen3.7 Max | $2.50 | $7.50 | $0.50 | $3.125 |
| Qwen3.7 Plus | $0.40 | $1.60 | $0.04 | $0.50 |
| Qwen3.6 Plus | $0.50 | $3.00 | $0.05 | $0.625 |
@@ -146,12 +148,10 @@ Kullandıkça öde modelini destekliyoruz. Aşağıda **1M token başına** fiya
| Claude Opus 4.7 | $5.00 | $25.00 | $0.50 | $6.25 |
| Claude Opus 4.6 | $5.00 | $25.00 | $0.50 | $6.25 |
| Claude Opus 4.5 | $5.00 | $25.00 | $0.50 | $6.25 |
-| Claude Opus 4.1 | $15.00 | $75.00 | $1.50 | $18.75 |
+| Claude Sonnet 5 | $2.00 | $10.00 | $0.20 | $2.50 |
| Claude Sonnet 4.6 | $3.00 | $15.00 | $0.30 | $3.75 |
| Claude Sonnet 4.5 (≤ 200K tokens) | $3.00 | $15.00 | $0.30 | $3.75 |
| Claude Sonnet 4.5 (> 200K tokens) | $6.00 | $22.50 | $0.60 | $7.50 |
-| Claude Sonnet 4 (≤ 200K tokens) | $3.00 | $15.00 | $0.30 | $3.75 |
-| Claude Sonnet 4 (> 200K tokens) | $6.00 | $22.50 | $0.60 | $7.50 |
| Claude Haiku 4.5 | $1.00 | $5.00 | $0.10 | $1.25 |
| Gemini 3.5 Flash | $1.50 | $9.00 | $0.15 | - |
| Gemini 3.1 Pro (≤ 200K tokens) | $2.00 | $12.00 | $0.20 | - |
@@ -220,16 +220,19 @@ Ayrıca tüm çalışma alanı için ve ekibinizdeki her üye için aylık kulla
| GPT 5.1 Codex Max | July 23, 2026 |
| GPT 5.1 Codex Mini | July 23, 2026 |
| GPT 5 Codex | July 23, 2026 |
+| Claude Opus 4.1 | August 5, 2026 |
| Claude Sonnet 4 | June 15, 2026 |
-| GLM 5 | May 14, 2026 |
+| Claude Haiku 3.5 | February 16, 2026 |
+| Gemini 3 Pro | March 9, 2026 |
+| MiniMax M2.5 | August 5, 2026 |
| MiniMax M2.1 | March 15, 2026 |
+| GLM 5 | May 14, 2026 |
| GLM 4.7 | March 15, 2026 |
| GLM 4.6 | March 15, 2026 |
-| Gemini 3 Pro | March 9, 2026 |
+| Kimi K2.5 | August 5, 2026 |
| Kimi K2 Thinking | March 6, 2026 |
| Kimi K2 | March 6, 2026 |
-| Claude Haiku 3.5 | Feb 16, 2026 |
-| Qwen3 Coder 480B | Feb 6, 2026 |
+| Qwen3 Coder 480B | February 6, 2026 |
---
diff --git a/packages/web/src/content/docs/zen.mdx b/packages/web/src/content/docs/zen.mdx
index 1f9be8ce92..49ca11afe3 100644
--- a/packages/web/src/content/docs/zen.mdx
+++ b/packages/web/src/content/docs/zen.mdx
@@ -82,12 +82,10 @@ You can also access our models through the following API endpoints.
| Claude Opus 4.7 | claude-opus-4-7 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Opus 4.6 | claude-opus-4-6 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Opus 4.5 | claude-opus-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
-| Claude Opus 4.1 | claude-opus-4-1 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
+| Claude Sonnet 5 | claude-sonnet-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Sonnet 4.6 | claude-sonnet-4-6 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Sonnet 4.5 | claude-sonnet-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
-| Claude Sonnet 4 | claude-sonnet-4 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Haiku 4.5 | claude-haiku-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
-| Claude Haiku 3.5 | claude-3-5-haiku | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Gemini 3.5 Flash | gemini-3.5-flash | `https://opencode.ai/zen/v1/models/gemini-3.5-flash` | `@ai-sdk/google` |
| Gemini 3.1 Pro | gemini-3.1-pro | `https://opencode.ai/zen/v1/models/gemini-3.1-pro` | `@ai-sdk/google` |
| Gemini 3 Flash | gemini-3-flash | `https://opencode.ai/zen/v1/models/gemini-3-flash` | `@ai-sdk/google` |
@@ -97,6 +95,7 @@ You can also access our models through the following API endpoints.
| Qwen3.5 Plus | qwen3.5-plus | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| DeepSeek V4 Pro | deepseek-v4-pro | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| DeepSeek V4 Flash | deepseek-v4-flash | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
+| MiniMax M3 | minimax-m3 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| MiniMax M2.7 | minimax-m2.7 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| MiniMax M2.5 | minimax-m2.5 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| GLM 5.2 | glm-5.2 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
@@ -104,6 +103,7 @@ You can also access our models through the following API endpoints.
| GLM 5 | glm-5 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Kimi K2.5 | kimi-k2.5 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Kimi K2.6 | kimi-k2.6 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
+| Kimi K2.7 Code | kimi-k2.7-code | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Grok Build 0.1 | grok-build-0.1 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Big Pickle | big-pickle | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| MiMo-V2.5 Free | mimo-v2.5-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
@@ -138,13 +138,15 @@ We support a pay-as-you-go model. Below are the prices **per 1M tokens**.
| MiMo-V2.5 Free | Free | Free | Free | - |
| North Mini Code Free | Free | Free | Free | - |
| Nemotron 3 Ultra Free | Free | Free | Free | - |
-| MiniMax M2.7 | $0.30 | $1.20 | $0.06 | $0.375 |
-| MiniMax M2.5 | $0.30 | $1.20 | $0.06 | $0.375 |
+| MiniMax M3 | $0.30 | $1.20 | $0.06 | - |
+| MiniMax M2.7 | $0.30 | $1.20 | $0.06 | - |
+| MiniMax M2.5 | $0.30 | $1.20 | $0.06 | - |
| GLM 5.2 | $1.40 | $4.40 | $0.26 | - |
| GLM 5.1 | $1.40 | $4.40 | $0.26 | - |
| GLM 5 | $1.00 | $3.20 | $0.20 | - |
-| Kimi K2.5 | $0.60 | $3.00 | $0.10 | - |
+| Kimi K2.7 Code | $0.95 | $4.00 | $0.19 | - |
| Kimi K2.6 | $0.95 | $4.00 | $0.16 | - |
+| Kimi K2.5 | $0.60 | $3.00 | $0.10 | - |
| Qwen3.7 Max | $2.50 | $7.50 | $0.50 | $3.125 |
| Qwen3.7 Plus | $0.40 | $1.60 | $0.04 | $0.50 |
| Qwen3.6 Plus | $0.50 | $3.00 | $0.05 | $0.625 |
@@ -157,12 +159,10 @@ We support a pay-as-you-go model. Below are the prices **per 1M tokens**.
| Claude Opus 4.7 | $5.00 | $25.00 | $0.50 | $6.25 |
| Claude Opus 4.6 | $5.00 | $25.00 | $0.50 | $6.25 |
| Claude Opus 4.5 | $5.00 | $25.00 | $0.50 | $6.25 |
-| Claude Opus 4.1 | $15.00 | $75.00 | $1.50 | $18.75 |
+| Claude Sonnet 5 | $2.00 | $10.00 | $0.20 | $2.50 |
| Claude Sonnet 4.6 | $3.00 | $15.00 | $0.30 | $3.75 |
| Claude Sonnet 4.5 (≤ 200K tokens) | $3.00 | $15.00 | $0.30 | $3.75 |
| Claude Sonnet 4.5 (> 200K tokens) | $6.00 | $22.50 | $0.60 | $7.50 |
-| Claude Sonnet 4 (≤ 200K tokens) | $3.00 | $15.00 | $0.30 | $3.75 |
-| Claude Sonnet 4 (> 200K tokens) | $6.00 | $22.50 | $0.60 | $7.50 |
| Claude Haiku 4.5 | $1.00 | $5.00 | $0.10 | $1.25 |
| Gemini 3.5 Flash | $1.50 | $9.00 | $0.15 | - |
| Gemini 3.1 Pro (≤ 200K tokens) | $2.00 | $12.00 | $0.20 | - |
@@ -227,23 +227,26 @@ charging you more than $20 if your balance goes below $5.
### Deprecated models
-| Model | Deprecation date |
-| ------------------ | ---------------- |
-| GPT 5.2 Codex | July 23, 2026 |
-| GPT 5.1 Codex | July 23, 2026 |
-| GPT 5.1 Codex Max | July 23, 2026 |
-| GPT 5.1 Codex Mini | July 23, 2026 |
-| GPT 5 Codex | July 23, 2026 |
-| Claude Sonnet 4 | June 15, 2026 |
-| GLM 5 | May 14, 2026 |
-| MiniMax M2.1 | March 15, 2026 |
-| GLM 4.7 | March 15, 2026 |
-| GLM 4.6 | March 15, 2026 |
-| Gemini 3 Pro | March 9, 2026 |
-| Kimi K2 Thinking | March 6, 2026 |
-| Kimi K2 | March 6, 2026 |
-| Claude Haiku 3.5 | Feb 16, 2026 |
-| Qwen3 Coder 480B | Feb 6, 2026 |
+| Model | Deprecation date |
+| ------------------ | ----------------- |
+| GPT 5.2 Codex | July 23, 2026 |
+| GPT 5.1 Codex | July 23, 2026 |
+| GPT 5.1 Codex Max | July 23, 2026 |
+| GPT 5.1 Codex Mini | July 23, 2026 |
+| GPT 5 Codex | July 23, 2026 |
+| Claude Opus 4.1 | August 5, 2026 |
+| Claude Sonnet 4 | June 15, 2026 |
+| Claude Haiku 3.5 | February 16, 2026 |
+| Gemini 3 Pro | March 9, 2026 |
+| MiniMax M2.5 | August 5, 2026 |
+| MiniMax M2.1 | March 15, 2026 |
+| GLM 5 | May 14, 2026 |
+| GLM 4.7 | March 15, 2026 |
+| GLM 4.6 | March 15, 2026 |
+| Kimi K2.5 | August 5, 2026 |
+| Kimi K2 Thinking | March 6, 2026 |
+| Kimi K2 | March 6, 2026 |
+| Qwen3 Coder 480B | February 6, 2026 |
---
diff --git a/packages/web/src/content/docs/zh-cn/zen.mdx b/packages/web/src/content/docs/zh-cn/zen.mdx
index c8f67de852..55a55308df 100644
--- a/packages/web/src/content/docs/zh-cn/zen.mdx
+++ b/packages/web/src/content/docs/zh-cn/zen.mdx
@@ -73,12 +73,10 @@ OpenCode Zen 的工作方式与 OpenCode 中的任何其他提供商相同。
| Claude Opus 4.7 | claude-opus-4-7 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Opus 4.6 | claude-opus-4-6 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Opus 4.5 | claude-opus-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
-| Claude Opus 4.1 | claude-opus-4-1 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
+| Claude Sonnet 5 | claude-sonnet-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Sonnet 4.6 | claude-sonnet-4-6 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Sonnet 4.5 | claude-sonnet-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
-| Claude Sonnet 4 | claude-sonnet-4 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Haiku 4.5 | claude-haiku-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
-| Claude Haiku 3.5 | claude-3-5-haiku | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Gemini 3.5 Flash | gemini-3.5-flash | `https://opencode.ai/zen/v1/models/gemini-3.5-flash` | `@ai-sdk/google` |
| Gemini 3.1 Pro | gemini-3.1-pro | `https://opencode.ai/zen/v1/models/gemini-3.1-pro` | `@ai-sdk/google` |
| Gemini 3 Flash | gemini-3-flash | `https://opencode.ai/zen/v1/models/gemini-3-flash` | `@ai-sdk/google` |
@@ -88,6 +86,7 @@ OpenCode Zen 的工作方式与 OpenCode 中的任何其他提供商相同。
| Qwen3.5 Plus | qwen3.5-plus | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| DeepSeek V4 Pro | deepseek-v4-pro | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| DeepSeek V4 Flash | deepseek-v4-flash | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
+| MiniMax M3 | minimax-m3 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| MiniMax M2.7 | minimax-m2.7 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| MiniMax M2.5 | minimax-m2.5 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| GLM 5.2 | glm-5.2 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
@@ -95,6 +94,7 @@ OpenCode Zen 的工作方式与 OpenCode 中的任何其他提供商相同。
| GLM 5 | glm-5 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Kimi K2.5 | kimi-k2.5 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Kimi K2.6 | kimi-k2.6 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
+| Kimi K2.7 Code | kimi-k2.7-code | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Grok Build 0.1 | grok-build-0.1 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Big Pickle | big-pickle | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| MiMo-V2.5 Free | mimo-v2.5-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
@@ -127,13 +127,15 @@ https://opencode.ai/zen/v1/models
| MiMo-V2.5 Free | Free | Free | Free | - |
| North Mini Code Free | Free | Free | Free | - |
| Nemotron 3 Ultra Free | Free | Free | Free | - |
-| MiniMax M2.7 | $0.30 | $1.20 | $0.06 | $0.375 |
-| MiniMax M2.5 | $0.30 | $1.20 | $0.06 | $0.375 |
+| MiniMax M3 | $0.30 | $1.20 | $0.06 | - |
+| MiniMax M2.7 | $0.30 | $1.20 | $0.06 | - |
+| MiniMax M2.5 | $0.30 | $1.20 | $0.06 | - |
| GLM 5.2 | $1.40 | $4.40 | $0.26 | - |
| GLM 5.1 | $1.40 | $4.40 | $0.26 | - |
| GLM 5 | $1.00 | $3.20 | $0.20 | - |
-| Kimi K2.5 | $0.60 | $3.00 | $0.10 | - |
+| Kimi K2.7 Code | $0.95 | $4.00 | $0.19 | - |
| Kimi K2.6 | $0.95 | $4.00 | $0.16 | - |
+| Kimi K2.5 | $0.60 | $3.00 | $0.10 | - |
| Qwen3.7 Max | $2.50 | $7.50 | $0.50 | $3.125 |
| Qwen3.7 Plus | $0.40 | $1.60 | $0.04 | $0.50 |
| Qwen3.6 Plus | $0.50 | $3.00 | $0.05 | $0.625 |
@@ -146,12 +148,10 @@ https://opencode.ai/zen/v1/models
| Claude Opus 4.7 | $5.00 | $25.00 | $0.50 | $6.25 |
| Claude Opus 4.6 | $5.00 | $25.00 | $0.50 | $6.25 |
| Claude Opus 4.5 | $5.00 | $25.00 | $0.50 | $6.25 |
-| Claude Opus 4.1 | $15.00 | $75.00 | $1.50 | $18.75 |
+| Claude Sonnet 5 | $2.00 | $10.00 | $0.20 | $2.50 |
| Claude Sonnet 4.6 | $3.00 | $15.00 | $0.30 | $3.75 |
| Claude Sonnet 4.5 (≤ 200K tokens) | $3.00 | $15.00 | $0.30 | $3.75 |
| Claude Sonnet 4.5 (> 200K tokens) | $6.00 | $22.50 | $0.60 | $7.50 |
-| Claude Sonnet 4 (≤ 200K tokens) | $3.00 | $15.00 | $0.30 | $3.75 |
-| Claude Sonnet 4 (> 200K tokens) | $6.00 | $22.50 | $0.60 | $7.50 |
| Claude Haiku 4.5 | $1.00 | $5.00 | $0.10 | $1.25 |
| Gemini 3.5 Flash | $1.50 | $9.00 | $0.15 | - |
| Gemini 3.1 Pro (≤ 200K tokens) | $2.00 | $12.00 | $0.20 | - |
@@ -213,23 +213,26 @@ https://opencode.ai/zen/v1/models
### 已弃用模型
-| 模型 | 弃用日期 |
-| ------------------ | -------------- |
-| GPT 5.2 Codex | July 23, 2026 |
-| GPT 5.1 Codex | July 23, 2026 |
-| GPT 5.1 Codex Max | July 23, 2026 |
-| GPT 5.1 Codex Mini | July 23, 2026 |
-| GPT 5 Codex | July 23, 2026 |
-| Claude Sonnet 4 | June 15, 2026 |
-| GLM 5 | May 14, 2026 |
-| MiniMax M2.1 | March 15, 2026 |
-| GLM 4.7 | March 15, 2026 |
-| GLM 4.6 | March 15, 2026 |
-| Gemini 3 Pro | March 9, 2026 |
-| Kimi K2 Thinking | March 6, 2026 |
-| Kimi K2 | March 6, 2026 |
-| Claude Haiku 3.5 | Feb 16, 2026 |
-| Qwen3 Coder 480B | Feb 6, 2026 |
+| 模型 | 弃用日期 |
+| ------------------ | ----------------- |
+| GPT 5.2 Codex | July 23, 2026 |
+| GPT 5.1 Codex | July 23, 2026 |
+| GPT 5.1 Codex Max | July 23, 2026 |
+| GPT 5.1 Codex Mini | July 23, 2026 |
+| GPT 5 Codex | July 23, 2026 |
+| Claude Opus 4.1 | August 5, 2026 |
+| Claude Sonnet 4 | June 15, 2026 |
+| Claude Haiku 3.5 | February 16, 2026 |
+| Gemini 3 Pro | March 9, 2026 |
+| MiniMax M2.5 | August 5, 2026 |
+| MiniMax M2.1 | March 15, 2026 |
+| GLM 5 | May 14, 2026 |
+| GLM 4.7 | March 15, 2026 |
+| GLM 4.6 | March 15, 2026 |
+| Kimi K2.5 | August 5, 2026 |
+| Kimi K2 Thinking | March 6, 2026 |
+| Kimi K2 | March 6, 2026 |
+| Qwen3 Coder 480B | February 6, 2026 |
---
diff --git a/packages/web/src/content/docs/zh-tw/zen.mdx b/packages/web/src/content/docs/zh-tw/zen.mdx
index 57fe1da1fc..778df663bf 100644
--- a/packages/web/src/content/docs/zh-tw/zen.mdx
+++ b/packages/web/src/content/docs/zh-tw/zen.mdx
@@ -77,12 +77,10 @@ OpenCode Zen 的運作方式和 OpenCode 中的其他供應商一樣。
| Claude Opus 4.7 | claude-opus-4-7 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Opus 4.6 | claude-opus-4-6 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Opus 4.5 | claude-opus-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
-| Claude Opus 4.1 | claude-opus-4-1 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
+| Claude Sonnet 5 | claude-sonnet-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Sonnet 4.6 | claude-sonnet-4-6 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Sonnet 4.5 | claude-sonnet-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
-| Claude Sonnet 4 | claude-sonnet-4 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Claude Haiku 4.5 | claude-haiku-4-5 | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
-| Claude Haiku 3.5 | claude-3-5-haiku | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| Gemini 3.5 Flash | gemini-3.5-flash | `https://opencode.ai/zen/v1/models/gemini-3.5-flash` | `@ai-sdk/google` |
| Gemini 3.1 Pro | gemini-3.1-pro | `https://opencode.ai/zen/v1/models/gemini-3.1-pro` | `@ai-sdk/google` |
| Gemini 3 Flash | gemini-3-flash | `https://opencode.ai/zen/v1/models/gemini-3-flash` | `@ai-sdk/google` |
@@ -92,6 +90,7 @@ OpenCode Zen 的運作方式和 OpenCode 中的其他供應商一樣。
| Qwen3.5 Plus | qwen3.5-plus | `https://opencode.ai/zen/v1/messages` | `@ai-sdk/anthropic` |
| DeepSeek V4 Pro | deepseek-v4-pro | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| DeepSeek V4 Flash | deepseek-v4-flash | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
+| MiniMax M3 | minimax-m3 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| MiniMax M2.7 | minimax-m2.7 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| MiniMax M2.5 | minimax-m2.5 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| GLM 5.2 | glm-5.2 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
@@ -99,6 +98,7 @@ OpenCode Zen 的運作方式和 OpenCode 中的其他供應商一樣。
| GLM 5 | glm-5 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Kimi K2.5 | kimi-k2.5 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Kimi K2.6 | kimi-k2.6 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
+| Kimi K2.7 Code | kimi-k2.7-code | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Grok Build 0.1 | grok-build-0.1 | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| Big Pickle | big-pickle | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
| MiMo-V2.5 Free | mimo-v2.5-free | `https://opencode.ai/zen/v1/chat/completions` | `@ai-sdk/openai-compatible` |
@@ -132,13 +132,15 @@ https://opencode.ai/zen/v1/models
| MiMo-V2.5 Free | Free | Free | Free | - |
| North Mini Code Free | Free | Free | Free | - |
| Nemotron 3 Ultra Free | Free | Free | Free | - |
-| MiniMax M2.7 | $0.30 | $1.20 | $0.06 | $0.375 |
-| MiniMax M2.5 | $0.30 | $1.20 | $0.06 | $0.375 |
+| MiniMax M3 | $0.30 | $1.20 | $0.06 | - |
+| MiniMax M2.7 | $0.30 | $1.20 | $0.06 | - |
+| MiniMax M2.5 | $0.30 | $1.20 | $0.06 | - |
| GLM 5.2 | $1.40 | $4.40 | $0.26 | - |
| GLM 5.1 | $1.40 | $4.40 | $0.26 | - |
| GLM 5 | $1.00 | $3.20 | $0.20 | - |
-| Kimi K2.5 | $0.60 | $3.00 | $0.10 | - |
+| Kimi K2.7 Code | $0.95 | $4.00 | $0.19 | - |
| Kimi K2.6 | $0.95 | $4.00 | $0.16 | - |
+| Kimi K2.5 | $0.60 | $3.00 | $0.10 | - |
| Qwen3.7 Max | $2.50 | $7.50 | $0.50 | $3.125 |
| Qwen3.7 Plus | $0.40 | $1.60 | $0.04 | $0.50 |
| Qwen3.6 Plus | $0.50 | $3.00 | $0.05 | $0.625 |
@@ -151,12 +153,10 @@ https://opencode.ai/zen/v1/models
| Claude Opus 4.7 | $5.00 | $25.00 | $0.50 | $6.25 |
| Claude Opus 4.6 | $5.00 | $25.00 | $0.50 | $6.25 |
| Claude Opus 4.5 | $5.00 | $25.00 | $0.50 | $6.25 |
-| Claude Opus 4.1 | $15.00 | $75.00 | $1.50 | $18.75 |
+| Claude Sonnet 5 | $2.00 | $10.00 | $0.20 | $2.50 |
| Claude Sonnet 4.6 | $3.00 | $15.00 | $0.30 | $3.75 |
| Claude Sonnet 4.5 (≤ 200K tokens) | $3.00 | $15.00 | $0.30 | $3.75 |
| Claude Sonnet 4.5 (> 200K tokens) | $6.00 | $22.50 | $0.60 | $7.50 |
-| Claude Sonnet 4 (≤ 200K tokens) | $3.00 | $15.00 | $0.30 | $3.75 |
-| Claude Sonnet 4 (> 200K tokens) | $6.00 | $22.50 | $0.60 | $7.50 |
| Claude Haiku 4.5 | $1.00 | $5.00 | $0.10 | $1.25 |
| Gemini 3.5 Flash | $1.50 | $9.00 | $0.15 | - |
| Gemini 3.1 Pro (≤ 200K tokens) | $2.00 | $12.00 | $0.20 | - |
@@ -220,23 +220,26 @@ https://opencode.ai/zen/v1/models
### 已棄用模型
-| 模型 | 棄用日期 |
-| ------------------ | -------------- |
-| GPT 5.2 Codex | July 23, 2026 |
-| GPT 5.1 Codex | July 23, 2026 |
-| GPT 5.1 Codex Max | July 23, 2026 |
-| GPT 5.1 Codex Mini | July 23, 2026 |
-| GPT 5 Codex | July 23, 2026 |
-| Claude Sonnet 4 | June 15, 2026 |
-| GLM 5 | May 14, 2026 |
-| MiniMax M2.1 | March 15, 2026 |
-| GLM 4.7 | March 15, 2026 |
-| GLM 4.6 | March 15, 2026 |
-| Gemini 3 Pro | March 9, 2026 |
-| Kimi K2 Thinking | March 6, 2026 |
-| Kimi K2 | March 6, 2026 |
-| Claude Haiku 3.5 | Feb 16, 2026 |
-| Qwen3 Coder 480B | Feb 6, 2026 |
+| 模型 | 棄用日期 |
+| ------------------ | ----------------- |
+| GPT 5.2 Codex | July 23, 2026 |
+| GPT 5.1 Codex | July 23, 2026 |
+| GPT 5.1 Codex Max | July 23, 2026 |
+| GPT 5.1 Codex Mini | July 23, 2026 |
+| GPT 5 Codex | July 23, 2026 |
+| Claude Opus 4.1 | August 5, 2026 |
+| Claude Sonnet 4 | June 15, 2026 |
+| Claude Haiku 3.5 | February 16, 2026 |
+| Gemini 3 Pro | March 9, 2026 |
+| MiniMax M2.5 | August 5, 2026 |
+| MiniMax M2.1 | March 15, 2026 |
+| GLM 5 | May 14, 2026 |
+| GLM 4.7 | March 15, 2026 |
+| GLM 4.6 | March 15, 2026 |
+| Kimi K2.5 | August 5, 2026 |
+| Kimi K2 Thinking | March 6, 2026 |
+| Kimi K2 | March 6, 2026 |
+| Qwen3 Coder 480B | February 6, 2026 |
---
diff --git a/patches/@tanstack%2Fvirtual-core@3.17.0.patch b/patches/@tanstack%2Fvirtual-core@3.17.0.patch
index 388f8855a5..58616e31e6 100644
--- a/patches/@tanstack%2Fvirtual-core@3.17.0.patch
+++ b/patches/@tanstack%2Fvirtual-core@3.17.0.patch
@@ -1,5 +1,5 @@
diff --git a/dist/cjs/index.cjs b/dist/cjs/index.cjs
-index df75d0cf0347b62906e04e454d4f4ef062ed5c48..58913f2d30e0beee9d09dffa5ebcaab4601a2c22 100644
+index df75d0cf0347b62906e04e454d4f4ef062ed5c48..e5110715b049c6c8b992bd1375a7432df7c0182e 100644
--- a/dist/cjs/index.cjs
+++ b/dist/cjs/index.cjs
@@ -526,6 +526,7 @@ class Virtualizer {
@@ -10,6 +10,20 @@ index df75d0cf0347b62906e04e454d4f4ef062ed5c48..58913f2d30e0beee9d09dffa5ebcaab4
this.getFurthestMeasurement = (measurements, index) => {
const furthestMeasurementsFound = /* @__PURE__ */ new Map();
const furthestMeasurements = /* @__PURE__ */ new Map();
+@@ -715,10 +716,12 @@ class Virtualizer {
+ this.options.lanes
+ ],
+ (measurements, outerSize, scrollOffset, lanes) => {
++ const maxScrollOffset = Math.max(this.getTotalSize() - outerSize, 0);
++ const effectiveScrollOffset = Math.min(Math.max(scrollOffset, 0), maxScrollOffset);
+ return this.range = measurements.length > 0 && outerSize > 0 ? calculateRange({
+ measurements,
+ outerSize,
+- scrollOffset,
++ scrollOffset: effectiveScrollOffset,
+ lanes,
+ // Pass the typed array so binary search + forward-walk can
+ // read start/end directly from Float64Array, skipping the
diff --git a/dist/cjs/index.d.cts b/dist/cjs/index.d.cts
index c61ee17752565253f795c7fc7d57e86237ecbb52..705bb7e3a121b040fb1a3e7890179eaa3e9b219e 100644
--- a/dist/cjs/index.d.cts
@@ -35,7 +49,7 @@ index b03abab604eb6578f6f56ff92c489259cfaf8f19..0495f372ea000dffc416c4f56809946f
private _iosDeferredAdjustment;
private _iosTouching;
diff --git a/dist/esm/index.js b/dist/esm/index.js
-index e384cf7541978a2782b9dca68146e869b16ac3f2..53b15b7a36247ea4aa5b70b00d08b6d7dec3ea79 100644
+index e384cf7541978a2782b9dca68146e869b16ac3f2..77af22006325377bf9ca0052a3554f881f9e75fe 100644
--- a/dist/esm/index.js
+++ b/dist/esm/index.js
@@ -524,6 +524,7 @@ class Virtualizer {
@@ -46,13 +60,46 @@ index e384cf7541978a2782b9dca68146e869b16ac3f2..53b15b7a36247ea4aa5b70b00d08b6d7
this.getFurthestMeasurement = (measurements, index) => {
const furthestMeasurementsFound = /* @__PURE__ */ new Map();
const furthestMeasurements = /* @__PURE__ */ new Map();
+@@ -713,10 +714,12 @@ class Virtualizer {
+ this.options.lanes
+ ],
+ (measurements, outerSize, scrollOffset, lanes) => {
++ const maxScrollOffset = Math.max(this.getTotalSize() - outerSize, 0);
++ const effectiveScrollOffset = Math.min(Math.max(scrollOffset, 0), maxScrollOffset);
+ return this.range = measurements.length > 0 && outerSize > 0 ? calculateRange({
+ measurements,
+ outerSize,
+- scrollOffset,
++ scrollOffset: effectiveScrollOffset,
+ lanes,
+ // Pass the typed array so binary search + forward-walk can
+ // read start/end directly from Float64Array, skipping the
diff --git a/src/index.ts b/src/index.ts
-index d35b3e0695a9c85b261bc1a4fbe23c0a60d5b204..d516a9d00f1233173f9a3e2144666c8159552f91 100644
+index d35b3e0695a9c85b261bc1a4fbe23c0a60d5b204..c504e630a60a3a7791345622bb02754b1308fd86 100644
--- a/src/index.ts
+++ b/src/index.ts
-@@ -1050,3 +1050,5 @@ export class Virtualizer<
+@@ -1047,6 +1047,8 @@ export class Virtualizer<
+ return this.scrollOffset
+ }
+
+ getLogicalScrollOffset = () => this.getScrollOffset() + this.scrollAdjustments
+
private getFurthestMeasurement = (
measurements: Array,
index: number,
+@@ -1334,12 +1336,14 @@ export class Virtualizer<
+ this.options.lanes,
+ ],
+ (measurements, outerSize, scrollOffset, lanes) => {
++ const maxScrollOffset = Math.max(this.getTotalSize() - outerSize, 0)
++ const effectiveScrollOffset = Math.min(Math.max(scrollOffset, 0), maxScrollOffset)
+ return (this.range =
+ measurements.length > 0 && outerSize > 0
+ ? calculateRange({
+ measurements,
+ outerSize,
+- scrollOffset,
++ scrollOffset: effectiveScrollOffset,
+ lanes,
+ // Pass the typed array so binary search + forward-walk can
+ // read start/end directly from Float64Array, skipping the
diff --git a/sdks/vscode/package.json b/sdks/vscode/package.json
index 8a151aae1e..c5006bfef6 100644
--- a/sdks/vscode/package.json
+++ b/sdks/vscode/package.json
@@ -2,7 +2,7 @@
"name": "opencode",
"displayName": "opencode",
"description": "opencode for VS Code",
- "version": "1.17.11",
+ "version": "1.17.12",
"publisher": "sst-dev",
"repository": {
"type": "git",