From 50a9d103d31d85668b558a57d37ae21bad115bbc Mon Sep 17 00:00:00 2001 From: Jason Date: Sat, 24 Oct 2026 22:54:05 +0800 Subject: [PATCH] chore(presets): refresh preset models to the latest vendor lineups Move first-party, sponsor and relay presets to current model IDs so a pasted Key works without editing the model list. - Claude: opus/sonnet 5 -> 5.5, haiku 4.5 -> 5.5, fable 5 -> 5.1 - GPT: gpt-5.6-sol / gpt-6-sol -> gpt-6.1-sol; add gpt-6-astra/luna - Gemini 3.6 Flash -> 3.8 Flash, 3.1 Pro preview -> 4 Argon; Grok 4.5 -> 4.7; GLM 5.1/5.2 -> 5.3 (+5.3 Flash); DeepSeek V4 Flash -> V4.1 Flash; Doubao 2.1 Pro 260628 -> 260915; StepFun Step Plan -> step-5-preview; add Kimi K3.1 Pro, Qwen3.8 Max, MiniMax M3.1 Flash where the site serves them - Drop retired models: NVIDIA moonshotai/kimi-k3 (EOL 2026-10-15, now kimi-k2.6 without unverified Codex reasoning levels), MiMo V2.5 / V2.5 Pro, Claude Sonnet 4.5, MiniMax M2.7 on Tencent Token Plan Enterprise Pro - Relay presets follow each site's own ID spelling and catalog; DIT.ai, BuyToken and hao.ai are left as configured from their docs; Soshow, SiliconFlow CN, OpenCode Zen and the Ark rolling alias stay - MoArk Codex keeps the tested Kimi-K2.7-Code; K3.1 Pro and Qwen3.8 Max stay out of its Codex catalog until their levels are verified Tests updated to the new IDs; cross-app invariants unchanged. --- src/config/claudeDesktopProviderPresets.ts | 113 +- src/config/claudeProviderPresets.ts | 138 +- src/config/codexProviderPresets.ts | 345 ++-- src/config/geminiProviderPresets.ts | 120 +- src/config/grokBuildProviderPresets.ts | 9 +- src/config/hermesProviderPresets.ts | 838 ++++++--- src/config/jiekouProviderPresets.test.ts | 11 +- src/config/openclawProviderPresets.ts | 1540 +++++++++++------ src/config/opencodeProviderPresets.ts | 592 +++++-- src/config/piModelCatalog.ts | 18 + src/config/piProviderPresets.ts | 493 +++--- src/config/piThinkingProfiles.ts | 5 + src/config/ppioProviderPresets.test.ts | 105 +- ...oviderForm.presetRows.golden.test.tsx.snap | 32 +- tests/config/claudeProviderPresets.test.ts | 8 +- tests/config/codexChatProviderPresets.test.ts | 24 +- .../config/codexReasoningLevelPresets.test.ts | 37 +- .../config/commandCodeProviderPresets.test.ts | 2 + tests/config/doubaoSeedPresets.test.ts | 2 +- tests/config/mimoTokenPlanPresets.test.ts | 4 +- tests/config/moarkProviderPresets.test.ts | 64 +- tests/config/opencodeProviderPresets.test.ts | 6 +- tests/config/piProviderPresets.test.ts | 10 +- tests/config/piThinkingProfiles.test.ts | 2 +- tests/config/subrouterProviderPresets.test.ts | 16 +- .../therouterOpenCodeOpenClawPresets.test.ts | 26 +- tests/config/therouterProviderPresets.test.ts | 14 +- tests/config/tokenPlanProviderPresets.test.ts | 5 +- tests/config/xaiOauthProviderPresets.test.ts | 10 +- 29 files changed, 2803 insertions(+), 1786 deletions(-) diff --git a/src/config/claudeDesktopProviderPresets.ts b/src/config/claudeDesktopProviderPresets.ts index a64c7c941..c8c350f77 100644 --- a/src/config/claudeDesktopProviderPresets.ts +++ b/src/config/claudeDesktopProviderPresets.ts @@ -355,7 +355,7 @@ export const claudeDesktopProviderPresets: ClaudeDesktopProviderPreset[] = [ modelRoutes: mappedRoutes( "claude-sonnet-5-5", "claude-opus-5-5", - "claude-haiku-4-5-20251001", + "claude-haiku-5-5", true, ), isPartner: true, @@ -572,9 +572,9 @@ export const claudeDesktopProviderPresets: ClaudeDesktopProviderPreset[] = [ mode: "direct", apiFormat: "anthropic", modelRoutes: mappedRoutes( - "anthropic/claude-sonnet-5", - "anthropic/claude-opus-5", - "anthropic/claude-haiku-4.5", + "anthropic/claude-sonnet-5.5", + "anthropic/claude-opus-5.5", + "anthropic/claude-haiku-5.5", true, ), isPartner: true, @@ -592,7 +592,7 @@ export const claudeDesktopProviderPresets: ClaudeDesktopProviderPreset[] = [ modelRoutes: mappedRoutes( "claude-sonnet-5-5", "claude-opus-5-5", - "claude-haiku-4-5", + "claude-haiku-5-5", true, ), endpointCandidates: ["https://api.88api.ai", "https://88api.ai"], @@ -687,9 +687,9 @@ export const claudeDesktopProviderPresets: ClaudeDesktopProviderPreset[] = [ mode: "proxy", apiFormat: "anthropic", modelRoutes: brandedRoutes( - "deepseek/deepseek-v4-flash-0731", - "deepseek/deepseek-v4-flash-0731", - "deepseek/deepseek-v4-flash-0731", + "deepseek/deepseek-v4.1-flash", + "deepseek/deepseek-v4.1-flash", + "deepseek/deepseek-v4.1-flash", true, ), endpointCandidates: ["https://api.ppio.com/anthropic"], @@ -787,9 +787,9 @@ export const claudeDesktopProviderPresets: ClaudeDesktopProviderPreset[] = [ mode: "proxy", apiFormat: "anthropic", modelRoutes: brandedRoutes( - "doubao-seed-2-1-pro-260628", - "doubao-seed-2-1-pro-260628", - "doubao-seed-2-1-pro-260628", + "doubao-seed-2-1-pro-260915", + "doubao-seed-2-1-pro-260915", + "doubao-seed-2-1-pro-260915", ), isPartner: true, partnerPromotionKey: "doubaoseed", @@ -930,12 +930,12 @@ export const claudeDesktopProviderPresets: ClaudeDesktopProviderPreset[] = [ baseUrl: "https://soleapi.com", mode: "direct", apiFormat: "anthropic", - // 上游 Haiku 模型 ID 带日期后缀,与角色路由 ID claude-haiku-4-5 不同, + // 上游模型 ID 与角色路由 ID(claude-sonnet-5 / claude-haiku-4-5)不同, // 故用 mappedRoutes 显式映射而非 passthroughRoutes。 modelRoutes: mappedRoutes( - "claude-sonnet-5", - "claude-opus-5", - "claude-haiku-4-5-20251001", + "claude-sonnet-5-5", + "claude-opus-5-5", + "claude-haiku-5-5", true, ), endpointCandidates: ["https://soleapi.com"], @@ -1201,9 +1201,9 @@ export const claudeDesktopProviderPresets: ClaudeDesktopProviderPreset[] = [ mode: "proxy", apiFormat: "gemini_native", modelRoutes: brandedRoutes( - "gemini-3.6-flash", - "gemini-3.6-flash", - "gemini-3.6-flash", + "gemini-3.8-flash", + "gemini-3.8-flash", + "gemini-3.8-flash", ), endpointCandidates: ["https://generativelanguage.googleapis.com"], icon: "gemini", @@ -1248,7 +1248,7 @@ export const claudeDesktopProviderPresets: ClaudeDesktopProviderPreset[] = [ apiFormat: "openai_responses", providerType: "xai_oauth", requiresOAuth: true, - modelRoutes: brandedRoutes("grok-4.5", "grok-4.5", "grok-4.5"), + modelRoutes: brandedRoutes("grok-4.7", "grok-4.7", "grok-4.7"), icon: "xai", iconColor: "#000000", }, @@ -1287,9 +1287,9 @@ export const claudeDesktopProviderPresets: ClaudeDesktopProviderPreset[] = [ // 记 1048576)。[1m] 只是 Claude Desktop 本地标记,匹配前会被剥掉, // 不会随请求发往上游 modelRoutes: brandedRoutes( - "deepseek-v4-flash", - "deepseek-v4-flash", - "deepseek-v4-flash", + "deepseek-v4.1-flash", + "deepseek-v4.1-flash", + "deepseek-v4.1-flash", true, ), endpointCandidates: ["https://opencode.ai/zen/go"], @@ -1638,9 +1638,9 @@ export const claudeDesktopProviderPresets: ClaudeDesktopProviderPreset[] = [ mode: "proxy", apiFormat: "anthropic", modelRoutes: brandedRoutes( - "step-3.5-flash-2603", - "step-3.5-flash-2603", - "step-3.5-flash-2603", + "step-5-preview", + "step-5-preview", + "step-5-preview", ), endpointCandidates: ["https://api.stepfun.com/step_plan"], icon: "stepfun", @@ -1796,9 +1796,9 @@ export const claudeDesktopProviderPresets: ClaudeDesktopProviderPreset[] = [ mode: "direct", apiFormat: "anthropic", modelRoutes: mappedRoutes( - "anthropic/claude-sonnet-5", - "anthropic/claude-opus-5", - "anthropic/claude-haiku-4.5", + "anthropic/claude-sonnet-5.5", + "anthropic/claude-opus-5.5", + "anthropic/claude-haiku-5.5", true, ), endpointCandidates: ["https://open.cherryin.net"], @@ -1837,9 +1837,9 @@ export const claudeDesktopProviderPresets: ClaudeDesktopProviderPreset[] = [ mode: "proxy", apiFormat: "anthropic", modelRoutes: mappedRoutes( - "anthropic/claude-sonnet-5", - "anthropic/claude-opus-5", - "anthropic/claude-haiku-4.5", + "anthropic/claude-sonnet-5.5", + "anthropic/claude-opus-5.5", + "anthropic/claude-haiku-5.5", true, ), icon: "openrouter", @@ -1854,9 +1854,9 @@ export const claudeDesktopProviderPresets: ClaudeDesktopProviderPreset[] = [ mode: "proxy", apiFormat: "anthropic", modelRoutes: mappedRoutes( - "anthropic/claude-sonnet-5", - "anthropic/claude-opus-5", - "anthropic/claude-haiku-4.5", + "anthropic/claude-sonnet-5-5", + "anthropic/claude-opus-5-5", + "anthropic/claude-haiku-5-5", true, ), endpointCandidates: ["https://api.therouter.ai"], @@ -1892,9 +1892,9 @@ export const claudeDesktopProviderPresets: ClaudeDesktopProviderPreset[] = [ mode: "proxy", apiFormat: "anthropic", modelRoutes: brandedRoutes( - "zai-org/glm-5.1", - "zai-org/glm-5.1", - "zai-org/glm-5.1", + "zai-org/glm-5.3", + "zai-org/glm-5.3", + "zai-org/glm-5.3-flash", ), endpointCandidates: ["https://api.novita.ai/anthropic"], icon: "novita", @@ -2032,8 +2032,8 @@ export const claudeDesktopProviderPresets: ClaudeDesktopProviderPreset[] = [ modelRoutes: [ { routeId: CLAUDE_DESKTOP_ROLE_ROUTE_IDS.sonnet, - upstreamModel: "deepseek-ai/DeepSeek-V4-Flash-0731", - labelOverride: "deepseek-ai/DeepSeek-V4-Flash-0731", + upstreamModel: "deepseek-ai/DeepSeek-V4.1-Flash-1017", + labelOverride: "deepseek-ai/DeepSeek-V4.1-Flash-1017", supports1m: true, }, { @@ -2288,10 +2288,9 @@ export const claudeDesktopProviderPresets: ClaudeDesktopProviderPreset[] = [ mode: "proxy", apiFormat: "openai_chat", modelRoutes: brandedRoutes( - "moonshotai/kimi-k3", - "moonshotai/kimi-k3", - "moonshotai/kimi-k3", - true, + "moonshotai/kimi-k2.6", + "moonshotai/kimi-k2.6", + "moonshotai/kimi-k2.6", ), icon: "nvidia", iconColor: "#000000", @@ -2356,7 +2355,7 @@ export const claudeDesktopProviderPresets: ClaudeDesktopProviderPreset[] = [ modelRoutes: [ { routeId: CLAUDE_DESKTOP_ROLE_ROUTE_IDS.fable, - upstreamModel: "claude-fable-5", + upstreamModel: "claude-fable-5-1", supports1m: true, }, ], @@ -2372,12 +2371,12 @@ export const claudeDesktopProviderPresets: ClaudeDesktopProviderPreset[] = [ baseUrl: "https://api.aicodewith.ai", mode: "proxy", apiFormat: "anthropic", - // 上游 Haiku 模型 ID 带日期后缀,与角色路由 ID claude-haiku-4-5 不同, + // 上游模型 ID 与角色路由 ID(claude-sonnet-5 / claude-haiku-4-5)不同, // 故用 mappedRoutes 显式映射而非 passthroughRoutes。 modelRoutes: mappedRoutes( - "claude-sonnet-5", - "claude-opus-5", - "claude-haiku-4-5-20251001", + "claude-sonnet-5-5", + "claude-opus-5-5", + "claude-haiku-5-5", true, ), endpointCandidates: ["https://api.aicodewith.ai"], @@ -2395,7 +2394,7 @@ export const claudeDesktopProviderPresets: ClaudeDesktopProviderPreset[] = [ modelRoutes: mappedRoutes( "claude-sonnet-5-5", "claude-opus-5-5", - "claude-haiku-4-5-20251001", + "claude-haiku-5-5", true, ), endpointCandidates: [ @@ -2418,7 +2417,7 @@ export const claudeDesktopProviderPresets: ClaudeDesktopProviderPreset[] = [ modelRoutes: mappedRoutes( "claude-sonnet-5-5", "claude-opus-5-5", - "claude-haiku-4-5-20251001", + "claude-haiku-5-5", true, ), endpointCandidates: ["https://api.ikuncode.ai", "https://api.ikuncode.cc"], @@ -2435,7 +2434,7 @@ export const claudeDesktopProviderPresets: ClaudeDesktopProviderPreset[] = [ modelRoutes: mappedRoutes( "claude-sonnet-5-5", "claude-opus-5-5", - "claude-haiku-4-5-20251001", + "claude-haiku-5-5", true, ), endpointCandidates: ["https://www.runtoken.ai", "https://fast.runtoken.ai"], @@ -2452,7 +2451,7 @@ export const claudeDesktopProviderPresets: ClaudeDesktopProviderPreset[] = [ modelRoutes: mappedRoutes( "claude-sonnet-5-5", "claude-opus-5-5", - "claude-haiku-4-5-20251001", + "claude-haiku-5-5", true, ), icon: "botcf", @@ -2467,9 +2466,9 @@ export const claudeDesktopProviderPresets: ClaudeDesktopProviderPreset[] = [ mode: "direct", apiFormat: "anthropic", modelRoutes: mappedRoutes( - "claude-sonnet-5", + "claude-sonnet-5-5", "claude-opus-5-5", - "claude-haiku-4-5-20251001", + "claude-haiku-5-5", true, ), endpointCandidates: [ @@ -2490,7 +2489,7 @@ export const claudeDesktopProviderPresets: ClaudeDesktopProviderPreset[] = [ modelRoutes: mappedRoutes( "claude-sonnet-5-5", "claude-opus-5-5", - "claude-haiku-4-5", + "claude-haiku-5-5", true, ), icon: "tokenflux", @@ -2506,7 +2505,7 @@ export const claudeDesktopProviderPresets: ClaudeDesktopProviderPreset[] = [ modelRoutes: mappedRoutes( "claude-sonnet-5-5", "claude-opus-5-5", - "claude-haiku-4-5-20251001", + "claude-haiku-5-5", true, ), icon: "nekocode", @@ -2522,7 +2521,7 @@ export const claudeDesktopProviderPresets: ClaudeDesktopProviderPreset[] = [ modelRoutes: mappedRoutes( "claude-sonnet-5-5", "claude-opus-5-5", - "claude-haiku-4-5-20251001", + "claude-haiku-5-5", true, ), icon: "aicoming", diff --git a/src/config/claudeProviderPresets.ts b/src/config/claudeProviderPresets.ts index 989eb730d..ff5a82097 100644 --- a/src/config/claudeProviderPresets.ts +++ b/src/config/claudeProviderPresets.ts @@ -541,10 +541,10 @@ export const providerPresets: ProviderPreset[] = [ env: { ANTHROPIC_BASE_URL: "https://router.shengsuanyun.com/api", ANTHROPIC_AUTH_TOKEN: "", - ANTHROPIC_MODEL: "anthropic/claude-sonnet-5", - ANTHROPIC_DEFAULT_HAIKU_MODEL: "anthropic/claude-haiku-4.5", - ANTHROPIC_DEFAULT_SONNET_MODEL: "anthropic/claude-sonnet-5", - ANTHROPIC_DEFAULT_OPUS_MODEL: "anthropic/claude-opus-5", + ANTHROPIC_MODEL: "anthropic/claude-sonnet-5.5", + ANTHROPIC_DEFAULT_HAIKU_MODEL: "anthropic/claude-haiku-5.5", + ANTHROPIC_DEFAULT_SONNET_MODEL: "anthropic/claude-sonnet-5.5", + ANTHROPIC_DEFAULT_OPUS_MODEL: "anthropic/claude-opus-5.5", }, }, category: "aggregator", @@ -662,10 +662,10 @@ export const providerPresets: ProviderPreset[] = [ env: { ANTHROPIC_BASE_URL: "https://api.ppio.com/anthropic", ANTHROPIC_AUTH_TOKEN: "", - ANTHROPIC_MODEL: "deepseek/deepseek-v4-flash-0731[1M]", - ANTHROPIC_DEFAULT_HAIKU_MODEL: "deepseek/deepseek-v4-flash-0731[1M]", - ANTHROPIC_DEFAULT_SONNET_MODEL: "deepseek/deepseek-v4-flash-0731[1M]", - ANTHROPIC_DEFAULT_OPUS_MODEL: "deepseek/deepseek-v4-flash-0731[1M]", + ANTHROPIC_MODEL: "deepseek/deepseek-v4.1-flash[1M]", + ANTHROPIC_DEFAULT_HAIKU_MODEL: "deepseek/deepseek-v4.1-flash[1M]", + ANTHROPIC_DEFAULT_SONNET_MODEL: "deepseek/deepseek-v4.1-flash[1M]", + ANTHROPIC_DEFAULT_OPUS_MODEL: "deepseek/deepseek-v4.1-flash[1M]", }, }, category: "aggregator", @@ -775,10 +775,10 @@ export const providerPresets: ProviderPreset[] = [ env: { ANTHROPIC_BASE_URL: "https://ark.cn-beijing.volces.com/api/compatible", ANTHROPIC_AUTH_TOKEN: "", - ANTHROPIC_MODEL: "doubao-seed-2-1-pro-260628", - ANTHROPIC_DEFAULT_SONNET_MODEL: "doubao-seed-2-1-pro-260628", - ANTHROPIC_DEFAULT_OPUS_MODEL: "doubao-seed-2-1-pro-260628", - ANTHROPIC_DEFAULT_HAIKU_MODEL: "doubao-seed-2-1-pro-260628", + ANTHROPIC_MODEL: "doubao-seed-2-1-pro-260915", + ANTHROPIC_DEFAULT_SONNET_MODEL: "doubao-seed-2-1-pro-260915", + ANTHROPIC_DEFAULT_OPUS_MODEL: "doubao-seed-2-1-pro-260915", + ANTHROPIC_DEFAULT_HAIKU_MODEL: "doubao-seed-2-1-pro-260915", }, }, category: "cn_official", @@ -1196,10 +1196,10 @@ export const providerPresets: ProviderPreset[] = [ env: { ANTHROPIC_BASE_URL: "https://api.atlascloud.ai", ANTHROPIC_AUTH_TOKEN: "", - ANTHROPIC_MODEL: "zai-org/glm-5.1", - ANTHROPIC_DEFAULT_HAIKU_MODEL: "zai-org/glm-5.1", - ANTHROPIC_DEFAULT_SONNET_MODEL: "zai-org/glm-5.1", - ANTHROPIC_DEFAULT_OPUS_MODEL: "zai-org/glm-5.1", + ANTHROPIC_MODEL: "zai-org/glm-5.3", + ANTHROPIC_DEFAULT_HAIKU_MODEL: "zai-org/glm-5.3-flash", + ANTHROPIC_DEFAULT_SONNET_MODEL: "zai-org/glm-5.3", + ANTHROPIC_DEFAULT_OPUS_MODEL: "zai-org/glm-5.3", CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS: "1", }, }, @@ -1235,10 +1235,10 @@ export const providerPresets: ProviderPreset[] = [ env: { ANTHROPIC_BASE_URL: "https://generativelanguage.googleapis.com", ANTHROPIC_API_KEY: "", - ANTHROPIC_MODEL: "gemini-3.6-flash", - ANTHROPIC_DEFAULT_HAIKU_MODEL: "gemini-3.6-flash", - ANTHROPIC_DEFAULT_SONNET_MODEL: "gemini-3.6-flash", - ANTHROPIC_DEFAULT_OPUS_MODEL: "gemini-3.6-flash", + ANTHROPIC_MODEL: "gemini-3.8-flash", + ANTHROPIC_DEFAULT_HAIKU_MODEL: "gemini-3.8-flash", + ANTHROPIC_DEFAULT_SONNET_MODEL: "gemini-3.8-flash", + ANTHROPIC_DEFAULT_OPUS_MODEL: "gemini-3.8-flash", }, }, category: "third_party", @@ -1282,10 +1282,10 @@ export const providerPresets: ProviderPreset[] = [ env: { ANTHROPIC_BASE_URL: "https://opencode.ai/zen/go", ANTHROPIC_API_KEY: "", - ANTHROPIC_MODEL: "deepseek-v4-flash[1M]", - ANTHROPIC_DEFAULT_HAIKU_MODEL: "deepseek-v4-flash[1M]", - ANTHROPIC_DEFAULT_SONNET_MODEL: "deepseek-v4-flash[1M]", - ANTHROPIC_DEFAULT_OPUS_MODEL: "deepseek-v4-flash[1M]", + ANTHROPIC_MODEL: "deepseek-v4.1-flash[1M]", + ANTHROPIC_DEFAULT_HAIKU_MODEL: "deepseek-v4.1-flash[1M]", + ANTHROPIC_DEFAULT_SONNET_MODEL: "deepseek-v4.1-flash[1M]", + ANTHROPIC_DEFAULT_OPUS_MODEL: "deepseek-v4.1-flash[1M]", }, }, category: "third_party", @@ -1308,7 +1308,7 @@ export const providerPresets: ProviderPreset[] = [ ANTHROPIC_BASE_URL: "https://opencode.ai/zen", ANTHROPIC_API_KEY: "", ANTHROPIC_MODEL: "claude-sonnet-5-5", - ANTHROPIC_DEFAULT_HAIKU_MODEL: "claude-haiku-4-5", + ANTHROPIC_DEFAULT_HAIKU_MODEL: "claude-haiku-5-5", ANTHROPIC_DEFAULT_SONNET_MODEL: "claude-sonnet-5-5", ANTHROPIC_DEFAULT_OPUS_MODEL: "claude-opus-5-5", }, @@ -1739,10 +1739,10 @@ export const providerPresets: ProviderPreset[] = [ env: { ANTHROPIC_BASE_URL: "https://api.stepfun.com/step_plan", ANTHROPIC_AUTH_TOKEN: "", - ANTHROPIC_MODEL: "step-3.5-flash-2603", - ANTHROPIC_DEFAULT_HAIKU_MODEL: "step-3.5-flash-2603", - ANTHROPIC_DEFAULT_SONNET_MODEL: "step-3.5-flash-2603", - ANTHROPIC_DEFAULT_OPUS_MODEL: "step-3.5-flash-2603", + ANTHROPIC_MODEL: "step-5-preview", + ANTHROPIC_DEFAULT_HAIKU_MODEL: "step-5-preview", + ANTHROPIC_DEFAULT_SONNET_MODEL: "step-5-preview", + ANTHROPIC_DEFAULT_OPUS_MODEL: "step-5-preview", }, }, category: "cn_official", @@ -1943,10 +1943,10 @@ export const providerPresets: ProviderPreset[] = [ env: { ANTHROPIC_BASE_URL: "https://open.cherryin.net", ANTHROPIC_AUTH_TOKEN: "", - ANTHROPIC_MODEL: "anthropic/claude-sonnet-5", - ANTHROPIC_DEFAULT_HAIKU_MODEL: "anthropic/claude-haiku-4.5", - ANTHROPIC_DEFAULT_SONNET_MODEL: "anthropic/claude-sonnet-5", - ANTHROPIC_DEFAULT_OPUS_MODEL: "anthropic/claude-opus-5", + ANTHROPIC_MODEL: "anthropic/claude-sonnet-5.5", + ANTHROPIC_DEFAULT_HAIKU_MODEL: "anthropic/claude-haiku-5.5", + ANTHROPIC_DEFAULT_SONNET_MODEL: "anthropic/claude-sonnet-5.5", + ANTHROPIC_DEFAULT_OPUS_MODEL: "anthropic/claude-opus-5.5", }, }, category: "aggregator", @@ -1990,10 +1990,10 @@ export const providerPresets: ProviderPreset[] = [ env: { ANTHROPIC_BASE_URL: "https://openrouter.ai/api", ANTHROPIC_AUTH_TOKEN: "", - ANTHROPIC_MODEL: "anthropic/claude-sonnet-5", - ANTHROPIC_DEFAULT_HAIKU_MODEL: "anthropic/claude-haiku-4.5", - ANTHROPIC_DEFAULT_SONNET_MODEL: "anthropic/claude-sonnet-5", - ANTHROPIC_DEFAULT_OPUS_MODEL: "anthropic/claude-opus-5", + ANTHROPIC_MODEL: "anthropic/claude-sonnet-5.5", + ANTHROPIC_DEFAULT_HAIKU_MODEL: "anthropic/claude-haiku-5.5", + ANTHROPIC_DEFAULT_SONNET_MODEL: "anthropic/claude-sonnet-5.5", + ANTHROPIC_DEFAULT_OPUS_MODEL: "anthropic/claude-opus-5.5", }, }, category: "aggregator", @@ -2009,10 +2009,10 @@ export const providerPresets: ProviderPreset[] = [ ANTHROPIC_BASE_URL: "https://api.therouter.ai", ANTHROPIC_AUTH_TOKEN: "", ANTHROPIC_API_KEY: "", - ANTHROPIC_MODEL: "anthropic/claude-sonnet-5", - ANTHROPIC_DEFAULT_HAIKU_MODEL: "anthropic/claude-haiku-4.5", - ANTHROPIC_DEFAULT_SONNET_MODEL: "anthropic/claude-sonnet-5", - ANTHROPIC_DEFAULT_OPUS_MODEL: "anthropic/claude-opus-5", + ANTHROPIC_MODEL: "anthropic/claude-sonnet-5-5", + ANTHROPIC_DEFAULT_HAIKU_MODEL: "anthropic/claude-haiku-5-5", + ANTHROPIC_DEFAULT_SONNET_MODEL: "anthropic/claude-sonnet-5-5", + ANTHROPIC_DEFAULT_OPUS_MODEL: "anthropic/claude-opus-5-5", }, }, category: "aggregator", @@ -2052,10 +2052,10 @@ export const providerPresets: ProviderPreset[] = [ env: { ANTHROPIC_BASE_URL: "https://api.novita.ai/anthropic", ANTHROPIC_AUTH_TOKEN: "", - ANTHROPIC_MODEL: "zai-org/glm-5.1", - ANTHROPIC_DEFAULT_HAIKU_MODEL: "zai-org/glm-5.1", - ANTHROPIC_DEFAULT_SONNET_MODEL: "zai-org/glm-5.1", - ANTHROPIC_DEFAULT_OPUS_MODEL: "zai-org/glm-5.1", + ANTHROPIC_MODEL: "zai-org/glm-5.3", + ANTHROPIC_DEFAULT_HAIKU_MODEL: "zai-org/glm-5.3-flash", + ANTHROPIC_DEFAULT_SONNET_MODEL: "zai-org/glm-5.3", + ANTHROPIC_DEFAULT_OPUS_MODEL: "zai-org/glm-5.3", }, }, category: "aggregator", @@ -2263,7 +2263,7 @@ export const providerPresets: ProviderPreset[] = [ // 官方 Claude Code 接入文档(docs.deepinfra.com/integrations/anthropic.md, // 2026-10-14 核对):base 为 /anthropic、不带 /v1,Bearer 与 x-api-key 都 // 收,默认的 AUTH_TOKEN 即可。档位与 ANTHROPIC_MODEL 照抄官方表:opus - // V4 Pro 0813、sonnet/主循环 V4 Flash 0731、haiku Ling-3.0-flash;不带日期 + // V4 Pro 0813、sonnet/主循环 V4.1 Flash 1017(官方表仍写 V4 Flash 0731,已按站点现价目表上调)、haiku Ling-3.0-flash;不带日期 // 的 V4 Pro/Flash 是已被取代的早期预览,不用。官方另写的 fable、子代理与 // 最大输出变量照仓库惯例不加。/anthropic/v1/models 404,通用候选剥掉 // /anthropic 后的 /v1/models 公开可读,不覆写 modelsUrl @@ -2271,10 +2271,10 @@ export const providerPresets: ProviderPreset[] = [ env: { ANTHROPIC_BASE_URL: "https://api.deepinfra.com/anthropic", ANTHROPIC_AUTH_TOKEN: "", - ANTHROPIC_MODEL: "deepseek-ai/DeepSeek-V4-Flash-0731[1M]", + ANTHROPIC_MODEL: "deepseek-ai/DeepSeek-V4.1-Flash-1017[1M]", ANTHROPIC_DEFAULT_HAIKU_MODEL: "inclusionAI/Ling-3.0-flash", ANTHROPIC_DEFAULT_SONNET_MODEL: - "deepseek-ai/DeepSeek-V4-Flash-0731[1M]", + "deepseek-ai/DeepSeek-V4.1-Flash-1017[1M]", ANTHROPIC_DEFAULT_OPUS_MODEL: "deepseek-ai/DeepSeek-V4-Pro-0813[1M]", }, }, @@ -2687,11 +2687,11 @@ export const providerPresets: ProviderPreset[] = [ env: { // The proxy enforces both this origin and the Responses wire format. ANTHROPIC_BASE_URL: "https://api.x.ai/v1", - ANTHROPIC_MODEL: "grok-4.5", - ANTHROPIC_DEFAULT_HAIKU_MODEL: "grok-4.5", - ANTHROPIC_DEFAULT_SONNET_MODEL: "grok-4.5", - ANTHROPIC_DEFAULT_OPUS_MODEL: "grok-4.5", - // Claude Code falls back to 200K for non-Claude model ids; grok-4.5 + ANTHROPIC_MODEL: "grok-4.7", + ANTHROPIC_DEFAULT_HAIKU_MODEL: "grok-4.7", + ANTHROPIC_DEFAULT_SONNET_MODEL: "grok-4.7", + ANTHROPIC_DEFAULT_OPUS_MODEL: "grok-4.7", + // Claude Code falls back to 200K for non-Claude model ids; grok-4.7 // has a 500K window (same as grok_config::DEFAULT_CONTEXT_WINDOW). CLAUDE_CODE_MAX_CONTEXT_TOKENS: "500000", }, @@ -2711,10 +2711,10 @@ export const providerPresets: ProviderPreset[] = [ env: { ANTHROPIC_BASE_URL: "https://integrate.api.nvidia.com", ANTHROPIC_AUTH_TOKEN: "", - ANTHROPIC_MODEL: "moonshotai/kimi-k3[1M]", - ANTHROPIC_DEFAULT_HAIKU_MODEL: "moonshotai/kimi-k3[1M]", - ANTHROPIC_DEFAULT_SONNET_MODEL: "moonshotai/kimi-k3[1M]", - ANTHROPIC_DEFAULT_OPUS_MODEL: "moonshotai/kimi-k3[1M]", + ANTHROPIC_MODEL: "moonshotai/kimi-k2.6", + ANTHROPIC_DEFAULT_HAIKU_MODEL: "moonshotai/kimi-k2.6", + ANTHROPIC_DEFAULT_SONNET_MODEL: "moonshotai/kimi-k2.6", + ANTHROPIC_DEFAULT_OPUS_MODEL: "moonshotai/kimi-k2.6", }, }, category: "aggregator", @@ -2730,10 +2730,10 @@ export const providerPresets: ProviderPreset[] = [ env: { ANTHROPIC_BASE_URL: "https://cc-api.pipellm.ai", ANTHROPIC_AUTH_TOKEN: "", - ANTHROPIC_MODEL: "claude-opus-5", - ANTHROPIC_DEFAULT_HAIKU_MODEL: "claude-haiku-4-5-20251001", - ANTHROPIC_DEFAULT_SONNET_MODEL: "claude-sonnet-5", - ANTHROPIC_DEFAULT_OPUS_MODEL: "claude-opus-5", + ANTHROPIC_MODEL: "claude-opus-5-5", + ANTHROPIC_DEFAULT_HAIKU_MODEL: "claude-haiku-5-5", + ANTHROPIC_DEFAULT_SONNET_MODEL: "claude-sonnet-5-5", + ANTHROPIC_DEFAULT_OPUS_MODEL: "claude-opus-5-5", }, }, category: "aggregator", @@ -2859,10 +2859,10 @@ export const providerPresets: ProviderPreset[] = [ env: { ANTHROPIC_BASE_URL: "https://api.jiekou.ai/anthropic", ANTHROPIC_AUTH_TOKEN: "", - ANTHROPIC_MODEL: "claude-fable-5", - ANTHROPIC_DEFAULT_HAIKU_MODEL: "claude-fable-5", - ANTHROPIC_DEFAULT_SONNET_MODEL: "claude-fable-5", - ANTHROPIC_DEFAULT_OPUS_MODEL: "claude-fable-5", + ANTHROPIC_MODEL: "claude-fable-5-1", + ANTHROPIC_DEFAULT_HAIKU_MODEL: "claude-fable-5-1", + ANTHROPIC_DEFAULT_SONNET_MODEL: "claude-fable-5-1", + ANTHROPIC_DEFAULT_OPUS_MODEL: "claude-fable-5-1", }, }, category: "aggregator", @@ -2917,10 +2917,10 @@ export const providerPresets: ProviderPreset[] = [ // 官方文档(CC Switch 快速配置)指定 Claude Code 走 Anthropic 原生入口 ANTHROPIC_BASE_URL: "https://moark.com/anthropic", ANTHROPIC_AUTH_TOKEN: "", - ANTHROPIC_MODEL: "deepseek-v4-flash-0731[1M]", - ANTHROPIC_DEFAULT_HAIKU_MODEL: "deepseek-v4-flash-0731[1M]", - ANTHROPIC_DEFAULT_SONNET_MODEL: "deepseek-v4-flash-0731[1M]", - ANTHROPIC_DEFAULT_OPUS_MODEL: "deepseek-v4-flash-0731[1M]", + ANTHROPIC_MODEL: "deepseek-v4.1-flash[1M]", + ANTHROPIC_DEFAULT_HAIKU_MODEL: "deepseek-v4.1-flash[1M]", + ANTHROPIC_DEFAULT_SONNET_MODEL: "deepseek-v4.1-flash[1M]", + ANTHROPIC_DEFAULT_OPUS_MODEL: "deepseek-v4.1-flash[1M]", }, }, category: "aggregator", diff --git a/src/config/codexProviderPresets.ts b/src/config/codexProviderPresets.ts index 4f7dfd818..700fc2570 100644 --- a/src/config/codexProviderPresets.ts +++ b/src/config/codexProviderPresets.ts @@ -445,7 +445,7 @@ export const codexProviderPresets: CodexProviderPreset[] = [ config: generateThirdPartyConfig( "packycode", "https://www.packyapi.ai/v1", - "gpt-5.6-sol", + "gpt-6.1-sol", ), endpointCandidates: [ "https://www.packyapi.ai/v1", @@ -464,8 +464,8 @@ export const codexProviderPresets: CodexProviderPreset[] = [ category: "third_party", auth: generateThirdPartyAuth(""), config: `model_provider = "custom" -model = "gpt-5.6-sol" -review_model = "gpt-5.6-sol" +model = "gpt-6.1-sol" +review_model = "gpt-6.1-sol" model_reasoning_effort = "high" disable_response_storage = true @@ -488,7 +488,7 @@ requires_openai_auth = true`, config: generateThirdPartyConfig( "aicodemirror", "https://api.aicodemirror.ai/api/codex/backend-api/codex", - "gpt-5.6-sol", + "gpt-6.1-sol", ), endpointCandidates: [ "https://api.aicodemirror.ai/api/codex/backend-api/codex", @@ -507,7 +507,7 @@ requires_openai_auth = true`, config: generateThirdPartyConfig( "patewayai", "https://api.pateway.ai/v1", - "gpt-5.6-sol", + "gpt-6.1-sol", ), endpointCandidates: ["https://api.pateway.ai/v1"], isPartner: true, @@ -541,7 +541,7 @@ requires_openai_auth = true`, config: generateThirdPartyConfig( "fenno", "https://api.fenno.ai", - "gpt-5.6-sol", + "gpt-6.1-sol", ), endpointCandidates: ["https://api.fenno.ai"], isPartner: true, @@ -557,7 +557,7 @@ requires_openai_auth = true`, config: generateThirdPartyConfig( "runapi", "https://runapi.host/v1", - "gpt-5.6-sol", + "gpt-6.1-sol", ), endpointCandidates: ["https://runapi.host/v1", "https://runapi.co/v1"], isPartner: true, @@ -573,7 +573,7 @@ requires_openai_auth = true`, config: generateThirdPartyConfig( "openmodel", "https://api.openmodel.ai/v1", - "gpt-5.6-sol", + "gpt-6.1-sol", ), isPartner: true, partnerPromotionKey: "openmodel", @@ -588,7 +588,7 @@ requires_openai_auth = true`, config: generateThirdPartyConfig( "grooroute_pro", "https://grooroute.pro/v1", - "gpt-6-sol", + "gpt-6.1-sol", ), endpointCandidates: [ "https://grooroute.pro/v1", @@ -636,11 +636,12 @@ requires_openai_auth = true`, category: "aggregator", auth: generateThirdPartyAuth(""), // gpt-5.6-sol 支持 /v1/responses,令牌选 codex 或 default 分组 - // (gpt.ge/models/gpt-5.6-sol,2026-10-23) + // (gpt.ge/models/gpt-5.6-sol,2026-10-23);默认已上调 gpt-6.1-sol + // (2026-10-24 按官方阵容,站点目录需 Key 才可见,未实测) config: generateThirdPartyConfig( "vapi", "https://api.gpt.ge/v1", - "gpt-5.6-sol", + "gpt-6.1-sol", ), // 备用线路取自 gpt.ge/api/status 的 api_list(2026-10-23) endpointCandidates: [ @@ -730,7 +731,9 @@ requires_openai_auth = true`, // (文档给的完整端点 .../chat/completions),故 apiFormat=openai_chat 走 // 本地路由转换,与国内 Token Plan 预设同款。阵容与窗口按 FluxA 产品页模型表 // (glm-5.2 500k ≠ 国内版千帆平台 1M,国际 team 部署口径,勿按国内预设 - // "修正");标注 Coming soon 的 deepseek-v4-pro-0813 / glm-5.3 不收。 + // "修正");标注 Coming soon 的 deepseek-v4-pro-0813 不收; + // 2026-10-24 产品页已列 glm-5.3 / deepseek-v4.1-flash,新增为前置行(窗口取站点调研值, + // 未经 Key 实测),旧型号仍保留。 // Kimi K2.6 是定稿赞助文案点名的模型,FluxA 产品页模型表与百度国际站 // team 文档都没列它:id / 窗口取 FluxA baidu-ai-cloud 模型目录(categories // 只有 text)与国内 Token Plan 预设(262144)双重印证,非臆造。 @@ -757,6 +760,12 @@ requires_openai_auth = true`, contextWindow: 1048576, inputModalities: ["text"], }, + { + model: "deepseek-v4.1-flash", + displayName: "DeepSeek V4.1 Flash", + contextWindow: 1048576, + inputModalities: ["text"], + }, { model: "deepseek-v4-flash-0731", displayName: "DeepSeek V4 Flash 0731", @@ -775,6 +784,12 @@ requires_openai_auth = true`, contextWindow: 131072, inputModalities: ["text"], }, + { + model: "glm-5.3", + displayName: "GLM-5.3", + contextWindow: 1000000, + inputModalities: ["text"], + }, { model: "glm-5.2", displayName: "GLM-5.2", @@ -813,7 +828,7 @@ requires_openai_auth = true`, config: generateThirdPartyConfig( "aigocode", "https://api.aigocode.dev", - "gpt-5.6-sol", + "gpt-6.1-sol", ), endpointCandidates: [ "https://api.aigocode.dev", @@ -852,7 +867,7 @@ requires_openai_auth = true`, config: generateThirdPartyConfig( "aicoding", "https://api.aicoding.inc", - "gpt-5.6-sol", + "gpt-6.1-sol", ), endpointCandidates: ["https://api.aicoding.inc"], isPartner: true, @@ -869,7 +884,7 @@ requires_openai_auth = true`, config: generateThirdPartyConfig( "subrouter", "https://subrouter.ai/v1", - "gpt-5.6-sol", + "gpt-6.1-sol", ), endpointCandidates: ["https://subrouter.ai/v1"], isPartner: true, @@ -885,7 +900,7 @@ requires_openai_auth = true`, config: generateThirdPartyConfig( "shengsuanyun", "https://router.shengsuanyun.com/api/v1", - "openai/gpt-5.6-sol", + "openai/gpt-6.1-sol", ), category: "aggregator", isPartner: true, @@ -901,7 +916,7 @@ requires_openai_auth = true`, config: generateThirdPartyConfig( "88api", "https://api.88api.ai/v1", - "gpt-5.6-sol", + "gpt-6.1-sol", ), endpointCandidates: ["https://api.88api.ai/v1", "https://88api.ai/v1"], isPartner: true, @@ -915,8 +930,8 @@ requires_openai_auth = true`, category: "third_party", auth: generateThirdPartyAuth(""), config: `model_provider = "custom" -model = "gpt-5.6-sol" -review_model = "gpt-5.6-sol" +model = "gpt-6.1-sol" +review_model = "gpt-6.1-sol" model_reasoning_effort = "high" disable_response_storage = true @@ -944,7 +959,7 @@ requires_openai_auth = true`, config: generateThirdPartyConfig( "9527code", "https://9527.codes/v1", - "gpt-5.6-sol", + "gpt-6.1-sol", ), endpointCandidates: [ "https://9527.codes/v1", @@ -964,7 +979,7 @@ requires_openai_auth = true`, config: generateThirdPartyConfig( "code0", "https://code0.ai/v1", - "gpt-5.6-sol", + "gpt-6.1-sol", ), endpointCandidates: ["https://code0.ai/v1"], icon: "code0", @@ -979,7 +994,7 @@ requires_openai_auth = true`, config: generateThirdPartyConfig( "teamorouter", "https://api.teamorouter.cn/v1", - "gpt-5.6-sol", + "gpt-6.1-sol", ), endpointCandidates: [ "https://api.teamorouter.cn/v1", @@ -997,14 +1012,14 @@ requires_openai_auth = true`, config: generateThirdPartyConfig( "ppio", "https://api.ppio.com/openai/v1", - "deepseek/deepseek-v4-flash-0731", + "deepseek/deepseek-v4.1-flash", ), endpointCandidates: ["https://api.ppio.com/openai/v1"], apiFormat: "openai_chat", modelCatalog: modelCatalog([ { - model: "deepseek/deepseek-v4-flash-0731", - displayName: "Deepseek V4 Flash 0731", + model: "deepseek/deepseek-v4.1-flash", + displayName: "DeepSeek V4.1 Flash", contextWindow: 1048576, inputModalities: ["text"], }, @@ -1031,7 +1046,7 @@ requires_openai_auth = true`, config: generateThirdPartyConfig( "claudecn", "https://claudecn.top/v1", - "gpt-5.6-sol", + "gpt-6.1-sol", ), isPartner: true, partnerPromotionKey: "claudecn", @@ -1163,7 +1178,7 @@ requires_openai_auth = true`, config: generateThirdPartyConfig( "doubaoseed", "https://ark.cn-beijing.volces.com/api/v3", - "doubao-seed-2-1-pro-260628", + "doubao-seed-2-1-pro-260915", ), endpointCandidates: ["https://ark.cn-beijing.volces.com/api/v3"], // 火山方舟主数据面 /api/v3 原生支持 Responses API(/api/v3/responses),无需路由接管转换 @@ -1172,7 +1187,7 @@ requires_openai_auth = true`, // 让 Codex 直连显示模型并避免 custom 工具被网关拒绝 modelCatalog: modelCatalog([ { - model: "doubao-seed-2-1-pro-260628", + model: "doubao-seed-2-1-pro-260915", displayName: "Doubao Seed 2.1 Pro", contextWindow: 262144, // 方舟深度思考文档(82379/1449737)7 值枚举中本模型无限制的通用四档; @@ -1269,7 +1284,7 @@ requires_openai_auth = true`, config: generateThirdPartyConfig( "a6api", "https://api.a6api.com/v1", - "gpt-5.6-sol", + "gpt-6.1-sol", ), endpointCandidates: ["https://api.a6api.com/v1"], isPartner: true, @@ -1288,7 +1303,7 @@ requires_openai_auth = true`, config: generateThirdPartyConfig( "compshare", "https://api.modelverse.cn/v1", - "gpt-6-astra", + "gpt-6.1-sol", ), endpointCandidates: ["https://api.modelverse.cn/v1"], category: "aggregator", @@ -1309,7 +1324,7 @@ requires_openai_auth = true`, config: generateThirdPartyConfig( "compshare_coding", "https://cp.compshare.cn/v1", - "gpt-5.6-sol", + "gpt-6.1-sol", ), endpointCandidates: ["https://cp.compshare.cn/v1"], category: "aggregator", @@ -1342,7 +1357,7 @@ requires_openai_auth = true`, config: generateThirdPartyConfig( "sssaicode", "https://node-hk.sssaicodeapi.com/api/v1", - "gpt-5.6-sol", + "gpt-6.1-sol", ), endpointCandidates: [ "https://node-hk.sssaicodeapi.com/api/v1", @@ -1364,7 +1379,7 @@ requires_openai_auth = true`, config: generateThirdPartyConfig( "soleapi", "https://soleapi.com/v1", - "gpt-5.6-sol", + "gpt-6.1-sol", ), endpointCandidates: ["https://soleapi.com/v1"], isPartner: true, @@ -1379,7 +1394,7 @@ requires_openai_auth = true`, config: generateThirdPartyConfig( "micu", "https://www.micuapi.ai/v1", - "gpt-5.6-sol", + "gpt-6.1-sol", ), endpointCandidates: ["https://www.micuapi.ai/v1"], category: "third_party", @@ -1396,7 +1411,7 @@ requires_openai_auth = true`, config: generateThirdPartyConfig( "rightcode", "https://www.rightapi.ai/codex/v1", - "gpt-5.6-sol", + "gpt-6.1-sol", ), category: "third_party", isPartner: true, @@ -1412,7 +1427,7 @@ requires_openai_auth = true`, config: generateThirdPartyConfig( "cubence", "https://api.cubence.com/v1", - "gpt-5.6-sol", + "gpt-6.1-sol", ), endpointCandidates: [ "https://api.cubence.com/v1", @@ -1434,7 +1449,7 @@ requires_openai_auth = true`, config: generateThirdPartyConfig( "crazyrouter", "https://cn.crazyrouter.com/v1", - "gpt-5.6-sol", + "gpt-6.1-sol", ), endpointCandidates: ["https://cn.crazyrouter.com/v1"], isPartner: true, @@ -1450,7 +1465,7 @@ requires_openai_auth = true`, config: generateThirdPartyConfig( "dmxapi", "https://www.dmxapi.cn/v1", - "gpt-5.6-sol", + "gpt-6.1-sol", ), endpointCandidates: ["https://www.dmxapi.cn/v1"], isPartner: true, // 合作伙伴 @@ -1466,8 +1481,8 @@ requires_openai_auth = true`, category: "third_party", auth: generateThirdPartyAuth(""), config: `model_provider = "custom" -model = "gpt-5.6-sol" -review_model = "gpt-5.6-sol" +model = "gpt-6.1-sol" +review_model = "gpt-6.1-sol" model_reasoning_effort = "high" disable_response_storage = true @@ -1493,8 +1508,8 @@ requires_openai_auth = true`, category: "third_party", auth: generateThirdPartyAuth(""), config: `model_provider = "custom" -model = "gpt-5.6-sol" -review_model = "gpt-5.6-sol" +model = "gpt-6.1-sol" +review_model = "gpt-6.1-sol" model_reasoning_effort = "high" disable_response_storage = true model_verbosity = "high" @@ -1518,7 +1533,7 @@ requires_openai_auth = true`, config: generateThirdPartyConfig( "xycai", "https://apicdn.xycai.us/v1", - "gpt-5.6-sol", + "gpt-6.1-sol", ), endpointCandidates: [ "https://apicdn.xycai.us/v1", @@ -1536,11 +1551,12 @@ requires_openai_auth = true`, category: "aggregator", auth: generateThirdPartyAuth(""), // 官方 Codex 文档(docs.modelflare.dev/guides/clients/codex,2026-10-15 - // 核对):base 为 /v1、wire_api = "responses"、默认 gpt-5.6-sol + // 核对):base 为 /v1、wire_api = "responses"、默认 gpt-5.6-sol; + // 目录(modelflare.dev/api/pricing,2026-10-24)已有 gpt-6.1-sol,默认随之上调 config: generateThirdPartyConfig( "modelflare", "https://modelflare.dev/v1", - "gpt-5.6-sol", + "gpt-6.1-sol", ), endpointCandidates: [ "https://modelflare.dev/v1", @@ -1561,7 +1577,7 @@ requires_openai_auth = true`, config: generateThirdPartyConfig( "alltokens", "https://alltokens.cc/v1", - "gpt-5.6-sol", + "gpt-6.1-sol", ), isPartner: true, partnerPromotionKey: "alltokens", @@ -1579,7 +1595,7 @@ requires_openai_auth = true`, config: generateThirdPartyConfig( "alltokens_si", "https://alltokens.si/v1", - "gpt-5.6-sol", + "gpt-6.1-sol", ), isPartner: true, partnerPromotionKey: "alltokens_si", @@ -1596,7 +1612,7 @@ requires_openai_auth = true`, config: generateThirdPartyConfig( "tuzi", "https://api.tu-zi.com/v1", - "gpt-5.6-sol", + "gpt-6.1-sol", ), endpointCandidates: [ "https://api.tu-zi.com/v1", @@ -1615,7 +1631,7 @@ requires_openai_auth = true`, config: generateThirdPartyConfig( "amux", "https://api.amux.ai/v1", - "gpt-5.6-sol", + "gpt-6.1-sol", ), endpointCandidates: ["https://api.amux.ai/v1"], icon: "amux", @@ -1627,7 +1643,7 @@ requires_openai_auth = true`, category: "aggregator", auth: generateThirdPartyAuth(""), config: `model_provider = "custom" -model = "zai-org/glm-5.2" +model = "zai-org/glm-5.3" disable_response_storage = true [model_providers.custom] @@ -1638,11 +1654,11 @@ requires_openai_auth = true`, endpointCandidates: ["https://api.atlascloud.ai/v1"], apiFormat: "openai_chat", modelCatalog: modelCatalog([ - // Coding Plan 当前收录的最新 GLM 是 5.2(2026-09-10);按量目录的 - // 5.3 不在套餐内。窗口来自 https://api.atlascloud.ai/v1/models。 + // 2026-10-24 公开目录 https://api.atlascloud.ai/v1/models 已有 GLM-5.3, + // 默认由 5.2 上调(Coding Plan 是否同步收录 5.3 未经 Key 实测)。 { - model: "zai-org/glm-5.2", - displayName: "GLM 5.2", + model: "zai-org/glm-5.3", + displayName: "GLM 5.3", contextWindow: 1048576, inputModalities: ["text"], reasoningLevels: ["high"], @@ -1670,7 +1686,7 @@ requires_openai_auth = true`, config: generateThirdPartyConfig( "soshow", "https://maas.so-show.com/v1", - "gpt-5.6-sol", + "gpt-6.1-sol", ), icon: "soshow", }, @@ -2611,12 +2627,6 @@ requires_openai_auth = true`, contextWindow: 262144, reasoningLevels: ["none", "high"], }, - { - model: "minimax-m2.7", - displayName: "MiniMax M2.7", - contextWindow: 200000, - reasoningLevels: ["high"], - }, { model: "minimax-m3", displayName: "MiniMax M3", @@ -3383,26 +3393,6 @@ requires_openai_auth = true`, reasoningLevels: ["none", "low", "medium", "high"], defaultReasoningLevel: "low", }, - { - model: "mimo-v2.5-pro", - displayName: "MiMo V2.5 Pro", - contextWindow: 1048576, - inputModalities: ["text"], - supportsParallelToolCalls: false, - baseInstructions: MIMO_CODEX_BASE_INSTRUCTIONS, - reasoningLevels: ["none", "low", "medium", "high"], - defaultReasoningLevel: "low", - }, - { - model: "mimo-v2.5", - displayName: "MiMo V2.5", - contextWindow: 1048576, - inputModalities: ["text", "image"], - supportsParallelToolCalls: false, - baseInstructions: MIMO_CODEX_BASE_INSTRUCTIONS, - reasoningLevels: ["none", "low", "medium", "high"], - defaultReasoningLevel: "low", - }, ]), category: "cn_official", icon: "xiaomimimo", @@ -3447,26 +3437,6 @@ requires_openai_auth = true`, reasoningLevels: ["none", "low", "medium", "high"], defaultReasoningLevel: "low", }, - { - model: "mimo-v2.5-pro", - displayName: "MiMo V2.5 Pro", - contextWindow: 1048576, - inputModalities: ["text"], - supportsParallelToolCalls: false, - baseInstructions: MIMO_CODEX_BASE_INSTRUCTIONS, - reasoningLevels: ["none", "low", "medium", "high"], - defaultReasoningLevel: "low", - }, - { - model: "mimo-v2.5", - displayName: "MiMo V2.5", - contextWindow: 1048576, - inputModalities: ["text", "image"], - supportsParallelToolCalls: false, - baseInstructions: MIMO_CODEX_BASE_INSTRUCTIONS, - reasoningLevels: ["none", "low", "medium", "high"], - defaultReasoningLevel: "low", - }, ]), category: "cn_official", icon: "xiaomimimo", @@ -3516,15 +3486,24 @@ requires_openai_auth = true`, reasoningLevels: ["low", "high", "max"], defaultReasoningLevel: "high", }, - // V4.1 Flash 不支持 low(传了按默认档处理) + // V4.1 Flash 不支持 low(传了按默认档处理);1017 是 2026-10-17 的新版 + //(models.dev baseten,1M 窗口) { - model: "deepseek-ai/DeepSeek-V4.1-Flash", - displayName: "DeepSeek V4.1 Flash", + model: "deepseek-ai/DeepSeek-V4.1-Flash-1017", + displayName: "DeepSeek V4.1 Flash 1017", contextWindow: 1048576, inputModalities: ["text", "image"], reasoningLevels: ["none", "high", "max"], defaultReasoningLevel: "high", }, + { + model: "zai-org/GLM-5.3-Fast", + displayName: "GLM-5.3 Fast", + contextWindow: 1048576, + inputModalities: ["text", "image"], + reasoningLevels: ["low", "high", "max"], + defaultReasoningLevel: "high", + }, ]), // 思考开关是嵌套的 chat_template_args.enable_thinking,与顶层 // enable_thinking 对不上,不声明开关;effort 按 OpenAPI 枚举 @@ -3657,31 +3636,20 @@ requires_openai_auth = true`, config: generateThirdPartyConfig( "nvidia", "https://integrate.api.nvidia.com/v1", - "moonshotai/kimi-k3", + "moonshotai/kimi-k2.6", ), endpointCandidates: ["https://integrate.api.nvidia.com/v1"], apiFormat: "openai_chat", modelCatalog: modelCatalog([ { - model: "moonshotai/kimi-k3", - displayName: "Kimi K3", - contextWindow: 1048576, + // NIM 上 moonshotai/kimi-k3 已于 2026-10-15 下线(410),K2.6 是现存唯一 Kimi; + // K2.6 在 NIM 的思考参数未实测,档位与 codexChatReasoning 先不声明 + model: "moonshotai/kimi-k2.6", + displayName: "Kimi K2.6", + contextWindow: 262144, inputModalities: ["text", "image"], - reasoningLevels: ["low", "high", "max"], - defaultReasoningLevel: "high", }, ]), - // NIM K3 始终思考,只接受 reasoning_effort: low/high/max,无 thinking: - // https://docs.api.nvidia.com/nim/re/reference/moonshotai-kimi-k3-infer - // API 未传 effort 时默认 max;此预设显式 high,与 config.toml 保持一致。 - codexChatReasoning: { - supportsThinking: false, - supportsEffort: true, - thinkingParam: "none", - effortParam: "reasoning_effort", - effortValueMode: "passthrough", - outputFormat: "reasoning_content", - }, category: "aggregator", icon: "nvidia", iconColor: "#000000", @@ -3998,7 +3966,7 @@ requires_openai_auth = true`, config: generateThirdPartyConfig( "deepinfra", "https://api.deepinfra.com/v1", - "deepseek-ai/DeepSeek-V4-Flash-0731", + "deepseek-ai/DeepSeek-V4.1-Flash-1017", ), endpointCandidates: ["https://api.deepinfra.com/v1"], // 文档列了 function / web_search / namespace 工具,没写 custom 工具: @@ -4007,14 +3975,14 @@ requires_openai_auth = true`, apiFormat: "openai_responses", // 平台没有逐模型档位声明(docs.deepinfra.com/chat/reasoning.md 只给通用 // 枚举),退回厂商官方档位:DeepSeek 同 DeepSeek 直连预设,Kimi K3、 - // GLM-5.3 同各自官方预设,均为 low/high/max。GLM-5.2 档位口径不一,暂不 - // 填。每档都含 high,与 config 的 model_reasoning_effort = "high" 一致, + // GLM-5.3 同各自官方预设,均为 low/high/max。GLM-5.2 已于 2026-10-24 从目录移除 + // (公开 /v1/openai/models 已有 GLM-5.3)。每档都含 high,与 config 的 model_reasoning_effort = "high" 一致, // 无需 defaultReasoningLevel。窗口取 https://api.deepinfra.com/models/ // 同日元数据。首行 = 默认模型,须与 config 的 model 一致 modelCatalog: modelCatalog([ { - model: "deepseek-ai/DeepSeek-V4-Flash-0731", - displayName: "DeepSeek V4 Flash 0731", + model: "deepseek-ai/DeepSeek-V4.1-Flash-1017", + displayName: "DeepSeek V4.1 Flash 1017", contextWindow: 1048576, inputModalities: ["text"], reasoningLevels: ["low", "high", "max"], @@ -4041,10 +4009,11 @@ requires_openai_auth = true`, reasoningLevels: ["low", "high", "max"], }, { - model: "zai-org/GLM-5.2", - displayName: "GLM-5.2", + model: "zai-org/GLM-5.3-Flash", + displayName: "GLM-5.3 Flash", contextWindow: 1048576, - inputModalities: ["text"], + inputModalities: ["text", "image"], + reasoningLevels: ["low", "high", "max"], }, ]), category: "aggregator", @@ -4183,6 +4152,20 @@ requires_openai_auth = true`, inputModalities: ["text"], reasoningLevels: ["high"], }, + { + model: "deepseek-ai/DeepSeek-V4.1-Flash", + displayName: "DeepSeek V4.1 Flash", + contextWindow: 1048000, + inputModalities: ["text", "image"], + reasoningLevels: ["high"], + }, + { + model: "MiniMaxAI/MiniMax-M3.1-Flash", + displayName: "MiniMax M3.1 Flash", + contextWindow: 1049000, + inputModalities: ["text"], + reasoningLevels: ["high"], + }, ]), category: "aggregator", icon: "nebius", @@ -4394,6 +4377,13 @@ requires_openai_auth = true`, inputModalities: ["text"], reasoningLevels: ["high"], }, + { + model: "deepseek-ai/DeepSeek-V4.1-Flash-1017:baseten", + displayName: "DeepSeek V4.1 Flash 1017 (Baseten)", + contextWindow: 1048576, + inputModalities: ["text"], + reasoningLevels: ["high"], + }, ]), // 平台不按模型声明思考开关与 effort 语义:照 Novita,不下发推理控制参数 codexChatReasoning: { @@ -4585,8 +4575,8 @@ requires_openai_auth = true`, defaultReasoningLevel: "high", }, { - model: "kimi-k3", - displayName: "Kimi K3", + model: "kimi-k3.1-pro", + displayName: "Kimi K3.1 Pro", contextWindow: 1048576, inputModalities: ["text", "image"], reasoningLevels: ["max"], @@ -4598,14 +4588,14 @@ requires_openai_auth = true`, reasoningLevels: ["high", "max"], }, { - model: "deepseek-v4-flash", - displayName: "DeepSeek V4 Flash", + model: "deepseek-v4.1-flash", + displayName: "DeepSeek V4.1 Flash", contextWindow: 1048576, reasoningLevels: ["low", "high", "max"], }, { - model: "mimo-v2.5-pro", - displayName: "MiMo V2.5 Pro", + model: "mimo-v2.6-pro", + displayName: "MiMo V2.6 Pro", contextWindow: 1048576, }, ]), @@ -4642,7 +4632,7 @@ requires_openai_auth = true`, config: generateThirdPartyConfig( "aihubmix", "https://aihubmix.com/v1", - "gpt-5.6-sol", + "gpt-6.1-sol", ), endpointCandidates: [ "https://aihubmix.com/v1", @@ -4659,7 +4649,7 @@ requires_openai_auth = true`, config: generateThirdPartyConfig( "cherryin", "https://open.cherryin.net/v1", - "openai/gpt-5.6-sol", + "openai/gpt-6.1-sol", ), endpointCandidates: ["https://open.cherryin.net/v1"], category: "aggregator", @@ -4674,7 +4664,7 @@ requires_openai_auth = true`, config: generateThirdPartyConfig( "relaxycode", "https://www.relaxycode.com/v1", - "gpt-5.6-sol", + "gpt-6-astra", ), icon: "relaxcode", }, @@ -4686,7 +4676,7 @@ requires_openai_auth = true`, OPENAI_API_KEY: "", }, config: `model_provider = "custom" -model = "gpt-5.6-sol" +model = "gpt-6.1-sol" model_reasoning_effort = "high" disable_response_storage = true @@ -4710,7 +4700,7 @@ model_auto_compact_token_limit = 9000000`, OPENAI_API_KEY: "", }, config: `model_provider = "custom" -model = "gpt-5.6-sol" +model = "gpt-6.1-sol" model_reasoning_effort = "medium" disable_response_storage = true @@ -4731,7 +4721,7 @@ base_url = "https://cc-api.pipellm.ai/v1"`, config: generateThirdPartyConfig( "openrouter", "https://openrouter.ai/api/v1", - "gpt-5.6-sol", + "openai/gpt-6.1-sol", ), category: "aggregator", icon: "openrouter", @@ -4745,7 +4735,7 @@ base_url = "https://cc-api.pipellm.ai/v1"`, config: generateThirdPartyConfig( "therouter", "https://api.therouter.ai/v1", - "openai/gpt-5.3-codex", + "openai/gpt-6.1-sol", ), endpointCandidates: ["https://api.therouter.ai/v1"], category: "aggregator", @@ -4759,14 +4749,14 @@ base_url = "https://cc-api.pipellm.ai/v1"`, config: generateThirdPartyConfig( "jiekou", "https://api.jiekou.ai/openai/v1", - "claude-fable-5", + "claude-fable-5-1", ), endpointCandidates: ["https://api.jiekou.ai/openai/v1"], apiFormat: "openai_chat", modelCatalog: modelCatalog([ { - model: "claude-fable-5", - displayName: "Claude Fable 5", + model: "claude-fable-5-1", + displayName: "Claude Fable 5.1", contextWindow: 1000000, inputModalities: ["text", "image"], }, @@ -4784,7 +4774,7 @@ base_url = "https://cc-api.pipellm.ai/v1"`, config: generateThirdPartyConfig( "aicodewith", "https://api.aicodewith.ai/v1", - "gpt-5.6-sol", + "gpt-6.1-sol", ), endpointCandidates: ["https://api.aicodewith.ai/v1"], category: "aggregator", @@ -4822,6 +4812,16 @@ base_url = "https://cc-api.pipellm.ai/v1"`, displayName: "Qwen 3.8 Flash", contextWindow: 1000000, }, + { + model: "moonshotai/Kimi-K3.1-Pro", + displayName: "Kimi K3.1 Pro", + contextWindow: 1048576, + }, + { + model: "zai-org/GLM-5.3", + displayName: "GLM-5.3", + contextWindow: 1000000, + }, ]), category: "third_party", icon: "commandcode", @@ -4835,7 +4835,7 @@ base_url = "https://cc-api.pipellm.ai/v1"`, config: generateThirdPartyConfig( "moark", "https://moark.com/v1", - "deepseek-v4-flash-0731", + "deepseek-v4.1-flash", ), endpointCandidates: ["https://moark.com/v1"], // 显式写出协议,让预设自身信息完整、不必依赖表单推导:表单在预设缺少 @@ -4864,16 +4864,20 @@ base_url = "https://cc-api.pipellm.ai/v1"`, // qwen3-coder-plus 只有单档 none,默认随之回落 none。 // 首行 = 默认模型,须与 config 的 model 一致。 modelCatalog: modelCatalog([ + // 2026-10-24 公开目录(ai.gitee.com/v1/models)起:flash 换 V4.1、Pro 用带 + // 日期的 0813、qwen3-coder-plus 已不在目录。kimi-k3.1-pro / qwen3.8-max 的档位 + // 平台未自证,官方档位又与 model_reasoning_effort = "high" 不兼容,先不进 Codex + // 目录,Kimi 保留仍在目录、档位已实测的 K2.7 Code;flash 沿用 DeepSeek 官方 low/high/max { - model: "deepseek-v4-flash-0731", - displayName: "DeepSeek V4 Flash", + model: "deepseek-v4.1-flash", + displayName: "DeepSeek V4.1 Flash", contextWindow: 1000000, inputModalities: ["text"], reasoningLevels: ["low", "high", "max"], }, { - model: "DeepSeek-V4-Pro", - displayName: "DeepSeek V4 Pro", + model: "DeepSeek-V4-Pro-0813", + displayName: "DeepSeek V4 Pro 0813", contextWindow: 1000000, inputModalities: ["text"], // MoArk 400 明文:'low', 'medium', 'high', 'xhigh', 'max' @@ -4887,6 +4891,14 @@ base_url = "https://cc-api.pipellm.ai/v1"`, // MoArk 400 明文:none or low or medium or high or xhigh or max reasoningLevels: ["none", "low", "medium", "high", "xhigh", "max"], }, + { + model: "GLM-5.3-Flash", + displayName: "GLM-5.3 Flash", + contextWindow: 1000000, + inputModalities: ["text", "image"], + // 平台未自证,退回智谱官方 Codex 目录的 low/high/max + reasoningLevels: ["low", "high", "max"], + }, { model: "Kimi-K2.7-Code", displayName: "Kimi K2.7 Code", @@ -4895,19 +4907,6 @@ base_url = "https://cc-api.pipellm.ai/v1"`, // MoArk 400 明文:'none', 'minimal', 'low', 'medium', 'high', 'xhigh' reasoningLevels: ["none", "minimal", "low", "medium", "high", "xhigh"], }, - { - model: "qwen3-coder-plus", - displayName: "Qwen3 Coder Plus", - contextWindow: 1000000, - inputModalities: ["text"], - // 实测 effort 完全不生效(none 与 ultra 的 reasoning_tokens 同为 0)。 - // 不能留空:留空等于沿用原生模板的 none/high 两档、默认 high,Codex 仍会 - // 给出一个不改变任何行为的"关闭/开启思考"选择器。声明单档 none 让 - // apply_codex_reasoning_level_override 生成单档、默认回落 none;Codex 在 - // 只有一个普通档位时直接应用、不显示选择界面。(空数组同样走保留模板的 - // 早退分支,解决不了。) - reasoningLevels: ["none"], - }, ]), category: "aggregator", icon: "moark", @@ -4923,7 +4922,7 @@ base_url = "https://cc-api.pipellm.ai/v1"`, config: generateThirdPartyConfig( "soruxgpt", "https://ai.soruxgpt.com/v1", - "gpt-5.6-sol", + "gpt-6.1-sol", ), endpointCandidates: [ "https://ai.soruxgpt.com/v1", @@ -4944,7 +4943,7 @@ base_url = "https://cc-api.pipellm.ai/v1"`, config: generateThirdPartyConfig( "soruxgpt_coding", "https://app.soruxgpt.com/api/codex", - "gpt-5.6-sol", + "gpt-6.1-sol", ), endpointCandidates: [ "https://app.soruxgpt.com/api/codex", @@ -4962,7 +4961,7 @@ base_url = "https://cc-api.pipellm.ai/v1"`, config: generateThirdPartyConfig( "ikuncode", "https://api.ikuncode.ai/v1", - "gpt-5.6-sol", + "gpt-6.1-sol", ), endpointCandidates: [ "https://api.ikuncode.ai/v1", @@ -4979,7 +4978,7 @@ base_url = "https://cc-api.pipellm.ai/v1"`, config: generateThirdPartyConfig( "runtoken", "https://www.runtoken.ai/v1", - "gpt-5.6-sol", + "gpt-6.1-sol", ), endpointCandidates: [ "https://www.runtoken.ai/v1", @@ -4996,7 +4995,7 @@ base_url = "https://cc-api.pipellm.ai/v1"`, config: generateThirdPartyConfig( "botcf", "https://botcf.com/v1", - "gpt-5.6-sol", + "gpt-6.1-sol", ), icon: "botcf", }, @@ -5010,7 +5009,7 @@ base_url = "https://cc-api.pipellm.ai/v1"`, config: generateThirdPartyConfig( "yylx", "https://app.yylx.io/v1", - "gpt-5.6-sol", + "gpt-6.1-sol", ), endpointCandidates: [ "https://app.yylx.io/v1", @@ -5028,7 +5027,7 @@ base_url = "https://cc-api.pipellm.ai/v1"`, config: generateThirdPartyConfig( "tokenflux", "https://tokenflux.dev/v1", - "gpt-5.6-sol", + "gpt-6.1-sol", ), icon: "tokenflux", }, @@ -5041,7 +5040,7 @@ base_url = "https://cc-api.pipellm.ai/v1"`, config: generateThirdPartyConfig( "nekocode", "https://nekoapi.ai/v1", - "gpt-5.6-sol", + "gpt-6.1-sol", ), icon: "nekocode", }, @@ -5054,7 +5053,7 @@ base_url = "https://cc-api.pipellm.ai/v1"`, config: generateThirdPartyConfig( "aicoming", "https://api.aicoming.top/v1", - "gpt-5.6-sol", + "gpt-6.1-sol", ), icon: "aicoming", }, diff --git a/src/config/geminiProviderPresets.ts b/src/config/geminiProviderPresets.ts index eb07196cd..185f0aa5d 100644 --- a/src/config/geminiProviderPresets.ts +++ b/src/config/geminiProviderPresets.ts @@ -60,11 +60,11 @@ export const geminiProviderPresets: GeminiProviderPreset[] = [ settingsConfig: { env: { GOOGLE_GEMINI_BASE_URL: "https://www.packyapi.ai", - GEMINI_MODEL: "gemini-3.6-flash", + GEMINI_MODEL: "gemini-3.8-flash", }, }, baseURL: "https://www.packyapi.ai", - model: "gemini-3.6-flash", + model: "gemini-3.8-flash", description: "PackyCode", category: "third_party", isPartner: true, @@ -85,11 +85,11 @@ export const geminiProviderPresets: GeminiProviderPreset[] = [ env: { GOOGLE_GEMINI_BASE_URL: "https://apinebula.ai", GEMINI_API_KEY: "", - GEMINI_MODEL: "gemini-3.6-flash", + GEMINI_MODEL: "gemini-3.8-flash", }, }, baseURL: "https://apinebula.ai", - model: "gemini-3.6-flash", + model: "gemini-3.8-flash", description: "APINebula", category: "third_party", isPartner: true, @@ -104,11 +104,11 @@ export const geminiProviderPresets: GeminiProviderPreset[] = [ settingsConfig: { env: { GOOGLE_GEMINI_BASE_URL: "https://api.aicodemirror.ai/api/gemini", - GEMINI_MODEL: "gemini-3.6-flash", + GEMINI_MODEL: "gemini-3.8-flash", }, }, baseURL: "https://api.aicodemirror.ai/api/gemini", - model: "gemini-3.6-flash", + model: "gemini-3.8-flash", description: "AICodeMirror", category: "third_party", isPartner: true, @@ -124,11 +124,11 @@ export const geminiProviderPresets: GeminiProviderPreset[] = [ settingsConfig: { env: { GOOGLE_GEMINI_BASE_URL: "https://api.openmodel.ai", - GEMINI_MODEL: "gemini-3.1-pro-preview", + GEMINI_MODEL: "gemini-4-argon", }, }, baseURL: "https://api.openmodel.ai", - model: "gemini-3.1-pro-preview", + model: "gemini-4-argon", description: "OpenModel", category: "aggregator", isPartner: true, @@ -193,11 +193,11 @@ export const geminiProviderPresets: GeminiProviderPreset[] = [ settingsConfig: { env: { GOOGLE_GEMINI_BASE_URL: "https://router.shengsuanyun.com/api", - GEMINI_MODEL: "google/gemini-3.6-flash", + GEMINI_MODEL: "google/gemini-3.8-flash", }, }, baseURL: "https://router.shengsuanyun.com/api", - model: "google/gemini-3.6-flash", + model: "google/gemini-3.8-flash", description: "Shengsuanyun", category: "aggregator", isPartner: true, @@ -211,11 +211,11 @@ export const geminiProviderPresets: GeminiProviderPreset[] = [ settingsConfig: { env: { GOOGLE_GEMINI_BASE_URL: "https://api.aigocode.dev", - GEMINI_MODEL: "gemini-3.6-flash", + GEMINI_MODEL: "gemini-3.8-flash", }, }, baseURL: "https://api.aigocode.dev", - model: "gemini-3.6-flash", + model: "gemini-3.8-flash", description: "AIGoCode", category: "third_party", isPartner: true, @@ -235,11 +235,11 @@ export const geminiProviderPresets: GeminiProviderPreset[] = [ settingsConfig: { env: { GOOGLE_GEMINI_BASE_URL: "https://api.qnaigc.com/bypass/vertex", - GEMINI_MODEL: "gemini-3.6-flash", + GEMINI_MODEL: "gemini-3.8-flash", }, }, baseURL: "https://api.qnaigc.com/bypass/vertex", - model: "gemini-3.6-flash", + model: "gemini-3.8-flash", description: "Qiniu", category: "aggregator", isPartner: true, @@ -257,11 +257,11 @@ export const geminiProviderPresets: GeminiProviderPreset[] = [ settingsConfig: { env: { GOOGLE_GEMINI_BASE_URL: "https://api.aicoding.inc", - GEMINI_MODEL: "gemini-3.6-flash", + GEMINI_MODEL: "gemini-3.8-flash", }, }, baseURL: "https://api.aicoding.inc", - model: "gemini-3.6-flash", + model: "gemini-3.8-flash", description: "AICoding", category: "third_party", isPartner: true, @@ -277,11 +277,11 @@ export const geminiProviderPresets: GeminiProviderPreset[] = [ settingsConfig: { env: { GOOGLE_GEMINI_BASE_URL: "https://subrouter.ai/v1beta", - GEMINI_MODEL: "gemini-3.6-flash", + GEMINI_MODEL: "gemini-3.8-flash", }, }, baseURL: "https://subrouter.ai/v1beta", - model: "gemini-3.6-flash", + model: "gemini-3.8-flash", description: "SubRouter", category: "aggregator", isPartner: true, @@ -317,11 +317,11 @@ export const geminiProviderPresets: GeminiProviderPreset[] = [ env: { GOOGLE_GEMINI_BASE_URL: "https://api.apikey.fan", GEMINI_API_KEY: "", - GEMINI_MODEL: "gemini-3.6-flash", + GEMINI_MODEL: "gemini-3.8-flash", }, }, baseURL: "https://api.apikey.fan", - model: "gemini-3.6-flash", + model: "gemini-3.8-flash", description: "APIKEY.FUN", category: "third_party", isPartner: true, @@ -341,11 +341,11 @@ export const geminiProviderPresets: GeminiProviderPreset[] = [ env: { GOOGLE_GEMINI_BASE_URL: "https://9527.codes", GEMINI_API_KEY: "", - GEMINI_MODEL: "gemini-3.6-flash", + GEMINI_MODEL: "gemini-3.8-flash", }, }, baseURL: "https://9527.codes", - model: "gemini-3.6-flash", + model: "gemini-3.8-flash", description: "9527CODE", category: "aggregator", isPartner: true, @@ -364,11 +364,11 @@ export const geminiProviderPresets: GeminiProviderPreset[] = [ settingsConfig: { env: { GOOGLE_GEMINI_BASE_URL: "https://code0.ai", - GEMINI_MODEL: "gemini-3.6-flash", + GEMINI_MODEL: "gemini-3.8-flash", }, }, baseURL: "https://code0.ai", - model: "gemini-3.6-flash", + model: "gemini-3.8-flash", description: "Code0", category: "aggregator", icon: "code0", @@ -380,11 +380,11 @@ export const geminiProviderPresets: GeminiProviderPreset[] = [ settingsConfig: { env: { GOOGLE_GEMINI_BASE_URL: "https://api.a6api.com", - GEMINI_MODEL: "gemini-3.6-flash", + GEMINI_MODEL: "gemini-3.8-flash", }, }, baseURL: "https://api.a6api.com", - model: "gemini-3.6-flash", + model: "gemini-3.8-flash", description: "A6API", category: "aggregator", isPartner: true, @@ -398,11 +398,11 @@ export const geminiProviderPresets: GeminiProviderPreset[] = [ settingsConfig: { env: { GOOGLE_GEMINI_BASE_URL: "https://node-hk.sssaicodeapi.com/api", - GEMINI_MODEL: "gemini-3.6-flash", + GEMINI_MODEL: "gemini-3.8-flash", }, }, baseURL: "https://node-hk.sssaicodeapi.com/api", - model: "gemini-3.6-flash", + model: "gemini-3.8-flash", description: "SSSAiCode", category: "third_party", isPartner: true, @@ -442,11 +442,11 @@ export const geminiProviderPresets: GeminiProviderPreset[] = [ settingsConfig: { env: { GOOGLE_GEMINI_BASE_URL: "https://api.cubence.com", - GEMINI_MODEL: "gemini-3.6-flash", + GEMINI_MODEL: "gemini-3.8-flash", }, }, baseURL: "https://api.cubence.com", - model: "gemini-3.6-flash", + model: "gemini-3.8-flash", description: "Cubence", category: "third_party", isPartner: true, @@ -467,11 +467,11 @@ export const geminiProviderPresets: GeminiProviderPreset[] = [ settingsConfig: { env: { GOOGLE_GEMINI_BASE_URL: "https://cn.crazyrouter.com", - GEMINI_MODEL: "gemini-3.6-flash", + GEMINI_MODEL: "gemini-3.8-flash", }, }, baseURL: "https://cn.crazyrouter.com", - model: "gemini-3.6-flash", + model: "gemini-3.8-flash", description: "CrazyRouter", category: "third_party", isPartner: true, @@ -488,11 +488,11 @@ export const geminiProviderPresets: GeminiProviderPreset[] = [ env: { GOOGLE_GEMINI_BASE_URL: "https://sudocode.us", GEMINI_API_KEY: "", - GEMINI_MODEL: "gemini-3.1-flash-lite", + GEMINI_MODEL: "gemini-3.8-flash", }, }, baseURL: "https://sudocode.us", - model: "gemini-3.1-flash-lite", + model: "gemini-3.8-flash", description: "SudoCode.us", category: "third_party", isPartner: true, @@ -507,11 +507,11 @@ export const geminiProviderPresets: GeminiProviderPreset[] = [ env: { GOOGLE_GEMINI_BASE_URL: "https://apicdn.xycai.us", GEMINI_API_KEY: "", - GEMINI_MODEL: "gemini-3.6-flash", + GEMINI_MODEL: "gemini-3.8-flash", }, }, baseURL: "https://apicdn.xycai.us", - model: "gemini-3.6-flash", + model: "gemini-3.8-flash", description: "XycAi", category: "aggregator", isPartner: true, @@ -531,11 +531,11 @@ export const geminiProviderPresets: GeminiProviderPreset[] = [ env: { GOOGLE_GEMINI_BASE_URL: "https://modelflare.dev", GEMINI_API_KEY: "", - GEMINI_MODEL: "gemini-3.6-flash", + GEMINI_MODEL: "gemini-3.8-flash", }, }, baseURL: "https://modelflare.dev", - model: "gemini-3.6-flash", + model: "gemini-3.8-flash", description: "Modelflare", category: "aggregator", isPartner: true, @@ -619,7 +619,7 @@ export const geminiProviderPresets: GeminiProviderPreset[] = [ env: { GOOGLE_GEMINI_BASE_URL: "https://e-flowcode.cc", GEMINI_API_KEY: "", - GEMINI_MODEL: "gemini-3.6-flash", + GEMINI_MODEL: "gemini-3.8-flash", }, config: { general: { @@ -639,7 +639,7 @@ export const geminiProviderPresets: GeminiProviderPreset[] = [ }, }, baseURL: "https://e-flowcode.cc", - model: "gemini-3.6-flash", + model: "gemini-3.8-flash", description: "E-FlowCode", category: "third_party", endpointCandidates: ["https://e-flowcode.cc"], @@ -654,11 +654,11 @@ export const geminiProviderPresets: GeminiProviderPreset[] = [ env: { GOOGLE_GEMINI_BASE_URL: "https://open.cherryin.net", GEMINI_API_KEY: "", - GEMINI_MODEL: "google/gemini-3.6-flash", + GEMINI_MODEL: "google/gemini-3.8-flash", }, }, baseURL: "https://open.cherryin.net", - model: "google/gemini-3.6-flash", + model: "google/gemini-3.8-flash", description: "CherryIN", category: "aggregator", endpointCandidates: ["https://open.cherryin.net"], @@ -671,11 +671,11 @@ export const geminiProviderPresets: GeminiProviderPreset[] = [ settingsConfig: { env: { GOOGLE_GEMINI_BASE_URL: "https://openrouter.ai/api", - GEMINI_MODEL: "gemini-3.6-flash", + GEMINI_MODEL: "gemini-3.8-flash", }, }, baseURL: "https://openrouter.ai/api", - model: "gemini-3.6-flash", + model: "gemini-3.8-flash", description: "OpenRouter", category: "aggregator", icon: "openrouter", @@ -688,11 +688,11 @@ export const geminiProviderPresets: GeminiProviderPreset[] = [ settingsConfig: { env: { GOOGLE_GEMINI_BASE_URL: "https://api.therouter.ai", - GEMINI_MODEL: "gemini-3.6-flash", + GEMINI_MODEL: "gemini-3.8-flash", }, }, baseURL: "https://api.therouter.ai", - model: "gemini-3.6-flash", + model: "gemini-3.8-flash", description: "TheRouter", category: "aggregator", endpointCandidates: ["https://api.therouter.ai"], @@ -705,11 +705,11 @@ export const geminiProviderPresets: GeminiProviderPreset[] = [ settingsConfig: { env: { GOOGLE_GEMINI_BASE_URL: "https://api.aicodewith.ai/gemini_cli", - GEMINI_MODEL: "gemini-3.1-pro-preview", + GEMINI_MODEL: "gemini-4-argon", }, }, baseURL: "https://api.aicodewith.ai/gemini_cli", - model: "gemini-3.1-pro-preview", + model: "gemini-4-argon", description: "AICodeWith", category: "aggregator", endpointCandidates: ["https://api.aicodewith.ai/gemini_cli"], @@ -723,11 +723,11 @@ export const geminiProviderPresets: GeminiProviderPreset[] = [ settingsConfig: { env: { GOOGLE_GEMINI_BASE_URL: "https://ai.soruxgpt.com", - GEMINI_MODEL: "gemini-3.1-pro-preview", + GEMINI_MODEL: "gemini-4-argon", }, }, baseURL: "https://ai.soruxgpt.com", - model: "gemini-3.1-pro-preview", + model: "gemini-4-argon", description: "SoruxGPT", category: "aggregator", endpointCandidates: [ @@ -746,11 +746,11 @@ export const geminiProviderPresets: GeminiProviderPreset[] = [ settingsConfig: { env: { GOOGLE_GEMINI_BASE_URL: "https://api.ikuncode.ai", - GEMINI_MODEL: "gemini-3.1-pro-preview", + GEMINI_MODEL: "gemini-4-argon", }, }, baseURL: "https://api.ikuncode.ai", - model: "gemini-3.1-pro-preview", + model: "gemini-4-argon", description: "IKunCode", category: "aggregator", endpointCandidates: ["https://api.ikuncode.ai", "https://api.ikuncode.cc"], @@ -763,11 +763,11 @@ export const geminiProviderPresets: GeminiProviderPreset[] = [ settingsConfig: { env: { GOOGLE_GEMINI_BASE_URL: "https://www.runtoken.ai", - GEMINI_MODEL: "gemini-3.1-pro-preview", + GEMINI_MODEL: "gemini-4-argon", }, }, baseURL: "https://www.runtoken.ai", - model: "gemini-3.1-pro-preview", + model: "gemini-4-argon", description: "RunToken", category: "aggregator", endpointCandidates: ["https://www.runtoken.ai", "https://fast.runtoken.ai"], @@ -781,11 +781,11 @@ export const geminiProviderPresets: GeminiProviderPreset[] = [ settingsConfig: { env: { GOOGLE_GEMINI_BASE_URL: "https://app.yylx.io", - GEMINI_MODEL: "gemini-3.1-pro-preview", + GEMINI_MODEL: "gemini-3.8-flash", }, }, baseURL: "https://app.yylx.io", - model: "gemini-3.1-pro-preview", + model: "gemini-3.8-flash", description: "YYLX", category: "aggregator", endpointCandidates: [ @@ -802,11 +802,11 @@ export const geminiProviderPresets: GeminiProviderPreset[] = [ settingsConfig: { env: { GOOGLE_GEMINI_BASE_URL: "https://tokenflux.dev", - GEMINI_MODEL: "gemini-3.1-pro", + GEMINI_MODEL: "gemini-3.8-flash", }, }, baseURL: "https://tokenflux.dev", - model: "gemini-3.1-pro", + model: "gemini-3.8-flash", description: "TokenFlux", category: "aggregator", icon: "tokenflux", @@ -818,11 +818,11 @@ export const geminiProviderPresets: GeminiProviderPreset[] = [ settingsConfig: { env: { GOOGLE_GEMINI_BASE_URL: "https://api.aicoming.top", - GEMINI_MODEL: "gemini-3.1-pro-preview", + GEMINI_MODEL: "gemini-4-argon", }, }, baseURL: "https://api.aicoming.top", - model: "gemini-3.1-pro-preview", + model: "gemini-4-argon", description: "AIComing", category: "aggregator", icon: "aicoming", diff --git a/src/config/grokBuildProviderPresets.ts b/src/config/grokBuildProviderPresets.ts index 7ac379545..1486890d7 100644 --- a/src/config/grokBuildProviderPresets.ts +++ b/src/config/grokBuildProviderPresets.ts @@ -15,7 +15,7 @@ * - OpenCode Go 上游自 2026-08 起已提供 grok-4.5,但暂仍不收录: * 订阅制网关是否纳入 Grok 预设属产品决策,收录前需单独评估。 * - 只收聚合站与第三方中转站,默认模型统一为 grok-4.5; - * OpenRouter 系命名空间的路由站用 "x-ai/grok-4.5"。 + * OpenRouter 系命名空间的路由站用 "x-ai/grok-4.7"。 * * config 字段沿用 Codex 风格 TOML 作为载体:Grok 表单只从中提取 * base_url / model / wire_api 三个字段(extractCodex* 工具),再重建 @@ -58,7 +58,7 @@ export const grokBuildOfficialPreset: GrokBuildProviderPreset = { }; /** OpenRouter 系命名空间路由站的 Grok 模型 id */ -const OPENROUTER_STYLE_GROK_MODEL = "x-ai/grok-4.5"; +const OPENROUTER_STYLE_GROK_MODEL = "x-ai/grok-4.7"; const grokAuth = (): Record => ({ OPENAI_API_KEY: "" }); @@ -663,7 +663,7 @@ export const grokBuildProviderPresets: GrokBuildProviderPreset[] = [ websiteUrl: "https://x.ai/api", apiKeyUrl: "https://console.x.ai", auth: grokAuth(), - config: grokPresetConfig("xAI (Grok)", "https://api.x.ai/v1"), + config: grokPresetConfig("xAI (Grok)", "https://api.x.ai/v1", "grok-4.7"), endpointCandidates: ["https://api.x.ai/v1"], apiFormat: "openai_responses", category: "third_party", @@ -759,7 +759,8 @@ export const grokBuildProviderPresets: GrokBuildProviderPreset[] = [ config: grokPresetConfig( "TheRouter", "https://api.therouter.ai/v1", - OPENROUTER_STYLE_GROK_MODEL, + // TheRouter 的 xAI 前缀是 xai/(不是 x-ai/) + "xai/grok-4.7", ), endpointCandidates: ["https://api.therouter.ai/v1"], category: "aggregator", diff --git a/src/config/hermesProviderPresets.ts b/src/config/hermesProviderPresets.ts index 546c0fc4c..a8b29d967 100644 --- a/src/config/hermesProviderPresets.ts +++ b/src/config/hermesProviderPresets.ts @@ -157,6 +157,11 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ api_key: "", api_mode: "chat_completions", models: [ + { + id: "kimi-k3.1-pro", + name: "Kimi K3.1 Pro", + context_length: 1048576, + }, { id: "kimi-k2.7-code", name: "Kimi K2.7 Code" }, { id: "kimi-k3", name: "Kimi K3", context_length: 1048576 }, { @@ -189,6 +194,11 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ api_key: "", api_mode: "chat_completions", models: [ + { + id: "kimi-k3.1-pro", + name: "Kimi K3.1 Pro", + context_length: 1048576, + }, { id: "kimi-k2.7-code", name: "Kimi K2.7 Code" }, { id: "kimi-k3", name: "Kimi K3", context_length: 1048576 }, { @@ -259,14 +269,21 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ api_key: "", api_mode: "anthropic_messages", models: [ - { id: "claude-opus-5", name: "Claude Opus 5" }, - { id: "claude-sonnet-5", name: "Claude Sonnet 5" }, - { id: "claude-haiku-4-5-20251001", name: "Claude Haiku 4.5" }, { id: "claude-opus-5-5", name: "Claude Opus 5.5", context_length: 1000000, }, + { + id: "claude-sonnet-5-5", + name: "Claude Sonnet 5.5", + context_length: 1000000, + }, + { + id: "claude-haiku-5-5", + name: "Claude Haiku 5.5", + context_length: 1000000, + }, { id: "claude-fable-5-1", name: "Claude Fable 5.1", @@ -279,7 +296,7 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ partnerPromotionKey: "packycode", icon: "packycode", suggestedDefaults: { - model: { default: "claude-opus-5", provider: "packycode" }, + model: { default: "claude-opus-5-5", provider: "packycode" }, }, }, { @@ -292,10 +309,7 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ api_key: "", api_mode: "chat_completions", models: [ - { - id: "gpt-5.6-sol", - name: "GPT-5.6 Sol", - }, + { id: "gpt-6.1-sol", name: "GPT-6.1 Sol" }, { id: "gpt-6-astra", name: "GPT-6 Astra", context_length: 272000 }, ], }, @@ -304,7 +318,7 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ partnerPromotionKey: "apinebula", icon: "apinebula", suggestedDefaults: { - model: { default: "gpt-5.6-sol", provider: "apinebula" }, + model: { default: "gpt-6.1-sol", provider: "apinebula" }, }, }, { @@ -317,8 +331,16 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ api_key: "", api_mode: "anthropic_messages", models: [ - { id: "claude-opus-5", name: "Claude Opus 5" }, - { id: "claude-sonnet-5", name: "Claude Sonnet 5" }, + { + id: "claude-opus-5-5", + name: "Claude Opus 5.5", + context_length: 1000000, + }, + { + id: "claude-sonnet-5-5", + name: "Claude Sonnet 5.5", + context_length: 1000000, + }, { id: "claude-haiku-4-5-20251001", name: "Claude Haiku 4.5" }, ], }, @@ -328,7 +350,7 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ icon: "aicodemirror", iconColor: "#000000", suggestedDefaults: { - model: { default: "claude-opus-5", provider: "aicodemirror" }, + model: { default: "claude-opus-5-5", provider: "aicodemirror" }, }, }, { @@ -371,14 +393,14 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ base_url: "https://api.fenno.ai/v1", api_key: "", api_mode: "chat_completions", - models: [{ id: "gpt-5.6-sol", name: "GPT-5.6 Sol" }], + models: [{ id: "gpt-6.1-sol", name: "GPT-6.1 Sol" }], }, category: "aggregator", isPartner: true, partnerPromotionKey: "fenno", icon: "fenno", suggestedDefaults: { - model: { default: "gpt-5.6-sol", provider: "fenno" }, + model: { default: "gpt-6.1-sol", provider: "fenno" }, }, }, { @@ -391,14 +413,21 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ api_key: "", api_mode: "anthropic_messages", models: [ - { id: "claude-opus-5", name: "Claude Opus 5" }, - { id: "claude-sonnet-5", name: "Claude Sonnet 5" }, - { id: "claude-haiku-4-5", name: "Claude Haiku 4.5" }, { id: "claude-opus-5-5", name: "Claude Opus 5.5", context_length: 1000000, }, + { + id: "claude-sonnet-5-5", + name: "Claude Sonnet 5.5", + context_length: 1000000, + }, + { + id: "claude-haiku-5-5", + name: "Claude Haiku 5.5", + context_length: 1000000, + }, { id: "claude-fable-5-1", name: "Claude Fable 5.1", @@ -418,7 +447,7 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ }, }, suggestedDefaults: { - model: { default: "claude-sonnet-5", provider: "runapi" }, + model: { default: "claude-sonnet-5-5", provider: "runapi" }, }, }, { @@ -442,9 +471,14 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ context_length: 1000000, }, { - id: "claude-haiku-4-5-20251001", - name: "Claude Haiku 4.5", - context_length: 200000, + id: "claude-haiku-5-5", + name: "Claude Haiku 5.5", + context_length: 1000000, + }, + { + id: "claude-fable-5-1", + name: "Claude Fable 5.1", + context_length: 1000000, }, ], }, @@ -566,6 +600,11 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ name: "Claude Sonnet 5.5", context_length: 1000000, }, + { + id: "claude-fable-5-1", + name: "Claude Fable 5.1", + context_length: 1000000, + }, ], }, category: "aggregator", @@ -601,10 +640,11 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ context_length: 1048576, }, { - id: "glm-5.3-flash", - name: "GLM-5.3-Flash", - context_length: 1048576, + id: "deepseek-v4.1-flash-1017", + name: "DeepSeek V4.1 Flash 1017", + context_length: 1000000, }, + { id: "glm-5.3-flash", name: "GLM-5.3-Flash", context_length: 1048576 }, { id: "qwen3.8-flash", name: "Qwen3.8 Flash", context_length: 1000000 }, ], }, @@ -637,9 +677,9 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ models: [ { id: "deepseek-v4-pro", name: "DeepSeek V4 Pro" }, { id: "deepseek-v4-flash-0731", name: "DeepSeek V4 Flash 0731" }, - { id: "deepseek-v4-flash", name: "DeepSeek V4 Flash" }, + { id: "deepseek-v4.1-flash", name: "DeepSeek V4.1 Flash" }, { id: "deepseek-v3.2", name: "DeepSeek V3.2" }, - { id: "glm-5.2", name: "GLM-5.2" }, + { id: "glm-5.3", name: "GLM-5.3" }, { id: "glm-5.1", name: "GLM-5.1" }, { id: "glm-5", name: "GLM-5" }, { id: "kimi-k2.6", name: "Kimi K2.6" }, @@ -663,9 +703,26 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ api_key: "", api_mode: "anthropic_messages", models: [ - { id: "claude-opus-5", name: "Claude Opus 5" }, - { id: "claude-sonnet-5", name: "Claude Sonnet 5" }, - { id: "claude-haiku-4-5-20251001", name: "Claude Haiku 4.5" }, + { + id: "claude-opus-5-5", + name: "Claude Opus 5.5", + context_length: 1000000, + }, + { + id: "claude-sonnet-5-5", + name: "Claude Sonnet 5.5", + context_length: 1000000, + }, + { + id: "claude-haiku-5-5", + name: "Claude Haiku 5.5", + context_length: 1000000, + }, + { + id: "claude-fable-5-1", + name: "Claude Fable 5.1", + context_length: 1000000, + }, ], }, category: "third_party", @@ -674,7 +731,7 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ icon: "aigocode", iconColor: "#5B7FFF", suggestedDefaults: { - model: { default: "claude-opus-5", provider: "aigocode" }, + model: { default: "claude-opus-5-5", provider: "aigocode" }, }, }, { @@ -716,9 +773,21 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ api_key: "", api_mode: "anthropic_messages", models: [ - { id: "claude-opus-5", name: "Claude Opus 5" }, - { id: "claude-sonnet-5", name: "Claude Sonnet 5" }, - { id: "claude-haiku-4-5-20251001", name: "Claude Haiku 4.5" }, + { + id: "claude-opus-5-5", + name: "Claude Opus 5.5", + context_length: 1000000, + }, + { + id: "claude-sonnet-5-5", + name: "Claude Sonnet 5.5", + context_length: 1000000, + }, + { + id: "claude-haiku-5-5", + name: "Claude Haiku 5.5", + context_length: 1000000, + }, ], }, category: "third_party", @@ -727,7 +796,7 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ icon: "aicoding", iconColor: "#000000", suggestedDefaults: { - model: { default: "claude-opus-5", provider: "aicoding" }, + model: { default: "claude-opus-5-5", provider: "aicoding" }, }, }, { @@ -740,11 +809,7 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ api_key: "", api_mode: "chat_completions", models: [ - { - id: "gpt-5.6-sol", - name: "GPT-5.6 Sol", - context_length: 272000, - }, + { id: "gpt-6.1-sol", name: "GPT-6.1 Sol", context_length: 272000 }, { id: "gpt-6-astra", name: "GPT-6 Astra", context_length: 272000 }, ], }, @@ -753,7 +818,7 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ partnerPromotionKey: "subrouter", icon: "subrouter", suggestedDefaults: { - model: { default: "gpt-5.6-sol", provider: "subrouter" }, + model: { default: "gpt-6.1-sol", provider: "subrouter" }, }, }, { @@ -767,12 +832,13 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ api_key: "", api_mode: "chat_completions", models: [ - { id: "openai/gpt-5.6-sol", name: "GPT-5.6 Sol" }, + { id: "openai/gpt-6.1-sol", name: "GPT-6.1 Sol" }, { id: "openai/gpt-6-astra", name: "GPT-6 Astra", context_length: 272000, }, + { id: "openai/gpt-6-luna", name: "GPT-6 Luna", context_length: 272000 }, ], }, category: "aggregator", @@ -780,7 +846,7 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ partnerPromotionKey: "shengsuanyun", icon: "shengsuanyun", suggestedDefaults: { - model: { default: "openai/gpt-5.6-sol", provider: "shengsuanyun" }, + model: { default: "openai/gpt-6.1-sol", provider: "shengsuanyun" }, }, }, { @@ -804,9 +870,9 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ context_length: 1000000, }, { - id: "claude-haiku-4-5", - name: "Claude Haiku 4.5", - context_length: 200000, + id: "claude-haiku-5-5", + name: "Claude Haiku 5.5", + context_length: 1000000, }, { id: "claude-fable-5-1", @@ -834,19 +900,24 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ api_mode: "anthropic_messages", models: [ { - id: "claude-opus-5", - name: "Claude Opus 5", + id: "claude-opus-5-5", + name: "Claude Opus 5.5", context_length: 1000000, }, { - id: "claude-sonnet-5", - name: "Claude Sonnet 5", + id: "claude-sonnet-5-5", + name: "Claude Sonnet 5.5", context_length: 1000000, }, { - id: "claude-haiku-4-5", - name: "Claude Haiku 4.5", - context_length: 200000, + id: "claude-haiku-5-5", + name: "Claude Haiku 5.5", + context_length: 1000000, + }, + { + id: "claude-fable-5-1", + name: "Claude Fable 5.1", + context_length: 1000000, }, ], }, @@ -855,7 +926,7 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ partnerPromotionKey: "apikeyfun", icon: "apikeyfun", suggestedDefaults: { - model: { default: "claude-opus-5", provider: "apikeyfun" }, + model: { default: "claude-opus-5-5", provider: "apikeyfun" }, }, }, { @@ -868,26 +939,21 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ api_key: "", api_mode: "anthropic_messages", models: [ - { - id: "claude-opus-5", - name: "Claude Opus 5", - context_length: 1000000, - }, - { - id: "claude-sonnet-5", - name: "Claude Sonnet 5", - context_length: 1000000, - }, - { - id: "claude-haiku-4-5", - name: "Claude Haiku 4.5", - context_length: 200000, - }, { id: "claude-opus-5-5", name: "Claude Opus 5.5", context_length: 1000000, }, + { + id: "claude-sonnet-5-5", + name: "Claude Sonnet 5.5", + context_length: 1000000, + }, + { + id: "claude-haiku-5-5", + name: "Claude Haiku 5.5", + context_length: 1000000, + }, { id: "claude-fable-5-1", name: "Claude Fable 5.1", @@ -900,7 +966,7 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ partnerPromotionKey: "9527code", icon: "9527code", suggestedDefaults: { - model: { default: "claude-opus-5", provider: "9527code" }, + model: { default: "claude-opus-5-5", provider: "9527code" }, }, }, { @@ -913,14 +979,14 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ api_key: "", api_mode: "chat_completions", models: [ - { id: "gpt-5.6-sol", name: "GPT-5.6 Sol" }, + { id: "gpt-6.1-sol", name: "GPT-6.1 Sol" }, { id: "gpt-6-astra", name: "GPT-6 Astra", context_length: 272000 }, ], }, category: "aggregator", icon: "code0", suggestedDefaults: { - model: { default: "gpt-5.6-sol", provider: "code0" }, + model: { default: "gpt-6.1-sol", provider: "code0" }, }, }, { @@ -933,14 +999,18 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ base_url: "https://api.teamorouter.cn/v1", api_key: "", api_mode: "chat_completions", - models: [{ id: "gpt-5.6-sol", name: "GPT-5.6 Sol" }], + models: [ + { id: "gpt-6.1-sol", name: "GPT-6.1 Sol" }, + { id: "gpt-6-astra", name: "GPT-6 Astra", context_length: 272000 }, + { id: "gpt-5.6-sol", name: "GPT-5.6 Sol" }, + ], }, category: "aggregator", isPartner: true, partnerPromotionKey: "teamorouter", icon: "teamorouter", suggestedDefaults: { - model: { default: "gpt-5.6-sol", provider: "teamorouter" }, + model: { default: "gpt-6.1-sol", provider: "teamorouter" }, }, }, { @@ -954,10 +1024,21 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ api_mode: "chat_completions", models: [ { - id: "deepseek/deepseek-v4-flash-0731", - name: "Deepseek V4 Flash 0731", + id: "deepseek/deepseek-v4.1-flash", + name: "DeepSeek V4.1 Flash", context_length: 1048576, }, + { + id: "moonshotai/kimi-k3.1-pro", + name: "Kimi K3.1 Pro", + context_length: 1048576, + }, + { id: "zai-org/glm-5.3", name: "GLM-5.3", context_length: 1000000 }, + { + id: "deepseek/deepseek-v4-pro", + name: "DeepSeek V4 Pro", + context_length: 1000000, + }, ], }, category: "aggregator", @@ -967,7 +1048,7 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ iconColor: "#2874FF", suggestedDefaults: { model: { - default: "deepseek/deepseek-v4-flash-0731", + default: "deepseek/deepseek-v4.1-flash", provider: "ppio", }, }, @@ -982,14 +1063,21 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ api_key: "", api_mode: "anthropic_messages", models: [ - { id: "claude-opus-5", name: "Claude Opus 5" }, - { id: "claude-sonnet-5", name: "Claude Sonnet 5" }, - { id: "claude-haiku-4-5", name: "Claude Haiku 4.5" }, { id: "claude-opus-5-5", name: "Claude Opus 5.5", context_length: 1000000, }, + { + id: "claude-sonnet-5-5", + name: "Claude Sonnet 5.5", + context_length: 1000000, + }, + { + id: "claude-haiku-5-5", + name: "Claude Haiku 5.5", + context_length: 1000000, + }, { id: "claude-fable-5-1", name: "Claude Fable 5.1", @@ -1009,7 +1097,7 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ }, }, suggestedDefaults: { - model: { default: "claude-sonnet-5", provider: "claudecn" }, + model: { default: "claude-sonnet-5-5", provider: "claudecn" }, }, }, { @@ -1122,7 +1210,7 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ api_mode: "anthropic_messages", models: [ { - id: "doubao-seed-2-1-pro-260628", + id: "doubao-seed-2-1-pro-260915", name: "Doubao Seed 2.1 Pro", }, ], @@ -1134,7 +1222,7 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ iconColor: "#3370FF", suggestedDefaults: { model: { - default: "doubao-seed-2-1-pro-260628", + default: "doubao-seed-2-1-pro-260915", provider: "doubao_seed", }, }, @@ -1182,7 +1270,21 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ base_url: "https://api.siliconflow.com/v1", api_key: "", api_mode: "chat_completions", - models: [{ id: "MiniMaxAI/MiniMax-M3", name: "MiniMax M3" }], + models: [ + { id: "MiniMaxAI/MiniMax-M3", name: "MiniMax M3" }, + { id: "zai-org/GLM-5.3", name: "GLM-5.3", context_length: 1000000 }, + { + id: "zai-org/GLM-5.3-Flash", + name: "GLM-5.3 Flash", + context_length: 1000000, + }, + { id: "moonshotai/Kimi-K3", name: "Kimi K3", context_length: 1048576 }, + { + id: "deepseek-ai/DeepSeek-V4-Pro", + name: "DeepSeek V4 Pro", + context_length: 1000000, + }, + ], }, category: "aggregator", isPartner: true, @@ -1206,7 +1308,7 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ api_key: "", api_mode: "chat_completions", models: [ - { id: "gpt-5.6-sol", name: "GPT-5.6 Sol" }, + { id: "gpt-6.1-sol", name: "GPT-6.1 Sol" }, { id: "gpt-6-astra", name: "GPT-6 Astra", context_length: 272000 }, ], }, @@ -1215,7 +1317,7 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ partnerPromotionKey: "a6api", icon: "a6api", suggestedDefaults: { - model: { default: "gpt-5.6-sol", provider: "a6api" }, + model: { default: "gpt-6.1-sol", provider: "a6api" }, }, }, { @@ -1234,6 +1336,14 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ models: [ { id: "gpt-6-astra", name: "GPT-6 Astra", context_length: 272000 }, { id: "kimi-k3", name: "Kimi K3", context_length: 1048576 }, + { id: "glm-5.3", name: "GLM-5.3", context_length: 1000000 }, + { + id: "deepseek-v4.1-flash", + name: "DeepSeek V4.1 Flash", + context_length: 1000000, + }, + { id: "qwen3.8-max", name: "Qwen3.8 Max", context_length: 1000000 }, + { id: "mimo-v2.6-pro", name: "MiMo V2.6 Pro", context_length: 1048576 }, ], }, category: "aggregator", @@ -1279,11 +1389,7 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ api_key: "", api_mode: "chat_completions", models: [ - { - id: "gpt-6-astra", - name: "GPT-6 Astra", - context_length: 272000, - }, + { id: "gpt-6.1-sol", name: "GPT-6.1 Sol", context_length: 272000 }, ], }, category: "aggregator", @@ -1291,7 +1397,7 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ partnerPromotionKey: "ccsub", icon: "ccsub", suggestedDefaults: { - model: { default: "gpt-6-astra", provider: "ccsub" }, + model: { default: "gpt-6.1-sol", provider: "ccsub" }, }, }, { @@ -1304,9 +1410,21 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ api_key: "", api_mode: "anthropic_messages", models: [ - { id: "claude-opus-5", name: "Claude Opus 5" }, - { id: "claude-sonnet-5", name: "Claude Sonnet 5" }, - { id: "claude-haiku-4-5-20251001", name: "Claude Haiku 4.5" }, + { + id: "claude-opus-5-5", + name: "Claude Opus 5.5", + context_length: 1000000, + }, + { + id: "claude-sonnet-5-5", + name: "Claude Sonnet 5.5", + context_length: 1000000, + }, + { + id: "claude-haiku-5-5", + name: "Claude Haiku 5.5", + context_length: 1000000, + }, ], }, category: "third_party", @@ -1315,7 +1433,7 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ icon: "sssaicode", iconColor: "#000000", suggestedDefaults: { - model: { default: "claude-opus-5", provider: "sssaicode" }, + model: { default: "claude-opus-5-5", provider: "sssaicode" }, }, }, { @@ -1329,19 +1447,19 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ api_mode: "anthropic_messages", models: [ { - id: "claude-opus-5", - name: "Claude Opus 5", + id: "claude-opus-5-5", + name: "Claude Opus 5.5", context_length: 1000000, }, { - id: "claude-sonnet-5", - name: "Claude Sonnet 5", + id: "claude-sonnet-5-5", + name: "Claude Sonnet 5.5", context_length: 1000000, }, { - id: "claude-haiku-4-5-20251001", - name: "Claude Haiku 4.5", - context_length: 200000, + id: "claude-haiku-5-5", + name: "Claude Haiku 5.5", + context_length: 1000000, }, ], }, @@ -1350,7 +1468,7 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ partnerPromotionKey: "soleapi", icon: "soleapi", suggestedDefaults: { - model: { default: "claude-opus-5", provider: "soleapi" }, + model: { default: "claude-opus-5-5", provider: "soleapi" }, }, }, { @@ -1363,9 +1481,26 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ api_key: "", api_mode: "anthropic_messages", models: [ - { id: "claude-opus-5", name: "Claude Opus 5" }, - { id: "claude-sonnet-5", name: "Claude Sonnet 5" }, - { id: "claude-haiku-4-5-20251001", name: "Claude Haiku 4.5" }, + { + id: "claude-opus-5-5", + name: "Claude Opus 5.5", + context_length: 1000000, + }, + { + id: "claude-sonnet-5-5", + name: "Claude Sonnet 5.5", + context_length: 1000000, + }, + { + id: "claude-haiku-5-5", + name: "Claude Haiku 5.5", + context_length: 1000000, + }, + { + id: "claude-fable-5-1", + name: "Claude Fable 5.1", + context_length: 1000000, + }, ], }, category: "third_party", @@ -1374,7 +1509,7 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ icon: "micu", iconColor: "#000000", suggestedDefaults: { - model: { default: "claude-opus-5", provider: "micu" }, + model: { default: "claude-opus-5-5", provider: "micu" }, }, }, { @@ -1387,9 +1522,21 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ api_key: "", api_mode: "anthropic_messages", models: [ - { id: "claude-opus-5", name: "Claude Opus 5" }, - { id: "claude-sonnet-5", name: "Claude Sonnet 5" }, - { id: "claude-haiku-4-5-20251001", name: "Claude Haiku 4.5" }, + { + id: "claude-opus-5-5", + name: "Claude Opus 5.5", + context_length: 1000000, + }, + { + id: "claude-sonnet-5-5", + name: "Claude Sonnet 5.5", + context_length: 1000000, + }, + { + id: "claude-haiku-5-5", + name: "Claude Haiku 5.5", + context_length: 1000000, + }, ], }, category: "third_party", @@ -1398,7 +1545,7 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ icon: "rc", iconColor: "#E96B2C", suggestedDefaults: { - model: { default: "claude-opus-5", provider: "rightcode" }, + model: { default: "claude-opus-5-5", provider: "rightcode" }, }, }, { @@ -1411,9 +1558,21 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ api_key: "", api_mode: "anthropic_messages", models: [ - { id: "claude-opus-5", name: "Claude Opus 5" }, - { id: "claude-sonnet-5", name: "Claude Sonnet 5" }, - { id: "claude-haiku-4-5-20251001", name: "Claude Haiku 4.5" }, + { + id: "claude-opus-5-5", + name: "Claude Opus 5.5", + context_length: 1000000, + }, + { + id: "claude-sonnet-5-5", + name: "Claude Sonnet 5.5", + context_length: 1000000, + }, + { + id: "claude-haiku-5-5", + name: "Claude Haiku 5.5", + context_length: 1000000, + }, ], }, category: "third_party", @@ -1422,7 +1581,7 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ icon: "cubence", iconColor: "#000000", suggestedDefaults: { - model: { default: "claude-opus-5", provider: "cubence" }, + model: { default: "claude-opus-5-5", provider: "cubence" }, }, }, { @@ -1435,9 +1594,21 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ api_key: "", api_mode: "anthropic_messages", models: [ - { id: "claude-opus-5", name: "Claude Opus 5" }, - { id: "claude-sonnet-5", name: "Claude Sonnet 5" }, - { id: "claude-haiku-4-5-20251001", name: "Claude Haiku 4.5" }, + { + id: "claude-opus-5-5", + name: "Claude Opus 5.5", + context_length: 1000000, + }, + { + id: "claude-sonnet-5-5", + name: "Claude Sonnet 5.5", + context_length: 1000000, + }, + { + id: "claude-haiku-5-5", + name: "Claude Haiku 5.5", + context_length: 1000000, + }, { id: "claude-fable-5-1", name: "Claude Fable 5.1", @@ -1451,7 +1622,7 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ icon: "crazyrouter", iconColor: "#000000", suggestedDefaults: { - model: { default: "claude-opus-5", provider: "crazyrouter" }, + model: { default: "claude-opus-5-5", provider: "crazyrouter" }, }, }, { @@ -1463,13 +1634,13 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ base_url: "https://www.dmxapi.cn/v1", api_key: "", api_mode: "chat_completions", - models: [{ id: "gpt-5.6-sol", name: "GPT-5.6 Sol" }], + models: [{ id: "gpt-6.1-sol", name: "GPT-6.1 Sol" }], }, category: "aggregator", isPartner: true, partnerPromotionKey: "dmxapi", suggestedDefaults: { - model: { default: "gpt-5.6-sol", provider: "dmxapi" }, + model: { default: "gpt-6.1-sol", provider: "dmxapi" }, }, icon: "dmxapi", }, @@ -1485,10 +1656,7 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ api_key: "", api_mode: "codex_responses", models: [ - { - id: "gpt-5.6-sol", - name: "GPT-5.6 Sol", - }, + { id: "gpt-6.1-sol", name: "GPT-6.1 Sol" }, { id: "gpt-6-sol", name: "GPT-6 Sol", context_length: 272000 }, { id: "gpt-6-luna", name: "GPT-6 Luna", context_length: 272000 }, { id: "gpt-6-astra", name: "GPT-6 Astra", context_length: 272000 }, @@ -1499,7 +1667,7 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ partnerPromotionKey: "sudocode", icon: "sudocode", suggestedDefaults: { - model: { default: "gpt-5.6-sol", provider: "sudocode" }, + model: { default: "gpt-6.1-sol", provider: "sudocode" }, }, }, { @@ -1513,10 +1681,7 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ api_key: "", api_mode: "codex_responses", models: [ - { - id: "gpt-5.6-sol", - name: "GPT-5.6 Sol", - }, + { id: "gpt-6.1-sol", name: "GPT-6.1 Sol" }, { id: "gpt-6-sol", name: "GPT-6 Sol", context_length: 272000 }, { id: "gpt-6-astra", name: "GPT-6 Astra", context_length: 272000 }, ], @@ -1525,7 +1690,7 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ isPartner: true, icon: "sudocode-us", suggestedDefaults: { - model: { default: "gpt-5.6-sol", provider: "sudocode_us" }, + model: { default: "gpt-6.1-sol", provider: "sudocode_us" }, }, }, { @@ -1538,7 +1703,7 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ api_key: "", api_mode: "chat_completions", models: [ - { id: "gpt-5.6-sol", name: "GPT-5.6 Sol" }, + { id: "gpt-6.1-sol", name: "GPT-6.1 Sol" }, { id: "gpt-6-astra", name: "GPT-6 Astra", context_length: 272000 }, ], }, @@ -1547,7 +1712,7 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ partnerPromotionKey: "xycai", icon: "xycai", suggestedDefaults: { - model: { default: "gpt-5.6-sol", provider: "xycai" }, + model: { default: "gpt-6.1-sol", provider: "xycai" }, }, }, { @@ -1563,14 +1728,13 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ api_key: "", api_mode: "chat_completions", models: [ - { id: "gpt-5.6-sol", name: "GPT-5.6 Sol", context_length: 272000 }, - { id: "gpt-6-sol", name: "GPT-6 Sol", context_length: 272000 }, + { id: "gpt-6.1-sol", name: "GPT-6.1 Sol", context_length: 272000 }, { id: "gpt-6-astra", name: "GPT-6 Astra", context_length: 272000 }, ], }, category: "aggregator", suggestedDefaults: { - model: { default: "gpt-5.6-sol", provider: "modelflare" }, + model: { default: "gpt-6.1-sol", provider: "modelflare" }, }, isPartner: true, partnerPromotionKey: "modelflare", @@ -1588,14 +1752,14 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ api_key: "", api_mode: "codex_responses", models: [ - { id: "gpt-5.6-sol", name: "GPT-5.6 Sol", context_length: 272000 }, - { id: "gpt-6-sol", name: "GPT-6 Sol", context_length: 272000 }, + { id: "gpt-6.1-sol", name: "GPT-6.1 Sol", context_length: 272000 }, { id: "gpt-6-astra", name: "GPT-6 Astra", context_length: 272000 }, + { id: "gpt-6-luna", name: "GPT-6 Luna", context_length: 272000 }, ], }, category: "aggregator", suggestedDefaults: { - model: { default: "gpt-5.6-sol", provider: "alltokens" }, + model: { default: "gpt-6.1-sol", provider: "alltokens" }, }, isPartner: true, partnerPromotionKey: "alltokens", @@ -1614,14 +1778,13 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ api_key: "", api_mode: "chat_completions", models: [ - { id: "gpt-5.6-sol", name: "GPT-5.6 Sol", context_length: 272000 }, - { id: "gpt-6-sol", name: "GPT-6 Sol", context_length: 272000 }, + { id: "gpt-6.1-sol", name: "GPT-6.1 Sol", context_length: 272000 }, { id: "gpt-6-astra", name: "GPT-6 Astra", context_length: 272000 }, ], }, category: "aggregator", suggestedDefaults: { - model: { default: "gpt-5.6-sol", provider: "alltokens_si" }, + model: { default: "gpt-6.1-sol", provider: "alltokens_si" }, }, isPartner: true, partnerPromotionKey: "alltokens_si", @@ -1640,26 +1803,31 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ api_mode: "anthropic_messages", models: [ { - id: "claude-opus-5", - name: "Claude Opus 5", + id: "claude-opus-5-5", + name: "Claude Opus 5.5", context_length: 1000000, }, { - id: "claude-sonnet-5", - name: "Claude Sonnet 5", + id: "claude-sonnet-5-5", + name: "Claude Sonnet 5.5", context_length: 1000000, }, { - id: "claude-haiku-4-5", - name: "Claude Haiku 4.5", - context_length: 200000, + id: "claude-haiku-5-5", + name: "Claude Haiku 5.5", + context_length: 1000000, + }, + { + id: "claude-fable-5-1", + name: "Claude Fable 5.1", + context_length: 1000000, }, ], }, category: "aggregator", icon: "tuzi", suggestedDefaults: { - model: { default: "claude-opus-5", provider: "tuzi" }, + model: { default: "claude-opus-5-5", provider: "tuzi" }, }, }, { @@ -1672,14 +1840,14 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ api_key: "", api_mode: "chat_completions", models: [ - { id: "gpt-5.6-sol", name: "GPT-5.6 Sol" }, + { id: "gpt-6.1-sol", name: "GPT-6.1 Sol" }, { id: "gpt-6-astra", name: "GPT-6 Astra", context_length: 272000 }, ], }, category: "aggregator", icon: "amux", suggestedDefaults: { - model: { default: "gpt-5.6-sol", provider: "amux" }, + model: { default: "gpt-6.1-sol", provider: "amux" }, }, }, { @@ -1692,16 +1860,19 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ api_key: "", api_mode: "chat_completions", models: [ + { id: "zai-org/glm-5.3", name: "GLM-5.3", context_length: 1048576 }, { - id: "zai-org/glm-5.1", - name: "GLM 5.1", + id: "zai-org/glm-5.3-flash", + name: "GLM-5.3 Flash", + context_length: 1000000, }, + { id: "moonshotai/kimi-k3", name: "Kimi K3", context_length: 1048576 }, ], }, category: "aggregator", icon: "atlascloud", suggestedDefaults: { - model: { default: "zai-org/glm-5.1", provider: "atlascloud" }, + model: { default: "zai-org/glm-5.3", provider: "atlascloud" }, }, }, { @@ -1735,36 +1906,31 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ api_key: "", api_mode: "chat_completions", models: [ - { - id: "anthropic/claude-opus-5", - name: "Claude Opus 5", - context_length: 1000000, - }, - { - id: "anthropic/claude-sonnet-5", - name: "Claude Sonnet 5", - context_length: 1000000, - }, - { - id: "anthropic/claude-haiku-4.5", - name: "Claude Haiku 4.5", - context_length: 200000, - }, - { - id: "openai/gpt-5.6-sol", - name: "GPT-5.6 Sol", - context_length: 400000, - }, - { - id: "google/gemini-3.6-flash", - name: "Gemini 3.6 Flash", - context_length: 1000000, - }, { id: "anthropic/claude-opus-5.5", name: "Claude Opus 5.5", context_length: 1000000, }, + { + id: "anthropic/claude-sonnet-5.5", + name: "Claude Sonnet 5.5", + context_length: 1000000, + }, + { + id: "anthropic/claude-haiku-5.5", + name: "Claude Haiku 5.5", + context_length: 1000000, + }, + { + id: "openai/gpt-6.1-sol", + name: "GPT-6.1 Sol", + context_length: 1050000, + }, + { + id: "google/gemini-3.8-flash", + name: "Gemini 3.8 Flash", + context_length: 1048576, + }, { id: "anthropic/claude-fable-5.1", name: "Claude Fable 5.1", @@ -1776,8 +1942,8 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ context_length: 1050000, }, { - id: "google/gemini-3.8-flash", - name: "Gemini 3.8 Flash", + id: "google/gemini-4-argon", + name: "Gemini 4 Argon", context_length: 1048576, }, ], @@ -1786,7 +1952,7 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ icon: "openrouter", iconColor: "#6366F1", suggestedDefaults: { - model: { default: "anthropic/claude-opus-5", provider: "openrouter" }, + model: { default: "anthropic/claude-opus-5.5", provider: "openrouter" }, }, }, { @@ -1831,19 +1997,26 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ api_mode: "chat_completions", models: [ { - id: "Qwen/Qwen3-Coder-480B-A35B-Instruct", - name: "Qwen3 Coder 480B", - context_length: 262144, + id: "Qwen/Qwen3.7-Max", + name: "Qwen3.7 Max", + context_length: 1000000, }, { - id: "deepseek-ai/DeepSeek-V3.2", - name: "DeepSeek V3.2", - context_length: 64000, + id: "deepseek-ai/DeepSeek-V4.1-Flash", + name: "DeepSeek V4.1 Flash", + context_length: 1048576, + }, + { id: "moonshotai/Kimi-K3", name: "Kimi K3", context_length: 1048576 }, + { id: "zai-org/GLM-5.3", name: "GLM-5.3", context_length: 1048575 }, + { + id: "zai-org/GLM-5.3-Flash", + name: "GLM-5.3 Flash", + context_length: 1048575, }, { - id: "meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8", - name: "Llama 4 Maverick", - context_length: 131072, + id: "MiniMaxAI/MiniMax-M3", + name: "MiniMax M3", + context_length: 524288, }, ], }, @@ -1852,7 +2025,7 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ iconColor: "#0F6FFF", suggestedDefaults: { model: { - default: "Qwen/Qwen3-Coder-480B-A35B-Instruct", + default: "Qwen/Qwen3.7-Max", provider: "together", }, }, @@ -2031,7 +2204,6 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ { id: "kimi-k2.7-code", name: "Kimi K2.7 Code" }, { id: "kimi-k2.7-code-highspeed", name: "Kimi K2.7 Code HighSpeed" }, { id: "kimi-k2.6", name: "Kimi K2.6" }, - { id: "minimax-m2.7", name: "MiniMax M2.7" }, { id: "minimax-m3", name: "MiniMax M3" }, { id: "deepseek-v4-flash", name: "DeepSeek V4 Flash" }, { id: "deepseek-v4-pro", name: "DeepSeek V4 Pro" }, @@ -2368,7 +2540,19 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ base_url: "https://api-inference.modelscope.cn/v1", api_key: "", api_mode: "chat_completions", - models: [{ id: "ZhipuAI/GLM-5.2", name: "ZhipuAI / GLM-5.2" }], + models: [ + { id: "ZhipuAI/GLM-5.2", name: "ZhipuAI / GLM-5.2" }, + { + id: "deepseek-ai/DeepSeek-V4.1-Flash", + name: "DeepSeek V4.1 Flash", + context_length: 1048576, + }, + { + id: "MiniMax/MiniMax-M3", + name: "MiniMax M3", + context_length: 1000000, + }, + ], }, category: "aggregator", icon: "modelscope", @@ -2528,7 +2712,7 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ api_key: "", api_mode: "chat_completions", models: [ - { id: "gpt-5.6-sol", name: "GPT-5.6 Sol" }, + { id: "gpt-6.1-sol", name: "GPT-6.1 Sol" }, { id: "gpt-6-astra", name: "GPT-6 Astra", context_length: 272000 }, ], }, @@ -2536,7 +2720,7 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ icon: "aihubmix", iconColor: "#006FFB", suggestedDefaults: { - model: { default: "gpt-5.6-sol", provider: "aihubmix" }, + model: { default: "gpt-6.1-sol", provider: "aihubmix" }, }, }, { @@ -2549,8 +2733,16 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ api_key: "", api_mode: "anthropic_messages", models: [ - { id: "anthropic/claude-opus-5", name: "Claude Opus 5" }, - { id: "anthropic/claude-sonnet-5", name: "Claude Sonnet 5" }, + { + id: "anthropic/claude-opus-5.5", + name: "Claude Opus 5.5", + context_length: 1000000, + }, + { + id: "anthropic/claude-sonnet-5.5", + name: "Claude Sonnet 5.5", + context_length: 1000000, + }, { id: "anthropic/claude-fable-5.1", name: "Claude Fable 5.1", @@ -2561,7 +2753,7 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ category: "aggregator", icon: "cherryin", suggestedDefaults: { - model: { default: "anthropic/claude-opus-5", provider: "cherryin" }, + model: { default: "anthropic/claude-opus-5.5", provider: "cherryin" }, }, }, { @@ -2574,14 +2766,21 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ api_key: "", api_mode: "anthropic_messages", models: [ - { id: "claude-opus-5", name: "Claude Opus 5" }, - { id: "claude-sonnet-5", name: "Claude Sonnet 5" }, - { id: "claude-haiku-4-5-20251001", name: "Claude Haiku 4.5" }, { id: "claude-opus-5-5", name: "Claude Opus 5.5", context_length: 1000000, }, + { + id: "claude-sonnet-5-5", + name: "Claude Sonnet 5.5", + context_length: 1000000, + }, + { + id: "claude-haiku-5-5", + name: "Claude Haiku 5.5", + context_length: 1000000, + }, { id: "claude-fable-5-1", name: "Claude Fable 5.1", @@ -2593,7 +2792,7 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ icon: "eflowcode", iconColor: "#000000", suggestedDefaults: { - model: { default: "claude-opus-5", provider: "eflowcode" }, + model: { default: "claude-opus-5-5", provider: "eflowcode" }, }, }, { @@ -2606,15 +2805,14 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ api_key: "", api_mode: "chat_completions", models: [ - { id: "openai/gpt-5.6-sol", name: "GPT-5.6 Sol" }, - { id: "openai/gpt-5.4-mini", name: "GPT-5.4 mini" }, - { id: "openai/gpt-5.4-nano", name: "GPT-5.4 nano" }, + { id: "openai/gpt-6.1-sol", name: "GPT-6.1 Sol" }, + { id: "openai/gpt-6-luna", name: "GPT-6 Luna" }, ], }, category: "aggregator", suggestedDefaults: { model: { - default: "openai/gpt-5.6-sol", + default: "openai/gpt-6.1-sol", provider: "therouter", }, }, @@ -2640,8 +2838,13 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ context_length: 1048576, }, { - id: "deepseek-ai/DeepSeek-V4.1-Flash", - name: "DeepSeek V4.1 Flash", + id: "zai-org/GLM-5.3-Fast", + name: "GLM-5.3 Fast", + context_length: 1048576, + }, + { + id: "deepseek-ai/DeepSeek-V4.1-Flash-1017", + name: "DeepSeek V4.1 Flash 1017", context_length: 1048576, }, ], @@ -2662,21 +2865,44 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ api_key: "", api_mode: "chat_completions", models: [ - { id: "zai-org/glm-5.1", name: "Zai-Org / GLM-5.1" }, { id: "zai-org/glm-5.3", name: "GLM-5.3", context_length: 1048576 }, { id: "zai-org/glm-5.3-flash", name: "GLM-5.3-Flash", context_length: 1048576, }, - { id: "moonshotai/kimi-k3", name: "Kimi K3", context_length: 1048576 }, + { + id: "moonshotai/kimi-k3.1-pro", + name: "Kimi K3.1 Pro", + context_length: 1048576, + }, + { + id: "deepseek/deepseek-v4.1-flash", + name: "DeepSeek V4.1 Flash", + context_length: 1048576, + }, + { + id: "minimax/minimax-m3.1-flash", + name: "MiniMax M3.1 Flash", + context_length: 1000000, + }, + { + id: "qwen/qwen3.8-max", + name: "Qwen3.8 Max", + context_length: 1000000, + }, + { + id: "xiaomimimo/mimo-v2.6-pro", + name: "MiMo V2.6 Pro", + context_length: 1048576, + }, ], }, category: "aggregator", icon: "novita", iconColor: "#000000", suggestedDefaults: { - model: { default: "zai-org/glm-5.1", provider: "novita" }, + model: { default: "zai-org/glm-5.3", provider: "novita" }, }, }, { @@ -2690,9 +2916,9 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ api_mode: "chat_completions", models: [ { - id: "moonshotai/kimi-k3", - name: "Moonshot Kimi K3", - context_length: 1048576, + id: "moonshotai/kimi-k2.6", + name: "Moonshot Kimi K2.6", + context_length: 262144, }, { id: "z-ai/glm-5.3", name: "GLM-5.3", context_length: 1048576 }, { @@ -2706,7 +2932,7 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ icon: "nvidia", iconColor: "#000000", suggestedDefaults: { - model: { default: "moonshotai/kimi-k3", provider: "nvidia" }, + model: { default: "moonshotai/kimi-k2.6", provider: "nvidia" }, }, }, { @@ -2920,8 +3146,8 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ api_mode: "chat_completions", models: [ { - id: "deepseek-ai/DeepSeek-V4-Flash-0731", - name: "DeepSeek V4 Flash 0731", + id: "deepseek-ai/DeepSeek-V4.1-Flash-1017", + name: "DeepSeek V4.1 Flash 1017", context_length: 1048576, }, { @@ -2931,14 +3157,18 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ }, { id: "moonshotai/Kimi-K3", name: "Kimi K3", context_length: 1048576 }, { id: "zai-org/GLM-5.3", name: "GLM-5.3", context_length: 1048576 }, - { id: "zai-org/GLM-5.2", name: "GLM-5.2", context_length: 1048576 }, + { + id: "zai-org/GLM-5.3-Flash", + name: "GLM-5.3 Flash", + context_length: 1048576, + }, ], }, category: "aggregator", icon: "deepinfra", suggestedDefaults: { model: { - default: "deepseek-ai/DeepSeek-V4-Flash-0731", + default: "deepseek-ai/DeepSeek-V4.1-Flash-1017", provider: "deepinfra", }, }, @@ -2973,6 +3203,11 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ name: "Claude Haiku 5.5", context_length: 1000000, }, + { + id: "anthropic/claude-fable-5.1", + name: "Claude Fable 5.1", + context_length: 1000000, + }, { id: "openai/gpt-6-astra", name: "GPT-6 Astra", @@ -2983,11 +3218,21 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ name: "GPT-6.1 Sol", context_length: 1050000, }, + { + id: "openai/gpt-6-luna", + name: "GPT-6 Luna", + context_length: 1050000, + }, { id: "google/gemini-3.8-flash", name: "Gemini 3.8 Flash", context_length: 1000000, }, + { + id: "google/gemini-4-argon", + name: "Gemini 4 Argon", + context_length: 1000000, + }, ], }, category: "aggregator", @@ -3029,6 +3274,21 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ name: "DeepSeek V4 Pro 0813", context_length: 979000, }, + { + id: "deepseek-ai/DeepSeek-V4.1-Flash", + name: "DeepSeek V4.1 Flash", + context_length: 1048000, + }, + { + id: "MiniMaxAI/MiniMax-M3", + name: "MiniMax M3", + context_length: 1049000, + }, + { + id: "MiniMaxAI/MiniMax-M3.1-Flash", + name: "MiniMax M3.1 Flash", + context_length: 1049000, + }, ], }, category: "aggregator", @@ -3166,6 +3426,11 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ name: "DeepSeek V4 Pro 0813 (Baseten)", context_length: 1048576, }, + { + id: "deepseek-ai/DeepSeek-V4.1-Flash-1017:baseten", + name: "DeepSeek V4.1 Flash 1017 (Baseten)", + context_length: 1048576, + }, ], }, category: "aggregator", @@ -3311,18 +3576,27 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ api_key: "", api_mode: "anthropic_messages", models: [ - { id: "claude-opus-5", name: "Claude Opus 5" }, - { id: "claude-sonnet-5", name: "Claude Sonnet 5" }, { - id: "claude-haiku-4-5-20251001", - name: "Claude Haiku 4.5", + id: "claude-opus-5-5", + name: "Claude Opus 5.5", + context_length: 1000000, + }, + { + id: "claude-sonnet-5-5", + name: "Claude Sonnet 5.5", + context_length: 1000000, + }, + { + id: "claude-haiku-5-5", + name: "Claude Haiku 5.5", + context_length: 1000000, }, ], }, category: "aggregator", icon: "pipellm", suggestedDefaults: { - model: { default: "claude-opus-5", provider: "pipellm" }, + model: { default: "claude-opus-5-5", provider: "pipellm" }, }, }, { @@ -3348,7 +3622,6 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ name: "MiMo V2.6 Pro UltraSpeed", context_length: 1048576, }, - { id: "mimo-v2.5-pro", name: "MiMo v2.5 Pro" }, ], }, category: "cn_official", @@ -3376,8 +3649,6 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ name: "MiMo V2.6 Flash", context_length: 1048576, }, - { id: "mimo-v2.5-pro", name: "MiMo v2.5 Pro" }, - { id: "mimo-v2.5", name: "MiMo v2.5" }, ], }, category: "cn_official", @@ -3398,8 +3669,8 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ api_mode: "chat_completions", models: [ { - id: "claude-fable-5", - name: "Claude Fable 5", + id: "claude-fable-5-1", + name: "Claude Fable 5.1", context_length: 1000000, }, { @@ -3408,8 +3679,13 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ context_length: 1000000, }, { - id: "claude-fable-5-1", - name: "Claude Fable 5.1", + id: "claude-sonnet-5-5", + name: "Claude Sonnet 5.5", + context_length: 1000000, + }, + { + id: "claude-haiku-5-5", + name: "Claude Haiku 5.5", context_length: 1000000, }, ], @@ -3418,7 +3694,7 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ icon: "jiekou", iconColor: "#000000", suggestedDefaults: { - model: { default: "claude-fable-5", provider: "jiekou" }, + model: { default: "claude-fable-5-1", provider: "jiekou" }, }, }, { @@ -3431,10 +3707,7 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ api_key: "", api_mode: "codex_responses", models: [ - { - id: "gpt-5.6-sol", - name: "GPT-5.6 Sol", - }, + { id: "gpt-6.1-sol", name: "GPT-6.1 Sol" }, { id: "gpt-6-sol", name: "GPT-6 Sol", context_length: 272000 }, { id: "gpt-6-astra", name: "GPT-6 Astra", context_length: 272000 }, ], @@ -3443,7 +3716,7 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ icon: "aicodewith", iconColor: "#3A3B40", suggestedDefaults: { - model: { default: "gpt-5.6-sol", provider: "aicodewith" }, + model: { default: "gpt-6.1-sol", provider: "aicodewith" }, }, }, { @@ -3467,9 +3740,14 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ context_length: 1000000, }, { - id: "claude-haiku-4-5-20251001", - name: "Claude Haiku 4.5", - context_length: 200000, + id: "claude-haiku-5-5", + name: "Claude Haiku 5.5", + context_length: 1000000, + }, + { + id: "claude-fable-5-1", + name: "Claude Fable 5.1", + context_length: 1000000, }, ], }, @@ -3500,9 +3778,14 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ context_length: 1000000, }, { - id: "claude-haiku-4-5-20251001", - name: "Claude Haiku 4.5", - context_length: 200000, + id: "claude-haiku-5-5", + name: "Claude Haiku 5.5", + context_length: 1000000, + }, + { + id: "claude-fable-5-1", + name: "Claude Fable 5.1", + context_length: 1000000, }, ], }, @@ -3533,9 +3816,14 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ context_length: 1000000, }, { - id: "claude-haiku-4-5-20251001", - name: "Claude Haiku 4.5", - context_length: 200000, + id: "claude-haiku-5-5", + name: "Claude Haiku 5.5", + context_length: 1000000, + }, + { + id: "claude-fable-5-1", + name: "Claude Fable 5.1", + context_length: 1000000, }, ], }, @@ -3566,9 +3854,14 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ context_length: 1000000, }, { - id: "claude-haiku-4-5-20251001", - name: "Claude Haiku 4.5", - context_length: 200000, + id: "claude-haiku-5-5", + name: "Claude Haiku 5.5", + context_length: 1000000, + }, + { + id: "claude-fable-5-1", + name: "Claude Fable 5.1", + context_length: 1000000, }, ], }, @@ -3595,14 +3888,19 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ context_length: 1000000, }, { - id: "claude-sonnet-5", - name: "Claude Sonnet 5", + id: "claude-sonnet-5-5", + name: "Claude Sonnet 5.5", context_length: 1000000, }, { - id: "claude-haiku-4-5-20251001", - name: "Claude Haiku 4.5", - context_length: 200000, + id: "claude-haiku-5-5", + name: "Claude Haiku 5.5", + context_length: 1000000, + }, + { + id: "claude-fable-5-1", + name: "Claude Fable 5.1", + context_length: 1000000, }, ], }, @@ -3633,9 +3931,14 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ context_length: 1000000, }, { - id: "claude-haiku-4-5", - name: "Claude Haiku 4.5", - context_length: 200000, + id: "claude-haiku-5-5", + name: "Claude Haiku 5.5", + context_length: 1000000, + }, + { + id: "claude-fable-5-1", + name: "Claude Fable 5.1", + context_length: 1000000, }, ], }, @@ -3669,9 +3972,9 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ context_length: 1000000, }, { - id: "claude-haiku-4-5-20251001", - name: "Claude Haiku 4.5", - context_length: 200000, + id: "claude-haiku-5-5", + name: "Claude Haiku 5.5", + context_length: 1000000, }, ], }, @@ -3702,9 +4005,14 @@ export const hermesProviderPresets: HermesProviderPreset[] = [ context_length: 1000000, }, { - id: "claude-haiku-4-5-20251001", - name: "Claude Haiku 4.5", - context_length: 200000, + id: "claude-haiku-5-5", + name: "Claude Haiku 5.5", + context_length: 1000000, + }, + { + id: "claude-fable-5-1", + name: "Claude Fable 5.1", + context_length: 1000000, }, ], }, diff --git a/src/config/jiekouProviderPresets.test.ts b/src/config/jiekouProviderPresets.test.ts index b5de2561a..a95a09a90 100644 --- a/src/config/jiekouProviderPresets.test.ts +++ b/src/config/jiekouProviderPresets.test.ts @@ -17,8 +17,8 @@ const allJieKouPresetGroups = [ ["Hermes", hermesProviderPresets], ] as const; -const defaultModelId = "claude-fable-5"; -const defaultModelName = "Claude Fable 5"; +const defaultModelId = "claude-fable-5-1"; +const defaultModelName = "Claude Fable 5.1"; const anthropicBaseUrl = "https://api.jiekou.ai/anthropic"; const openAiBaseUrl = "https://api.jiekou.ai/openai/v1"; const brandDetails = { @@ -128,9 +128,10 @@ describe("JieKou AI provider presets", () => { }, }); expect(Object.keys(preset.settingsConfig.models)).toEqual([ - defaultModelId, "claude-opus-5-5", - "claude-fable-5-1", + "claude-sonnet-5-5", + "claude-haiku-5-5", + defaultModelId, ]); expect(`${preset.settingsConfig.options.baseURL}/chat/completions`).toBe( "https://api.jiekou.ai/openai/v1/chat/completions", @@ -153,7 +154,7 @@ describe("JieKou AI provider presets", () => { input: ["text", "image"], contextWindow: 1000000, maxTokens: 128000, - cost: { input: 10, output: 50, cacheRead: 1, cacheWrite: 12.5 }, + cost: { input: 10, output: 50, cacheRead: 0.25, cacheWrite: 12.5 }, }), ]), }, diff --git a/src/config/openclawProviderPresets.ts b/src/config/openclawProviderPresets.ts index 6ef1ea212..41019cd00 100644 --- a/src/config/openclawProviderPresets.ts +++ b/src/config/openclawProviderPresets.ts @@ -333,18 +333,6 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ apiKey: "", api: "anthropic-messages", models: [ - { - id: "claude-opus-5", - name: "Claude Opus 5", - contextWindow: 1000000, - cost: { input: 5, output: 25, cacheRead: 0.5, cacheWrite: 6.25 }, - }, - { - id: "claude-sonnet-5", - name: "Claude Sonnet 5", - contextWindow: 1000000, - cost: { input: 2, output: 10, cacheRead: 0.2, cacheWrite: 2.5 }, - }, { id: "claude-opus-5-5", name: "Claude Opus 5.5", @@ -354,6 +342,15 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ maxTokens: 128000, cost: { input: 4, output: 20, cacheRead: 0.2, cacheWrite: 5 }, }, + { + id: "claude-sonnet-5-5", + name: "Claude Sonnet 5.5", + reasoning: true, + input: ["text", "image"], + contextWindow: 1000000, + maxTokens: 128000, + cost: { input: 2, output: 10, cacheRead: 0.1, cacheWrite: 2.5 }, + }, { id: "claude-fable-5-1", name: "Claude Fable 5.1", @@ -378,12 +375,12 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ }, suggestedDefaults: { model: { - primary: "packycode/claude-opus-5", - fallbacks: ["packycode/claude-sonnet-5"], + primary: "packycode/claude-opus-5-5", + fallbacks: ["packycode/claude-sonnet-5-5"], }, modelCatalog: { - "packycode/claude-opus-5": { alias: "Opus" }, - "packycode/claude-sonnet-5": { alias: "Sonnet" }, + "packycode/claude-opus-5-5": { alias: "Opus" }, + "packycode/claude-sonnet-5-5": { alias: "Sonnet" }, }, }, }, @@ -397,8 +394,13 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ api: "openai-completions", models: [ { - id: "gpt-5.6-sol", - name: "GPT-5.6 Sol", + id: "gpt-6.1-sol", + name: "GPT-6.1 Sol", + reasoning: true, + input: ["text", "image"], + contextWindow: 272000, + maxTokens: 128000, + cost: { input: 2, output: 10, cacheRead: 0.1, cacheWrite: 2.5 }, }, { id: "gpt-6-astra", @@ -424,7 +426,7 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ }, suggestedDefaults: { model: { - primary: "apinebula/gpt-5.6-sol", + primary: "apinebula/gpt-6.1-sol", }, }, }, @@ -438,16 +440,22 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ api: "anthropic-messages", models: [ { - id: "claude-opus-5", - name: "Claude Opus 5", + id: "claude-opus-5-5", + name: "Claude Opus 5.5", + reasoning: true, + input: ["text", "image"], contextWindow: 1000000, - cost: { input: 5, output: 25, cacheRead: 0.5, cacheWrite: 6.25 }, + maxTokens: 128000, + cost: { input: 4, output: 20, cacheRead: 0.2, cacheWrite: 5 }, }, { - id: "claude-sonnet-5", - name: "Claude Sonnet 5", + id: "claude-sonnet-5-5", + name: "Claude Sonnet 5.5", + reasoning: true, + input: ["text", "image"], contextWindow: 1000000, - cost: { input: 2, output: 10, cacheRead: 0.2, cacheWrite: 2.5 }, + maxTokens: 128000, + cost: { input: 2, output: 10, cacheRead: 0.1, cacheWrite: 2.5 }, }, ], }, @@ -465,12 +473,12 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ }, suggestedDefaults: { model: { - primary: "aicodemirror/claude-opus-5", - fallbacks: ["aicodemirror/claude-sonnet-5"], + primary: "aicodemirror/claude-opus-5-5", + fallbacks: ["aicodemirror/claude-sonnet-5-5"], }, modelCatalog: { - "aicodemirror/claude-opus-5": { alias: "Opus" }, - "aicodemirror/claude-sonnet-5": { alias: "Sonnet" }, + "aicodemirror/claude-opus-5-5": { alias: "Opus" }, + "aicodemirror/claude-sonnet-5-5": { alias: "Sonnet" }, }, }, }, @@ -534,8 +542,8 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ api: "openai-completions", models: [ { - id: "gpt-5.6-sol", - name: "GPT-5.6 Sol", + id: "gpt-6.1-sol", + name: "GPT-6.1 Sol", contextWindow: 272000, }, ], @@ -553,10 +561,10 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ }, suggestedDefaults: { model: { - primary: "fenno/gpt-5.6-sol", + primary: "fenno/gpt-6.1-sol", }, modelCatalog: { - "fenno/gpt-5.6-sol": { alias: "GPT-5.6 Sol" }, + "fenno/gpt-6.1-sol": { alias: "GPT-6.1 Sol" }, }, }, }, @@ -569,21 +577,6 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ apiKey: "", api: "anthropic-messages", models: [ - { - id: "claude-opus-5", - name: "Claude Opus 5", - contextWindow: 1000000, - }, - { - id: "claude-sonnet-5", - name: "Claude Sonnet 5", - contextWindow: 1000000, - }, - { - id: "claude-haiku-4-5", - name: "Claude Haiku 4.5", - contextWindow: 200000, - }, { id: "claude-opus-5-5", name: "Claude Opus 5.5", @@ -593,6 +586,22 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ maxTokens: 128000, cost: { input: 4, output: 20, cacheRead: 0.2, cacheWrite: 5 }, }, + { + id: "claude-sonnet-5-5", + name: "Claude Sonnet 5.5", + reasoning: true, + input: ["text", "image"], + contextWindow: 1000000, + maxTokens: 128000, + }, + { + id: "claude-haiku-5-5", + name: "Claude Haiku 5.5", + reasoning: true, + input: ["text", "image"], + contextWindow: 1000000, + maxTokens: 128000, + }, { id: "claude-fable-5-1", name: "Claude Fable 5.1", @@ -617,12 +626,12 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ }, suggestedDefaults: { model: { - primary: "runapi/claude-sonnet-5", + primary: "runapi/claude-sonnet-5-5", }, modelCatalog: { - "runapi/claude-opus-5": { alias: "Opus" }, - "runapi/claude-sonnet-5": { alias: "Sonnet" }, - "runapi/claude-haiku-4-5": { alias: "Haiku" }, + "runapi/claude-opus-5-5": { alias: "Opus" }, + "runapi/claude-sonnet-5-5": { alias: "Sonnet" }, + "runapi/claude-haiku-5-5": { alias: "Haiku" }, }, }, }, @@ -652,9 +661,12 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ maxTokens: 128000, }, { - id: "claude-haiku-4-5-20251001", - name: "Claude Haiku 4.5", - contextWindow: 200000, + id: "claude-haiku-5-5", + name: "Claude Haiku 5.5", + reasoning: true, + input: ["text", "image"], + contextWindow: 1000000, + maxTokens: 128000, }, ], }, @@ -674,7 +686,7 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ modelCatalog: { "openmodel/claude-opus-5-5": { alias: "Opus" }, "openmodel/claude-sonnet-5-5": { alias: "Sonnet" }, - "openmodel/claude-haiku-4-5-20251001": { alias: "Haiku" }, + "openmodel/claude-haiku-5-5": { alias: "Haiku" }, }, }, isPartner: true, @@ -938,6 +950,14 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ contextWindow: 1000000, maxTokens: 128000, }, + { + id: "deepseek-v4.1-flash-1017", + name: "DeepSeek V4.1 Flash 1017", + reasoning: true, + input: ["text", "image"], + contextWindow: 1000000, + maxTokens: 384000, + }, ], }, category: "aggregator", @@ -996,8 +1016,8 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ maxTokens: 393216, }, { - id: "deepseek-v4-flash", - name: "DeepSeek V4 Flash", + id: "deepseek-v4.1-flash", + name: "DeepSeek V4.1 Flash", input: ["text"], contextWindow: 1048576, maxTokens: 393216, @@ -1010,11 +1030,11 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ maxTokens: 32768, }, { - id: "glm-5.2", - name: "GLM-5.2", + id: "glm-5.3", + name: "GLM-5.3", input: ["text"], - contextWindow: 500000, - maxTokens: 131072, + contextWindow: 1000000, + maxTokens: 128000, }, { id: "glm-5.1", @@ -1031,12 +1051,12 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ maxTokens: 131072, }, { - // FluxA 产品页模型表无 Kimi 行 → maxTokens 照仓库内既有 kimi-k2.6 - // 条目(262144),勿按 GLM 行的 131072 推 - id: "kimi-k2.6", - name: "Kimi K2.6", + // FluxA 产品页模型表无 Kimi 行 → 窗口与 maxTokens 照仓库内既有 kimi-k3 + // 条目(1048576 / 262144),勿按 GLM 行的 131072 推 + id: "kimi-k3", + name: "Kimi K3", input: ["text"], - contextWindow: 262144, + contextWindow: 1048576, maxTokens: 262144, }, ], @@ -1056,7 +1076,7 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ model: { primary: "fluxa-tokenplan/deepseek-v4-pro" }, modelCatalog: { "fluxa-tokenplan/deepseek-v4-pro": { alias: "DeepSeek V4 Pro" }, - "fluxa-tokenplan/glm-5.2": { alias: "GLM-5.2" }, + "fluxa-tokenplan/glm-5.3": { alias: "GLM-5.3" }, }, }, }, @@ -1070,16 +1090,22 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ api: "anthropic-messages", models: [ { - id: "claude-opus-5", - name: "Claude Opus 5", + id: "claude-opus-5-5", + name: "Claude Opus 5.5", + reasoning: true, + input: ["text", "image"], contextWindow: 1000000, - cost: { input: 5, output: 25, cacheRead: 0.5, cacheWrite: 6.25 }, + maxTokens: 128000, + cost: { input: 4, output: 20, cacheRead: 0.2, cacheWrite: 5 }, }, { - id: "claude-sonnet-5", - name: "Claude Sonnet 5", + id: "claude-sonnet-5-5", + name: "Claude Sonnet 5.5", + reasoning: true, + input: ["text", "image"], contextWindow: 1000000, - cost: { input: 2, output: 10, cacheRead: 0.2, cacheWrite: 2.5 }, + maxTokens: 128000, + cost: { input: 2, output: 10, cacheRead: 0.1, cacheWrite: 2.5 }, }, ], }, @@ -1097,12 +1123,12 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ }, suggestedDefaults: { model: { - primary: "aigocode/claude-opus-5", - fallbacks: ["aigocode/claude-sonnet-5"], + primary: "aigocode/claude-opus-5-5", + fallbacks: ["aigocode/claude-sonnet-5-5"], }, modelCatalog: { - "aigocode/claude-opus-5": { alias: "Opus" }, - "aigocode/claude-sonnet-5": { alias: "Sonnet" }, + "aigocode/claude-opus-5-5": { alias: "Opus" }, + "aigocode/claude-sonnet-5-5": { alias: "Sonnet" }, }, }, }, @@ -1149,6 +1175,34 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ contextWindow: 1048576, maxTokens: 131072, }, + { + id: "deepseek/deepseek-v4.1-flash", + name: "DeepSeek V4.1 Flash", + reasoning: true, + contextWindow: 1000000, + maxTokens: 384000, + }, + { + id: "qwen/qwen3.8-max", + name: "Qwen3.8 Max", + reasoning: true, + contextWindow: 1000000, + }, + { + id: "minimax/minimax-m3.1-flash", + name: "MiniMax M3.1 Flash", + reasoning: true, + input: ["text", "image"], + contextWindow: 1000000, + }, + { + id: "xiaomi/mimo-v2.6-pro", + name: "MiMo V2.6 Pro", + reasoning: true, + input: ["text", "image"], + contextWindow: 1048576, + maxTokens: 131072, + }, ], }, category: "aggregator", @@ -1181,16 +1235,22 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ api: "anthropic-messages", models: [ { - id: "claude-opus-5", - name: "Claude Opus 5", + id: "claude-opus-5-5", + name: "Claude Opus 5.5", + reasoning: true, + input: ["text", "image"], contextWindow: 1000000, - cost: { input: 5, output: 25, cacheRead: 0.5, cacheWrite: 6.25 }, + maxTokens: 128000, + cost: { input: 4, output: 20, cacheRead: 0.2, cacheWrite: 5 }, }, { - id: "claude-sonnet-5", - name: "Claude Sonnet 5", + id: "claude-sonnet-5-5", + name: "Claude Sonnet 5.5", + reasoning: true, + input: ["text", "image"], contextWindow: 1000000, - cost: { input: 2, output: 10, cacheRead: 0.2, cacheWrite: 2.5 }, + maxTokens: 128000, + cost: { input: 2, output: 10, cacheRead: 0.1, cacheWrite: 2.5 }, }, ], }, @@ -1208,12 +1268,12 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ }, suggestedDefaults: { model: { - primary: "aicoding/claude-opus-5", - fallbacks: ["aicoding/claude-sonnet-5"], + primary: "aicoding/claude-opus-5-5", + fallbacks: ["aicoding/claude-sonnet-5-5"], }, modelCatalog: { - "aicoding/claude-opus-5": { alias: "Opus" }, - "aicoding/claude-sonnet-5": { alias: "Sonnet" }, + "aicoding/claude-opus-5-5": { alias: "Opus" }, + "aicoding/claude-sonnet-5-5": { alias: "Sonnet" }, }, }, }, @@ -1227,9 +1287,12 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ api: "openai-completions", models: [ { - id: "gpt-5.6-sol", - name: "GPT-5.6 Sol", + id: "gpt-6.1-sol", + name: "GPT-6.1 Sol", + reasoning: true, + input: ["text", "image"], contextWindow: 272000, + maxTokens: 128000, }, { id: "gpt-6-astra", @@ -1255,10 +1318,10 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ }, suggestedDefaults: { model: { - primary: "subrouter/gpt-5.6-sol", + primary: "subrouter/gpt-6.1-sol", }, modelCatalog: { - "subrouter/gpt-5.6-sol": { alias: "GPT-5.6 Sol" }, + "subrouter/gpt-6.1-sol": { alias: "GPT-6.1 Sol" }, }, }, }, @@ -1272,18 +1335,6 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ apiKey: "", api: "anthropic-messages", models: [ - { - id: "anthropic/claude-opus-5", - name: "Claude Opus 5", - contextWindow: 1000000, - cost: { input: 5, output: 25, cacheRead: 0.5, cacheWrite: 6.25 }, - }, - { - id: "anthropic/claude-sonnet-5", - name: "Claude Sonnet 5", - contextWindow: 1000000, - cost: { input: 2, output: 10, cacheRead: 0.2, cacheWrite: 2.5 }, - }, { id: "anthropic/claude-opus-5.5", name: "Claude Opus 5.5", @@ -1293,6 +1344,15 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ maxTokens: 128000, cost: { input: 4, output: 20, cacheRead: 0.2, cacheWrite: 5 }, }, + { + id: "anthropic/claude-sonnet-5.5", + name: "Claude Sonnet 5.5", + reasoning: true, + input: ["text", "image"], + contextWindow: 1000000, + maxTokens: 128000, + cost: { input: 2, output: 10, cacheRead: 0.1, cacheWrite: 2.5 }, + }, { id: "anthropic/claude-fable-5.1", name: "Claude Fable 5.1", @@ -1317,12 +1377,12 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ }, suggestedDefaults: { model: { - primary: "shengsuanyun/anthropic/claude-opus-5", - fallbacks: ["shengsuanyun/anthropic/claude-sonnet-5"], + primary: "shengsuanyun/anthropic/claude-opus-5.5", + fallbacks: ["shengsuanyun/anthropic/claude-sonnet-5.5"], }, modelCatalog: { - "shengsuanyun/anthropic/claude-opus-5": { alias: "Opus" }, - "shengsuanyun/anthropic/claude-sonnet-5": { alias: "Sonnet" }, + "shengsuanyun/anthropic/claude-opus-5.5": { alias: "Opus" }, + "shengsuanyun/anthropic/claude-sonnet-5.5": { alias: "Sonnet" }, }, }, }, @@ -1352,9 +1412,12 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ maxTokens: 128000, }, { - id: "claude-haiku-4-5", - name: "Claude Haiku 4.5", - contextWindow: 200000, + id: "claude-haiku-5-5", + name: "Claude Haiku 5.5", + reasoning: true, + input: ["text", "image"], + contextWindow: 1000000, + maxTokens: 128000, }, { id: "claude-fable-5-1", @@ -1385,7 +1448,7 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ modelCatalog: { "88api/claude-opus-5-5": { alias: "Opus" }, "88api/claude-sonnet-5-5": { alias: "Sonnet" }, - "88api/claude-haiku-4-5": { alias: "Haiku" }, + "88api/claude-haiku-5-5": { alias: "Haiku" }, }, }, }, @@ -1399,19 +1462,28 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ api: "anthropic-messages", models: [ { - id: "claude-opus-5", - name: "Claude Opus 5", + id: "claude-opus-5-5", + name: "Claude Opus 5.5", + reasoning: true, + input: ["text", "image"], contextWindow: 1000000, + maxTokens: 128000, }, { - id: "claude-sonnet-5", - name: "Claude Sonnet 5", + id: "claude-sonnet-5-5", + name: "Claude Sonnet 5.5", + reasoning: true, + input: ["text", "image"], contextWindow: 1000000, + maxTokens: 128000, }, { - id: "claude-haiku-4-5", - name: "Claude Haiku 4.5", - contextWindow: 200000, + id: "claude-haiku-5-5", + name: "Claude Haiku 5.5", + reasoning: true, + input: ["text", "image"], + contextWindow: 1000000, + maxTokens: 128000, }, ], }, @@ -1428,13 +1500,13 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ }, suggestedDefaults: { model: { - primary: "apikeyfun/claude-opus-5", - fallbacks: ["apikeyfun/claude-sonnet-5"], + primary: "apikeyfun/claude-opus-5-5", + fallbacks: ["apikeyfun/claude-sonnet-5-5"], }, modelCatalog: { - "apikeyfun/claude-opus-5": { alias: "Opus" }, - "apikeyfun/claude-sonnet-5": { alias: "Sonnet" }, - "apikeyfun/claude-haiku-4-5": { alias: "Haiku" }, + "apikeyfun/claude-opus-5-5": { alias: "Opus" }, + "apikeyfun/claude-sonnet-5-5": { alias: "Sonnet" }, + "apikeyfun/claude-haiku-5-5": { alias: "Haiku" }, }, }, }, @@ -1447,21 +1519,6 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ apiKey: "", api: "anthropic-messages", models: [ - { - id: "claude-opus-5", - name: "Claude Opus 5", - contextWindow: 1000000, - }, - { - id: "claude-sonnet-5", - name: "Claude Sonnet 5", - contextWindow: 1000000, - }, - { - id: "claude-haiku-4-5", - name: "Claude Haiku 4.5", - contextWindow: 200000, - }, { id: "claude-opus-5-5", name: "Claude Opus 5.5", @@ -1471,6 +1528,22 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ maxTokens: 128000, cost: { input: 4, output: 20, cacheRead: 0.2, cacheWrite: 5 }, }, + { + id: "claude-sonnet-5-5", + name: "Claude Sonnet 5.5", + reasoning: true, + input: ["text", "image"], + contextWindow: 1000000, + maxTokens: 128000, + }, + { + id: "claude-haiku-5-5", + name: "Claude Haiku 5.5", + reasoning: true, + input: ["text", "image"], + contextWindow: 1000000, + maxTokens: 128000, + }, { id: "claude-fable-5-1", name: "Claude Fable 5.1", @@ -1495,13 +1568,13 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ }, suggestedDefaults: { model: { - primary: "9527code/claude-opus-5", - fallbacks: ["9527code/claude-sonnet-5"], + primary: "9527code/claude-opus-5-5", + fallbacks: ["9527code/claude-sonnet-5-5"], }, modelCatalog: { - "9527code/claude-opus-5": { alias: "Opus" }, - "9527code/claude-sonnet-5": { alias: "Sonnet" }, - "9527code/claude-haiku-4-5": { alias: "Haiku" }, + "9527code/claude-opus-5-5": { alias: "Opus" }, + "9527code/claude-sonnet-5-5": { alias: "Sonnet" }, + "9527code/claude-haiku-5-5": { alias: "Haiku" }, }, }, }, @@ -1515,9 +1588,13 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ api: "openai-completions", models: [ { - id: "gpt-5.6-sol", - name: "GPT-5.6 Sol", + id: "gpt-6.1-sol", + name: "GPT-6.1 Sol", + reasoning: true, + input: ["text", "image"], contextWindow: 272000, + maxTokens: 128000, + cost: { input: 2, output: 10, cacheRead: 0.1, cacheWrite: 2.5 }, }, { id: "gpt-6-astra", @@ -1541,10 +1618,10 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ }, suggestedDefaults: { model: { - primary: "code0/gpt-5.6-sol", + primary: "code0/gpt-6.1-sol", }, modelCatalog: { - "code0/gpt-5.6-sol": { alias: "GPT-5.6 Sol" }, + "code0/gpt-6.1-sol": { alias: "GPT-6.1 Sol" }, }, }, }, @@ -1559,8 +1636,8 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ api: "openai-completions", models: [ { - id: "gpt-5.6-sol", - name: "GPT-5.6 Sol", + id: "gpt-6.1-sol", + name: "GPT-6.1 Sol", contextWindow: 272000, }, ], @@ -1578,10 +1655,10 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ }, suggestedDefaults: { model: { - primary: "teamorouter/gpt-5.6-sol", + primary: "teamorouter/gpt-6.1-sol", }, modelCatalog: { - "teamorouter/gpt-5.6-sol": { alias: "GPT-5.6 Sol" }, + "teamorouter/gpt-6.1-sol": { alias: "GPT-6.1 Sol" }, }, }, }, @@ -1595,14 +1672,64 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ api: "openai-completions", models: [ { - id: "deepseek/deepseek-v4-flash-0731", - name: "Deepseek V4 Flash 0731", + id: "deepseek/deepseek-v4.1-flash", + name: "DeepSeek V4.1 Flash", reasoning: true, input: ["text"], contextWindow: 1048576, maxTokens: 393216, cost: { input: 0.14, output: 0.29, cacheRead: 0.03 }, }, + { + id: "moonshotai/kimi-k3.1-pro", + name: "Kimi K3.1 Pro", + reasoning: true, + input: ["text", "image"], + contextWindow: 1048576, + }, + { + id: "zai-org/glm-5.3", + name: "GLM-5.3", + reasoning: true, + input: ["text"], + contextWindow: 1000000, + maxTokens: 128000, + }, + { + id: "deepseek/deepseek-v4-pro", + name: "DeepSeek V4 Pro", + reasoning: true, + contextWindow: 1000000, + maxTokens: 384000, + }, + { + id: "xiaomimimo/mimo-v2.6-pro", + name: "MiMo V2.6 Pro", + reasoning: true, + input: ["text", "image"], + contextWindow: 1048576, + maxTokens: 131072, + }, + { + id: "qwen/qwen3.8-max", + name: "Qwen3.8 Max", + reasoning: true, + contextWindow: 1000000, + }, + { + id: "minimax/minimax-m3.1-flash", + name: "MiniMax M3.1 Flash", + reasoning: true, + input: ["text", "image"], + contextWindow: 1000000, + }, + { + id: "stepfun/step-5-preview", + name: "Step 5 Preview", + reasoning: true, + input: ["text", "image"], + contextWindow: 1000000, + }, ], }, category: "aggregator", @@ -1618,10 +1745,10 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ }, }, suggestedDefaults: { - model: { primary: "ppio/deepseek/deepseek-v4-flash-0731" }, + model: { primary: "ppio/deepseek/deepseek-v4.1-flash" }, modelCatalog: { - "ppio/deepseek/deepseek-v4-flash-0731": { - alias: "Deepseek V4 Flash 0731", + "ppio/deepseek/deepseek-v4.1-flash": { + alias: "DeepSeek V4.1 Flash", }, }, }, @@ -1635,21 +1762,6 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ apiKey: "", api: "anthropic-messages", models: [ - { - id: "claude-opus-5", - name: "Claude Opus 5", - contextWindow: 1000000, - }, - { - id: "claude-sonnet-5", - name: "Claude Sonnet 5", - contextWindow: 1000000, - }, - { - id: "claude-haiku-4-5", - name: "Claude Haiku 4.5", - contextWindow: 200000, - }, { id: "claude-opus-5-5", name: "Claude Opus 5.5", @@ -1659,6 +1771,22 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ maxTokens: 128000, cost: { input: 4, output: 20, cacheRead: 0.2, cacheWrite: 5 }, }, + { + id: "claude-sonnet-5-5", + name: "Claude Sonnet 5.5", + reasoning: true, + input: ["text", "image"], + contextWindow: 1000000, + maxTokens: 128000, + }, + { + id: "claude-haiku-5-5", + name: "Claude Haiku 5.5", + reasoning: true, + input: ["text", "image"], + contextWindow: 1000000, + maxTokens: 128000, + }, { id: "claude-fable-5-1", name: "Claude Fable 5.1", @@ -1683,12 +1811,12 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ }, suggestedDefaults: { model: { - primary: "claudecn/claude-sonnet-5", + primary: "claudecn/claude-sonnet-5-5", }, modelCatalog: { - "claudecn/claude-opus-5": { alias: "Opus" }, - "claudecn/claude-sonnet-5": { alias: "Sonnet" }, - "claudecn/claude-haiku-4-5": { alias: "Haiku" }, + "claudecn/claude-opus-5-5": { alias: "Opus" }, + "claudecn/claude-sonnet-5-5": { alias: "Sonnet" }, + "claudecn/claude-haiku-5-5": { alias: "Haiku" }, }, }, }, @@ -1822,7 +1950,7 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ api: "openai-completions", models: [ { - id: "doubao-seed-2-1-pro-260628", + id: "doubao-seed-2-1-pro-260915", name: "DouBao Seed 2.1 Pro", contextWindow: 262144, cost: { input: 0.84, output: 4.2 }, @@ -1842,9 +1970,9 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ }, }, suggestedDefaults: { - model: { primary: "doubaoseed/doubao-seed-2-1-pro-260628" }, + model: { primary: "doubaoseed/doubao-seed-2-1-pro-260915" }, modelCatalog: { - "doubaoseed/doubao-seed-2-1-pro-260628": { alias: "DouBao" }, + "doubaoseed/doubao-seed-2-1-pro-260915": { alias: "DouBao" }, }, }, }, @@ -1937,9 +2065,13 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ api: "openai-completions", models: [ { - id: "gpt-5.6-sol", - name: "GPT-5.6 Sol", + id: "gpt-6.1-sol", + name: "GPT-6.1 Sol", + reasoning: true, + input: ["text", "image"], contextWindow: 272000, + maxTokens: 128000, + cost: { input: 2, output: 10, cacheRead: 0.1, cacheWrite: 2.5 }, }, { id: "gpt-6-astra", @@ -1965,10 +2097,10 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ }, suggestedDefaults: { model: { - primary: "a6api/gpt-5.6-sol", + primary: "a6api/gpt-6.1-sol", }, modelCatalog: { - "a6api/gpt-5.6-sol": { alias: "GPT-5.6 Sol" }, + "a6api/gpt-6.1-sol": { alias: "GPT-6.1 Sol" }, }, }, }, @@ -1986,10 +2118,13 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ api: "anthropic-messages", models: [ { - id: "claude-opus-5", - name: "Claude Opus 5", + id: "claude-opus-5-5", + name: "Claude Opus 5.5", + reasoning: true, + input: ["text", "image"], contextWindow: 1000000, - cost: { input: 5, output: 25, cacheRead: 0.5, cacheWrite: 6.25 }, + maxTokens: 128000, + cost: { input: 4, output: 20, cacheRead: 0.2, cacheWrite: 5 }, }, ], }, @@ -2007,10 +2142,10 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ }, suggestedDefaults: { model: { - primary: "compshare/claude-opus-5", + primary: "compshare/claude-opus-5-5", }, modelCatalog: { - "compshare/claude-opus-5": { alias: "Opus" }, + "compshare/claude-opus-5-5": { alias: "Opus" }, }, }, }, @@ -2028,10 +2163,13 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ api: "anthropic-messages", models: [ { - id: "claude-opus-5", - name: "Claude Opus 5", + id: "claude-opus-5-5", + name: "Claude Opus 5.5", + reasoning: true, + input: ["text", "image"], contextWindow: 1000000, - cost: { input: 5, output: 25, cacheRead: 0.5, cacheWrite: 6.25 }, + maxTokens: 128000, + cost: { input: 4, output: 20, cacheRead: 0.2, cacheWrite: 5 }, }, ], }, @@ -2049,10 +2187,10 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ }, suggestedDefaults: { model: { - primary: "compshare-coding/claude-opus-5", + primary: "compshare-coding/claude-opus-5-5", }, modelCatalog: { - "compshare-coding/claude-opus-5": { alias: "Opus" }, + "compshare-coding/claude-opus-5-5": { alias: "Opus" }, }, }, }, @@ -2065,6 +2203,13 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ apiKey: "", api: "openai-completions", models: [ + { + id: "gpt-6.1-sol", + name: "GPT-6.1 Sol", + contextWindow: 272000, + cost: { input: 2, output: 10, cacheRead: 0.1, cacheWrite: 2.5 }, + maxTokens: 128000, + }, { id: "gpt-6-astra", name: "GPT-6 Astra", @@ -2072,6 +2217,13 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ cost: { input: 10, output: 50, cacheRead: 1, cacheWrite: 12.5 }, maxTokens: 128000, }, + { + id: "gpt-6-luna", + name: "GPT-6 Luna", + contextWindow: 272000, + cost: { input: 0.1, output: 0.5, cacheRead: 0.01, cacheWrite: 0.125 }, + maxTokens: 128000, + }, ], }, category: "aggregator", @@ -2087,9 +2239,10 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ }, suggestedDefaults: { model: { - primary: "ccsub/gpt-6-astra", + primary: "ccsub/gpt-6.1-sol", }, modelCatalog: { + "ccsub/gpt-6.1-sol": { alias: "GPT-6.1 Sol" }, "ccsub/gpt-6-astra": { alias: "GPT-6 Astra" }, }, }, @@ -2104,16 +2257,22 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ api: "anthropic-messages", models: [ { - id: "claude-opus-5", - name: "Claude Opus 5", + id: "claude-opus-5-5", + name: "Claude Opus 5.5", + reasoning: true, + input: ["text", "image"], contextWindow: 1000000, - cost: { input: 5, output: 25, cacheRead: 0.5, cacheWrite: 6.25 }, + maxTokens: 128000, + cost: { input: 4, output: 20, cacheRead: 0.2, cacheWrite: 5 }, }, { - id: "claude-sonnet-5", - name: "Claude Sonnet 5", + id: "claude-sonnet-5-5", + name: "Claude Sonnet 5.5", + reasoning: true, + input: ["text", "image"], contextWindow: 1000000, - cost: { input: 2, output: 10, cacheRead: 0.2, cacheWrite: 2.5 }, + maxTokens: 128000, + cost: { input: 2, output: 10, cacheRead: 0.1, cacheWrite: 2.5 }, }, ], }, @@ -2131,12 +2290,12 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ }, suggestedDefaults: { model: { - primary: "sssaicode/claude-opus-5", - fallbacks: ["sssaicode/claude-sonnet-5"], + primary: "sssaicode/claude-opus-5-5", + fallbacks: ["sssaicode/claude-sonnet-5-5"], }, modelCatalog: { - "sssaicode/claude-opus-5": { alias: "Opus" }, - "sssaicode/claude-sonnet-5": { alias: "Sonnet" }, + "sssaicode/claude-opus-5-5": { alias: "Opus" }, + "sssaicode/claude-sonnet-5-5": { alias: "Sonnet" }, }, }, }, @@ -2150,19 +2309,28 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ api: "anthropic-messages", models: [ { - id: "claude-opus-5", - name: "Claude Opus 5", + id: "claude-opus-5-5", + name: "Claude Opus 5.5", + reasoning: true, + input: ["text", "image"], contextWindow: 1000000, + maxTokens: 128000, }, { - id: "claude-sonnet-5", - name: "Claude Sonnet 5", + id: "claude-sonnet-5-5", + name: "Claude Sonnet 5.5", + reasoning: true, + input: ["text", "image"], contextWindow: 1000000, + maxTokens: 128000, }, { - id: "claude-haiku-4-5-20251001", - name: "Claude Haiku 4.5", - contextWindow: 200000, + id: "claude-haiku-5-5", + name: "Claude Haiku 5.5", + reasoning: true, + input: ["text", "image"], + contextWindow: 1000000, + maxTokens: 128000, }, ], }, @@ -2179,13 +2347,13 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ }, suggestedDefaults: { model: { - primary: "soleapi/claude-opus-5", - fallbacks: ["soleapi/claude-sonnet-5"], + primary: "soleapi/claude-opus-5-5", + fallbacks: ["soleapi/claude-sonnet-5-5"], }, modelCatalog: { - "soleapi/claude-opus-5": { alias: "Opus" }, - "soleapi/claude-sonnet-5": { alias: "Sonnet" }, - "soleapi/claude-haiku-4-5-20251001": { alias: "Haiku" }, + "soleapi/claude-opus-5-5": { alias: "Opus" }, + "soleapi/claude-sonnet-5-5": { alias: "Sonnet" }, + "soleapi/claude-haiku-5-5": { alias: "Haiku" }, }, }, }, @@ -2199,10 +2367,13 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ api: "anthropic-messages", models: [ { - id: "claude-opus-5", - name: "Claude Opus 5", + id: "claude-opus-5-5", + name: "Claude Opus 5.5", + reasoning: true, + input: ["text", "image"], contextWindow: 1000000, - cost: { input: 5, output: 25, cacheRead: 0.5, cacheWrite: 6.25 }, + maxTokens: 128000, + cost: { input: 4, output: 20, cacheRead: 0.2, cacheWrite: 5 }, }, ], }, @@ -2220,10 +2391,10 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ }, suggestedDefaults: { model: { - primary: "micu/claude-opus-5", + primary: "micu/claude-opus-5-5", }, modelCatalog: { - "micu/claude-opus-5": { alias: "Opus" }, + "micu/claude-opus-5-5": { alias: "Opus" }, }, }, }, @@ -2237,16 +2408,22 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ api: "anthropic-messages", models: [ { - id: "claude-opus-5", - name: "Claude Opus 5", + id: "claude-opus-5-5", + name: "Claude Opus 5.5", + reasoning: true, + input: ["text", "image"], contextWindow: 1000000, - cost: { input: 5, output: 25, cacheRead: 0.5, cacheWrite: 6.25 }, + maxTokens: 128000, + cost: { input: 4, output: 20, cacheRead: 0.2, cacheWrite: 5 }, }, { - id: "claude-sonnet-5", - name: "Claude Sonnet 5", + id: "claude-sonnet-5-5", + name: "Claude Sonnet 5.5", + reasoning: true, + input: ["text", "image"], contextWindow: 1000000, - cost: { input: 2, output: 10, cacheRead: 0.2, cacheWrite: 2.5 }, + maxTokens: 128000, + cost: { input: 2, output: 10, cacheRead: 0.1, cacheWrite: 2.5 }, }, ], }, @@ -2264,12 +2441,12 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ }, suggestedDefaults: { model: { - primary: "rightcode/claude-opus-5", - fallbacks: ["rightcode/claude-sonnet-5"], + primary: "rightcode/claude-opus-5-5", + fallbacks: ["rightcode/claude-sonnet-5-5"], }, modelCatalog: { - "rightcode/claude-opus-5": { alias: "Opus" }, - "rightcode/claude-sonnet-5": { alias: "Sonnet" }, + "rightcode/claude-opus-5-5": { alias: "Opus" }, + "rightcode/claude-sonnet-5-5": { alias: "Sonnet" }, }, }, }, @@ -2283,16 +2460,22 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ api: "anthropic-messages", models: [ { - id: "claude-opus-5", - name: "Claude Opus 5", + id: "claude-opus-5-5", + name: "Claude Opus 5.5", + reasoning: true, + input: ["text", "image"], contextWindow: 1000000, - cost: { input: 5, output: 25, cacheRead: 0.5, cacheWrite: 6.25 }, + maxTokens: 128000, + cost: { input: 4, output: 20, cacheRead: 0.2, cacheWrite: 5 }, }, { - id: "claude-sonnet-5", - name: "Claude Sonnet 5", + id: "claude-sonnet-5-5", + name: "Claude Sonnet 5.5", + reasoning: true, + input: ["text", "image"], contextWindow: 1000000, - cost: { input: 2, output: 10, cacheRead: 0.2, cacheWrite: 2.5 }, + maxTokens: 128000, + cost: { input: 2, output: 10, cacheRead: 0.1, cacheWrite: 2.5 }, }, ], }, @@ -2310,12 +2493,12 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ }, suggestedDefaults: { model: { - primary: "cubence/claude-opus-5", - fallbacks: ["cubence/claude-sonnet-5"], + primary: "cubence/claude-opus-5-5", + fallbacks: ["cubence/claude-sonnet-5-5"], }, modelCatalog: { - "cubence/claude-opus-5": { alias: "Opus" }, - "cubence/claude-sonnet-5": { alias: "Sonnet" }, + "cubence/claude-opus-5-5": { alias: "Opus" }, + "cubence/claude-sonnet-5-5": { alias: "Sonnet" }, }, }, }, @@ -2329,16 +2512,22 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ api: "anthropic-messages", models: [ { - id: "claude-opus-5", - name: "Claude Opus 5", + id: "claude-opus-5-5", + name: "Claude Opus 5.5", + reasoning: true, + input: ["text", "image"], contextWindow: 1000000, - cost: { input: 5, output: 25, cacheRead: 0.5, cacheWrite: 6.25 }, + maxTokens: 128000, + cost: { input: 4, output: 20, cacheRead: 0.2, cacheWrite: 5 }, }, { - id: "claude-sonnet-5", - name: "Claude Sonnet 5", + id: "claude-sonnet-5-5", + name: "Claude Sonnet 5.5", + reasoning: true, + input: ["text", "image"], contextWindow: 1000000, - cost: { input: 2, output: 10, cacheRead: 0.2, cacheWrite: 2.5 }, + maxTokens: 128000, + cost: { input: 2, output: 10, cacheRead: 0.1, cacheWrite: 2.5 }, }, { id: "claude-fable-5-1", @@ -2365,12 +2554,12 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ }, suggestedDefaults: { model: { - primary: "crazyrouter/claude-opus-5", - fallbacks: ["crazyrouter/claude-sonnet-5"], + primary: "crazyrouter/claude-opus-5-5", + fallbacks: ["crazyrouter/claude-sonnet-5-5"], }, modelCatalog: { - "crazyrouter/claude-opus-5": { alias: "Opus" }, - "crazyrouter/claude-sonnet-5": { alias: "Sonnet" }, + "crazyrouter/claude-opus-5-5": { alias: "Opus" }, + "crazyrouter/claude-sonnet-5-5": { alias: "Sonnet" }, }, }, }, @@ -2384,16 +2573,22 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ api: "anthropic-messages", models: [ { - id: "claude-opus-5", - name: "Claude Opus 5", + id: "claude-opus-5-5", + name: "Claude Opus 5.5", + reasoning: true, + input: ["text", "image"], contextWindow: 1000000, - cost: { input: 5, output: 25, cacheRead: 0.5, cacheWrite: 6.25 }, + maxTokens: 128000, + cost: { input: 4, output: 20, cacheRead: 0.2, cacheWrite: 5 }, }, { - id: "claude-sonnet-5", - name: "Claude Sonnet 5", + id: "claude-sonnet-5-5", + name: "Claude Sonnet 5.5", + reasoning: true, + input: ["text", "image"], contextWindow: 1000000, - cost: { input: 2, output: 10, cacheRead: 0.2, cacheWrite: 2.5 }, + maxTokens: 128000, + cost: { input: 2, output: 10, cacheRead: 0.1, cacheWrite: 2.5 }, }, ], }, @@ -2409,12 +2604,12 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ }, suggestedDefaults: { model: { - primary: "dmxapi/claude-opus-5", - fallbacks: ["dmxapi/claude-sonnet-5"], + primary: "dmxapi/claude-opus-5-5", + fallbacks: ["dmxapi/claude-sonnet-5-5"], }, modelCatalog: { - "dmxapi/claude-opus-5": { alias: "Opus" }, - "dmxapi/claude-sonnet-5": { alias: "Sonnet" }, + "dmxapi/claude-opus-5-5": { alias: "Opus" }, + "dmxapi/claude-sonnet-5-5": { alias: "Sonnet" }, }, }, icon: "dmxapi", @@ -2431,8 +2626,13 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ api: "openai-responses", models: [ { - id: "gpt-5.6-sol", - name: "GPT-5.6 Sol", + id: "gpt-6.1-sol", + name: "GPT-6.1 Sol", + reasoning: true, + input: ["text", "image"], + contextWindow: 272000, + maxTokens: 128000, + cost: { input: 2, output: 10, cacheRead: 0.1, cacheWrite: 2.5 }, }, { id: "gpt-6-sol", @@ -2476,7 +2676,7 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ }, suggestedDefaults: { model: { - primary: "sudocode/gpt-5.6-sol", + primary: "sudocode/gpt-6.1-sol", }, }, }, @@ -2491,8 +2691,13 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ api: "openai-responses", models: [ { - id: "gpt-5.6-sol", - name: "GPT-5.6 Sol", + id: "gpt-6.1-sol", + name: "GPT-6.1 Sol", + reasoning: true, + input: ["text", "image"], + contextWindow: 272000, + maxTokens: 128000, + cost: { input: 2, output: 10, cacheRead: 0.1, cacheWrite: 2.5 }, }, { id: "gpt-6-sol", @@ -2526,7 +2731,7 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ }, suggestedDefaults: { model: { - primary: "sudocode-us/gpt-5.6-sol", + primary: "sudocode-us/gpt-6.1-sol", }, }, }, @@ -2540,9 +2745,13 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ api: "openai-completions", models: [ { - id: "gpt-5.6-sol", - name: "GPT-5.6 Sol", + id: "gpt-6.1-sol", + name: "GPT-6.1 Sol", + reasoning: true, + input: ["text", "image"], contextWindow: 272000, + maxTokens: 128000, + cost: { input: 2, output: 10, cacheRead: 0.1, cacheWrite: 2.5 }, }, { id: "gpt-6-astra", @@ -2568,10 +2777,10 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ }, suggestedDefaults: { model: { - primary: "xycai/gpt-5.6-sol", + primary: "xycai/gpt-6.1-sol", }, modelCatalog: { - "xycai/gpt-5.6-sol": { alias: "GPT-5.6 Sol" }, + "xycai/gpt-6.1-sol": { alias: "GPT-6.1 Sol" }, }, }, }, @@ -2588,16 +2797,8 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ api: "openai-completions", models: [ { - id: "gpt-5.6-sol", - name: "GPT-5.6 Sol", - reasoning: true, - input: ["text", "image"], - contextWindow: 272000, - maxTokens: 128000, - }, - { - id: "gpt-6-sol", - name: "GPT-6 Sol", + id: "gpt-6.1-sol", + name: "GPT-6.1 Sol", reasoning: true, input: ["text", "image"], contextWindow: 272000, @@ -2611,6 +2812,14 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ contextWindow: 272000, maxTokens: 128000, }, + { + id: "gpt-6-luna", + name: "GPT-6 Luna", + reasoning: true, + input: ["text", "image"], + contextWindow: 272000, + maxTokens: 128000, + }, ], }, category: "aggregator", @@ -2623,12 +2832,11 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ }, suggestedDefaults: { model: { - primary: "modelflare/gpt-5.6-sol", - fallbacks: ["modelflare/gpt-6-sol"], + primary: "modelflare/gpt-6.1-sol", + fallbacks: ["modelflare/gpt-6-astra"], }, modelCatalog: { - "modelflare/gpt-5.6-sol": { alias: "GPT-5.6 Sol" }, - "modelflare/gpt-6-sol": { alias: "GPT-6 Sol" }, + "modelflare/gpt-6.1-sol": { alias: "GPT-6.1 Sol" }, }, }, isPartner: true, @@ -2647,16 +2855,8 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ api: "openai-responses", models: [ { - id: "gpt-5.6-sol", - name: "GPT-5.6 Sol", - reasoning: true, - input: ["text", "image"], - contextWindow: 272000, - maxTokens: 128000, - }, - { - id: "gpt-6-sol", - name: "GPT-6 Sol", + id: "gpt-6.1-sol", + name: "GPT-6.1 Sol", reasoning: true, input: ["text", "image"], contextWindow: 272000, @@ -2670,6 +2870,14 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ contextWindow: 272000, maxTokens: 128000, }, + { + id: "gpt-6-luna", + name: "GPT-6 Luna", + reasoning: true, + input: ["text", "image"], + contextWindow: 272000, + maxTokens: 128000, + }, ], }, category: "aggregator", @@ -2682,12 +2890,11 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ }, suggestedDefaults: { model: { - primary: "alltokens/gpt-5.6-sol", - fallbacks: ["alltokens/gpt-6-sol"], + primary: "alltokens/gpt-6.1-sol", + fallbacks: ["alltokens/gpt-6-astra"], }, modelCatalog: { - "alltokens/gpt-5.6-sol": { alias: "GPT-5.6 Sol" }, - "alltokens/gpt-6-sol": { alias: "GPT-6 Sol" }, + "alltokens/gpt-6.1-sol": { alias: "GPT-6.1 Sol" }, }, }, isPartner: true, @@ -2707,16 +2914,8 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ api: "openai-completions", models: [ { - id: "gpt-5.6-sol", - name: "GPT-5.6 Sol", - reasoning: true, - input: ["text", "image"], - contextWindow: 272000, - maxTokens: 128000, - }, - { - id: "gpt-6-sol", - name: "GPT-6 Sol", + id: "gpt-6.1-sol", + name: "GPT-6.1 Sol", reasoning: true, input: ["text", "image"], contextWindow: 272000, @@ -2742,12 +2941,11 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ }, suggestedDefaults: { model: { - primary: "alltokens-si/gpt-5.6-sol", - fallbacks: ["alltokens-si/gpt-6-sol"], + primary: "alltokens-si/gpt-6.1-sol", + fallbacks: ["alltokens-si/gpt-6-astra"], }, modelCatalog: { - "alltokens-si/gpt-5.6-sol": { alias: "GPT-5.6 Sol" }, - "alltokens-si/gpt-6-sol": { alias: "GPT-6 Sol" }, + "alltokens-si/gpt-6.1-sol": { alias: "GPT-6.1 Sol" }, }, }, isPartner: true, @@ -2766,19 +2964,36 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ api: "anthropic-messages", models: [ { - id: "claude-opus-5", - name: "Claude Opus 5", + id: "claude-opus-5-5", + name: "Claude Opus 5.5", + reasoning: true, + input: ["text", "image"], contextWindow: 1000000, + maxTokens: 128000, }, { - id: "claude-sonnet-5", - name: "Claude Sonnet 5", + id: "claude-sonnet-5-5", + name: "Claude Sonnet 5.5", + reasoning: true, + input: ["text", "image"], contextWindow: 1000000, + maxTokens: 128000, }, { - id: "claude-haiku-4-5", - name: "Claude Haiku 4.5", - contextWindow: 200000, + id: "claude-haiku-5-5", + name: "Claude Haiku 5.5", + reasoning: true, + input: ["text", "image"], + contextWindow: 1000000, + maxTokens: 128000, + }, + { + id: "claude-fable-5-1", + name: "Claude Fable 5.1", + reasoning: true, + input: ["text", "image"], + contextWindow: 1000000, + maxTokens: 128000, }, ], }, @@ -2793,13 +3008,13 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ }, suggestedDefaults: { model: { - primary: "tuzi/claude-opus-5", - fallbacks: ["tuzi/claude-sonnet-5"], + primary: "tuzi/claude-opus-5-5", + fallbacks: ["tuzi/claude-sonnet-5-5"], }, modelCatalog: { - "tuzi/claude-opus-5": { alias: "Opus" }, - "tuzi/claude-sonnet-5": { alias: "Sonnet" }, - "tuzi/claude-haiku-4-5": { alias: "Haiku" }, + "tuzi/claude-opus-5-5": { alias: "Opus" }, + "tuzi/claude-sonnet-5-5": { alias: "Sonnet" }, + "tuzi/claude-haiku-5-5": { alias: "Haiku" }, }, }, }, @@ -2813,9 +3028,13 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ api: "openai-completions", models: [ { - id: "gpt-5.6-sol", - name: "GPT-5.6 Sol", + id: "gpt-6.1-sol", + name: "GPT-6.1 Sol", + reasoning: true, + input: ["text", "image"], contextWindow: 272000, + maxTokens: 128000, + cost: { input: 2, output: 10, cacheRead: 0.1, cacheWrite: 2.5 }, }, { id: "gpt-6-astra", @@ -2839,10 +3058,10 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ }, suggestedDefaults: { model: { - primary: "amux/gpt-5.6-sol", + primary: "amux/gpt-6.1-sol", }, modelCatalog: { - "amux/gpt-5.6-sol": { alias: "GPT-5.6 Sol" }, + "amux/gpt-6.1-sol": { alias: "GPT-6.1 Sol" }, }, }, }, @@ -2856,8 +3075,27 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ api: "openai-completions", models: [ { - id: "zai-org/glm-5.1", - name: "GLM 5.1", + id: "zai-org/glm-5.3", + name: "GLM-5.3", + reasoning: true, + input: ["text"], + contextWindow: 1000000, + maxTokens: 128000, + }, + { + id: "zai-org/glm-5.3-flash", + name: "GLM-5.3 Flash", + reasoning: true, + input: ["text", "image"], + contextWindow: 1000000, + maxTokens: 128000, + }, + { + id: "moonshotai/kimi-k3", + name: "Kimi K3", + reasoning: true, + input: ["text", "image"], + contextWindow: 1048576, }, ], }, @@ -2872,7 +3110,7 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ }, suggestedDefaults: { model: { - primary: "atlascloud/zai-org/glm-5.1", + primary: "atlascloud/zai-org/glm-5.3", }, }, }, @@ -3401,16 +3639,6 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ contextWindow: 262144, maxTokens: 262144, }, - // 接入页未列:maxTokens 按平台列表(128k) - { - id: "minimax-m2.7", - name: "MiniMax M2.7", - reasoning: false, - input: ["text"], - cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 }, - contextWindow: 200000, - maxTokens: 131072, - }, { id: "minimax-m3", name: "MiniMax M3", @@ -4482,20 +4710,6 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ apiKey: "", api: "openai-completions", models: [ - { - id: "mimo-v2.5-pro", - name: "MiMo V2.5 Pro", - reasoning: true, - input: ["text"], - contextWindow: 1048576, - maxTokens: 131072, - cost: { - input: 0.435, - output: 0.87, - cacheRead: 0.0036, - cacheWrite: 0, - }, - }, { id: "mimo-v2.6-pro", name: "MiMo V2.6 Pro", @@ -4551,22 +4765,6 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ apiKey: "", api: "openai-completions", models: [ - { - id: "mimo-v2.5-pro", - name: "MiMo V2.5 Pro", - reasoning: true, - input: ["text"], - contextWindow: 1048576, - maxTokens: 131072, - }, - { - id: "mimo-v2.5", - name: "MiMo V2.5", - reasoning: true, - input: ["text", "image"], - contextWindow: 1048576, - maxTokens: 131072, - }, { id: "mimo-v2.6-pro", name: "MiMo V2.6 Pro", @@ -4603,7 +4801,7 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ "xiaomi-mimo-token-plan/mimo-v2.6-pro": { alias: "MiMo Token Plan (China)", }, - "xiaomi-mimo-token-plan/mimo-v2.5": { + "xiaomi-mimo-token-plan/mimo-v2.6-flash": { alias: "MiMo Token Plan (China) Multimodal", }, }, @@ -4619,18 +4817,6 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ apiKey: "", api: "anthropic-messages", models: [ - { - id: "claude-opus-5", - name: "Claude Opus 5", - contextWindow: 1000000, - cost: { input: 5, output: 25, cacheRead: 0.5, cacheWrite: 6.25 }, - }, - { - id: "claude-sonnet-5", - name: "Claude Sonnet 5", - contextWindow: 1000000, - cost: { input: 2, output: 10, cacheRead: 0.2, cacheWrite: 2.5 }, - }, { id: "claude-opus-5-5", name: "Claude Opus 5.5", @@ -4640,6 +4826,15 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ maxTokens: 128000, cost: { input: 4, output: 20, cacheRead: 0.2, cacheWrite: 5 }, }, + { + id: "claude-sonnet-5-5", + name: "Claude Sonnet 5.5", + reasoning: true, + input: ["text", "image"], + contextWindow: 1000000, + maxTokens: 128000, + cost: { input: 2, output: 10, cacheRead: 0.1, cacheWrite: 2.5 }, + }, { id: "claude-fable-5-1", name: "Claude Fable 5.1", @@ -4649,6 +4844,15 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ maxTokens: 128000, cost: { input: 10, output: 50, cacheRead: 0.25, cacheWrite: 12.5 }, }, + { + id: "claude-haiku-5-5", + name: "Claude Haiku 5.5", + reasoning: true, + input: ["text", "image"], + contextWindow: 1000000, + maxTokens: 128000, + cost: { input: 0.1, output: 0.5, cacheRead: 0.01, cacheWrite: 0.125 }, + }, ], }, category: "aggregator", @@ -4663,12 +4867,12 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ }, suggestedDefaults: { model: { - primary: "aihubmix/claude-opus-5", - fallbacks: ["aihubmix/claude-sonnet-5"], + primary: "aihubmix/claude-opus-5-5", + fallbacks: ["aihubmix/claude-sonnet-5-5"], }, modelCatalog: { - "aihubmix/claude-opus-5": { alias: "Opus" }, - "aihubmix/claude-sonnet-5": { alias: "Sonnet" }, + "aihubmix/claude-opus-5-5": { alias: "Opus" }, + "aihubmix/claude-sonnet-5-5": { alias: "Sonnet" }, }, }, }, @@ -4682,14 +4886,20 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ api: "anthropic-messages", models: [ { - id: "anthropic/claude-opus-5", - name: "Claude Opus 5", + id: "anthropic/claude-opus-5.5", + name: "Claude Opus 5.5", + reasoning: true, + input: ["text", "image"], contextWindow: 1000000, + maxTokens: 128000, }, { - id: "anthropic/claude-sonnet-5", - name: "Claude Sonnet 5", + id: "anthropic/claude-sonnet-5.5", + name: "Claude Sonnet 5.5", + reasoning: true, + input: ["text", "image"], contextWindow: 1000000, + maxTokens: 128000, }, { id: "anthropic/claude-fable-5.1", @@ -4713,12 +4923,12 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ }, suggestedDefaults: { model: { - primary: "cherryin/anthropic/claude-opus-5", - fallbacks: ["cherryin/anthropic/claude-sonnet-5"], + primary: "cherryin/anthropic/claude-opus-5.5", + fallbacks: ["cherryin/anthropic/claude-sonnet-5.5"], }, modelCatalog: { - "cherryin/anthropic/claude-opus-5": { alias: "Opus" }, - "cherryin/anthropic/claude-sonnet-5": { alias: "Sonnet" }, + "cherryin/anthropic/claude-opus-5.5": { alias: "Opus" }, + "cherryin/anthropic/claude-sonnet-5.5": { alias: "Sonnet" }, }, }, }, @@ -4731,23 +4941,6 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ apiKey: "", api: "openai-completions", models: [ - { - id: "anthropic/claude-opus-5", - name: "Claude Opus 5", - contextWindow: 1000000, - cost: { input: 5, output: 25, cacheRead: 0.5, cacheWrite: 6.25 }, - }, - { - id: "anthropic/claude-sonnet-5", - name: "Claude Sonnet 5", - contextWindow: 1000000, - cost: { - input: 2, - output: 10, - cacheRead: 0.2, - cacheWrite: 2.5, - }, - }, { id: "anthropic/claude-opus-5.5", name: "Claude Opus 5.5", @@ -4762,6 +4955,15 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ cacheWrite: 5, }, }, + { + id: "anthropic/claude-sonnet-5.5", + name: "Claude Sonnet 5.5", + reasoning: true, + input: ["text", "image"], + contextWindow: 1000000, + maxTokens: 128000, + cost: { input: 2, output: 10, cacheRead: 0.1, cacheWrite: 2.5 }, + }, { id: "anthropic/claude-fable-5.1", name: "Claude Fable 5.1", @@ -4771,6 +4973,15 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ maxTokens: 128000, cost: { input: 10, output: 50, cacheRead: 0.25, cacheWrite: 12.5 }, }, + { + id: "anthropic/claude-haiku-5.5", + name: "Claude Haiku 5.5", + reasoning: true, + input: ["text", "image"], + contextWindow: 1000000, + maxTokens: 128000, + cost: { input: 0.1, output: 0.5, cacheRead: 0.01, cacheWrite: 0.125 }, + }, ], }, category: "aggregator", @@ -4785,12 +4996,12 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ }, suggestedDefaults: { model: { - primary: "openrouter/anthropic/claude-opus-5", - fallbacks: ["openrouter/anthropic/claude-sonnet-5"], + primary: "openrouter/anthropic/claude-opus-5.5", + fallbacks: ["openrouter/anthropic/claude-sonnet-5.5"], }, modelCatalog: { - "openrouter/anthropic/claude-opus-5": { alias: "Opus" }, - "openrouter/anthropic/claude-sonnet-5": { alias: "Sonnet" }, + "openrouter/anthropic/claude-opus-5.5": { alias: "Opus" }, + "openrouter/anthropic/claude-sonnet-5.5": { alias: "Sonnet" }, }, }, }, @@ -4804,34 +5015,48 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ api: "openai-completions", models: [ { - id: "anthropic/claude-sonnet-5", - name: "Claude Sonnet 5", + id: "anthropic/claude-sonnet-5-5", + name: "Claude Sonnet 5.5", + reasoning: true, + input: ["text", "image"], contextWindow: 1000000, - cost: { input: 2, output: 10, cacheRead: 0.2, cacheWrite: 2.5 }, + maxTokens: 128000, + cost: { input: 2, output: 10, cacheRead: 0.1, cacheWrite: 2.5 }, }, { - id: "openai/gpt-5.3-codex", - name: "GPT-5.3 Codex", + id: "openai/gpt-6.1-sol", + name: "GPT-6.1 Sol", contextWindow: 272000, - cost: { input: 5, output: 40, cacheRead: 0.5 }, + cost: { input: 2, output: 10, cacheRead: 0.1 }, }, { - id: "openai/gpt-5.2", - name: "GPT-5.2", + id: "openai/gpt-6-astra", + name: "GPT-6 Astra", contextWindow: 272000, - cost: { input: 1.75, output: 14, cacheRead: 0.175 }, + cost: { input: 10, output: 50, cacheRead: 1 }, }, { - id: "google/gemini-3.6-flash", - name: "Gemini 3.6 Flash", + id: "google/gemini-3.8-flash", + name: "Gemini 3.8 Flash", contextWindow: 1000000, cost: { input: 1.5, output: 9, cacheRead: 0.15 }, }, { - id: "qwen/qwen3-coder-480b", - name: "Qwen3 Coder 480B", - contextWindow: 262144, - cost: { input: 0.6, output: 2.35 }, + id: "qwen/qwen3.8-max", + name: "Qwen3.8 Max", + contextWindow: 1000000, + }, + { + id: "anthropic/claude-fable-5-1", + name: "Claude Fable 5.1", + contextWindow: 1000000, + cost: { input: 10, output: 50, cacheRead: 0.25, cacheWrite: 12.5 }, + }, + { + id: "google/gemini-4-argon", + name: "Gemini 4 Argon", + reasoning: true, + contextWindow: 1000000, }, ], }, @@ -4845,18 +5070,18 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ }, suggestedDefaults: { model: { - primary: "therouter/anthropic/claude-sonnet-5", + primary: "therouter/anthropic/claude-sonnet-5-5", fallbacks: [ - "therouter/openai/gpt-5.2", - "therouter/google/gemini-3.6-flash", + "therouter/openai/gpt-6-astra", + "therouter/google/gemini-3.8-flash", ], }, modelCatalog: { - "therouter/anthropic/claude-sonnet-5": { alias: "Sonnet" }, - "therouter/openai/gpt-5.2": { alias: "GPT-5.2" }, - "therouter/google/gemini-3.6-flash": { alias: "Gemini Flash" }, - "therouter/openai/gpt-5.3-codex": { alias: "Codex" }, - "therouter/qwen/qwen3-coder-480b": { alias: "Qwen Coder" }, + "therouter/anthropic/claude-sonnet-5-5": { alias: "Sonnet" }, + "therouter/openai/gpt-6-astra": { alias: "GPT-6 Astra" }, + "therouter/google/gemini-3.8-flash": { alias: "Gemini Flash" }, + "therouter/openai/gpt-6.1-sol": { alias: "GPT-6.1 Sol" }, + "therouter/qwen/qwen3.8-max": { alias: "Qwen" }, }, }, icon: "therouter", @@ -4936,8 +5161,16 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ maxTokens: 262144, }, { - id: "deepseek-ai/DeepSeek-V4.1-Flash", - name: "DeepSeek V4.1 Flash", + id: "deepseek-ai/DeepSeek-V4.1-Flash-1017", + name: "DeepSeek V4.1 Flash 1017", + reasoning: true, + input: ["text", "image"], + contextWindow: 1048576, + maxTokens: 262144, + }, + { + id: "zai-org/GLM-5.3-Fast", + name: "GLM-5.3 Fast", reasoning: true, input: ["text", "image"], contextWindow: 1048576, @@ -4968,12 +5201,6 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ apiKey: "", api: "openai-completions", models: [ - { - id: "zai-org/glm-5.1", - name: "GLM-5.1", - contextWindow: 202800, - cost: { input: 1.38, output: 4.4, cacheRead: 0.26, cacheWrite: 0 }, - }, { id: "zai-org/glm-5.3", name: "GLM-5.3", @@ -4993,13 +5220,41 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ cost: { input: 0.15, output: 0.5, cacheRead: 0.03, cacheWrite: 0 }, }, { - id: "moonshotai/kimi-k3", - name: "Kimi K3", + id: "moonshotai/kimi-k3.1-pro", + name: "Kimi K3.1 Pro", + reasoning: true, + input: ["text", "image"], + contextWindow: 1048576, + maxTokens: 131072, + cost: { input: 2, output: 10, cacheRead: 0.2, cacheWrite: 0 }, + }, + { + id: "deepseek/deepseek-v4.1-flash", + name: "DeepSeek V4.1 Flash", + reasoning: true, + contextWindow: 1000000, + maxTokens: 384000, + }, + { + id: "qwen/qwen3.8-max", + name: "Qwen3.8 Max", + reasoning: true, + contextWindow: 1000000, + }, + { + id: "minimax/minimax-m3.1-flash", + name: "MiniMax M3.1 Flash", + reasoning: true, + input: ["text", "image"], + contextWindow: 1000000, + }, + { + id: "xiaomimimo/mimo-v2.6-pro", + name: "MiMo V2.6 Pro", reasoning: true, input: ["text", "image"], contextWindow: 1048576, maxTokens: 131072, - cost: { input: 3, output: 15, cacheRead: 0.3, cacheWrite: 0 }, }, ], }, @@ -5014,9 +5269,9 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ }, }, suggestedDefaults: { - model: { primary: "novita/zai-org/glm-5.1" }, + model: { primary: "novita/zai-org/glm-5.3" }, modelCatalog: { - "novita/zai-org/glm-5.1": { alias: "GLM-5.1" }, + "novita/zai-org/glm-5.3": { alias: "GLM-5.3" }, }, }, }, @@ -5030,10 +5285,10 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ api: "openai-completions", models: [ { - id: "moonshotai/kimi-k3", - name: "Kimi K3", - contextWindow: 1048576, - maxTokens: 131072, + id: "moonshotai/kimi-k2.6", + name: "Kimi K2.6", + contextWindow: 262144, + maxTokens: 262144, input: ["text", "image"], reasoning: true, }, @@ -5066,8 +5321,8 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ }, }, suggestedDefaults: { - model: { primary: "nvidia/moonshotai/kimi-k3" }, - modelCatalog: { "nvidia/moonshotai/kimi-k3": { alias: "Kimi" } }, + model: { primary: "nvidia/moonshotai/kimi-k2.6" }, + modelCatalog: { "nvidia/moonshotai/kimi-k2.6": { alias: "Kimi" } }, }, }, { @@ -5360,12 +5615,12 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ api: "openai-completions", models: [ { - id: "deepseek-ai/DeepSeek-V4-Flash-0731", - name: "DeepSeek V4 Flash 0731", + id: "deepseek-ai/DeepSeek-V4.1-Flash-1017", + name: "DeepSeek V4.1 Flash 1017", reasoning: true, input: ["text"], contextWindow: 1048576, - maxTokens: 384000, + maxTokens: 262144, cost: { input: 0.06, output: 0.18, cacheRead: 0.015, cacheWrite: 0 }, }, { @@ -5396,13 +5651,12 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ cost: { input: 0.9, output: 4, cacheRead: 0.2, cacheWrite: 0 }, }, { - id: "zai-org/GLM-5.2", - name: "GLM-5.2", + id: "zai-org/GLM-5.3-Flash", + name: "GLM-5.3 Flash", reasoning: true, - input: ["text"], + input: ["text", "image"], contextWindow: 1048576, - maxTokens: 163840, - cost: { input: 0.75, output: 2.4, cacheRead: 0.14, cacheWrite: 0 }, + maxTokens: 131072, }, ], }, @@ -5416,10 +5670,10 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ }, }, suggestedDefaults: { - model: { primary: "deepinfra/deepseek-ai/DeepSeek-V4-Flash-0731" }, + model: { primary: "deepinfra/deepseek-ai/DeepSeek-V4.1-Flash-1017" }, modelCatalog: { - "deepinfra/deepseek-ai/DeepSeek-V4-Flash-0731": { - alias: "DeepSeek V4 Flash 0731", + "deepinfra/deepseek-ai/DeepSeek-V4.1-Flash-1017": { + alias: "DeepSeek V4.1 Flash 1017", }, }, }, @@ -5494,6 +5748,29 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ maxTokens: 65535, cost: { input: 0.75, output: 3.75, cacheRead: 0.075, cacheWrite: 0 }, }, + { + id: "anthropic/claude-fable-5.1", + name: "Claude Fable 5.1", + reasoning: true, + input: ["text", "image"], + contextWindow: 1000000, + maxTokens: 128000, + cost: { input: 10, output: 50, cacheRead: 0.25, cacheWrite: 12.5 }, + }, + { + id: "google/gemini-4-argon", + name: "Gemini 4 Argon", + reasoning: true, + contextWindow: 1000000, + }, + { + id: "openai/gpt-6-luna", + name: "GPT-6 Luna", + reasoning: true, + input: ["text", "image"], + contextWindow: 1050000, + maxTokens: 128000, + }, ], }, category: "aggregator", @@ -5575,6 +5852,28 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ maxTokens: 384000, cost: { input: 1.32, output: 3.96 }, }, + { + id: "deepseek-ai/DeepSeek-V4.1-Flash", + name: "DeepSeek V4.1 Flash", + reasoning: true, + input: ["text", "image"], + contextWindow: 1048000, + maxTokens: 384000, + }, + { + id: "MiniMaxAI/MiniMax-M3.1-Flash", + name: "MiniMax M3.1 Flash", + reasoning: true, + input: ["text"], + contextWindow: 1049000, + }, + { + id: "MiniMaxAI/MiniMax-M3", + name: "MiniMax M3", + reasoning: true, + input: ["text"], + contextWindow: 1049000, + }, ], }, category: "aggregator", @@ -6117,22 +6416,31 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ api: "anthropic-messages", models: [ { - id: "claude-opus-5", - name: "claude-opus-5", + id: "claude-opus-5-5", + name: "Claude Opus 5.5", + reasoning: true, + input: ["text", "image"], contextWindow: 1000000, - cost: { input: 5, output: 25, cacheRead: 0.5, cacheWrite: 6.25 }, + maxTokens: 128000, + cost: { input: 4, output: 20, cacheRead: 0.2, cacheWrite: 5 }, }, { - id: "claude-sonnet-5", - name: "claude-sonnet-5", + id: "claude-sonnet-5-5", + name: "Claude Sonnet 5.5", + reasoning: true, + input: ["text", "image"], contextWindow: 1000000, - cost: { input: 2, output: 10, cacheRead: 0.2, cacheWrite: 2.5 }, + maxTokens: 128000, + cost: { input: 2, output: 10, cacheRead: 0.1, cacheWrite: 2.5 }, }, { - id: "claude-haiku-4-5-20251001", - name: "claude-haiku-4-5-20251001", - contextWindow: 200000, - cost: { input: 0.8, output: 4 }, + id: "claude-haiku-5-5", + name: "Claude Haiku 5.5", + reasoning: true, + input: ["text", "image"], + contextWindow: 1000000, + maxTokens: 128000, + cost: { input: 0.1, output: 0.5, cacheRead: 0.01, cacheWrite: 0.125 }, }, ], }, @@ -6147,13 +6455,13 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ }, suggestedDefaults: { model: { - primary: "pipellm/claude-opus-5", - fallbacks: ["pipellm/claude-sonnet-5"], + primary: "pipellm/claude-opus-5-5", + fallbacks: ["pipellm/claude-sonnet-5-5"], }, modelCatalog: { - "pipellm/claude-opus-5": { alias: "Opus" }, - "pipellm/claude-sonnet-5": { alias: "Sonnet" }, - "pipellm/claude-haiku-4-5-20251001": { alias: "Haiku" }, + "pipellm/claude-opus-5-5": { alias: "Opus" }, + "pipellm/claude-sonnet-5-5": { alias: "Sonnet" }, + "pipellm/claude-haiku-5-5": { alias: "Haiku" }, }, }, }, @@ -6171,28 +6479,13 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ }, models: [ { - contextWindow: 200000, - cost: { - cacheRead: 0, - cacheWrite: 0, - input: 0, - output: 0, - }, - id: "gpt-5.3-codex", - maxTokens: 32000, - name: "gpt-5.3-codex", - }, - { - id: "gpt-5.6-sol", - name: "gpt-5.6-sol", - }, - { - id: "gpt-5.2-codex", - name: "gpt-5.2-codex", - }, - { - id: "gpt-5.2", - name: "gpt-5.2", + id: "gpt-6.1-sol", + name: "GPT-6.1 Sol", + reasoning: true, + input: ["text", "image"], + contextWindow: 272000, + maxTokens: 128000, + cost: { input: 2, output: 10, cacheRead: 0.1, cacheWrite: 2.5 }, }, { id: "gpt-6-sol", @@ -6226,14 +6519,12 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ }, suggestedDefaults: { model: { - primary: "eflowcode/gpt-5.3-codex", - fallbacks: ["eflowcode/gpt-5.6-sol", "eflowcode/gpt-5.2-codex"], + primary: "eflowcode/gpt-6.1-sol", + fallbacks: ["eflowcode/gpt-6-astra"], }, modelCatalog: { - "eflowcode/gpt-5.3-codex": { alias: "gpt-5.3-codex" }, - "eflowcode/gpt-5.6-sol": { alias: "gpt-5.6-sol" }, - "eflowcode/gpt-5.2-codex": { alias: "gpt-5.2-codex" }, - "eflowcode/gpt-5.2": { alias: "gpt-5.2" }, + "eflowcode/gpt-6.1-sol": { alias: "GPT-6.1 Sol" }, + "eflowcode/gpt-6-astra": { alias: "GPT-6 Astra" }, }, }, }, @@ -6280,13 +6571,13 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ api: "openai-completions", models: [ { - id: "claude-fable-5", - name: "Claude Fable 5", + id: "claude-fable-5-1", + name: "Claude Fable 5.1", reasoning: true, input: ["text", "image"], contextWindow: 1000000, maxTokens: 128000, - cost: { input: 10, output: 50, cacheRead: 1, cacheWrite: 12.5 }, + cost: { input: 10, output: 50, cacheRead: 0.25, cacheWrite: 12.5 }, }, { id: "claude-opus-5-5", @@ -6299,13 +6590,22 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ cost: { input: 4, output: 20, cacheRead: 0.2, cacheWrite: 5 }, }, { - id: "claude-fable-5-1", - name: "Claude Fable 5.1", + id: "claude-sonnet-5-5", + name: "Claude Sonnet 5.5", reasoning: true, input: ["text", "image"], contextWindow: 1000000, maxTokens: 128000, - cost: { input: 10, output: 50, cacheRead: 0.25, cacheWrite: 12.5 }, + cost: { input: 2, output: 10, cacheRead: 0.1, cacheWrite: 2.5 }, + }, + { + id: "claude-haiku-5-5", + name: "Claude Haiku 5.5", + reasoning: true, + input: ["text", "image"], + contextWindow: 1000000, + maxTokens: 128000, + cost: { input: 0.1, output: 0.5, cacheRead: 0.01, cacheWrite: 0.125 }, }, ], }, @@ -6320,9 +6620,9 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ }, }, suggestedDefaults: { - model: { primary: "jiekou/claude-fable-5" }, + model: { primary: "jiekou/claude-fable-5-1" }, modelCatalog: { - "jiekou/claude-fable-5": { alias: "Claude Fable 5" }, + "jiekou/claude-fable-5-1": { alias: "Claude Fable 5.1" }, }, }, }, @@ -6336,8 +6636,13 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ api: "openai-responses", models: [ { - id: "gpt-5.6-sol", - name: "GPT-5.6 Sol", + id: "gpt-6.1-sol", + name: "GPT-6.1 Sol", + reasoning: true, + input: ["text", "image"], + contextWindow: 272000, + maxTokens: 128000, + cost: { input: 2, output: 10, cacheRead: 0.1, cacheWrite: 2.5 }, }, { id: "gpt-6-sol", @@ -6370,9 +6675,9 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ }, }, suggestedDefaults: { - model: { primary: "aicodewith/gpt-5.6-sol" }, + model: { primary: "aicodewith/gpt-6.1-sol" }, modelCatalog: { - "aicodewith/gpt-5.6-sol": { alias: "GPT-5.6 Sol" }, + "aicodewith/gpt-6.1-sol": { alias: "GPT-6.1 Sol" }, }, }, }, @@ -6386,15 +6691,15 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ api: "openai-completions", models: [ { - id: "deepseek-v4-flash-0731", - name: "DeepSeek V4 Flash", + id: "deepseek-v4.1-flash", + name: "DeepSeek V4.1 Flash", reasoning: true, contextWindow: 1000000, maxTokens: 384000, }, { - id: "DeepSeek-V4-Pro", - name: "DeepSeek V4 Pro", + id: "DeepSeek-V4-Pro-0813", + name: "DeepSeek V4 Pro 0813", reasoning: true, contextWindow: 1000000, maxTokens: 384000, @@ -6406,6 +6711,14 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ contextWindow: 1048576, maxTokens: 131072, }, + { + id: "kimi-k3.1-pro", + name: "Kimi K3.1 Pro", + reasoning: true, + input: ["text", "image"], + contextWindow: 1048576, + maxTokens: 131072, + }, { id: "Kimi-K2.7-Code", name: "Kimi K2.7 Code", @@ -6415,11 +6728,40 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ maxTokens: 262144, }, { - id: "qwen3-coder-plus", - name: "Qwen3 Coder Plus", + id: "qwen3.8-max", + name: "Qwen3.8 Max", + reasoning: true, contextWindow: 1000000, maxTokens: 65536, }, + { + id: "GLM-5.3-Flash", + name: "GLM-5.3-Flash", + reasoning: true, + input: ["text", "image"], + contextWindow: 1000000, + maxTokens: 128000, + }, + { + id: "MiniMax-M3", + name: "MiniMax-M3", + reasoning: true, + input: ["text", "image"], + contextWindow: 1000000, + }, + { + id: "qwen3.8-flash", + name: "Qwen3.8 Flash", + reasoning: true, + contextWindow: 1000000, + }, + { + id: "Step-3.7-Flash", + name: "Step 3.7 Flash", + reasoning: true, + input: ["text", "image"], + contextWindow: 256000, + }, ], }, category: "aggregator", @@ -6432,9 +6774,9 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ }, }, suggestedDefaults: { - model: { primary: "moark/deepseek-v4-flash-0731" }, + model: { primary: "moark/deepseek-v4.1-flash" }, modelCatalog: { - "moark/deepseek-v4-flash-0731": { alias: "DeepSeek V4 Flash" }, + "moark/deepseek-v4.1-flash": { alias: "DeepSeek V4.1 Flash" }, }, }, }, @@ -6464,9 +6806,20 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ maxTokens: 128000, }, { - id: "claude-haiku-4-5-20251001", - name: "Claude Haiku 4.5", - contextWindow: 200000, + id: "claude-haiku-5-5", + name: "Claude Haiku 5.5", + reasoning: true, + input: ["text", "image"], + contextWindow: 1000000, + maxTokens: 128000, + }, + { + id: "claude-fable-5-1", + name: "Claude Fable 5.1", + reasoning: true, + input: ["text", "image"], + contextWindow: 1000000, + maxTokens: 128000, }, ], }, @@ -6486,7 +6839,7 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ modelCatalog: { "soruxgpt/claude-opus-5-5": { alias: "Opus" }, "soruxgpt/claude-sonnet-5-5": { alias: "Sonnet" }, - "soruxgpt/claude-haiku-4-5-20251001": { alias: "Haiku" }, + "soruxgpt/claude-haiku-5-5": { alias: "Haiku" }, }, }, icon: "soruxgpt", @@ -6517,9 +6870,20 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ maxTokens: 128000, }, { - id: "claude-haiku-4-5-20251001", - name: "Claude Haiku 4.5", - contextWindow: 200000, + id: "claude-haiku-5-5", + name: "Claude Haiku 5.5", + reasoning: true, + input: ["text", "image"], + contextWindow: 1000000, + maxTokens: 128000, + }, + { + id: "claude-fable-5-1", + name: "Claude Fable 5.1", + reasoning: true, + input: ["text", "image"], + contextWindow: 1000000, + maxTokens: 128000, }, ], }, @@ -6539,7 +6903,7 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ modelCatalog: { "ikuncode/claude-opus-5-5": { alias: "Opus" }, "ikuncode/claude-sonnet-5-5": { alias: "Sonnet" }, - "ikuncode/claude-haiku-4-5-20251001": { alias: "Haiku" }, + "ikuncode/claude-haiku-5-5": { alias: "Haiku" }, }, }, icon: "ikuncode", @@ -6570,9 +6934,20 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ maxTokens: 128000, }, { - id: "claude-haiku-4-5-20251001", - name: "Claude Haiku 4.5", - contextWindow: 200000, + id: "claude-haiku-5-5", + name: "Claude Haiku 5.5", + reasoning: true, + input: ["text", "image"], + contextWindow: 1000000, + maxTokens: 128000, + }, + { + id: "claude-fable-5-1", + name: "Claude Fable 5.1", + reasoning: true, + input: ["text", "image"], + contextWindow: 1000000, + maxTokens: 128000, }, ], }, @@ -6592,7 +6967,7 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ modelCatalog: { "runtoken/claude-opus-5-5": { alias: "Opus" }, "runtoken/claude-sonnet-5-5": { alias: "Sonnet" }, - "runtoken/claude-haiku-4-5-20251001": { alias: "Haiku" }, + "runtoken/claude-haiku-5-5": { alias: "Haiku" }, }, }, icon: "runtoken", @@ -6623,9 +6998,20 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ maxTokens: 128000, }, { - id: "claude-haiku-4-5-20251001", - name: "Claude Haiku 4.5", - contextWindow: 200000, + id: "claude-haiku-5-5", + name: "Claude Haiku 5.5", + reasoning: true, + input: ["text", "image"], + contextWindow: 1000000, + maxTokens: 128000, + }, + { + id: "claude-fable-5-1", + name: "Claude Fable 5.1", + reasoning: true, + input: ["text", "image"], + contextWindow: 1000000, + maxTokens: 128000, }, ], }, @@ -6645,7 +7031,7 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ modelCatalog: { "botcf/claude-opus-5-5": { alias: "Opus" }, "botcf/claude-sonnet-5-5": { alias: "Sonnet" }, - "botcf/claude-haiku-4-5-20251001": { alias: "Haiku" }, + "botcf/claude-haiku-5-5": { alias: "Haiku" }, }, }, icon: "botcf", @@ -6669,17 +7055,20 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ maxTokens: 128000, }, { - id: "claude-sonnet-5", - name: "Claude Sonnet 5", + id: "claude-sonnet-5-5", + name: "Claude Sonnet 5.5", reasoning: true, input: ["text", "image"], contextWindow: 1000000, - maxTokens: 64000, + maxTokens: 128000, }, { - id: "claude-haiku-4-5-20251001", - name: "Claude Haiku 4.5", - contextWindow: 200000, + id: "claude-haiku-5-5", + name: "Claude Haiku 5.5", + reasoning: true, + input: ["text", "image"], + contextWindow: 1000000, + maxTokens: 128000, }, ], }, @@ -6694,12 +7083,12 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ suggestedDefaults: { model: { primary: "yylx/claude-opus-5-5", - fallbacks: ["yylx/claude-sonnet-5"], + fallbacks: ["yylx/claude-sonnet-5-5"], }, modelCatalog: { "yylx/claude-opus-5-5": { alias: "Opus" }, - "yylx/claude-sonnet-5": { alias: "Sonnet" }, - "yylx/claude-haiku-4-5-20251001": { alias: "Haiku" }, + "yylx/claude-sonnet-5-5": { alias: "Sonnet" }, + "yylx/claude-haiku-5-5": { alias: "Haiku" }, }, }, icon: "yylx", @@ -6730,9 +7119,12 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ maxTokens: 128000, }, { - id: "claude-haiku-4-5", - name: "Claude Haiku 4.5", - contextWindow: 200000, + id: "claude-haiku-5-5", + name: "Claude Haiku 5.5", + reasoning: true, + input: ["text", "image"], + contextWindow: 1000000, + maxTokens: 128000, }, ], }, @@ -6752,7 +7144,7 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ modelCatalog: { "tokenflux/claude-opus-5-5": { alias: "Opus" }, "tokenflux/claude-sonnet-5-5": { alias: "Sonnet" }, - "tokenflux/claude-haiku-4-5": { alias: "Haiku" }, + "tokenflux/claude-haiku-5-5": { alias: "Haiku" }, }, }, icon: "tokenflux", @@ -6786,9 +7178,12 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ maxTokens: 128000, }, { - id: "claude-haiku-4-5-20251001", - name: "Claude Haiku 4.5", - contextWindow: 200000, + id: "claude-haiku-5-5", + name: "Claude Haiku 5.5", + reasoning: true, + input: ["text", "image"], + contextWindow: 1000000, + maxTokens: 128000, }, ], }, @@ -6808,7 +7203,7 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ modelCatalog: { "nekocode/claude-opus-5-5": { alias: "Opus" }, "nekocode/claude-sonnet-5-5": { alias: "Sonnet" }, - "nekocode/claude-haiku-4-5-20251001": { alias: "Haiku" }, + "nekocode/claude-haiku-5-5": { alias: "Haiku" }, }, }, icon: "nekocode", @@ -6839,9 +7234,12 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ maxTokens: 128000, }, { - id: "claude-haiku-4-5-20251001", - name: "Claude Haiku 4.5", - contextWindow: 200000, + id: "claude-haiku-5-5", + name: "Claude Haiku 5.5", + reasoning: true, + input: ["text", "image"], + contextWindow: 1000000, + maxTokens: 128000, }, ], }, @@ -6861,7 +7259,7 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [ modelCatalog: { "aicoming/claude-opus-5-5": { alias: "Opus" }, "aicoming/claude-sonnet-5-5": { alias: "Sonnet" }, - "aicoming/claude-haiku-4-5-20251001": { alias: "Haiku" }, + "aicoming/claude-haiku-5-5": { alias: "Haiku" }, }, }, icon: "aicoming", diff --git a/src/config/opencodeProviderPresets.ts b/src/config/opencodeProviderPresets.ts index 97ae6c49f..841157952 100644 --- a/src/config/opencodeProviderPresets.ts +++ b/src/config/opencodeProviderPresets.ts @@ -118,6 +118,24 @@ export const OPENCODE_PRESET_MODEL_VARIANTS: Record< "no-thinking": { thinkingConfig: { thinkingBudget: 0 } }, }, }, + { + id: "gemini-3.8-flash", + name: "Gemini 3.8 Flash", + contextLimit: 1048576, + outputLimit: 65536, + modalities: { input: ["text", "image"], output: ["text"] }, + variants: { + low: { + thinkingConfig: { includeThoughts: true, thinkingLevel: "low" }, + }, + medium: { + thinkingConfig: { includeThoughts: true, thinkingLevel: "medium" }, + }, + high: { + thinkingConfig: { includeThoughts: true, thinkingLevel: "high" }, + }, + }, + }, { id: "gemini-3.6-flash", name: "Gemini 3.6 Flash", @@ -220,10 +238,10 @@ export const OPENCODE_PRESET_MODEL_VARIANTS: Record< ], "@ai-sdk/anthropic": [ { - id: "claude-sonnet-4-5-20250929", - name: "Claude Sonnet 4.5", - contextLimit: 200000, - outputLimit: 64000, + id: "claude-sonnet-5-5", + name: "Claude Sonnet 5.5", + contextLimit: 1000000, + outputLimit: 128000, modalities: { input: ["text", "image", "pdf"], output: ["text"] }, variants: { low: { effort: "low" }, @@ -231,6 +249,26 @@ export const OPENCODE_PRESET_MODEL_VARIANTS: Record< high: { effort: "high" }, }, }, + { + id: "claude-opus-5-5", + name: "Claude Opus 5.5", + contextLimit: 1000000, + outputLimit: 128000, + modalities: { input: ["text", "image", "pdf"], output: ["text"] }, + variants: { + low: { effort: "low" }, + medium: { effort: "medium" }, + high: { effort: "high" }, + max: { effort: "max" }, + }, + }, + { + id: "claude-haiku-5-5", + name: "Claude Haiku 5.5", + contextLimit: 1000000, + outputLimit: 128000, + modalities: { input: ["text", "image", "pdf"], output: ["text"] }, + }, { id: "claude-opus-4-5-20251101", name: "Claude Opus 4.5", @@ -484,8 +522,12 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [ setCacheKey: true, }, models: { - "claude-sonnet-5": { name: "Claude Sonnet 5", reasoning: true }, - "claude-opus-5": { name: "Claude Opus 5", reasoning: true }, + "claude-sonnet-5-5": { + name: "Claude Sonnet 5.5", + reasoning: true, + limit: { context: 1000000, output: 128000 }, + modalities: { input: ["text", "image"], output: ["text"] }, + }, "claude-opus-5-5": { name: "Claude Opus 5.5", reasoning: true, @@ -525,7 +567,7 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [ setCacheKey: true, }, models: { - "gpt-5.6-sol": { name: "GPT-5.6 Sol", reasoning: true }, + "gpt-6.1-sol": { name: "GPT-6.1 Sol", reasoning: true }, "gpt-6-astra": { name: "GPT-6 Astra", reasoning: true, @@ -559,8 +601,8 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [ setCacheKey: true, }, models: { - "claude-sonnet-5": { name: "Claude Sonnet 5", reasoning: true }, - "claude-opus-5": { name: "Claude Opus 5", reasoning: true }, + "claude-sonnet-5-5": { name: "Claude Sonnet 5.5", reasoning: true }, + "claude-opus-5-5": { name: "Claude Opus 5.5", reasoning: true }, }, }, category: "third_party", @@ -629,7 +671,7 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [ setCacheKey: true, }, models: { - "gpt-5.6-sol": { name: "GPT-5.6 Sol", reasoning: true }, + "gpt-6.1-sol": { name: "GPT-6.1 Sol", reasoning: true }, }, }, category: "aggregator", @@ -657,9 +699,18 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [ setCacheKey: true, }, models: { - "claude-sonnet-5": { name: "Claude Sonnet 5", reasoning: true }, - "claude-opus-5": { name: "Claude Opus 5", reasoning: true }, - "claude-haiku-4-5": { name: "Claude Haiku 4.5", reasoning: true }, + "claude-sonnet-5-5": { + name: "Claude Sonnet 5.5", + reasoning: true, + limit: { context: 1000000, output: 128000 }, + modalities: { input: ["text", "image"], output: ["text"] }, + }, + "claude-haiku-5-5": { + name: "Claude Haiku 5.5", + reasoning: true, + limit: { context: 1000000, output: 128000 }, + modalities: { input: ["text", "image"], output: ["text"] }, + }, "claude-opus-5-5": { name: "Claude Opus 5.5", reasoning: true, @@ -699,6 +750,12 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [ setCacheKey: true, }, models: { + "claude-fable-5-1": { + name: "Claude Fable 5.1", + reasoning: true, + limit: { context: 1000000, output: 128000 }, + modalities: { input: ["text", "image"], output: ["text"] }, + }, "claude-opus-5-5": { name: "Claude Opus 5.5", reasoning: true, @@ -711,9 +768,11 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [ limit: { context: 1000000, output: 128000 }, modalities: { input: ["text", "image"], output: ["text"] }, }, - "claude-haiku-4-5-20251001": { - name: "Claude Haiku 4.5", + "claude-haiku-5-5": { + name: "Claude Haiku 5.5", reasoning: true, + limit: { context: 1000000, output: 128000 }, + modalities: { input: ["text", "image"], output: ["text"] }, }, }, }, @@ -859,6 +918,12 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [ setCacheKey: true, }, models: { + "claude-fable-5-1": { + name: "Claude Fable 5.1", + reasoning: true, + limit: { context: 1000000, output: 128000 }, + modalities: { input: ["text", "image"], output: ["text"] }, + }, "claude-opus-5-5": { name: "Claude Opus 5.5", reasoning: true, @@ -919,6 +984,12 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [ limit: { context: 1048576, output: 384000 }, modalities: { input: ["text"], output: ["text"] }, }, + "deepseek-v4.1-flash-1017": { + name: "DeepSeek V4.1 Flash 1017", + reasoning: true, + limit: { context: 1000000, output: 384000 }, + modalities: { input: ["text", "image"], output: ["text"] }, + }, "deepseek-v4.1-flash": { name: "DeepSeek V4.1 Flash", reasoning: true, @@ -1010,8 +1081,14 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [ setCacheKey: true, }, models: { - "claude-sonnet-5": { name: "Claude Sonnet 5", reasoning: true }, - "claude-opus-5": { name: "Claude Opus 5", reasoning: true }, + "claude-fable-5-1": { + name: "Claude Fable 5.1", + reasoning: true, + limit: { context: 1000000, output: 128000 }, + modalities: { input: ["text", "image"], output: ["text"] }, + }, + "claude-sonnet-5-5": { name: "Claude Sonnet 5.5", reasoning: true }, + "claude-opus-5-5": { name: "Claude Opus 5.5", reasoning: true }, }, }, category: "third_party", @@ -1092,8 +1169,8 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [ setCacheKey: true, }, models: { - "claude-sonnet-5": { name: "Claude Sonnet 5", reasoning: true }, - "claude-opus-5": { name: "Claude Opus 5", reasoning: true }, + "claude-sonnet-5-5": { name: "Claude Sonnet 5.5", reasoning: true }, + "claude-opus-5-5": { name: "Claude Opus 5.5", reasoning: true }, }, }, category: "third_party", @@ -1122,7 +1199,7 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [ setCacheKey: true, }, models: { - "gpt-5.6-sol": { name: "GPT-5.6 Sol", reasoning: true }, + "gpt-6.1-sol": { name: "GPT-6.1 Sol", reasoning: true }, "gpt-6-astra": { name: "GPT-6 Astra", reasoning: true, @@ -1157,10 +1234,11 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [ setCacheKey: true, }, models: { - "anthropic/claude-opus-5": { name: "Claude Opus 5", reasoning: true }, - "anthropic/claude-sonnet-5": { - name: "Claude Sonnet 5", + "anthropic/claude-sonnet-5.5": { + name: "Claude Sonnet 5.5", reasoning: true, + limit: { context: 1000000, output: 128000 }, + modalities: { input: ["text", "image"], output: ["text"] }, }, "anthropic/claude-opus-5.5": { name: "Claude Opus 5.5", @@ -1213,7 +1291,12 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [ limit: { context: 1000000, output: 128000 }, modalities: { input: ["text", "image"], output: ["text"] }, }, - "claude-haiku-4-5": { name: "Claude Haiku 4.5", reasoning: true }, + "claude-haiku-5-5": { + name: "Claude Haiku 5.5", + reasoning: true, + limit: { context: 1000000, output: 128000 }, + modalities: { input: ["text", "image"], output: ["text"] }, + }, "claude-fable-5-1": { name: "Claude Fable 5.1", reasoning: true, @@ -1247,9 +1330,15 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [ setCacheKey: true, }, models: { - "claude-opus-5": { name: "Claude Opus 5", reasoning: true }, - "claude-sonnet-5": { name: "Claude Sonnet 5", reasoning: true }, - "claude-haiku-4-5": { name: "Claude Haiku 4.5", reasoning: true }, + "claude-fable-5-1": { + name: "Claude Fable 5.1", + reasoning: true, + limit: { context: 1000000, output: 128000 }, + modalities: { input: ["text", "image"], output: ["text"] }, + }, + "claude-opus-5-5": { name: "Claude Opus 5.5", reasoning: true }, + "claude-sonnet-5-5": { name: "Claude Sonnet 5.5", reasoning: true }, + "claude-haiku-5-5": { name: "Claude Haiku 5.5", reasoning: true }, }, }, category: "third_party", @@ -1277,9 +1366,18 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [ setCacheKey: true, }, models: { - "claude-opus-5": { name: "Claude Opus 5", reasoning: true }, - "claude-sonnet-5": { name: "Claude Sonnet 5", reasoning: true }, - "claude-haiku-4-5": { name: "Claude Haiku 4.5", reasoning: true }, + "claude-sonnet-5-5": { + name: "Claude Sonnet 5.5", + reasoning: true, + limit: { context: 1000000, output: 128000 }, + modalities: { input: ["text", "image"], output: ["text"] }, + }, + "claude-haiku-5-5": { + name: "Claude Haiku 5.5", + reasoning: true, + limit: { context: 1000000, output: 128000 }, + modalities: { input: ["text", "image"], output: ["text"] }, + }, "claude-opus-5-5": { name: "Claude Opus 5.5", reasoning: true, @@ -1319,7 +1417,7 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [ setCacheKey: true, }, models: { - "gpt-5.6-sol": { name: "GPT-5.6 Sol", reasoning: true }, + "gpt-6.1-sol": { name: "GPT-6.1 Sol", reasoning: true }, "gpt-6-astra": { name: "GPT-6 Astra", reasoning: true, @@ -1352,6 +1450,13 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [ setCacheKey: true, }, models: { + "gpt-6.1-sol": { name: "GPT-6.1 Sol", reasoning: true }, + "gpt-6-astra": { + name: "GPT-6 Astra", + reasoning: true, + limit: { context: 272000, output: 128000 }, + modalities: { input: ["text", "image"], output: ["text"] }, + }, "gpt-5.6-sol": { name: "GPT-5.6 Sol", reasoning: true }, }, }, @@ -1380,10 +1485,28 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [ setCacheKey: true, }, models: { - "deepseek/deepseek-v4-flash-0731": { - name: "Deepseek V4 Flash 0731", + "deepseek/deepseek-v4.1-flash": { + name: "DeepSeek V4.1 Flash", reasoning: true, }, + "moonshotai/kimi-k3.1-pro": { + name: "Kimi K3.1 Pro", + reasoning: true, + limit: { context: 1048576, output: 131072 }, + modalities: { input: ["text", "image"], output: ["text"] }, + }, + "zai-org/glm-5.3": { + name: "GLM-5.3", + reasoning: true, + limit: { context: 1000000, output: 128000 }, + modalities: { input: ["text"], output: ["text"] }, + }, + "deepseek/deepseek-v4-pro": { + name: "DeepSeek V4 Pro", + reasoning: true, + limit: { context: 1000000, output: 384000 }, + modalities: { input: ["text"], output: ["text"] }, + }, }, }, category: "aggregator", @@ -1412,9 +1535,18 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [ setCacheKey: true, }, models: { - "claude-sonnet-5": { name: "Claude Sonnet 5", reasoning: true }, - "claude-opus-5": { name: "Claude Opus 5", reasoning: true }, - "claude-haiku-4-5": { name: "Claude Haiku 4.5", reasoning: true }, + "claude-sonnet-5-5": { + name: "Claude Sonnet 5.5", + reasoning: true, + limit: { context: 1000000, output: 128000 }, + modalities: { input: ["text", "image"], output: ["text"] }, + }, + "claude-haiku-5-5": { + name: "Claude Haiku 5.5", + reasoning: true, + limit: { context: 1000000, output: 128000 }, + modalities: { input: ["text", "image"], output: ["text"] }, + }, "claude-opus-5-5": { name: "Claude Opus 5.5", reasoning: true, @@ -1562,7 +1694,7 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [ setCacheKey: true, }, models: { - "doubao-seed-2-1-pro-260628": { + "doubao-seed-2-1-pro-260915": { name: "Doubao Seed 2.1 Pro", reasoning: true, }, @@ -1594,7 +1726,7 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [ setCacheKey: true, }, models: { - "gpt-5.6-sol": { name: "GPT-5.6 Sol", reasoning: true }, + "gpt-6.1-sol": { name: "GPT-6.1 Sol", reasoning: true }, "gpt-6-astra": { name: "GPT-6 Astra", reasoning: true, @@ -1628,6 +1760,11 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [ setCacheKey: true, }, models: { + "gpt-6.1-sol": { + name: "GPT-6.1 Sol", + reasoning: true, + limit: { context: 272000, output: 128000 }, + }, "gpt-6-astra": { name: "GPT-6 Astra", reasoning: true, @@ -1660,8 +1797,8 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [ setCacheKey: true, }, models: { - "claude-sonnet-5": { name: "Claude Sonnet 5", reasoning: true }, - "claude-opus-5": { name: "Claude Opus 5", reasoning: true }, + "claude-sonnet-5-5": { name: "Claude Sonnet 5.5", reasoning: true }, + "claude-opus-5-5": { name: "Claude Opus 5.5", reasoning: true }, }, }, category: "third_party", @@ -1690,12 +1827,9 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [ setCacheKey: true, }, models: { - "claude-opus-5": { name: "Claude Opus 5", reasoning: true }, - "claude-sonnet-5": { name: "Claude Sonnet 5", reasoning: true }, - "claude-haiku-4-5-20251001": { - name: "Claude Haiku 4.5", - reasoning: true, - }, + "claude-opus-5-5": { name: "Claude Opus 5.5", reasoning: true }, + "claude-sonnet-5-5": { name: "Claude Sonnet 5.5", reasoning: true }, + "claude-haiku-5-5": { name: "Claude Haiku 5.5", reasoning: true }, }, }, category: "aggregator", @@ -1723,8 +1857,14 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [ setCacheKey: true, }, models: { - "claude-opus-5": { name: "Claude Opus 5", reasoning: true }, - "claude-sonnet-5": { name: "Claude Sonnet 5", reasoning: true }, + "claude-fable-5-1": { + name: "Claude Fable 5.1", + reasoning: true, + limit: { context: 1000000, output: 128000 }, + modalities: { input: ["text", "image"], output: ["text"] }, + }, + "claude-opus-5-5": { name: "Claude Opus 5.5", reasoning: true }, + "claude-sonnet-5-5": { name: "Claude Sonnet 5.5", reasoning: true }, }, }, category: "third_party", @@ -1753,7 +1893,7 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [ setCacheKey: true, }, models: { - "gpt-5.6-sol": { name: "GPT-5.6 Sol", reasoning: true }, + "gpt-6.1-sol": { name: "GPT-6.1 Sol", reasoning: true }, }, }, category: "third_party", @@ -1782,8 +1922,8 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [ setCacheKey: true, }, models: { - "claude-sonnet-5": { name: "Claude Sonnet 5", reasoning: true }, - "claude-opus-5": { name: "Claude Opus 5", reasoning: true }, + "claude-sonnet-5-5": { name: "Claude Sonnet 5.5", reasoning: true }, + "claude-opus-5-5": { name: "Claude Opus 5.5", reasoning: true }, }, }, category: "third_party", @@ -1812,8 +1952,8 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [ setCacheKey: true, }, models: { - "claude-sonnet-5": { name: "Claude Sonnet 5", reasoning: true }, - "claude-opus-5": { name: "Claude Opus 5", reasoning: true }, + "claude-sonnet-5-5": { name: "Claude Sonnet 5.5", reasoning: true }, + "claude-opus-5-5": { name: "Claude Opus 5.5", reasoning: true }, "claude-fable-5-1": { name: "Claude Fable 5.1", reasoning: true, @@ -1848,8 +1988,8 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [ setCacheKey: true, }, models: { - "claude-sonnet-5": { name: "Claude Sonnet 5", reasoning: true }, - "claude-opus-5": { name: "Claude Opus 5", reasoning: true }, + "claude-sonnet-5-5": { name: "Claude Sonnet 5.5", reasoning: true }, + "claude-opus-5-5": { name: "Claude Opus 5.5", reasoning: true }, }, }, category: "aggregator", @@ -1879,7 +2019,12 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [ setCacheKey: true, }, models: { - "gpt-5.6-sol": { name: "GPT-5.6 Sol", reasoning: true }, + "gpt-6.1-sol": { + name: "GPT-6.1 Sol", + reasoning: true, + limit: { context: 272000, output: 128000 }, + modalities: { input: ["text", "image"], output: ["text"] }, + }, "gpt-6-sol": { name: "GPT-6 Sol", reasoning: true, @@ -1926,7 +2071,12 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [ setCacheKey: true, }, models: { - "gpt-5.6-sol": { name: "GPT-5.6 Sol", reasoning: true }, + "gpt-6.1-sol": { + name: "GPT-6.1 Sol", + reasoning: true, + limit: { context: 272000, output: 128000 }, + modalities: { input: ["text", "image"], output: ["text"] }, + }, "gpt-6-sol": { name: "GPT-6 Sol", reasoning: true, @@ -1965,7 +2115,7 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [ setCacheKey: true, }, models: { - "gpt-5.6-sol": { name: "GPT-5.6 Sol", reasoning: true }, + "gpt-6.1-sol": { name: "GPT-6.1 Sol", reasoning: true }, "gpt-6-astra": { name: "GPT-6 Astra", reasoning: true, @@ -2002,14 +2152,8 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [ setCacheKey: true, }, models: { - "gpt-5.6-sol": { - name: "GPT-5.6 Sol", - reasoning: true, - limit: { context: 272000, output: 128000 }, - modalities: { input: ["text", "image"], output: ["text"] }, - }, - "gpt-6-sol": { - name: "GPT-6 Sol", + "gpt-6.1-sol": { + name: "GPT-6.1 Sol", reasoning: true, limit: { context: 272000, output: 128000 }, modalities: { input: ["text", "image"], output: ["text"] }, @@ -2049,14 +2193,8 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [ setCacheKey: true, }, models: { - "gpt-5.6-sol": { - name: "GPT-5.6 Sol", - reasoning: true, - limit: { context: 272000, output: 128000 }, - modalities: { input: ["text", "image"], output: ["text"] }, - }, - "gpt-6-sol": { - name: "GPT-6 Sol", + "gpt-6.1-sol": { + name: "GPT-6.1 Sol", reasoning: true, limit: { context: 272000, output: 128000 }, modalities: { input: ["text", "image"], output: ["text"] }, @@ -2067,6 +2205,12 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [ limit: { context: 272000, output: 128000 }, modalities: { input: ["text", "image"], output: ["text"] }, }, + "gpt-6-luna": { + name: "GPT-6 Luna", + reasoning: true, + limit: { context: 272000, output: 128000 }, + modalities: { input: ["text", "image"], output: ["text"] }, + }, }, }, category: "aggregator", @@ -2097,14 +2241,8 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [ setCacheKey: true, }, models: { - "gpt-5.6-sol": { - name: "GPT-5.6 Sol", - reasoning: true, - limit: { context: 272000, output: 128000 }, - modalities: { input: ["text", "image"], output: ["text"] }, - }, - "gpt-6-sol": { - name: "GPT-6 Sol", + "gpt-6.1-sol": { + name: "GPT-6.1 Sol", reasoning: true, limit: { context: 272000, output: 128000 }, modalities: { input: ["text", "image"], output: ["text"] }, @@ -2144,9 +2282,15 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [ setCacheKey: true, }, models: { - "claude-opus-5": { name: "Claude Opus 5", reasoning: true }, - "claude-sonnet-5": { name: "Claude Sonnet 5", reasoning: true }, - "claude-haiku-4-5": { name: "Claude Haiku 4.5", reasoning: true }, + "claude-fable-5-1": { + name: "Claude Fable 5.1", + reasoning: true, + limit: { context: 1000000, output: 128000 }, + modalities: { input: ["text", "image"], output: ["text"] }, + }, + "claude-opus-5-5": { name: "Claude Opus 5.5", reasoning: true }, + "claude-sonnet-5-5": { name: "Claude Sonnet 5.5", reasoning: true }, + "claude-haiku-5-5": { name: "Claude Haiku 5.5", reasoning: true }, }, }, category: "aggregator", @@ -2172,7 +2316,7 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [ setCacheKey: true, }, models: { - "gpt-5.6-sol": { name: "GPT-5.6 Sol", reasoning: true }, + "gpt-6.1-sol": { name: "GPT-6.1 Sol", reasoning: true }, "gpt-6-astra": { name: "GPT-6 Astra", reasoning: true, @@ -2204,7 +2348,9 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [ setCacheKey: true, }, models: { - "zai-org/glm-5.1": { name: "GLM 5.1", reasoning: true }, + "zai-org/glm-5.3": { name: "GLM 5.3", reasoning: true }, + "zai-org/glm-5.3-flash": { name: "GLM 5.3 Flash", reasoning: true }, + "moonshotai/kimi-k3": { name: "Kimi K3", reasoning: true }, }, }, category: "aggregator", @@ -2492,7 +2638,6 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [ reasoning: true, }, "kimi-k2.6": { name: "Kimi K2.6", reasoning: true }, - "minimax-m2.7": { name: "MiniMax M2.7", reasoning: true }, "minimax-m3": { name: "MiniMax M3", reasoning: true }, "deepseek-v4-flash": { name: "DeepSeek V4 Flash", reasoning: true }, "deepseek-v4-pro": { name: "DeepSeek V4 Pro", reasoning: true }, @@ -3345,18 +3490,6 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [ setCacheKey: true, }, models: { - "mimo-v2.5-pro": { - name: "MiMo V2.5 Pro", - reasoning: true, - limit: { context: 1048576, output: 131072 }, - modalities: { input: ["text"], output: ["text"] }, - }, - "mimo-v2.5": { - name: "MiMo V2.5", - reasoning: true, - limit: { context: 1048576, output: 131072 }, - modalities: { input: ["text", "image"], output: ["text"] }, - }, "mimo-v2.6-pro": { name: "MiMo V2.6 Pro", reasoning: true, @@ -3403,18 +3536,6 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [ setCacheKey: true, }, models: { - "mimo-v2.5-pro": { - name: "MiMo V2.5 Pro", - reasoning: true, - limit: { context: 1048576, output: 131072 }, - modalities: { input: ["text"], output: ["text"] }, - }, - "mimo-v2.5": { - name: "MiMo V2.5", - reasoning: true, - limit: { context: 1048576, output: 131072 }, - modalities: { input: ["text", "image"], output: ["text"] }, - }, "mimo-v2.6-pro": { name: "MiMo V2.6 Pro", reasoning: true, @@ -3455,11 +3576,12 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [ setCacheKey: true, }, models: { - "glm-5.2": { name: "GLM 5.2", reasoning: true }, - "kimi-k2.7-code": { name: "Kimi K2.7 Code", reasoning: true }, + "glm-5.3": { name: "GLM 5.3", reasoning: true }, + "glm-5.3-flash": { name: "GLM 5.3 Flash", reasoning: true }, + "kimi-k3.1-pro": { name: "Kimi K3.1 Pro", reasoning: true }, "deepseek-v4-pro": { name: "DeepSeek V4 Pro", reasoning: true }, - "deepseek-v4-flash": { name: "DeepSeek V4 Flash", reasoning: true }, - "mimo-v2.5-pro": { name: "MiMo V2.5 Pro", reasoning: true }, + "deepseek-v4.1-flash": { name: "DeepSeek V4.1 Flash", reasoning: true }, + "mimo-v2.6-pro": { name: "MiMo V2.6 Pro", reasoning: true }, }, }, category: "third_party", @@ -3523,6 +3645,24 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [ setCacheKey: true, }, models: { + "moonshotai/Kimi-K3": { + name: "Kimi K3", + reasoning: true, + limit: { context: 1048576, output: 131072 }, + modalities: { input: ["text", "image"], output: ["text"] }, + }, + "zai-org/GLM-5.3": { + name: "GLM-5.3", + reasoning: true, + limit: { context: 1000000, output: 128000 }, + modalities: { input: ["text"], output: ["text"] }, + }, + "zai-org/GLM-5.3-Flash": { + name: "GLM-5.3 Flash", + reasoning: true, + limit: { context: 1000000, output: 128000 }, + modalities: { input: ["text", "image"], output: ["text"] }, + }, "MiniMaxAI/MiniMax-M3": { name: "MiniMax M3", reasoning: true, @@ -3563,8 +3703,18 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [ setCacheKey: true, }, models: { - "claude-sonnet-5": { name: "Claude Sonnet 5", reasoning: true }, - "claude-opus-5": { name: "Claude Opus 5", reasoning: true }, + "claude-sonnet-5-5": { + name: "Claude Sonnet 5.5", + reasoning: true, + limit: { context: 1000000, output: 128000 }, + modalities: { input: ["text", "image"], output: ["text"] }, + }, + "claude-haiku-5-5": { + name: "Claude Haiku 5.5", + reasoning: true, + limit: { context: 1000000, output: 128000 }, + modalities: { input: ["text", "image"], output: ["text"] }, + }, "claude-opus-5-5": { name: "Claude Opus 5.5", reasoning: true, @@ -3603,11 +3753,14 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [ setCacheKey: true, }, models: { - "anthropic/claude-sonnet-5": { - name: "Claude Sonnet 5", + "anthropic/claude-sonnet-5.5": { + name: "Claude Sonnet 5.5", + reasoning: true, + }, + "anthropic/claude-opus-5.5": { + name: "Claude Opus 5.5", reasoning: true, }, - "anthropic/claude-opus-5": { name: "Claude Opus 5", reasoning: true }, "anthropic/claude-fable-5.1": { name: "Claude Fable 5.1", reasoning: true, @@ -3639,11 +3792,18 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [ setCacheKey: true, }, models: { - "anthropic/claude-sonnet-5": { - name: "Claude Sonnet 5", + "anthropic/claude-sonnet-5.5": { + name: "Claude Sonnet 5.5", reasoning: true, + limit: { context: 1000000, output: 128000 }, + modalities: { input: ["text", "image"], output: ["text"] }, + }, + "anthropic/claude-haiku-5.5": { + name: "Claude Haiku 5.5", + reasoning: true, + limit: { context: 1000000, output: 128000 }, + modalities: { input: ["text", "image"], output: ["text"] }, }, - "anthropic/claude-opus-5": { name: "Claude Opus 5", reasoning: true }, "anthropic/claude-opus-5.5": { name: "Claude Opus 5.5", reasoning: true, @@ -3682,17 +3842,22 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [ setCacheKey: true, }, models: { - "anthropic/claude-sonnet-5": { - name: "Claude Sonnet 5", + "anthropic/claude-sonnet-5-5": { + name: "Claude Sonnet 5.5", reasoning: true, }, - "openai/gpt-5.3-codex": { name: "GPT-5.3 Codex", reasoning: true }, - "openai/gpt-5.2": { name: "GPT-5.2", reasoning: true }, - "google/gemini-3.6-flash": { - name: "Gemini 3.6 Flash", + "anthropic/claude-fable-5-1": { + name: "Claude Fable 5.1", reasoning: true, }, - "qwen/qwen3-coder-480b": { name: "Qwen3 Coder 480B" }, + "openai/gpt-6.1-sol": { name: "GPT-6.1 Sol", reasoning: true }, + "openai/gpt-6-astra": { name: "GPT-6 Astra", reasoning: true }, + "google/gemini-4-argon": { name: "Gemini 4 Argon", reasoning: true }, + "google/gemini-3.8-flash": { + name: "Gemini 3.8 Flash", + reasoning: true, + }, + "qwen/qwen3.8-max": { name: "Qwen3.8 Max", reasoning: true }, }, }, category: "aggregator", @@ -3718,7 +3883,6 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [ setCacheKey: true, }, models: { - "zai-org/glm-5.1": { name: "GLM-5.1", reasoning: true }, "zai-org/glm-5.3": { name: "GLM-5.3", reasoning: true, @@ -3731,8 +3895,8 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [ limit: { context: 1048576, output: 131072 }, modalities: { input: ["text", "image"], output: ["text"] }, }, - "moonshotai/kimi-k3": { - name: "Kimi K3", + "moonshotai/kimi-k3.1-pro": { + name: "Kimi K3.1 Pro", reasoning: true, limit: { context: 1048576, output: 131072 }, modalities: { input: ["text", "image"], output: ["text"] }, @@ -3763,10 +3927,10 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [ setCacheKey: true, }, models: { - "moonshotai/kimi-k3": { - name: "Kimi K3", + "moonshotai/kimi-k2.6": { + name: "Kimi K2.6", reasoning: true, - limit: { context: 1048576, output: 131072 }, + limit: { context: 262144, output: 262144 }, modalities: { input: ["text", "image"], output: ["text"] }, }, "z-ai/glm-5.3": { @@ -3807,12 +3971,9 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [ setCacheKey: true, }, models: { - "claude-opus-5": { name: "claude-opus-5", reasoning: true }, - "claude-sonnet-5": { name: "claude-sonnet-5", reasoning: true }, - "claude-haiku-4-5-20251001": { - name: "claude-haiku-4-5-20251001", - reasoning: true, - }, + "claude-opus-5-5": { name: "claude-opus-5-5", reasoning: true }, + "claude-sonnet-5-5": { name: "claude-sonnet-5-5", reasoning: true }, + "claude-haiku-5-5": { name: "claude-haiku-5-5", reasoning: true }, }, }, category: "aggregator", @@ -3836,13 +3997,11 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [ baseURL: "https://e-flowcode.cc/v1", }, models: { - "gpt-5.2-codex": { - name: "gpt-5.2-codex", - reasoning: true, - }, - "gpt-5.3-codex": { - name: "gpt-5.3-codex", + "gpt-6.1-sol": { + name: "GPT-6.1 Sol", reasoning: true, + limit: { context: 272000, output: 128000 }, + modalities: { input: ["text", "image"], output: ["text"] }, }, "gpt-6-sol": { name: "GPT-6 Sol", @@ -4081,14 +4240,20 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [ setCacheKey: true, }, models: { - "claude-fable-5": { - name: "Claude Fable 5", + "claude-opus-5-5": { + name: "Claude Opus 5.5", reasoning: true, limit: { context: 1000000, output: 128000 }, modalities: { input: ["text", "image"], output: ["text"] }, }, - "claude-opus-5-5": { - name: "Claude Opus 5.5", + "claude-sonnet-5-5": { + name: "Claude Sonnet 5.5", + reasoning: true, + limit: { context: 1000000, output: 128000 }, + modalities: { input: ["text", "image"], output: ["text"] }, + }, + "claude-haiku-5-5": { + name: "Claude Haiku 5.5", reasoning: true, limit: { context: 1000000, output: 128000 }, modalities: { input: ["text", "image"], output: ["text"] }, @@ -4125,8 +4290,7 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [ setCacheKey: true, }, models: { - "claude-sonnet-5": { name: "Claude Sonnet 5", reasoning: true }, - "claude-opus-5": { name: "Claude Opus 5", reasoning: true }, + "claude-sonnet-5-5": { name: "Claude Sonnet 5.5", reasoning: true }, "claude-opus-5-5": { name: "Claude Opus 5.5", reasoning: true, @@ -4167,12 +4331,12 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [ models: { // OpenCode 以 limit.context 判断自动压缩;缺失会被当成 0 而跳过压缩, // 故显式声明容量,取值与本 PR 的 Pi / OpenClaw 预设一致 - "deepseek-v4-flash-0731": { - name: "DeepSeek V4 Flash", + "deepseek-v4.1-flash": { + name: "DeepSeek V4.1 Flash", reasoning: true, limit: { context: 1000000, output: 384000 }, }, - "DeepSeek-V4-Pro": { + "DeepSeek-V4-Pro-0813": { name: "DeepSeek V4 Pro", reasoning: true, limit: { context: 1000000, output: 384000 }, @@ -4182,13 +4346,19 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [ reasoning: true, limit: { context: 1048576, output: 131072 }, }, - "Kimi-K2.7-Code": { - name: "Kimi K2.7 Code", + "GLM-5.3-Flash": { + name: "GLM-5.3-Flash", reasoning: true, - limit: { context: 262144, output: 262144 }, + limit: { context: 1000000, output: 128000 }, }, - "qwen3-coder-plus": { - name: "Qwen3 Coder Plus", + "kimi-k3.1-pro": { + name: "Kimi K3.1 Pro", + reasoning: true, + limit: { context: 1048576, output: 131072 }, + }, + "qwen3.8-max": { + name: "Qwen3.8 Max", + reasoning: true, limit: { context: 1000000, output: 65536 }, }, }, @@ -4216,6 +4386,12 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [ setCacheKey: true, }, models: { + "claude-fable-5-1": { + name: "Claude Fable 5.1", + reasoning: true, + limit: { context: 1000000, output: 128000 }, + modalities: { input: ["text", "image"], output: ["text"] }, + }, "claude-opus-5-5": { name: "Claude Opus 5.5", reasoning: true, @@ -4228,9 +4404,11 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [ limit: { context: 1000000, output: 128000 }, modalities: { input: ["text", "image"], output: ["text"] }, }, - "claude-haiku-4-5-20251001": { - name: "Claude Haiku 4.5", + "claude-haiku-5-5": { + name: "Claude Haiku 5.5", reasoning: true, + limit: { context: 1000000, output: 128000 }, + modalities: { input: ["text", "image"], output: ["text"] }, }, }, }, @@ -4257,6 +4435,12 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [ setCacheKey: true, }, models: { + "claude-fable-5-1": { + name: "Claude Fable 5.1", + reasoning: true, + limit: { context: 1000000, output: 128000 }, + modalities: { input: ["text", "image"], output: ["text"] }, + }, "claude-opus-5-5": { name: "Claude Opus 5.5", reasoning: true, @@ -4269,9 +4453,11 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [ limit: { context: 1000000, output: 128000 }, modalities: { input: ["text", "image"], output: ["text"] }, }, - "claude-haiku-4-5-20251001": { - name: "Claude Haiku 4.5", + "claude-haiku-5-5": { + name: "Claude Haiku 5.5", reasoning: true, + limit: { context: 1000000, output: 128000 }, + modalities: { input: ["text", "image"], output: ["text"] }, }, }, }, @@ -4298,6 +4484,12 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [ setCacheKey: true, }, models: { + "claude-fable-5-1": { + name: "Claude Fable 5.1", + reasoning: true, + limit: { context: 1000000, output: 128000 }, + modalities: { input: ["text", "image"], output: ["text"] }, + }, "claude-opus-5-5": { name: "Claude Opus 5.5", reasoning: true, @@ -4310,9 +4502,11 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [ limit: { context: 1000000, output: 128000 }, modalities: { input: ["text", "image"], output: ["text"] }, }, - "claude-haiku-4-5-20251001": { - name: "Claude Haiku 4.5", + "claude-haiku-5-5": { + name: "Claude Haiku 5.5", reasoning: true, + limit: { context: 1000000, output: 128000 }, + modalities: { input: ["text", "image"], output: ["text"] }, }, }, }, @@ -4339,6 +4533,12 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [ setCacheKey: true, }, models: { + "claude-fable-5-1": { + name: "Claude Fable 5.1", + reasoning: true, + limit: { context: 1000000, output: 128000 }, + modalities: { input: ["text", "image"], output: ["text"] }, + }, "claude-opus-5-5": { name: "Claude Opus 5.5", reasoning: true, @@ -4351,9 +4551,11 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [ limit: { context: 1000000, output: 128000 }, modalities: { input: ["text", "image"], output: ["text"] }, }, - "claude-haiku-4-5-20251001": { - name: "Claude Haiku 4.5", + "claude-haiku-5-5": { + name: "Claude Haiku 5.5", reasoning: true, + limit: { context: 1000000, output: 128000 }, + modalities: { input: ["text", "image"], output: ["text"] }, }, }, }, @@ -4381,21 +4583,29 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [ setCacheKey: true, }, models: { + "claude-fable-5-1": { + name: "Claude Fable 5.1", + reasoning: true, + limit: { context: 1000000, output: 128000 }, + modalities: { input: ["text", "image"], output: ["text"] }, + }, "claude-opus-5-5": { name: "Claude Opus 5.5", reasoning: true, limit: { context: 1000000, output: 128000 }, modalities: { input: ["text", "image"], output: ["text"] }, }, - "claude-sonnet-5": { - name: "Claude Sonnet 5", + "claude-sonnet-5-5": { + name: "Claude Sonnet 5.5", reasoning: true, - limit: { context: 1000000, output: 64000 }, + limit: { context: 1000000, output: 128000 }, modalities: { input: ["text", "image"], output: ["text"] }, }, - "claude-haiku-4-5-20251001": { - name: "Claude Haiku 4.5", + "claude-haiku-5-5": { + name: "Claude Haiku 5.5", reasoning: true, + limit: { context: 1000000, output: 128000 }, + modalities: { input: ["text", "image"], output: ["text"] }, }, }, }, @@ -4422,6 +4632,12 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [ setCacheKey: true, }, models: { + "claude-fable-5-1": { + name: "Claude Fable 5.1", + reasoning: true, + limit: { context: 1000000, output: 128000 }, + modalities: { input: ["text", "image"], output: ["text"] }, + }, "claude-opus-5-5": { name: "Claude Opus 5.5", reasoning: true, @@ -4434,9 +4650,11 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [ limit: { context: 1000000, output: 128000 }, modalities: { input: ["text", "image"], output: ["text"] }, }, - "claude-haiku-4-5": { - name: "Claude Haiku 4.5", + "claude-haiku-5-5": { + name: "Claude Haiku 5.5", reasoning: true, + limit: { context: 1000000, output: 128000 }, + modalities: { input: ["text", "image"], output: ["text"] }, }, }, }, @@ -4478,9 +4696,11 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [ limit: { context: 1000000, output: 128000 }, modalities: { input: ["text", "image"], output: ["text"] }, }, - "claude-haiku-4-5-20251001": { - name: "Claude Haiku 4.5", + "claude-haiku-5-5": { + name: "Claude Haiku 5.5", reasoning: true, + limit: { context: 1000000, output: 128000 }, + modalities: { input: ["text", "image"], output: ["text"] }, }, }, }, @@ -4507,6 +4727,12 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [ setCacheKey: true, }, models: { + "claude-fable-5-1": { + name: "Claude Fable 5.1", + reasoning: true, + limit: { context: 1000000, output: 128000 }, + modalities: { input: ["text", "image"], output: ["text"] }, + }, "claude-opus-5-5": { name: "Claude Opus 5.5", reasoning: true, @@ -4519,9 +4745,11 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [ limit: { context: 1000000, output: 128000 }, modalities: { input: ["text", "image"], output: ["text"] }, }, - "claude-haiku-4-5-20251001": { - name: "Claude Haiku 4.5", + "claude-haiku-5-5": { + name: "Claude Haiku 5.5", reasoning: true, + limit: { context: 1000000, output: 128000 }, + modalities: { input: ["text", "image"], output: ["text"] }, }, }, }, diff --git a/src/config/piModelCatalog.ts b/src/config/piModelCatalog.ts index 9be4c3021..9182bc4cd 100644 --- a/src/config/piModelCatalog.ts +++ b/src/config/piModelCatalog.ts @@ -318,6 +318,15 @@ export const piModelCatalog = { maxTokens: 131_072, }, }, + "moonshotai/kimi-k3.1-pro": { + capabilities: { + name: "Kimi K3.1 Pro", + reasoning: true, + input: ["text", "image"], + contextWindow: 1_048_576, + maxTokens: 131_072, + }, + }, "openai/gpt-5": { capabilities: { name: "GPT-5", @@ -800,6 +809,15 @@ export const piModelCatalog = { maxTokens: 128000, }, }, + "openai/gpt-6.1-sol": { + capabilities: { + name: "GPT-6.1 Sol", + reasoning: true, + input: ["text", "image"], + contextWindow: 272000, + maxTokens: 128000, + }, + }, "openai/gpt-6-sol": { capabilities: { name: "GPT-6 Sol", diff --git a/src/config/piProviderPresets.ts b/src/config/piProviderPresets.ts index 36ad9a26d..5a3c1d1f1 100644 --- a/src/config/piProviderPresets.ts +++ b/src/config/piProviderPresets.ts @@ -241,13 +241,12 @@ const piProviderPresetDefinitions: PiProviderPreset[] = [ api: "anthropic-messages", apiKey: "", models: [ - piModel("anthropic/claude-sonnet-5", { - id: "claude-sonnet-5", + piModel("anthropic/claude-opus-5.5", { + id: "claude-opus-5-5", }), - piModel("anthropic/claude-opus-5", { - id: "claude-opus-5", + piModel("anthropic/claude-sonnet-5.5", { + id: "claude-sonnet-5-5", }), - piModel("anthropic/claude-opus-5.5", { id: "claude-opus-5-5" }), piModel("anthropic/claude-fable-5.1", { id: "claude-fable-5-1" }), ], }, @@ -267,8 +266,8 @@ const piProviderPresetDefinitions: PiProviderPreset[] = [ api: "openai-completions", apiKey: "", models: [ - piModel("openai/gpt-5.6-sol", { - id: "gpt-5.6-sol", + piModel("openai/gpt-6.1-sol", { + id: "gpt-6.1-sol", }), piModel("openai/gpt-6-astra", { id: "gpt-6-astra" }), ], @@ -289,11 +288,11 @@ const piProviderPresetDefinitions: PiProviderPreset[] = [ api: "anthropic-messages", apiKey: "", models: [ - piModel("anthropic/claude-sonnet-5", { - id: "claude-sonnet-5", + piModel("anthropic/claude-opus-5.5", { + id: "claude-opus-5-5", }), - piModel("anthropic/claude-opus-5", { - id: "claude-opus-5", + piModel("anthropic/claude-sonnet-5.5", { + id: "claude-sonnet-5-5", }), ], }, @@ -339,8 +338,8 @@ const piProviderPresetDefinitions: PiProviderPreset[] = [ api: "openai-completions", apiKey: "", models: [ - piModel("openai/gpt-5.6-sol", { - id: "gpt-5.6-sol", + piModel("openai/gpt-6.1-sol", { + id: "gpt-6.1-sol", }), ], }, @@ -360,16 +359,15 @@ const piProviderPresetDefinitions: PiProviderPreset[] = [ api: "anthropic-messages", apiKey: "", models: [ - piModel("anthropic/claude-sonnet-5", { - id: "claude-sonnet-5", + piModel("anthropic/claude-opus-5.5", { + id: "claude-opus-5-5", }), - piModel("anthropic/claude-opus-5", { - id: "claude-opus-5", + piModel("anthropic/claude-sonnet-5.5", { + id: "claude-sonnet-5-5", }), - piModel("anthropic/claude-haiku-4.5", { - id: "claude-haiku-4-5", + piModel("anthropic/claude-haiku-5.5", { + id: "claude-haiku-5-5", }), - piModel("anthropic/claude-opus-5.5", { id: "claude-opus-5-5" }), piModel("anthropic/claude-fable-5.1", { id: "claude-fable-5-1" }), ], }, @@ -391,9 +389,10 @@ const piProviderPresetDefinitions: PiProviderPreset[] = [ models: [ piModel("anthropic/claude-opus-5.5", { id: "claude-opus-5-5" }), piModel("anthropic/claude-sonnet-5.5", { id: "claude-sonnet-5-5" }), - piModel("anthropic/claude-haiku-4.5", { - id: "claude-haiku-4-5-20251001", + piModel("anthropic/claude-haiku-5.5", { + id: "claude-haiku-5-5", }), + piModel("anthropic/claude-fable-5.1", { id: "claude-fable-5-1" }), ], }, category: "aggregator", @@ -474,6 +473,7 @@ const piProviderPresetDefinitions: PiProviderPreset[] = [ models: [ piModel("anthropic/claude-opus-5.5", { id: "claude-opus-5-5" }), piModel("anthropic/claude-sonnet-5.5", { id: "claude-sonnet-5-5" }), + piModel("anthropic/claude-fable-5.1", { id: "claude-fable-5-1" }), ], }, category: "aggregator", @@ -501,6 +501,13 @@ const piProviderPresetDefinitions: PiProviderPreset[] = [ id: "deepseek-v4-pro-0813", contextWindow: 1_048_576, }), + // V4.1 Flash 1017 为较新的带日期构建,窗口与最大输出取站点目录 + piModel("deepseek/deepseek-flash", { + id: "deepseek-v4.1-flash-1017", + name: "DeepSeek V4.1 Flash 1017", + contextWindow: 1_000_000, + maxTokens: 384_000, + }), // V4.1 Flash 平台标注可看图,目录里的 V4 Flash 只收文本 piModel("deepseek/deepseek-v4-flash", { id: "deepseek-v4.1-flash", @@ -547,12 +554,12 @@ const piProviderPresetDefinitions: PiProviderPreset[] = [ id: "deepseek-v4-flash-0731", name: "DeepSeek V4 Flash 0731", }), - piModel("deepseek/deepseek-v4-flash", { id: "deepseek-v4-flash" }), + piModel("deepseek/deepseek-flash", { id: "deepseek-v4.1-flash" }), piModel("deepseek/deepseek-v3.2", { id: "deepseek-v3.2" }), - piModel("zai/glm-5.2", { id: "glm-5.2" }), + piModel("zai/glm-5.3", { id: "glm-5.3" }), piModel("zai/glm-5.1", { id: "glm-5.1" }), piModel("zai/glm-5", { id: "glm-5" }), - piModel("moonshotai/kimi-k2.6", { id: "kimi-k2.6" }), + piModel("moonshotai/kimi-k3", { id: "kimi-k3" }), ], }, category: "aggregator", @@ -571,12 +578,13 @@ const piProviderPresetDefinitions: PiProviderPreset[] = [ api: "anthropic-messages", apiKey: "", models: [ - piModel("anthropic/claude-sonnet-5", { - id: "claude-sonnet-5", + piModel("anthropic/claude-opus-5.5", { + id: "claude-opus-5-5", }), - piModel("anthropic/claude-opus-5", { - id: "claude-opus-5", + piModel("anthropic/claude-sonnet-5.5", { + id: "claude-sonnet-5-5", }), + piModel("anthropic/claude-fable-5.1", { id: "claude-fable-5-1" }), ], }, category: "third_party", @@ -621,11 +629,11 @@ const piProviderPresetDefinitions: PiProviderPreset[] = [ api: "anthropic-messages", apiKey: "", models: [ - piModel("anthropic/claude-sonnet-5", { - id: "claude-sonnet-5", + piModel("anthropic/claude-opus-5.5", { + id: "claude-opus-5-5", }), - piModel("anthropic/claude-opus-5", { - id: "claude-opus-5", + piModel("anthropic/claude-sonnet-5.5", { + id: "claude-sonnet-5-5", }), ], }, @@ -646,8 +654,8 @@ const piProviderPresetDefinitions: PiProviderPreset[] = [ api: "openai-completions", apiKey: "", models: [ - piModel("openai/gpt-5.6-sol", { - id: "gpt-5.6-sol", + piModel("openai/gpt-6.1-sol", { + id: "gpt-6.1-sol", }), piModel("openai/gpt-6-astra", { id: "gpt-6-astra" }), ], @@ -669,15 +677,12 @@ const piProviderPresetDefinitions: PiProviderPreset[] = [ api: "anthropic-messages", apiKey: "", models: [ - piModel("anthropic/claude-opus-5", { - id: "anthropic/claude-opus-5", - }), - piModel("anthropic/claude-sonnet-5", { - id: "anthropic/claude-sonnet-5", - }), piModel("anthropic/claude-opus-5.5", { id: "anthropic/claude-opus-5.5", }), + piModel("anthropic/claude-sonnet-5.5", { + id: "anthropic/claude-sonnet-5.5", + }), piModel("anthropic/claude-fable-5.1", { id: "anthropic/claude-fable-5.1", }), @@ -701,8 +706,8 @@ const piProviderPresetDefinitions: PiProviderPreset[] = [ models: [ piModel("anthropic/claude-opus-5.5", { id: "claude-opus-5-5" }), piModel("anthropic/claude-sonnet-5.5", { id: "claude-sonnet-5-5" }), - piModel("anthropic/claude-haiku-4.5", { - id: "claude-haiku-4-5", + piModel("anthropic/claude-haiku-5.5", { + id: "claude-haiku-5-5", }), piModel("anthropic/claude-fable-5.1", { id: "claude-fable-5-1" }), ], @@ -723,15 +728,16 @@ const piProviderPresetDefinitions: PiProviderPreset[] = [ api: "anthropic-messages", apiKey: "", models: [ - piModel("anthropic/claude-opus-5", { - id: "claude-opus-5", + piModel("anthropic/claude-opus-5.5", { + id: "claude-opus-5-5", }), - piModel("anthropic/claude-sonnet-5", { - id: "claude-sonnet-5", + piModel("anthropic/claude-sonnet-5.5", { + id: "claude-sonnet-5-5", }), - piModel("anthropic/claude-haiku-4.5", { - id: "claude-haiku-4-5", + piModel("anthropic/claude-haiku-5.5", { + id: "claude-haiku-5-5", }), + piModel("anthropic/claude-fable-5.1", { id: "claude-fable-5-1" }), ], }, category: "third_party", @@ -750,16 +756,15 @@ const piProviderPresetDefinitions: PiProviderPreset[] = [ api: "anthropic-messages", apiKey: "", models: [ - piModel("anthropic/claude-opus-5", { - id: "claude-opus-5", + piModel("anthropic/claude-opus-5.5", { + id: "claude-opus-5-5", }), - piModel("anthropic/claude-sonnet-5", { - id: "claude-sonnet-5", + piModel("anthropic/claude-sonnet-5.5", { + id: "claude-sonnet-5-5", }), - piModel("anthropic/claude-haiku-4.5", { - id: "claude-haiku-4-5", + piModel("anthropic/claude-haiku-5.5", { + id: "claude-haiku-5-5", }), - piModel("anthropic/claude-opus-5.5", { id: "claude-opus-5-5" }), piModel("anthropic/claude-fable-5.1", { id: "claude-fable-5-1" }), ], }, @@ -779,8 +784,8 @@ const piProviderPresetDefinitions: PiProviderPreset[] = [ api: "openai-completions", apiKey: "", models: [ - piModel("openai/gpt-5.6-sol", { - id: "gpt-5.6-sol", + piModel("openai/gpt-6.1-sol", { + id: "gpt-6.1-sol", }), piModel("openai/gpt-6-astra", { id: "gpt-6-astra" }), ], @@ -800,6 +805,8 @@ const piProviderPresetDefinitions: PiProviderPreset[] = [ api: "openai-completions", apiKey: "", models: [ + piModel("openai/gpt-6.1-sol", { id: "gpt-6.1-sol" }), + piModel("openai/gpt-6-astra", { id: "gpt-6-astra" }), piModel("openai/gpt-5.6-sol", { id: "gpt-5.6-sol", }), @@ -823,14 +830,16 @@ const piProviderPresetDefinitions: PiProviderPreset[] = [ models: [ { ...piModel("deepseek/deepseek-v4-flash", { - id: "deepseek/deepseek-v4-flash-0731", - name: "Deepseek V4 Flash 0731", + id: "deepseek/deepseek-v4.1-flash", + name: "DeepSeek V4.1 Flash", contextWindow: 1_048_576, maxTokens: 393_216, thinkingProfile: "deepseekV4", }), compat: { ...DEEPSEEK_THINKING_COMPAT }, }, + piModel("moonshotai/kimi-k3.1-pro", { id: "moonshotai/kimi-k3.1-pro" }), + piModel("zai/glm-5.3", { id: "zai-org/glm-5.3" }), ], }, category: "aggregator", @@ -850,16 +859,15 @@ const piProviderPresetDefinitions: PiProviderPreset[] = [ api: "anthropic-messages", apiKey: "", models: [ - piModel("anthropic/claude-sonnet-5", { - id: "claude-sonnet-5", + piModel("anthropic/claude-opus-5.5", { + id: "claude-opus-5-5", }), - piModel("anthropic/claude-opus-5", { - id: "claude-opus-5", + piModel("anthropic/claude-sonnet-5.5", { + id: "claude-sonnet-5-5", }), - piModel("anthropic/claude-haiku-4.5", { - id: "claude-haiku-4-5", + piModel("anthropic/claude-haiku-5.5", { + id: "claude-haiku-5-5", }), - piModel("anthropic/claude-opus-5.5", { id: "claude-opus-5-5" }), piModel("anthropic/claude-fable-5.1", { id: "claude-fable-5-1" }), ], }, @@ -961,7 +969,7 @@ const piProviderPresetDefinitions: PiProviderPreset[] = [ apiKey: "", models: [ piModel("volcengine/doubao-seed-2.1-pro", { - id: "doubao-seed-2-1-pro-260628", + id: "doubao-seed-2-1-pro-260915", }), ], }, @@ -982,8 +990,8 @@ const piProviderPresetDefinitions: PiProviderPreset[] = [ api: "openai-completions", apiKey: "", models: [ - piModel("openai/gpt-5.6-sol", { - id: "gpt-5.6-sol", + piModel("openai/gpt-6.1-sol", { + id: "gpt-6.1-sol", }), piModel("openai/gpt-6-astra", { id: "gpt-6-astra" }), ], @@ -1004,9 +1012,11 @@ const piProviderPresetDefinitions: PiProviderPreset[] = [ api: "openai-completions", apiKey: "", models: [ + piModel("openai/gpt-6.1-sol", { id: "gpt-6.1-sol" }), piModel("openai/gpt-6-astra", { id: "gpt-6-astra", }), + piModel("openai/gpt-6-luna", { id: "gpt-6-luna" }), ], }, category: "aggregator", @@ -1025,11 +1035,11 @@ const piProviderPresetDefinitions: PiProviderPreset[] = [ api: "anthropic-messages", apiKey: "", models: [ - piModel("anthropic/claude-sonnet-5", { - id: "claude-sonnet-5", + piModel("anthropic/claude-opus-5.5", { + id: "claude-opus-5-5", }), - piModel("anthropic/claude-opus-5", { - id: "claude-opus-5", + piModel("anthropic/claude-sonnet-5.5", { + id: "claude-sonnet-5-5", }), ], }, @@ -1050,14 +1060,14 @@ const piProviderPresetDefinitions: PiProviderPreset[] = [ api: "anthropic-messages", apiKey: "", models: [ - piModel("anthropic/claude-opus-5", { - id: "claude-opus-5", + piModel("anthropic/claude-opus-5.5", { + id: "claude-opus-5-5", }), - piModel("anthropic/claude-sonnet-5", { - id: "claude-sonnet-5", + piModel("anthropic/claude-sonnet-5.5", { + id: "claude-sonnet-5-5", }), - piModel("anthropic/claude-haiku-4.5-20251001", { - id: "claude-haiku-4-5-20251001", + piModel("anthropic/claude-haiku-5.5", { + id: "claude-haiku-5-5", }), ], }, @@ -1077,12 +1087,13 @@ const piProviderPresetDefinitions: PiProviderPreset[] = [ api: "anthropic-messages", apiKey: "", models: [ - piModel("anthropic/claude-opus-5", { - id: "claude-opus-5", + piModel("anthropic/claude-opus-5.5", { + id: "claude-opus-5-5", }), - piModel("anthropic/claude-sonnet-5", { - id: "claude-sonnet-5", + piModel("anthropic/claude-sonnet-5.5", { + id: "claude-sonnet-5-5", }), + piModel("anthropic/claude-fable-5.1", { id: "claude-fable-5-1" }), ], }, category: "third_party", @@ -1102,8 +1113,8 @@ const piProviderPresetDefinitions: PiProviderPreset[] = [ api: "openai-responses", apiKey: "", models: [ - piModel("openai/gpt-5.6-sol", { - id: "gpt-5.6-sol", + piModel("openai/gpt-6.1-sol", { + id: "gpt-6.1-sol", }), ], }, @@ -1124,11 +1135,11 @@ const piProviderPresetDefinitions: PiProviderPreset[] = [ api: "anthropic-messages", apiKey: "", models: [ - piModel("anthropic/claude-sonnet-5", { - id: "claude-sonnet-5", + piModel("anthropic/claude-opus-5.5", { + id: "claude-opus-5-5", }), - piModel("anthropic/claude-opus-5", { - id: "claude-opus-5", + piModel("anthropic/claude-sonnet-5.5", { + id: "claude-sonnet-5-5", }), ], }, @@ -1149,11 +1160,11 @@ const piProviderPresetDefinitions: PiProviderPreset[] = [ api: "anthropic-messages", apiKey: "", models: [ - piModel("anthropic/claude-sonnet-5", { - id: "claude-sonnet-5", + piModel("anthropic/claude-opus-5.5", { + id: "claude-opus-5-5", }), - piModel("anthropic/claude-opus-5", { - id: "claude-opus-5", + piModel("anthropic/claude-sonnet-5.5", { + id: "claude-sonnet-5-5", }), piModel("anthropic/claude-fable-5.1", { id: "claude-fable-5-1" }), ], @@ -1175,11 +1186,11 @@ const piProviderPresetDefinitions: PiProviderPreset[] = [ api: "anthropic-messages", apiKey: "", models: [ - piModel("anthropic/claude-sonnet-5", { - id: "claude-sonnet-5", + piModel("anthropic/claude-opus-5.5", { + id: "claude-opus-5-5", }), - piModel("anthropic/claude-opus-5", { - id: "claude-opus-5", + piModel("anthropic/claude-sonnet-5.5", { + id: "claude-sonnet-5-5", }), ], }, @@ -1201,12 +1212,12 @@ const piProviderPresetDefinitions: PiProviderPreset[] = [ api: "openai-responses", apiKey: "", models: [ - piModel("openai/gpt-5.6-sol", { - id: "gpt-5.6-sol", + piModel("openai/gpt-6.1-sol", { + id: "gpt-6.1-sol", }), piModel("openai/gpt-6-sol", { id: "gpt-6-sol" }), - piModel("openai/gpt-6-luna", { id: "gpt-6-luna" }), piModel("openai/gpt-6-astra", { id: "gpt-6-astra" }), + piModel("openai/gpt-6-luna", { id: "gpt-6-luna" }), ], }, category: "third_party", @@ -1226,8 +1237,8 @@ const piProviderPresetDefinitions: PiProviderPreset[] = [ api: "openai-responses", apiKey: "", models: [ - piModel("openai/gpt-5.6-sol", { - id: "gpt-5.6-sol", + piModel("openai/gpt-6.1-sol", { + id: "gpt-6.1-sol", }), piModel("openai/gpt-6-sol", { id: "gpt-6-sol" }), piModel("openai/gpt-6-astra", { id: "gpt-6-astra" }), @@ -1251,9 +1262,9 @@ const piProviderPresetDefinitions: PiProviderPreset[] = [ api: "openai-responses", apiKey: "", models: [ - piModel("openai/gpt-5.6-sol", { id: "gpt-5.6-sol" }), - piModel("openai/gpt-6-sol", { id: "gpt-6-sol" }), + piModel("openai/gpt-6.1-sol", { id: "gpt-6.1-sol" }), piModel("openai/gpt-6-astra", { id: "gpt-6-astra" }), + piModel("openai/gpt-6-luna", { id: "gpt-6-luna" }), ], }, category: "aggregator", @@ -1274,9 +1285,9 @@ const piProviderPresetDefinitions: PiProviderPreset[] = [ api: "openai-responses", apiKey: "", models: [ - piModel("openai/gpt-5.6-sol", { id: "gpt-5.6-sol" }), - piModel("openai/gpt-6-sol", { id: "gpt-6-sol" }), + piModel("openai/gpt-6.1-sol", { id: "gpt-6.1-sol" }), piModel("openai/gpt-6-astra", { id: "gpt-6-astra" }), + piModel("openai/gpt-6-luna", { id: "gpt-6-luna" }), ], }, category: "aggregator", @@ -1298,8 +1309,7 @@ const piProviderPresetDefinitions: PiProviderPreset[] = [ api: "openai-completions", apiKey: "", models: [ - piModel("openai/gpt-5.6-sol", { id: "gpt-5.6-sol" }), - piModel("openai/gpt-6-sol", { id: "gpt-6-sol" }), + piModel("openai/gpt-6.1-sol", { id: "gpt-6.1-sol" }), piModel("openai/gpt-6-astra", { id: "gpt-6-astra" }), ], }, @@ -1319,8 +1329,8 @@ const piProviderPresetDefinitions: PiProviderPreset[] = [ api: "openai-completions", apiKey: "", models: [ - piModel("openai/gpt-5.6-sol", { - id: "gpt-5.6-sol", + piModel("openai/gpt-6.1-sol", { + id: "gpt-6.1-sol", }), piModel("openai/gpt-6-astra", { id: "gpt-6-astra" }), ], @@ -1339,10 +1349,9 @@ const piProviderPresetDefinitions: PiProviderPreset[] = [ api: "openai-completions", apiKey: "", models: [ - piModel("zai/glm-5.1", { - id: "zai-org/glm-5.1", - name: "GLM 5.1", - }), + piModel("zai/glm-5.3", { id: "zai-org/glm-5.3" }), + piModel("zai/glm-5.3-flash", { id: "zai-org/glm-5.3-flash" }), + piModel("moonshotai/kimi-k3", { id: "moonshotai/kimi-k3" }), ], }, category: "aggregator", @@ -1842,18 +1851,6 @@ const piProviderPresetDefinitions: PiProviderPreset[] = [ api: "openai-completions", apiKey: "", models: [ - { - ...piModel("xiaomi/mimo-v2.5-pro", { - id: "mimo-v2.5-pro", - }), - compat: { ...XIAOMI_THINKING_COMPAT }, - }, - { - ...piModel("xiaomi/mimo-v2.5", { - id: "mimo-v2.5", - }), - compat: { ...XIAOMI_THINKING_COMPAT }, - }, { ...piModel("xiaomi/mimo-v2.6-pro", { id: "mimo-v2.6-pro" }), compat: XIAOMI_THINKING_COMPAT, @@ -1887,12 +1884,6 @@ const piProviderPresetDefinitions: PiProviderPreset[] = [ api: "openai-completions", apiKey: "", models: [ - piModel("xiaomi/mimo-v2.5-pro", { - id: "mimo-v2.5-pro", - }), - piModel("xiaomi/mimo-v2.5", { - id: "mimo-v2.5", - }), { ...piModel("xiaomi/mimo-v2.6-pro", { id: "mimo-v2.6-pro" }), compat: XIAOMI_THINKING_COMPAT, @@ -1919,16 +1910,19 @@ const piProviderPresetDefinitions: PiProviderPreset[] = [ apiKey: "", models: [ { - ...piModel("zai/glm-5.2", { - id: "glm-5.2", - name: "GLM 5.2", + ...piModel("zai/glm-5.3", { + id: "glm-5.3", thinkingProfile: "openCodeGoGlm52", }), compat: { ...OPENAI_COMPLETIONS_COMPAT }, }, { - ...piModel("moonshotai/kimi-k2.7-code", { - id: "kimi-k2.7-code", + ...piModel("zai/glm-5.3-flash", { id: "glm-5.3-flash" }), + compat: { ...OPENAI_COMPLETIONS_COMPAT }, + }, + { + ...piModel("moonshotai/kimi-k3.1-pro", { + id: "kimi-k3.1-pro", }), compat: { ...OPENAI_COMPLETIONS_COMPAT }, }, @@ -1940,15 +1934,25 @@ const piProviderPresetDefinitions: PiProviderPreset[] = [ compat: { ...DEEPSEEK_THINKING_COMPAT }, }, { - ...piModel("deepseek/deepseek-v4-flash", { - id: "deepseek-v4-flash", + ...piModel("deepseek/deepseek-flash", { + id: "deepseek-v4.1-flash", thinkingProfile: "deepseekV4", }), compat: { ...DEEPSEEK_THINKING_COMPAT }, }, { - ...piModel("xiaomi/mimo-v2.5-pro", { - id: "mimo-v2.5-pro", + ...piModel("xiaomi/mimo-v2.6-pro", { + id: "mimo-v2.6-pro", + }), + compat: { ...OPENAI_COMPLETIONS_COMPAT }, + }, + { + ...piModel("qwen/qwen3.8-max", { id: "qwen3.8-max" }), + compat: { ...OPENAI_COMPLETIONS_COMPAT }, + }, + { + ...piModel("minimax/minimax-m3.1-flash", { + id: "minimax-m3.1-flash", }), compat: { ...OPENAI_COMPLETIONS_COMPAT }, }, @@ -1970,13 +1974,13 @@ const piProviderPresetDefinitions: PiProviderPreset[] = [ api: "anthropic-messages", apiKey: "", models: [ - piModel("anthropic/claude-sonnet-5", { - id: "claude-sonnet-5", + piModel("anthropic/claude-opus-5.5", { + id: "claude-opus-5-5", }), - piModel("anthropic/claude-opus-5", { - id: "claude-opus-5", + piModel("anthropic/claude-sonnet-5.5", { + id: "claude-sonnet-5-5", }), - piModel("anthropic/claude-opus-5.5", { id: "claude-opus-5-5" }), + piModel("anthropic/claude-haiku-5.5", { id: "claude-haiku-5-5" }), piModel("anthropic/claude-fable-5.1", { id: "claude-fable-5-1" }), ], }, @@ -1995,11 +1999,11 @@ const piProviderPresetDefinitions: PiProviderPreset[] = [ api: "anthropic-messages", apiKey: "", models: [ - piModel("anthropic/claude-sonnet-5", { - id: "anthropic/claude-sonnet-5", + piModel("anthropic/claude-opus-5.5", { + id: "anthropic/claude-opus-5.5", }), - piModel("anthropic/claude-opus-5", { - id: "anthropic/claude-opus-5", + piModel("anthropic/claude-sonnet-5.5", { + id: "anthropic/claude-sonnet-5.5", }), piModel("anthropic/claude-fable-5.1", { id: "anthropic/claude-fable-5.1", @@ -2020,15 +2024,15 @@ const piProviderPresetDefinitions: PiProviderPreset[] = [ api: "anthropic-messages", apiKey: "", models: [ - piModel("anthropic/claude-sonnet-5", { - id: "anthropic/claude-sonnet-5", - }), - piModel("anthropic/claude-opus-5", { - id: "anthropic/claude-opus-5", - }), piModel("anthropic/claude-opus-5.5", { id: "anthropic/claude-opus-5.5", }), + piModel("anthropic/claude-sonnet-5.5", { + id: "anthropic/claude-sonnet-5.5", + }), + piModel("anthropic/claude-haiku-5.5", { + id: "anthropic/claude-haiku-5.5", + }), piModel("anthropic/claude-fable-5.1", { id: "anthropic/claude-fable-5.1", }), @@ -2049,20 +2053,23 @@ const piProviderPresetDefinitions: PiProviderPreset[] = [ api: "openai-completions", apiKey: "", models: [ - piModel("anthropic/claude-sonnet-5", { - id: "anthropic/claude-sonnet-5", + piModel("anthropic/claude-sonnet-5.5", { + id: "anthropic/claude-sonnet-5-5", }), - piModel("openai/gpt-5.3-codex", { - id: "openai/gpt-5.3-codex", + piModel("anthropic/claude-fable-5.1", { + id: "anthropic/claude-fable-5-1", }), - piModel("openai/gpt-5.2", { - id: "openai/gpt-5.2", + piModel("openai/gpt-6.1-sol", { + id: "openai/gpt-6.1-sol", }), - piModel("google/gemini-3.6-flash", { - id: "google/gemini-3.6-flash", + piModel("openai/gpt-6-astra", { + id: "openai/gpt-6-astra", }), - piModel("qwen/qwen3-coder-480b", { - id: "qwen/qwen3-coder-480b", + piModel("google/gemini-3.8-flash", { + id: "google/gemini-3.8-flash", + }), + piModel("qwen/qwen3.8-max", { + id: "qwen/qwen3.8-max", }), ], }, @@ -2100,10 +2107,17 @@ const piProviderPresetDefinitions: PiProviderPreset[] = [ maxTokens: 262_144, }), piModel("deepseek/deepseek-flash", { - id: "deepseek-ai/DeepSeek-V4.1-Flash", + id: "deepseek-ai/DeepSeek-V4.1-Flash-1017", + name: "DeepSeek V4.1 Flash 1017", contextWindow: 1_048_576, maxTokens: 262_144, }), + piModel("zai/glm-5.3", { + id: "zai-org/GLM-5.3-Fast", + name: "GLM-5.3 Fast", + input: ["text", "image"], + maxTokens: 262_144, + }), ], }, category: "aggregator", @@ -2120,12 +2134,17 @@ const piProviderPresetDefinitions: PiProviderPreset[] = [ api: "openai-completions", apiKey: "", models: [ - piModel("zai/glm-5.1", { - id: "zai-org/glm-5.1", - }), piModel("zai/glm-5.3", { id: "zai-org/glm-5.3" }), piModel("zai/glm-5.3-flash", { id: "zai-org/glm-5.3-flash" }), - piModel("moonshotai/kimi-k3", { id: "moonshotai/kimi-k3" }), + piModel("moonshotai/kimi-k3.1-pro", { id: "moonshotai/kimi-k3.1-pro" }), + piModel("deepseek/deepseek-flash", { + id: "deepseek/deepseek-v4.1-flash", + }), + piModel("minimax/minimax-m3.1-flash", { + id: "minimax/minimax-m3.1-flash", + }), + piModel("qwen/qwen3.8-max", { id: "qwen/qwen3.8-max" }), + piModel("xiaomi/mimo-v2.6-pro", { id: "xiaomimimo/mimo-v2.6-pro" }), ], }, category: "aggregator", @@ -2143,8 +2162,8 @@ const piProviderPresetDefinitions: PiProviderPreset[] = [ api: "openai-completions", apiKey: "", models: [ - piModel("moonshotai/kimi-k3", { - id: "moonshotai/kimi-k3", + piModel("moonshotai/kimi-k2.6", { + id: "moonshotai/kimi-k2.6", }), piModel("zai/glm-5.3", { id: "z-ai/glm-5.3" }), piModel("zai/glm-5.3-flash", { id: "z-ai/glm-5.3-flash" }), @@ -2311,8 +2330,8 @@ const piProviderPresetDefinitions: PiProviderPreset[] = [ models: [ { ...piModel("deepseek/deepseek-v4-flash", { - id: "deepseek-ai/DeepSeek-V4-Flash-0731", - name: "DeepSeek V4 Flash 0731", + id: "deepseek-ai/DeepSeek-V4.1-Flash-1017", + name: "DeepSeek V4.1 Flash 1017", contextWindow: 1_048_576, thinkingProfile: "deepseekV4", }), @@ -2333,11 +2352,7 @@ const piProviderPresetDefinitions: PiProviderPreset[] = [ thinkingProfile: "kimi3", }), piModel("zai/glm-5.3", { id: "zai-org/GLM-5.3" }), - piModel("zai/glm-5.2", { - id: "zai-org/GLM-5.2", - contextWindow: 1_048_576, - maxTokens: 163_840, - }), + piModel("zai/glm-5.3-flash", { id: "zai-org/GLM-5.3-Flash" }), ], }, category: "aggregator", @@ -2366,10 +2381,17 @@ const piProviderPresetDefinitions: PiProviderPreset[] = [ piModel("anthropic/claude-sonnet-5.5", { id: "anthropic/claude-sonnet-5.5", }), + piModel("anthropic/claude-fable-5.1", { + id: "anthropic/claude-fable-5.1", + }), piModel("openai/gpt-6-astra", { id: "openai/gpt-6-astra", contextWindow: 1_050_000, }), + piModel("openai/gpt-6-luna", { + id: "openai/gpt-6-luna", + contextWindow: 1_050_000, + }), piModel("google/gemini-3.8-flash", { id: "google/gemini-3.8-flash", contextWindow: 1_000_000, @@ -2408,6 +2430,13 @@ const piProviderPresetDefinitions: PiProviderPreset[] = [ id: "moonshotai/Kimi-K3", contextWindow: 1_024_000, }), + piModel("deepseek/deepseek-flash", { + id: "deepseek-ai/DeepSeek-V4.1-Flash", + }), + piModel("minimax/minimax-m3", { id: "MiniMaxAI/MiniMax-M3" }), + piModel("minimax/minimax-m3.1-flash", { + id: "MiniMaxAI/MiniMax-M3.1-Flash", + }), piModel("moonshotai/kimi-k2.7-code", { id: "moonshotai/Kimi-K2.7-Code", input: ["text"], @@ -2538,6 +2567,12 @@ const piProviderPresetDefinitions: PiProviderPreset[] = [ piModel("zai/glm-5.3", { id: "zai-org/GLM-5.3:baseten" }), piModel("zai/glm-5.3-flash", { id: "zai-org/GLM-5.3-Flash:baseten" }), piModel("moonshotai/kimi-k3", { id: "moonshotai/Kimi-K3:baseten" }), + piModel("deepseek/deepseek-flash", { + id: "deepseek-ai/DeepSeek-V4.1-Flash-1017:baseten", + name: "DeepSeek V4.1 Flash 1017", + contextWindow: 1_048_576, + maxTokens: 262_144, + }), piModel("deepseek/deepseek-v4-pro", { id: "deepseek-ai/DeepSeek-V4-Pro-0813:baseten", contextWindow: 1_048_576, @@ -2586,16 +2621,16 @@ const piProviderPresetDefinitions: PiProviderPreset[] = [ api: "anthropic-messages", apiKey: "", models: [ - piModel("anthropic/claude-opus-5", { - id: "claude-opus-5", + piModel("anthropic/claude-opus-5.5", { + id: "claude-opus-5-5", name: "claude-opus-5", }), - piModel("anthropic/claude-sonnet-5", { - id: "claude-sonnet-5", + piModel("anthropic/claude-sonnet-5.5", { + id: "claude-sonnet-5-5", name: "claude-sonnet-5", }), - piModel("anthropic/claude-haiku-4.5-20251001", { - id: "claude-haiku-4-5-20251001", + piModel("anthropic/claude-haiku-5.5", { + id: "claude-haiku-5-5", name: "claude-haiku-4-5-20251001", }), ], @@ -2614,8 +2649,8 @@ const piProviderPresetDefinitions: PiProviderPreset[] = [ api: "openai-responses", apiKey: "", models: [ - piModel("openai/gpt-5.6-sol", { - id: "gpt-5.6-sol", + piModel("openai/gpt-6.1-sol", { + id: "gpt-6.1-sol", name: "gpt-5.6-sol", }), piModel("openai/gpt-6-sol", { id: "gpt-6-sol" }), @@ -2637,16 +2672,15 @@ const piProviderPresetDefinitions: PiProviderPreset[] = [ api: "openai-responses", apiKey: "", models: [ - piModel("openai/gpt-5.2-codex", { - id: "gpt-5.2-codex", + piModel("openai/gpt-6.1-sol", { + id: "gpt-6.1-sol", name: "gpt-5.2-codex", }), - piModel("openai/gpt-5.3-codex", { - id: "gpt-5.3-codex", + piModel("openai/gpt-6-sol", { id: "gpt-6-sol" }), + piModel("openai/gpt-6-astra", { + id: "gpt-6-astra", name: "gpt-5.3-codex", }), - piModel("openai/gpt-6-sol", { id: "gpt-6-sol" }), - piModel("openai/gpt-6-astra", { id: "gpt-6-astra" }), ], }, category: "third_party", @@ -2807,7 +2841,6 @@ const piProviderPresetDefinitions: PiProviderPreset[] = [ thinkingProfile: "offUnsupported", }), piModel("moonshotai/kimi-k2.6", { id: "kimi-k2.6" }), - piModel("minimax/minimax-m2.7", { id: "minimax-m2.7" }), piModel("minimax/minimax-m3", { id: "minimax-m3" }), { ...piModel("deepseek/deepseek-v4-flash", { @@ -3193,15 +3226,16 @@ const piProviderPresetDefinitions: PiProviderPreset[] = [ api: "anthropic-messages", apiKey: "", models: [ - piModel("anthropic/claude-opus-5", { - id: "claude-opus-5", + piModel("anthropic/claude-opus-5.5", { + id: "claude-opus-5-5", }), - piModel("anthropic/claude-sonnet-5", { - id: "claude-sonnet-5", + piModel("anthropic/claude-sonnet-5.5", { + id: "claude-sonnet-5-5", }), - piModel("anthropic/claude-haiku-4.5", { - id: "claude-haiku-4-5", + piModel("anthropic/claude-haiku-5.5", { + id: "claude-haiku-5-5", }), + piModel("anthropic/claude-fable-5.1", { id: "claude-fable-5-1" }), ], }, category: "aggregator", @@ -3219,13 +3253,17 @@ const piProviderPresetDefinitions: PiProviderPreset[] = [ apiKey: "", // 聚合网关,上游思考档位语义未逐一核对,交给 Pi 原生默认行为({}) models: [ - piModel("deepseek/deepseek-v4-flash", { - id: "deepseek-v4-flash-0731", + piModel("deepseek/deepseek-flash", { + id: "deepseek-v4.1-flash", }), - piModel("deepseek/deepseek-v4-pro", { id: "DeepSeek-V4-Pro" }), + piModel("deepseek/deepseek-v4-pro", { id: "DeepSeek-V4-Pro-0813" }), piModel("zai/glm-5.3", { id: "GLM-5.3" }), - piModel("moonshotai/kimi-k2.7-code", { id: "Kimi-K2.7-Code" }), - piModel("qwen/qwen3-coder-plus", { id: "qwen3-coder-plus" }), + piModel("zai/glm-5.3-flash", { id: "GLM-5.3-Flash" }), + piModel("moonshotai/kimi-k3.1-pro", { id: "kimi-k3.1-pro" }), + piModel("qwen/qwen3.8-max", { id: "qwen3.8-max" }), + piModel("qwen/qwen3.8-flash", { id: "qwen3.8-flash" }), + piModel("minimax/minimax-m3", { id: "MiniMax-M3" }), + piModel("stepfun/step-3.7-flash", { id: "Step-3.7-Flash" }), ], }, category: "aggregator", @@ -3244,9 +3282,10 @@ const piProviderPresetDefinitions: PiProviderPreset[] = [ models: [ piModel("anthropic/claude-opus-5.5", { id: "claude-opus-5-5" }), piModel("anthropic/claude-sonnet-5.5", { id: "claude-sonnet-5-5" }), - piModel("anthropic/claude-haiku-4.5", { - id: "claude-haiku-4-5-20251001", + piModel("anthropic/claude-haiku-5.5", { + id: "claude-haiku-5-5", }), + piModel("anthropic/claude-fable-5.1", { id: "claude-fable-5-1" }), ], }, category: "aggregator", @@ -3265,9 +3304,10 @@ const piProviderPresetDefinitions: PiProviderPreset[] = [ models: [ piModel("anthropic/claude-opus-5.5", { id: "claude-opus-5-5" }), piModel("anthropic/claude-sonnet-5.5", { id: "claude-sonnet-5-5" }), - piModel("anthropic/claude-haiku-4.5", { - id: "claude-haiku-4-5-20251001", + piModel("anthropic/claude-haiku-5.5", { + id: "claude-haiku-5-5", }), + piModel("anthropic/claude-fable-5.1", { id: "claude-fable-5-1" }), ], }, category: "aggregator", @@ -3286,9 +3326,10 @@ const piProviderPresetDefinitions: PiProviderPreset[] = [ models: [ piModel("anthropic/claude-opus-5.5", { id: "claude-opus-5-5" }), piModel("anthropic/claude-sonnet-5.5", { id: "claude-sonnet-5-5" }), - piModel("anthropic/claude-haiku-4.5", { - id: "claude-haiku-4-5-20251001", + piModel("anthropic/claude-haiku-5.5", { + id: "claude-haiku-5-5", }), + piModel("anthropic/claude-fable-5.1", { id: "claude-fable-5-1" }), ], }, category: "aggregator", @@ -3307,9 +3348,10 @@ const piProviderPresetDefinitions: PiProviderPreset[] = [ models: [ piModel("anthropic/claude-opus-5.5", { id: "claude-opus-5-5" }), piModel("anthropic/claude-sonnet-5.5", { id: "claude-sonnet-5-5" }), - piModel("anthropic/claude-haiku-4.5", { - id: "claude-haiku-4-5-20251001", + piModel("anthropic/claude-haiku-5.5", { + id: "claude-haiku-5-5", }), + piModel("anthropic/claude-fable-5.1", { id: "claude-fable-5-1" }), ], }, category: "aggregator", @@ -3328,10 +3370,11 @@ const piProviderPresetDefinitions: PiProviderPreset[] = [ apiKey: "", models: [ piModel("anthropic/claude-opus-5.5", { id: "claude-opus-5-5" }), - piModel("anthropic/claude-sonnet-5", { id: "claude-sonnet-5" }), - piModel("anthropic/claude-haiku-4.5", { - id: "claude-haiku-4-5-20251001", + piModel("anthropic/claude-sonnet-5.5", { id: "claude-sonnet-5-5" }), + piModel("anthropic/claude-haiku-5.5", { + id: "claude-haiku-5-5", }), + piModel("anthropic/claude-fable-5.1", { id: "claude-fable-5-1" }), ], }, category: "aggregator", @@ -3350,9 +3393,10 @@ const piProviderPresetDefinitions: PiProviderPreset[] = [ models: [ piModel("anthropic/claude-opus-5.5", { id: "claude-opus-5-5" }), piModel("anthropic/claude-sonnet-5.5", { id: "claude-sonnet-5-5" }), - piModel("anthropic/claude-haiku-4.5", { - id: "claude-haiku-4-5", + piModel("anthropic/claude-haiku-5.5", { + id: "claude-haiku-5-5", }), + piModel("anthropic/claude-fable-5.1", { id: "claude-fable-5-1" }), ], }, category: "aggregator", @@ -3374,8 +3418,8 @@ const piProviderPresetDefinitions: PiProviderPreset[] = [ models: [ piModel("anthropic/claude-opus-5.5", { id: "claude-opus-5-5" }), piModel("anthropic/claude-sonnet-5.5", { id: "claude-sonnet-5-5" }), - piModel("anthropic/claude-haiku-4.5", { - id: "claude-haiku-4-5-20251001", + piModel("anthropic/claude-haiku-5.5", { + id: "claude-haiku-5-5", }), ], }, @@ -3395,9 +3439,10 @@ const piProviderPresetDefinitions: PiProviderPreset[] = [ models: [ piModel("anthropic/claude-opus-5.5", { id: "claude-opus-5-5" }), piModel("anthropic/claude-sonnet-5.5", { id: "claude-sonnet-5-5" }), - piModel("anthropic/claude-haiku-4.5", { - id: "claude-haiku-4-5-20251001", + piModel("anthropic/claude-haiku-5.5", { + id: "claude-haiku-5-5", }), + piModel("anthropic/claude-fable-5.1", { id: "claude-fable-5-1" }), ], }, category: "aggregator", diff --git a/src/config/piThinkingProfiles.ts b/src/config/piThinkingProfiles.ts index b9266c2b8..338283efd 100644 --- a/src/config/piThinkingProfiles.ts +++ b/src/config/piThinkingProfiles.ts @@ -317,6 +317,11 @@ export const piThinkingBindings: readonly PiThinkingBinding[] = [ api: "openai-responses", profileId: "openaiResponsesGpt6Astra", }, + { + catalogKey: "openai/gpt-6.1-sol", + api: "openai-responses", + profileId: "openaiResponsesGpt56", + }, { catalogKey: "openai/gpt-6-sol", api: "openai-responses", diff --git a/src/config/ppioProviderPresets.test.ts b/src/config/ppioProviderPresets.test.ts index 054aa9d91..6251e423b 100644 --- a/src/config/ppioProviderPresets.test.ts +++ b/src/config/ppioProviderPresets.test.ts @@ -19,8 +19,8 @@ const ppioPresetCollections = [ ["Pi", piProviderPresets], ] as const; -const ppioModelId = "deepseek/deepseek-v4-flash-0731"; -const ppioModelName = "Deepseek V4 Flash 0731"; +const ppioModelId = "deepseek/deepseek-v4.1-flash"; +const ppioModelName = "DeepSeek V4.1 Flash"; const ppioAnthropicEndpoint = "https://api.ppio.com/anthropic"; const ppioOpenAiEndpoint = "https://api.ppio.com/openai/v1"; const ppioChatCompletionsEndpoint = `${ppioOpenAiEndpoint}/chat/completions`; @@ -132,7 +132,12 @@ describe("PPIO provider presets", () => { apiKey: { label: "API Key", placeholder: "", editorValue: "" }, }, }); - expect(Object.keys(opencode.settingsConfig.models)).toEqual([ppioModelId]); + expect(Object.keys(opencode.settingsConfig.models)).toEqual([ + ppioModelId, + "moonshotai/kimi-k3.1-pro", + "zai-org/glm-5.3", + "deepseek/deepseek-v4-pro", + ]); expect(`${opencode.settingsConfig.options.baseURL}/chat/completions`).toBe( ppioChatCompletionsEndpoint, ); @@ -146,17 +151,6 @@ describe("PPIO provider presets", () => { baseUrl: ppioOpenAiEndpoint, apiKey: "", api: "openai-completions", - models: [ - { - id: ppioModelId, - name: ppioModelName, - reasoning: true, - input: ["text"], - contextWindow: 1048576, - maxTokens: 393216, - cost: { input: 0.14, output: 0.29, cacheRead: 0.03 }, - }, - ], }, templateValues: { apiKey: { label: "API Key", placeholder: "sk-...", editorValue: "" }, @@ -166,6 +160,27 @@ describe("PPIO provider presets", () => { modelCatalog: { [`ppio/${ppioModelId}`]: { alias: ppioModelName } }, }, }); + expect( + (openclaw.settingsConfig.models ?? []).map((model) => model.id), + ).toEqual([ + ppioModelId, + "moonshotai/kimi-k3.1-pro", + "zai-org/glm-5.3", + "deepseek/deepseek-v4-pro", + "xiaomimimo/mimo-v2.6-pro", + "qwen/qwen3.8-max", + "minimax/minimax-m3.1-flash", + "stepfun/step-5-preview", + ]); + expect(openclaw.settingsConfig.models?.[0]).toMatchObject({ + id: ppioModelId, + name: ppioModelName, + reasoning: true, + input: ["text"], + contextWindow: 1048576, + maxTokens: 393216, + cost: { input: 0.14, output: 0.29, cacheRead: 0.03 }, + }); expect(`${openclaw.settingsConfig.baseUrl}/chat/completions`).toBe( ppioChatCompletionsEndpoint, ); @@ -186,6 +201,17 @@ describe("PPIO provider presets", () => { name: ppioModelName, context_length: 1048576, }, + { + id: "moonshotai/kimi-k3.1-pro", + name: "Kimi K3.1 Pro", + context_length: 1048576, + }, + { id: "zai-org/glm-5.3", name: "GLM-5.3", context_length: 1000000 }, + { + id: "deepseek/deepseek-v4-pro", + name: "DeepSeek V4 Pro", + context_length: 1000000, + }, ], }, suggestedDefaults: { @@ -207,30 +233,33 @@ describe("PPIO provider presets", () => { baseUrl: ppioOpenAiEndpoint, api: "openai-completions", apiKey: "", - models: [ - { - id: ppioModelId, - name: ppioModelName, - reasoning: true, - input: ["text"], - contextWindow: 1048576, - maxTokens: 393216, - thinkingLevelMap: { - minimal: null, - low: null, - medium: null, - high: "high", - max: "max", - }, - compat: { - supportsStore: false, - supportsDeveloperRole: false, - maxTokensField: "max_tokens", - requiresReasoningContentOnAssistantMessages: true, - thinkingFormat: "deepseek", - }, - }, - ], + }, + }); + expect(pi.settingsConfig.models.map((model) => model.id)).toEqual([ + ppioModelId, + "moonshotai/kimi-k3.1-pro", + "zai-org/glm-5.3", + ]); + expect(pi.settingsConfig.models[0]).toMatchObject({ + id: ppioModelId, + name: ppioModelName, + reasoning: true, + input: ["text"], + contextWindow: 1048576, + maxTokens: 393216, + thinkingLevelMap: { + minimal: null, + low: null, + medium: null, + high: "high", + max: "max", + }, + compat: { + supportsStore: false, + supportsDeveloperRole: false, + maxTokensField: "max_tokens", + requiresReasoningContentOnAssistantMessages: true, + thinkingFormat: "deepseek", }, }); expect(`${pi.settingsConfig.baseUrl}/chat/completions`).toBe( diff --git a/tests/components/__snapshots__/ProviderForm.presetRows.golden.test.tsx.snap b/tests/components/__snapshots__/ProviderForm.presetRows.golden.test.tsx.snap index 3dea74a58..30b2fcdae 100644 --- a/tests/components/__snapshots__/ProviderForm.presetRows.golden.test.tsx.snap +++ b/tests/components/__snapshots__/ProviderForm.presetRows.golden.test.tsx.snap @@ -137,10 +137,10 @@ exports[`ProviderForm 预设新增行金标 > claude > Nvidia 1`] = ` "env": { "ANTHROPIC_AUTH_TOKEN": "sk-golden-test", "ANTHROPIC_BASE_URL": "https://integrate.api.nvidia.com", - "ANTHROPIC_DEFAULT_HAIKU_MODEL": "moonshotai/kimi-k3[1M]", - "ANTHROPIC_DEFAULT_OPUS_MODEL": "moonshotai/kimi-k3[1M]", - "ANTHROPIC_DEFAULT_SONNET_MODEL": "moonshotai/kimi-k3[1M]", - "ANTHROPIC_MODEL": "moonshotai/kimi-k3[1M]", + "ANTHROPIC_DEFAULT_HAIKU_MODEL": "moonshotai/kimi-k2.6", + "ANTHROPIC_DEFAULT_OPUS_MODEL": "moonshotai/kimi-k2.6", + "ANTHROPIC_DEFAULT_SONNET_MODEL": "moonshotai/kimi-k2.6", + "ANTHROPIC_MODEL": "moonshotai/kimi-k2.6", "CLAUDE_CODE_AUTO_MODE_SERVER": "0", }, }, @@ -198,7 +198,7 @@ exports[`ProviderForm 预设新增行金标 > codex > E-FlowCode 1`] = ` "OPENAI_API_KEY": "sk-golden-test", }, "config": "model_provider = "custom" -model = "gpt-5.6-sol" +model = "gpt-6.1-sol" model_reasoning_effort = "high" disable_response_storage = true @@ -225,14 +225,6 @@ exports[`ProviderForm 预设新增行金标 > codex > Nvidia 1`] = ` "iconColor": "#000000", "meta": { "apiFormat": "openai_chat", - "codexChatReasoning": { - "effortParam": "reasoning_effort", - "effortValueMode": "passthrough", - "outputFormat": "reasoning_content", - "supportsEffort": true, - "supportsThinking": true, - "thinkingParam": "none", - }, "endpointAutoSelect": true, }, "name": "Nvidia", @@ -244,7 +236,7 @@ exports[`ProviderForm 预设新增行金标 > codex > Nvidia 1`] = ` "OPENAI_API_KEY": "sk-golden-test", }, "config": "model_provider = "custom" -model = "moonshotai/kimi-k3" +model = "moonshotai/kimi-k2.6" model_reasoning_effort = "high" disable_response_storage = true @@ -256,19 +248,13 @@ requires_openai_auth = true", "modelCatalog": { "models": [ { - "contextWindow": 1048576, - "defaultReasoningLevel": "high", - "displayName": "Kimi K3", + "contextWindow": 262144, + "displayName": "Kimi K2.6", "inputModalities": [ "text", "image", ], - "model": "moonshotai/kimi-k3", - "reasoningLevels": [ - "low", - "high", - "max", - ], + "model": "moonshotai/kimi-k2.6", }, ], }, diff --git a/tests/config/claudeProviderPresets.test.ts b/tests/config/claudeProviderPresets.test.ts index 3bcb7844a..2a881cb1f 100644 --- a/tests/config/claudeProviderPresets.test.ts +++ b/tests/config/claudeProviderPresets.test.ts @@ -64,10 +64,10 @@ describe("OpenCode Go Provider Preset", () => { expect(env).toMatchObject({ ANTHROPIC_BASE_URL: "https://opencode.ai/zen/go", ANTHROPIC_API_KEY: "", - ANTHROPIC_MODEL: "deepseek-v4-flash[1M]", - ANTHROPIC_DEFAULT_HAIKU_MODEL: "deepseek-v4-flash[1M]", - ANTHROPIC_DEFAULT_SONNET_MODEL: "deepseek-v4-flash[1M]", - ANTHROPIC_DEFAULT_OPUS_MODEL: "deepseek-v4-flash[1M]", + ANTHROPIC_MODEL: "deepseek-v4.1-flash[1M]", + ANTHROPIC_DEFAULT_HAIKU_MODEL: "deepseek-v4.1-flash[1M]", + ANTHROPIC_DEFAULT_SONNET_MODEL: "deepseek-v4.1-flash[1M]", + ANTHROPIC_DEFAULT_OPUS_MODEL: "deepseek-v4.1-flash[1M]", }); // /messages 只认 x-api-key,Bearer 被网关静默忽略——勿换回 AUTH_TOKEN expect(env).not.toHaveProperty("ANTHROPIC_AUTH_TOKEN"); diff --git a/tests/config/codexChatProviderPresets.test.ts b/tests/config/codexChatProviderPresets.test.ts index 3916a9415..369d90b94 100644 --- a/tests/config/codexChatProviderPresets.test.ts +++ b/tests/config/codexChatProviderPresets.test.ts @@ -87,7 +87,7 @@ const expectedChatPresets = new Map< "AtlasCloud", { baseUrl: "https://api.atlascloud.ai/v1", - contextWindows: { "zai-org/glm-5.2": 1048576 }, + contextWindows: { "zai-org/glm-5.3": 1048576 }, }, ], [ @@ -101,7 +101,7 @@ const expectedChatPresets = new Map< "Nvidia", { baseUrl: "https://integrate.api.nvidia.com/v1", - contextWindows: { "moonshotai/kimi-k3": 1048576 }, + contextWindows: { "moonshotai/kimi-k2.6": 262144 }, }, ], [ @@ -111,10 +111,10 @@ const expectedChatPresets = new Map< contextWindows: { "glm-5.3": 1000000, "glm-5.3-flash": 1000000, - "kimi-k3": 1048576, + "kimi-k3.1-pro": 1048576, "deepseek-v4-pro": 1048576, - "deepseek-v4-flash": 1048576, - "mimo-v2.5-pro": 1048576, + "deepseek-v4.1-flash": 1048576, + "mimo-v2.6-pro": 1048576, }, }, ], @@ -222,7 +222,7 @@ describe("Codex Chat provider presets", () => { ["BytePlus", { contextWindows: { "ark-code-latest": 256000 } }], [ "Volcengine Doubao", - { contextWindows: { "doubao-seed-2-1-pro-260628": 262144 } }, + { contextWindows: { "doubao-seed-2-1-pro-260915": 262144 } }, ], [ "千问AI平台", @@ -280,8 +280,6 @@ describe("Codex Chat provider presets", () => { "Xiaomi MiMo", { contextWindows: { - "mimo-v2.5-pro": 1048576, - "mimo-v2.5": 1048576, "mimo-v2.6-pro": 1048576, "mimo-v2.6-flash": 1048576, "mimo-v2.6-pro-ultraspeed": 1048576, @@ -292,8 +290,6 @@ describe("Codex Chat provider presets", () => { "Xiaomi MiMo Token Plan (China)", { contextWindows: { - "mimo-v2.5-pro": 1048576, - "mimo-v2.5": 1048576, "mimo-v2.6-pro": 1048576, "mimo-v2.6-flash": 1048576, }, @@ -381,7 +377,7 @@ describe("Codex Chat provider presets", () => { it("ships per-model reasoningLevels for OpenCode Go mirroring models.dev", () => { // Zen 网关的合法 effort 档位是逐模型的(models.dev reasoning_options, - // 2026-09-10):统一并集映射会把 high 发给仅声明 max 的 kimi-k3, + // 2026-09-10):统一并集映射会把 high 发给仅声明 max 的 kimi-k3.1-pro(原 kimi-k3), // 此测试锁住逐模型表,防回退。 const preset = codexProviderPresets.find( (item) => item.name === "OpenCode Go", @@ -399,10 +395,10 @@ describe("Codex Chat provider presets", () => { ).toEqual({ "glm-5.3": ["low", "high", "max"], "glm-5.3-flash": ["low", "high", "max"], - "kimi-k3": ["max"], + "kimi-k3.1-pro": ["max"], "deepseek-v4-pro": ["high", "max"], - "deepseek-v4-flash": ["low", "high", "max"], - "mimo-v2.5-pro": null, + "deepseek-v4.1-flash": ["low", "high", "max"], + "mimo-v2.6-pro": null, }); }); }); diff --git a/tests/config/codexReasoningLevelPresets.test.ts b/tests/config/codexReasoningLevelPresets.test.ts index 0eac7cde1..b12e231c4 100644 --- a/tests/config/codexReasoningLevelPresets.test.ts +++ b/tests/config/codexReasoningLevelPresets.test.ts @@ -44,7 +44,7 @@ describe("Codex preset pre-filled reasoning levels", () => { // 方舟深度思考文档:本模型无限制的通用四档(minimal=关思考直接回答) [ "Volcengine Doubao", - "doubao-seed-2-1-pro-260628", + "doubao-seed-2-1-pro-260915", ["minimal", "low", "medium", "high"], ], // 混元官方枚举 low/high;hy3 开源 chat template 对其他值直接 raise @@ -101,17 +101,22 @@ describe("Codex preset pre-filled reasoning levels", () => { "MiniMax-M3.1-Flash", ["low", "medium", "high", "xhigh", "max"], ], - ["Xiaomi MiMo", "mimo-v2.5-pro", ["none", "low", "medium", "high"], "low"], - ["Xiaomi MiMo", "mimo-v2.5", ["none", "low", "medium", "high"], "low"], + ["Xiaomi MiMo", "mimo-v2.6-pro", ["none", "low", "medium", "high"], "low"], [ - "Xiaomi MiMo Token Plan (China)", - "mimo-v2.5-pro", + "Xiaomi MiMo", + "mimo-v2.6-flash", ["none", "low", "medium", "high"], "low", ], [ "Xiaomi MiMo Token Plan (China)", - "mimo-v2.5", + "mimo-v2.6-pro", + ["none", "low", "medium", "high"], + "low", + ], + [ + "Xiaomi MiMo Token Plan (China)", + "mimo-v2.6-flash", ["none", "low", "medium", "high"], "low", ], @@ -130,10 +135,8 @@ describe("Codex preset pre-filled reasoning levels", () => { // SiliconFlow .cn:平台仅 high/max,显式 high 与预设配置一致。 ["SiliconFlow", "deepseek-ai/DeepSeek-V4-Flash", ["high", "max"], "high"], // 聚合平台尚未确认新 GLM 的开关/effort;单档不下发推理控制参数。 - ["AtlasCloud", "zai-org/glm-5.2", ["high"]], + ["AtlasCloud", "zai-org/glm-5.3", ["high"]], ["Novita AI", "zai-org/glm-5.3", ["high"]], - // NIM K3 的官方枚举;显式 high 与预设配置一致。 - ["Nvidia", "moonshotai/kimi-k3", ["low", "high", "max"], "high"], // Groq gpt-oss(Chat 路由):平台声明的 reasoning_effort 枚举 // low/medium/high(console.groq.com/docs/reasoning,2026-10-14),含 high, // 无需显式默认 @@ -189,13 +192,13 @@ describe("Codex preset pre-filled reasoning levels", () => { ["Kimi For Coding", "k3-256k", ["low", "high", "max"], "high"], // OpenCode Go(Zen 网关):opencode 客户端 variants() 严格按各模型在 // models.dev 的 reasoning_options 声明发 reasoning_effort(provider/ - // transform.ts)——GLM5.3 两款有 low/high/max,Kimi K3 仅 max。 + // transform.ts)——GLM5.3 两款有 low/high/max,Kimi K3.1 Pro 仅 max。 // 代理转换层按同一张表逐模型钳制;GLM 默认 high 与预设配置一致。 ["OpenCode Go", "glm-5.3", ["low", "high", "max"], "high"], ["OpenCode Go", "glm-5.3-flash", ["low", "high", "max"], "high"], - ["OpenCode Go", "kimi-k3", ["max"]], + ["OpenCode Go", "kimi-k3.1-pro", ["max"]], ["OpenCode Go", "deepseek-v4-pro", ["high", "max"]], - ["OpenCode Go", "deepseek-v4-flash", ["low", "high", "max"]], + ["OpenCode Go", "deepseek-v4.1-flash", ["low", "high", "max"]], // 千问官方 Codex 页只发布一份 model-catalog.local.json,且该元数据段落 // 位于套餐分页之前(help.aliyun.com/zh/model-studio/codex,2026-09-08 // 核对):qwen3.8-max 档位 low/medium/xhigh、默认 xhigh(≠ 模板回落的 @@ -242,7 +245,7 @@ describe("Codex preset pre-filled reasoning levels", () => { ["Baseten", "zai-org/GLM-5.3-Flash", ["low", "high", "max"], "high"], [ "Baseten", - "deepseek-ai/DeepSeek-V4.1-Flash", + "deepseek-ai/DeepSeek-V4.1-Flash-1017", ["none", "high", "max"], "high", ], @@ -264,7 +267,7 @@ describe("Codex preset pre-filled reasoning levels", () => { // 同 DeepSeek / Kimi / Zhipu GLM 直连预设 [ "DeepInfra", - "deepseek-ai/DeepSeek-V4-Flash-0731", + "deepseek-ai/DeepSeek-V4.1-Flash-1017", ["low", "high", "max"], ], ["DeepInfra", "deepseek-ai/DeepSeek-V4-Pro-0813", ["low", "high", "max"]], @@ -352,7 +355,7 @@ describe("Codex preset pre-filled reasoning levels", () => { // 无表不发 reasoning_effort)。ModelScope 是否透传思考字段未证实,不造 // 两态假开关。 const UNFILLED: Array<[string, string]> = [ - ["OpenCode Go", "mimo-v2.5-pro"], + ["OpenCode Go", "mimo-v2.6-pro"], ["ModelScope", "ZhipuAI/GLM-5.2"], // StepFun 无后缀 3.5-flash:官方未暴露 effort,单一常开思考态 ["StepFun", "step-3.5-flash"], @@ -362,8 +365,8 @@ describe("Codex preset pre-filled reasoning levels", () => { ["Baidu Qianfan Token Plan", "deepseek-v4-flash-0731"], ["Baidu Qianfan Token Plan", "glm-5.2"], ["Baidu Qianfan Token Plan", "kimi-k2.6"], - // DeepInfra GLM-5.2:平台未声明、各处口径不一,未实测前不造档位 - ["DeepInfra", "zai-org/GLM-5.2"], + // DeepInfra GLM-5.2 曾在此列(平台未声明、各处口径不一);2026-10-24 + // 已从 DeepInfra 目录移除,不再断言 // Mistral AI:开推理后流式 content 为分块数组、转换层暂不解析,且 // 现有 effortValueMode 发不出 "none",第一版不下发推理参数、不填档位 ["Mistral AI", "mistral-medium-3-5"], diff --git a/tests/config/commandCodeProviderPresets.test.ts b/tests/config/commandCodeProviderPresets.test.ts index 27782d467..08acc044d 100644 --- a/tests/config/commandCodeProviderPresets.test.ts +++ b/tests/config/commandCodeProviderPresets.test.ts @@ -37,6 +37,8 @@ describe("Command Code provider presets", () => { "deepseek/deepseek-v4.1-flash", "z-ai/glm-5.3-flash", "Qwen/Qwen3.8-Flash", + "moonshotai/Kimi-K3.1-Pro", + "zai-org/GLM-5.3", ]); expect( preset?.modelCatalog?.some((model) => model.model.includes("claude")), diff --git a/tests/config/doubaoSeedPresets.test.ts b/tests/config/doubaoSeedPresets.test.ts index 375daf5cb..7d08f02e2 100644 --- a/tests/config/doubaoSeedPresets.test.ts +++ b/tests/config/doubaoSeedPresets.test.ts @@ -6,7 +6,7 @@ import { openclawProviderPresets } from "@/config/openclawProviderPresets"; // contextWindow,二者必须一致。曾出现 OpenClaw 写成 128000、Codex 写成 262144 的 // 漂移,导致 OpenClaw 用户拿到过小的上下文窗口、长上下文提前压缩/截断。 describe("Volcengine Doubao preset consistency across apps", () => { - const DOUBAO_MODEL_ID = "doubao-seed-2-1-pro-260628"; + const DOUBAO_MODEL_ID = "doubao-seed-2-1-pro-260915"; const EXPECTED_CONTEXT_WINDOW = 262144; it("keeps the doubao context window in sync between OpenClaw and Codex", () => { diff --git a/tests/config/mimoTokenPlanPresets.test.ts b/tests/config/mimoTokenPlanPresets.test.ts index ab7ef11b5..4416970d0 100644 --- a/tests/config/mimoTokenPlanPresets.test.ts +++ b/tests/config/mimoTokenPlanPresets.test.ts @@ -23,7 +23,7 @@ describe("Xiaomi MiMo Token Plan presets", () => { "xiaomi-mimo-token-plan/mimo-v2.6-pro", ); expect(tokenPlan?.suggestedDefaults?.modelCatalog).toHaveProperty( - "xiaomi-mimo-token-plan/mimo-v2.5", + "xiaomi-mimo-token-plan/mimo-v2.6-flash", ); }); @@ -41,7 +41,7 @@ describe("Xiaomi MiMo Token Plan presets", () => { expect(rebased.model?.primary).toBe("my-mimo-plan/mimo-v2.6-pro"); expect(rebased.modelCatalog).toHaveProperty("my-mimo-plan/mimo-v2.6-pro"); - expect(rebased.modelCatalog).toHaveProperty("my-mimo-plan/mimo-v2.5"); + expect(rebased.modelCatalog).toHaveProperty("my-mimo-plan/mimo-v2.6-flash"); expect(rebased.modelCatalog).not.toHaveProperty( "xiaomi-mimo-token-plan/mimo-v2.6-pro", ); diff --git a/tests/config/moarkProviderPresets.test.ts b/tests/config/moarkProviderPresets.test.ts index 2e3128303..5b937628c 100644 --- a/tests/config/moarkProviderPresets.test.ts +++ b/tests/config/moarkProviderPresets.test.ts @@ -10,7 +10,7 @@ import { getIcon, hasIcon } from "@/icons/extracted"; const WEBSITE_URL = "https://moark.com"; const API_KEY_URL = "https://moark.com/dashboard/tokens"; -const DEFAULT_MODEL = "deepseek-v4-flash-0731"; +const DEFAULT_MODEL = "deepseek-v4.1-flash"; describe("MoArk (模力方舟) provider presets", () => { it("uses the Anthropic-native root endpoint for Claude Code", () => { @@ -45,7 +45,7 @@ describe("MoArk (模力方舟) provider presets", () => { expect(preset?.endpointCandidates).toEqual(["https://moark.com/v1"]); expect(preset?.icon).toBe("moark"); expect(preset?.auth).toEqual({ OPENAI_API_KEY: "" }); - expect(preset?.config).toContain('model = "deepseek-v4-flash-0731"'); + expect(preset?.config).toContain('model = "deepseek-v4.1-flash"'); expect(preset?.config).toContain('base_url = "https://moark.com/v1"'); expect(preset?.config).toContain('wire_api = "responses"'); }); @@ -59,10 +59,10 @@ describe("MoArk (模力方舟) provider presets", () => { // 缺 modelCatalog 时 Codex 退回通用元数据,/model 只会列出默认模型。 expect(catalog.map((model) => model.model)).toEqual([ DEFAULT_MODEL, - "DeepSeek-V4-Pro", + "DeepSeek-V4-Pro-0813", "GLM-5.3", + "GLM-5.3-Flash", "Kimi-K2.7-Code", - "qwen3-coder-plus", ]); // 目录首行 = 默认模型,必须与 config.toml 的 model 一致。 @@ -77,10 +77,9 @@ describe("MoArk (模力方舟) provider presets", () => { "text", ); } - // Kimi K2.7 Code 与 OpenClaw 预设一致地支持图像输入。 + // Kimi K2.7 Code 支持图像输入。 expect( - catalog.find((model) => model.model === "Kimi-K2.7-Code") - ?.inputModalities, + catalog.find((model) => model.model === "Kimi-K2.7-Code")?.inputModalities, ).toEqual(["text", "image"]); }); @@ -130,7 +129,7 @@ describe("MoArk (模力方舟) provider presets", () => { // 实测自 https://moark.com/v1/responses:非法 reasoning_effort 触发的 400 // 里厂商给出的明文枚举。 - expect(levels["DeepSeek-V4-Pro"]).toEqual([ + expect(levels["DeepSeek-V4-Pro-0813"]).toEqual([ "low", "medium", "high", @@ -153,21 +152,19 @@ describe("MoArk (模力方舟) provider presets", () => { "high", "xhigh", ]); + // 2026-10-24 目录刷新:qwen3-coder-plus 已下架;kimi-k3.1-pro / qwen3.8-max + // 的档位平台未自证、官方档位与 model_reasoning_effort = "high" 不兼容, + // 暂不进 Codex 目录(Pi / OpenCode / OpenClaw 预设照常收录)。 // MoArk 不校验该字段,退回 DeepSeek 官方目录的档位。 expect(levels[DEFAULT_MODEL]).toEqual(["low", "high", "max"]); - // MoArk 对 qwen3-coder-plus 完全不兑现 effort(none 与 ultra 的 - // reasoning_tokens 同为 0)。留空不等于"没有档位":后端会把未填写理解为沿用 - // 原生模板的 none/high 两档、默认 high,Codex 仍会给出一个不改变任何行为的 - // 选择器,所以要显式声明单档 none。 - expect(levels["qwen3-coder-plus"]).toEqual(["none"]); + // 留空不等于"没有档位":后端会把未填写理解为沿用原生模板的 none/high 两档、 + // 默认 high,Codex 会给出未经平台证实的选择器。 - // 只有单档时 Codex 直接应用、不显示选择界面;四款支持思考的模型必须保留多档 + // 只有单档时 Codex 直接应用、不显示选择界面;支持思考的模型必须保留多档 // 且每档都含 high,后端才会保留模板默认 high,与 config 的 - // model_reasoning_effort = "high" 一致。 - const thinkingModels = (preset?.modelCatalog ?? []).filter( - (model) => model.model !== "qwen3-coder-plus", - ); - expect(thinkingModels).toHaveLength(4); + // model_reasoning_effort = "high" 一致。目录里五款模型都支持思考。 + const thinkingModels = preset?.modelCatalog ?? []; + expect(thinkingModels).toHaveLength(5); for (const model of thinkingModels) { expect(model.reasoningLevels, `${model.model} keeps high`).toContain( "high", @@ -197,10 +194,11 @@ describe("MoArk (模力方舟) provider presets", () => { expect(modelIds).toEqual( expect.arrayContaining([ DEFAULT_MODEL, - "DeepSeek-V4-Pro", + "DeepSeek-V4-Pro-0813", "GLM-5.3", - "Kimi-K2.7-Code", - "qwen3-coder-plus", + "GLM-5.3-Flash", + "kimi-k3.1-pro", + "qwen3.8-max", ]), ); }); @@ -221,20 +219,22 @@ describe("MoArk (模力方舟) provider presets", () => { "https://api.moark.com/v1", ); expect(models).toHaveProperty(DEFAULT_MODEL); - expect(models).toHaveProperty("Kimi-K2.7-Code"); - expect(models[DEFAULT_MODEL]?.name).toBe("DeepSeek V4 Flash"); + expect(models).toHaveProperty("kimi-k3.1-pro"); + expect(models[DEFAULT_MODEL]?.name).toBe("DeepSeek V4.1 Flash"); - // OpenCode only offers thinking variants for models flagged as reasoning; - // Qwen3 Coder Plus has no thinking mode and stays unflagged. + // OpenCode only offers thinking variants for models flagged as reasoning. + // The former non-thinking Qwen3 Coder Plus (left unflagged) was replaced by + // Qwen3.8 Max, which thinks, so every listed model is flagged now. for (const id of [ DEFAULT_MODEL, - "DeepSeek-V4-Pro", + "DeepSeek-V4-Pro-0813", "GLM-5.3", - "Kimi-K2.7-Code", + "GLM-5.3-Flash", + "kimi-k3.1-pro", + "qwen3.8-max", ]) { expect(models[id]?.reasoning, `${id} reasoning`).toBe(true); } - expect(models["qwen3-coder-plus"]?.reasoning).toBeUndefined(); }); it("uses the OpenAI Completions endpoint for OpenClaw", () => { @@ -255,9 +255,9 @@ describe("MoArk (模力方舟) provider presets", () => { expect(modelIds).toEqual( expect.arrayContaining([ DEFAULT_MODEL, - "DeepSeek-V4-Pro", + "DeepSeek-V4-Pro-0813", "GLM-5.3", - "Kimi-K2.7-Code", + "kimi-k3.1-pro", ]), ); expect(preset?.suggestedDefaults?.model).toEqual({ @@ -277,7 +277,7 @@ describe("MoArk (模力方舟) provider presets", () => { // OpenCode treats a missing limit as 0 and then skips auto-compaction // (`isOverflow` returns false when `limit.context === 0`), so every model // of a custom provider key must carry explicit capacity numbers. - expect(Object.keys(models)).toHaveLength(5); + expect(Object.keys(models)).toHaveLength(6); for (const [id, model] of Object.entries(models)) { expect(model.limit?.context, `${id} limit.context`).toBeGreaterThan(0); expect(model.limit?.output, `${id} limit.output`).toBeGreaterThan(0); diff --git a/tests/config/opencodeProviderPresets.test.ts b/tests/config/opencodeProviderPresets.test.ts index 5336e68c3..a335c4f51 100644 --- a/tests/config/opencodeProviderPresets.test.ts +++ b/tests/config/opencodeProviderPresets.test.ts @@ -88,11 +88,11 @@ describe("AWS Bedrock OpenCode Provider Presets", () => { for (const preset of presets) { expect(preset).toBeDefined(); - expect(preset!.settingsConfig.models["mimo-v2.5-pro"]).toMatchObject({ + expect(preset!.settingsConfig.models["mimo-v2.6-pro"]).toMatchObject({ limit: { context: 1048576, output: 131072 }, - modalities: { input: ["text"], output: ["text"] }, + modalities: { input: ["text", "image"], output: ["text"] }, }); - expect(preset!.settingsConfig.models["mimo-v2.5"]).toMatchObject({ + expect(preset!.settingsConfig.models["mimo-v2.6-flash"]).toMatchObject({ limit: { context: 1048576, output: 131072 }, modalities: { input: ["text", "image"], output: ["text"] }, }); diff --git a/tests/config/piProviderPresets.test.ts b/tests/config/piProviderPresets.test.ts index e6649ce5f..74009b9aa 100644 --- a/tests/config/piProviderPresets.test.ts +++ b/tests/config/piProviderPresets.test.ts @@ -157,10 +157,10 @@ describe("Pi provider presets", () => { supportsDeveloperRole: false, maxTokensField: "max_tokens", }; - expect(model("OpenCode Go", "glm-5.2").compat).toEqual(openCodeBase); - expect(model("OpenCode Go", "kimi-k2.7-code").compat).toEqual(openCodeBase); - expect(model("OpenCode Go", "mimo-v2.5-pro").compat).toEqual(openCodeBase); - for (const id of ["deepseek-v4-pro", "deepseek-v4-flash"]) { + expect(model("OpenCode Go", "glm-5.3").compat).toEqual(openCodeBase); + expect(model("OpenCode Go", "kimi-k3.1-pro").compat).toEqual(openCodeBase); + expect(model("OpenCode Go", "mimo-v2.6-pro").compat).toEqual(openCodeBase); + for (const id of ["deepseek-v4-pro", "deepseek-v4.1-flash"]) { expect(model("OpenCode Go", id).compat).toEqual({ ...openCodeBase, requiresReasoningContentOnAssistantMessages: true, @@ -168,7 +168,7 @@ describe("Pi provider presets", () => { }); } - for (const id of ["mimo-v2.5-pro", "mimo-v2.5"]) { + for (const id of ["mimo-v2.6-pro", "mimo-v2.6-flash"]) { expect(model("Xiaomi MiMo", id).compat).toEqual({ requiresReasoningContentOnAssistantMessages: true, thinkingFormat: "deepseek", diff --git a/tests/config/piThinkingProfiles.test.ts b/tests/config/piThinkingProfiles.test.ts index afc2426d2..9140fb98c 100644 --- a/tests/config/piThinkingProfiles.test.ts +++ b/tests/config/piThinkingProfiles.test.ts @@ -83,7 +83,7 @@ describe("Pi thinking profiles", () => { }), expect.objectContaining({ preset: "OpenCode Go", - modelId: "glm-5.2", + modelId: "glm-5.3", profileId: "openCodeGoGlm52", }), expect.objectContaining({ diff --git a/tests/config/subrouterProviderPresets.test.ts b/tests/config/subrouterProviderPresets.test.ts index 9f1aa5e2e..3e8d2f436 100644 --- a/tests/config/subrouterProviderPresets.test.ts +++ b/tests/config/subrouterProviderPresets.test.ts @@ -40,7 +40,7 @@ describe("SubRouter provider presets", () => { expect(preset?.endpointCandidates).toEqual(["https://subrouter.ai/v1"]); expect(preset?.auth).toEqual({ OPENAI_API_KEY: "" }); expect(preset?.config).toContain('name = "subrouter"'); - expect(preset?.config).toContain('model = "gpt-5.6-sol"'); + expect(preset?.config).toContain('model = "gpt-6.1-sol"'); expect(preset?.config).toContain('base_url = "https://subrouter.ai/v1"'); expect(preset?.config).toContain('wire_api = "responses"'); }); @@ -53,11 +53,11 @@ describe("SubRouter provider presets", () => { expect(preset).toBeDefined(); expect(preset?.baseURL).toBe("https://subrouter.ai/v1beta"); expect(preset?.endpointCandidates).toEqual(["https://subrouter.ai/v1beta"]); - expect(preset?.model).toBe("gemini-3.6-flash"); + expect(preset?.model).toBe("gemini-3.8-flash"); const env = (preset?.settingsConfig as { env: Record }).env; expect(env.GOOGLE_GEMINI_BASE_URL).toBe("https://subrouter.ai/v1beta"); - expect(env.GEMINI_MODEL).toBe("gemini-3.6-flash"); + expect(env.GEMINI_MODEL).toBe("gemini-3.8-flash"); }); it("uses OpenAI-compatible config for OpenCode", () => { @@ -71,7 +71,7 @@ describe("SubRouter provider presets", () => { "https://subrouter.ai/v1", ); expect(preset?.settingsConfig.options?.apiKey).toBe(""); - expect(preset?.settingsConfig.models).toHaveProperty("gpt-5.6-sol"); + expect(preset?.settingsConfig.models).toHaveProperty("gpt-6.1-sol"); }); it("uses OpenAI completions config for OpenClaw without hardcoded pricing", () => { @@ -84,13 +84,13 @@ describe("SubRouter provider presets", () => { expect(preset?.settingsConfig.baseUrl).toBe("https://subrouter.ai/v1"); expect(preset?.settingsConfig.api).toBe("openai-completions"); expect(model).toMatchObject({ - id: "gpt-5.6-sol", - name: "GPT-5.6 Sol", + id: "gpt-6.1-sol", + name: "GPT-6.1 Sol", contextWindow: 272000, }); expect(model).not.toHaveProperty("cost"); expect(preset?.suggestedDefaults?.model).toEqual({ - primary: "subrouter/gpt-5.6-sol", + primary: "subrouter/gpt-6.1-sol", }); }); @@ -107,7 +107,7 @@ describe("SubRouter provider presets", () => { api_mode: "chat_completions", }); expect(preset?.suggestedDefaults?.model).toEqual({ - default: "gpt-5.6-sol", + default: "gpt-6.1-sol", provider: "subrouter", }); }); diff --git a/tests/config/therouterOpenCodeOpenClawPresets.test.ts b/tests/config/therouterOpenCodeOpenClawPresets.test.ts index 98c325a75..4a7c16695 100644 --- a/tests/config/therouterOpenCodeOpenClawPresets.test.ts +++ b/tests/config/therouterOpenCodeOpenClawPresets.test.ts @@ -21,10 +21,10 @@ describe("TheRouter OpenCode and OpenClaw presets", () => { "https://api.therouter.ai/v1", ); expect(preset?.settingsConfig.options?.setCacheKey).toBe(true); - expect(models).toHaveProperty("openai/gpt-5.3-codex"); - expect(models).toHaveProperty("anthropic/claude-sonnet-5"); - expect(models).toHaveProperty("google/gemini-3.6-flash"); - expect(models["google/gemini-3.6-flash"]?.name).toBe("Gemini 3.6 Flash"); + expect(models).toHaveProperty("openai/gpt-6.1-sol"); + expect(models).toHaveProperty("anthropic/claude-sonnet-5-5"); + expect(models).toHaveProperty("google/gemini-3.8-flash"); + expect(models["google/gemini-3.8-flash"]?.name).toBe("Gemini 3.8 Flash"); }); it("uses OpenAI completions config for OpenClaw", () => { @@ -42,23 +42,23 @@ describe("TheRouter OpenCode and OpenClaw presets", () => { expect(preset?.settingsConfig.api).toBe("openai-completions"); expect(modelIds).toEqual( expect.arrayContaining([ - "anthropic/claude-sonnet-5", - "openai/gpt-5.3-codex", - "openai/gpt-5.2", - "google/gemini-3.6-flash", + "anthropic/claude-sonnet-5-5", + "openai/gpt-6.1-sol", + "openai/gpt-6-astra", + "google/gemini-3.8-flash", ]), ); expect( - openClawModels.find((model) => model.id === "google/gemini-3.6-flash"), + openClawModels.find((model) => model.id === "google/gemini-3.8-flash"), ).toMatchObject({ - name: "Gemini 3.6 Flash", + name: "Gemini 3.8 Flash", cost: { input: 1.5, output: 9, cacheRead: 0.15 }, }); expect(preset?.suggestedDefaults?.model).toEqual({ - primary: "therouter/anthropic/claude-sonnet-5", + primary: "therouter/anthropic/claude-sonnet-5-5", fallbacks: [ - "therouter/openai/gpt-5.2", - "therouter/google/gemini-3.6-flash", + "therouter/openai/gpt-6-astra", + "therouter/google/gemini-3.8-flash", ], }); }); diff --git a/tests/config/therouterProviderPresets.test.ts b/tests/config/therouterProviderPresets.test.ts index 9f1b3a50b..e8f7358f7 100644 --- a/tests/config/therouterProviderPresets.test.ts +++ b/tests/config/therouterProviderPresets.test.ts @@ -17,14 +17,14 @@ describe("TheRouter provider presets", () => { expect(env.ANTHROPIC_BASE_URL).toBe("https://api.therouter.ai"); expect(env.ANTHROPIC_AUTH_TOKEN).toBe(""); expect(env.ANTHROPIC_API_KEY).toBe(""); - expect(env.ANTHROPIC_MODEL).toBe("anthropic/claude-sonnet-5"); + expect(env.ANTHROPIC_MODEL).toBe("anthropic/claude-sonnet-5-5"); expect(env.ANTHROPIC_DEFAULT_HAIKU_MODEL).toBe( - "anthropic/claude-haiku-4.5", + "anthropic/claude-haiku-5-5", ); expect(env.ANTHROPIC_DEFAULT_SONNET_MODEL).toBe( - "anthropic/claude-sonnet-5", + "anthropic/claude-sonnet-5-5", ); - expect(env.ANTHROPIC_DEFAULT_OPUS_MODEL).toBe("anthropic/claude-opus-5"); + expect(env.ANTHROPIC_DEFAULT_OPUS_MODEL).toBe("anthropic/claude-opus-5-5"); }); it("uses the OpenAI-compatible v1 endpoint for Codex", () => { @@ -41,7 +41,7 @@ describe("TheRouter provider presets", () => { expect(preset?.config).toContain('model_provider = "custom"'); expect(preset?.config).toContain("[model_providers.custom]"); expect(preset?.config).toContain('name = "therouter"'); - expect(preset?.config).toContain('model = "openai/gpt-5.3-codex"'); + expect(preset?.config).toContain('model = "openai/gpt-6.1-sol"'); expect(preset?.config).not.toContain("goals = true"); expect(preset?.config).toContain( 'base_url = "https://api.therouter.ai/v1"', @@ -60,10 +60,10 @@ describe("TheRouter provider presets", () => { expect(preset?.category).toBe("aggregator"); expect(preset?.endpointCandidates).toEqual(["https://api.therouter.ai"]); expect(preset?.baseURL).toBe("https://api.therouter.ai"); - expect(preset?.model).toBe("gemini-3.6-flash"); + expect(preset?.model).toBe("gemini-3.8-flash"); const env = (preset?.settingsConfig as { env: Record }).env; expect(env.GOOGLE_GEMINI_BASE_URL).toBe("https://api.therouter.ai"); - expect(env.GEMINI_MODEL).toBe("gemini-3.6-flash"); + expect(env.GEMINI_MODEL).toBe("gemini-3.8-flash"); }); }); diff --git a/tests/config/tokenPlanProviderPresets.test.ts b/tests/config/tokenPlanProviderPresets.test.ts index 348fe4f45..0a542fce9 100644 --- a/tests/config/tokenPlanProviderPresets.test.ts +++ b/tests/config/tokenPlanProviderPresets.test.ts @@ -123,7 +123,6 @@ const products = [ "kimi-k2.7-code", "kimi-k2.7-code-highspeed", "kimi-k2.6", - "minimax-m2.7", "minimax-m3", "deepseek-v4-flash", "deepseek-v4-pro", @@ -470,9 +469,10 @@ describe("Tencent Token Plan provider presets", () => { // 全部真 Key 实测(2026-08-31): // - glm-5.3 始终思考且档位严格枚举 low/high/max(medium/xhigh 会 400) // - kimi-k2.7-code(-highspeed) 仅接受 thinking:enabled - // - minimax-m2.7 与国内 auto 关思考被静默忽略 → 不列 none + // - 国内 auto 关思考被静默忽略 → 不列 none // - 其余模型 thinking 开关真实生效 → 两态 none/high // - minimax-m2.5 官方已除名且平台计划下线(2026-09-07 从全部 app 移除),不再断言 + // - minimax-m2.7 平台标注 2026-11-17 下线,2026-10-24 从企业版移除 const epro = codexProviderPresets.find( (item) => item.name === "Tencent Token Plan Enterprise Pro", ); @@ -482,7 +482,6 @@ describe("Tencent Token Plan provider presets", () => { expect(levels("glm-5.3")).toEqual(["low", "high", "max"]); expect(levels("kimi-k2.7-code")).toEqual(["high"]); expect(levels("kimi-k2.7-code-highspeed")).toEqual(["high"]); - expect(levels("minimax-m2.7")).toEqual(["high"]); expect(levels("auto")).toEqual(["high"]); // 国内 auto 忽略关思考 expect(levels("glm-5.2")).toEqual(["none", "high"]); expect(levels("kimi-k2.6")).toEqual(["none", "high"]); diff --git a/tests/config/xaiOauthProviderPresets.test.ts b/tests/config/xaiOauthProviderPresets.test.ts index e83a8bea1..30538243b 100644 --- a/tests/config/xaiOauthProviderPresets.test.ts +++ b/tests/config/xaiOauthProviderPresets.test.ts @@ -21,10 +21,10 @@ describe("xAI OAuth provider presets", () => { }); expect((preset!.settingsConfig as any).env).toMatchObject({ ANTHROPIC_BASE_URL: "https://api.x.ai/v1", - ANTHROPIC_MODEL: "grok-4.5", - ANTHROPIC_DEFAULT_HAIKU_MODEL: "grok-4.5", - ANTHROPIC_DEFAULT_SONNET_MODEL: "grok-4.5", - ANTHROPIC_DEFAULT_OPUS_MODEL: "grok-4.5", + ANTHROPIC_MODEL: "grok-4.7", + ANTHROPIC_DEFAULT_HAIKU_MODEL: "grok-4.7", + ANTHROPIC_DEFAULT_SONNET_MODEL: "grok-4.7", + ANTHROPIC_DEFAULT_OPUS_MODEL: "grok-4.7", }); expect((preset!.settingsConfig as any).env).not.toHaveProperty( "ANTHROPIC_API_KEY", @@ -49,7 +49,7 @@ describe("xAI OAuth provider presets", () => { }); expect(preset!.modelRoutes).toEqual([ expect.objectContaining({ - upstreamModel: "grok-4.5", + upstreamModel: "grok-4.7", supports1m: false, }), ]);