From d84123b326182003ab98ad57ca5d344891313957 Mon Sep 17 00:00:00 2001 From: Armin Ronacher Date: Wed, 4 Nov 2026 20:08:36 +0100 Subject: [PATCH] feat(coding-agent): move provider defaults to newer models at the same or a lower price --- packages/coding-agent/CHANGELOG.md | 1 + .../coding-agent/src/core/model-resolver.ts | 36 +++++++++---------- .../coding-agent/test/model-resolver.test.ts | 6 ++-- 3 files changed, 22 insertions(+), 21 deletions(-) diff --git a/packages/coding-agent/CHANGELOG.md b/packages/coding-agent/CHANGELOG.md index 78c5ad8ca..472e4fb5d 100644 --- a/packages/coding-agent/CHANGELOG.md +++ b/packages/coding-agent/CHANGELOG.md @@ -15,6 +15,7 @@ ### Changed - The default model for the `anthropic` provider is now Claude Opus 5.5 (`claude-opus-5-5`) instead of Claude Opus 4.8 +- Default models moved to newer models at the same or a lower price: `amazon-bedrock` Claude Opus 5.5, `azure` GPT-6.1 Sol, `google` and `google-vertex` Gemini 4 Argon, `vercel-ai-gateway` GLM 5.3, `baseten` GLM 5.3, `minimax` and `minimax-cn` MiniMax-M3, `qwen-token-plan` and `qwen-token-plan-cn` Qwen3.8 Max, `opencode-go` Kimi K3.1 Pro, and Kimi K2.7 Code instead of Kimi K2.6 for `moonshotai`, `moonshotai-cn`, `huggingface`, `opencode`, `openrouter`, `cloudflare-workers-ai` and `cloudflare-ai-gateway` ### Fixed diff --git a/packages/coding-agent/src/core/model-resolver.ts b/packages/coding-agent/src/core/model-resolver.ts index b14532e62..5b4830869 100644 --- a/packages/coding-agent/src/core/model-resolver.ts +++ b/packages/coding-agent/src/core/model-resolver.ts @@ -18,42 +18,42 @@ import type { ModelRuntime } from "./model-runtime.ts"; /** Default chat model IDs for providers with built-in chat models. */ export const defaultModelPerProvider: Partial> = { - "amazon-bedrock": "us.anthropic.claude-opus-4-6-v1", + "amazon-bedrock": "us.anthropic.claude-opus-5-5", "ant-ling": "Ring-2.6-1T", anthropic: "claude-opus-5-5", openai: "gpt-6.1-sol", - azure: "gpt-5.4", + azure: "gpt-6.1-sol", "openai-codex": "gpt-6.1-sol", radius: "balanced", nvidia: "nvidia/nemotron-3.5-super-vl-120b-a12b", deepseek: "deepseek-v4-pro", - google: "gemini-3.1-pro-preview", - "google-vertex": "gemini-3.1-pro-preview", + google: "gemini-4-argon", + "google-vertex": "gemini-4-argon", "github-copilot": "gpt-6.1-sol", - openrouter: "moonshotai/kimi-k2.6", - "vercel-ai-gateway": "zai/glm-5.1", + openrouter: "moonshotai/kimi-k2.7-code", + "vercel-ai-gateway": "zai/glm-5.3", xai: "grok-4.7", groq: "openai/gpt-oss-120b", cerebras: "gpt-oss-120b", zai: "glm-5.3", "zai-coding-cn": "glm-5.3", mistral: "devstral-medium-latest", - minimax: "MiniMax-M2.7", - "minimax-cn": "MiniMax-M2.7", - moonshotai: "kimi-k2.6", - "moonshotai-cn": "kimi-k2.6", - huggingface: "moonshotai/Kimi-K2.6", + minimax: "MiniMax-M3", + "minimax-cn": "MiniMax-M3", + moonshotai: "kimi-k2.7-code", + "moonshotai-cn": "kimi-k2.7-code", + huggingface: "moonshotai/Kimi-K2.7-Code", fireworks: "accounts/fireworks/models/kimi-k3", together: "moonshotai/Kimi-K3", - baseten: "zai-org/GLM-5.2", - opencode: "kimi-k2.6", - "opencode-go": "kimi-k3", + baseten: "zai-org/GLM-5.3", + opencode: "kimi-k2.7-code", + "opencode-go": "kimi-k3.1-pro", "kimi-coding": "kimi-for-coding", meta: "muse-spark-1.3", - "cloudflare-workers-ai": "@cf/moonshotai/kimi-k2.6", - "cloudflare-ai-gateway": "workers-ai/@cf/moonshotai/kimi-k2.6", - "qwen-token-plan": "qwen3.7-max", - "qwen-token-plan-cn": "qwen3.7-max", + "cloudflare-workers-ai": "@cf/moonshotai/kimi-k2.7-code", + "cloudflare-ai-gateway": "workers-ai/@cf/moonshotai/kimi-k2.7-code", + "qwen-token-plan": "qwen3.8-max", + "qwen-token-plan-cn": "qwen3.8-max", "qwen-token-plan-individual": "qwen3.8-max", "qwen-token-plan-individual-cn": "qwen3.8-max", xiaomi: "mimo-v2.6-pro", diff --git a/packages/coding-agent/test/model-resolver.test.ts b/packages/coding-agent/test/model-resolver.test.ts index 925b87fdf..318e998b4 100644 --- a/packages/coding-agent/test/model-resolver.test.ts +++ b/packages/coding-agent/test/model-resolver.test.ts @@ -705,8 +705,8 @@ describe("default model selection", () => { test("zai, minimax, cerebras, and ant-ling defaults track current models", () => { expect(defaultModelPerProvider.zai).toBe("glm-5.3"); expect(defaultModelPerProvider["zai-coding-cn"]).toBe("glm-5.3"); - expect(defaultModelPerProvider.minimax).toBe("MiniMax-M2.7"); - expect(defaultModelPerProvider["minimax-cn"]).toBe("MiniMax-M2.7"); + expect(defaultModelPerProvider.minimax).toBe("MiniMax-M3"); + expect(defaultModelPerProvider["minimax-cn"]).toBe("MiniMax-M3"); expect(defaultModelPerProvider.cerebras).toBe("gpt-oss-120b"); expect(defaultModelPerProvider["ant-ling"]).toBe("Ring-2.6-1T"); }); @@ -727,7 +727,7 @@ describe("default model selection", () => { }); test("ai-gateway default tracks current model", () => { - expect(defaultModelPerProvider["vercel-ai-gateway"]).toBe("zai/glm-5.1"); + expect(defaultModelPerProvider["vercel-ai-gateway"]).toBe("zai/glm-5.3"); }); test("anthropic default tracks current model", () => {