chore(models): refresh the model catalog to current provider lineups

Verified each provider's hard-coded list against current official docs:
- MiniMax: add MiniMax-M3 (1M ctx, multimodal) as the default; keep M2.7 line.
- Qwen: use the live qwen{3.7,3.6}-{plus,max} IDs.
- GLM: add glm-5.2 as the latest flagship.
- xAI: drop deprecated grok-4-fast-* / grok-4-0709 builds.
- DeepSeek: migrate to deepseek-v4-pro / deepseek-v4-flash (the chat/reasoner
  aliases are deprecated 2026-07-24 and now map to V4 Flash).
OpenAI, Anthropic, and Gemini were already current and are unchanged.
This commit is contained in:
Yijia-Xiao
2026-06-14 17:03:17 +00:00
parent 6b6177ebf7
commit 03600f3121
3 changed files with 25 additions and 24 deletions

View File

@@ -147,8 +147,8 @@ export DASHSCOPE_API_KEY=... # Qwen — International (dashscope-intl.aliy
export DASHSCOPE_CN_API_KEY=... # Qwen — China (dashscope.aliyuncs.com) export DASHSCOPE_CN_API_KEY=... # Qwen — China (dashscope.aliyuncs.com)
export ZHIPU_API_KEY=... # GLM via Z.AI (international) export ZHIPU_API_KEY=... # GLM via Z.AI (international)
export ZHIPU_CN_API_KEY=... # GLM via BigModel (China, open.bigmodel.cn) export ZHIPU_CN_API_KEY=... # GLM via BigModel (China, open.bigmodel.cn)
export MINIMAX_API_KEY=... # MiniMax — Global (api.minimax.io, M2.x, 204K ctx) export MINIMAX_API_KEY=... # MiniMax — Global (api.minimax.io)
export MINIMAX_CN_API_KEY=... # MiniMax — China (api.minimaxi.com, M2.x, 204K ctx) export MINIMAX_CN_API_KEY=... # MiniMax — China (api.minimaxi.com)
export OPENROUTER_API_KEY=... # OpenRouter export OPENROUTER_API_KEY=... # OpenRouter
export ALPHA_VANTAGE_API_KEY=... # Alpha Vantage export ALPHA_VANTAGE_API_KEY=... # Alpha Vantage
``` ```

View File

@@ -48,7 +48,7 @@ class TestPatternMatches:
caps = get_capabilities("deepseek-reasoner-pro") caps = get_capabilities("deepseek-reasoner-pro")
assert caps.supports_tool_choice is False assert caps.supports_tool_choice is False
def test_future_minimax_m3_inherits_thinking_quirks(self): def test_minimax_m3_inherits_thinking_quirks(self):
caps = get_capabilities("MiniMax-M3") caps = get_capabilities("MiniMax-M3")
assert caps.supports_tool_choice is False assert caps.supports_tool_choice is False

View File

@@ -24,7 +24,8 @@ _GLM_MODELS: dict[str, list[ModelOption]] = {
("Custom model ID", "custom"), ("Custom model ID", "custom"),
], ],
"deep": [ "deep": [
("GLM-5.1 - Latest flagship, 204K ctx", "glm-5.1"), ("GLM-5.2 - Latest flagship, 1M ctx", "glm-5.2"),
("GLM-5.1 - 745B, 200K ctx", "glm-5.1"),
("GLM-5 - Flagship, 204K ctx", "glm-5"), ("GLM-5 - Flagship, 204K ctx", "glm-5"),
("GLM-4.7 - Previous-gen flagship", "glm-4.7"), ("GLM-4.7 - Previous-gen flagship", "glm-4.7"),
("Custom model ID", "custom"), ("Custom model ID", "custom"),
@@ -44,14 +45,14 @@ _GLM_MODELS: dict[str, list[ModelOption]] = {
# "Custom model ID". # "Custom model ID".
_QWEN_MODELS: dict[str, list[ModelOption]] = { _QWEN_MODELS: dict[str, list[ModelOption]] = {
"quick": [ "quick": [
("Qwen 3.6 Flash - Latest fast, agentic coding + vision-language", "qwen3.6-flash"), ("Qwen 3.7 Plus - Latest, balanced speed/cost", "qwen3.7-plus"),
("Qwen 3.5 Flash - Previous-gen fast", "qwen3.5-flash"), ("Qwen 3.6 Plus - Previous-gen balanced", "qwen3.6-plus"),
("Custom model ID", "custom"), ("Custom model ID", "custom"),
], ],
"deep": [ "deep": [
("Qwen 3.7 Max - Latest flagship reasoning agent, 1M ctx", "qwen3.7-max"), ("Qwen 3.7 Max - Latest flagship, most intelligent, 1M ctx", "qwen3.7-max"),
("Qwen 3.6 Plus - Vision-language, agentic coding", "qwen3.6-plus"), ("Qwen 3.6 Max - Previous-gen flagship", "qwen3.6-max"),
("Qwen 3.5 Plus - Previous-gen flagship", "qwen3.5-plus"), ("Qwen 3.7 Plus - Balanced alternative", "qwen3.7-plus"),
("Custom model ID", "custom"), ("Custom model ID", "custom"),
], ],
} }
@@ -59,20 +60,19 @@ _QWEN_MODELS: dict[str, list[ModelOption]] = {
# Shared model list for MiniMax's global and CN endpoints (same IDs). # Shared model list for MiniMax's global and CN endpoints (same IDs).
# Full official lineup per platform.minimax.io/docs/api-reference/text-openai-api. # Full official lineup per platform.minimax.io/docs/api-reference/text-openai-api.
# All M2.x models share a 204,800-token context window. # M3 carries a 1M-token context window; the M2.x line is 204,800 tokens.
_MINIMAX_MODELS: dict[str, list[ModelOption]] = { _MINIMAX_MODELS: dict[str, list[ModelOption]] = {
"quick": [ "quick": [
("MiniMax-M2.7-highspeed - Faster M2.7, 204K ctx, ~100 TPS", "MiniMax-M2.7-highspeed"), ("MiniMax-M3 - Latest, 1M ctx, native multimodal", "MiniMax-M3"),
("MiniMax-M2.7-highspeed - Fast M2.7, 204K ctx, ~100 TPS", "MiniMax-M2.7-highspeed"),
("MiniMax-M2.5-highspeed - Previous-gen highspeed, 204K ctx", "MiniMax-M2.5-highspeed"), ("MiniMax-M2.5-highspeed - Previous-gen highspeed, 204K ctx", "MiniMax-M2.5-highspeed"),
("MiniMax-M2.1-highspeed - M2.1 highspeed, 204K ctx", "MiniMax-M2.1-highspeed"),
("Custom model ID", "custom"), ("Custom model ID", "custom"),
], ],
"deep": [ "deep": [
("MiniMax-M2.7 - Flagship, SOTA on coding/agent benchmarks, 204K ctx", "MiniMax-M2.7"), ("MiniMax-M3 - Latest flagship, 1M ctx, multimodal coding/agent", "MiniMax-M3"),
("MiniMax-M2.7 - Previous flagship, 204K ctx", "MiniMax-M2.7"),
("MiniMax-M2.7-highspeed - Same quality as M2.7, ~100 TPS", "MiniMax-M2.7-highspeed"), ("MiniMax-M2.7-highspeed - Same quality as M2.7, ~100 TPS", "MiniMax-M2.7-highspeed"),
("MiniMax-M2.5 - Previous-gen flagship, 204K ctx", "MiniMax-M2.5"), ("MiniMax-M2.5 - Earlier flagship, 204K ctx", "MiniMax-M2.5"),
("MiniMax-M2.1 - Earlier M2 line, 204K ctx", "MiniMax-M2.1"),
("MiniMax-M2 - Base M2, 204K ctx", "MiniMax-M2"),
("Custom model ID", "custom"), ("Custom model ID", "custom"),
], ],
} }
@@ -123,26 +123,27 @@ MODEL_OPTIONS: ProviderModeOptions = {
"xai": { "xai": {
"quick": [ "quick": [
("Grok 4.3 - Latest flagship, fast with built-in reasoning", "grok-4.3"), ("Grok 4.3 - Latest flagship, fast with built-in reasoning", "grok-4.3"),
("Grok 4.20 (Non-Reasoning) - Speed-optimized", "grok-4.20-0309-non-reasoning"),
("Grok Build 0.1 - Coding-specialized, 256K ctx", "grok-build-0.1"), ("Grok Build 0.1 - Coding-specialized, 256K ctx", "grok-build-0.1"),
("Grok 4 Fast (Non-Reasoning) - Speed optimized", "grok-4-fast-non-reasoning"),
], ],
"deep": [ "deep": [
("Grok 4.3 - Latest flagship, built-in reasoning, 1M ctx", "grok-4.3"), ("Grok 4.3 - Latest flagship, built-in reasoning, 1M ctx", "grok-4.3"),
("Grok 4.20 (Reasoning) - Previous-gen reasoning", "grok-4.20-0309-reasoning"), ("Grok 4.20 (Reasoning) - Previous-gen reasoning", "grok-4.20-0309-reasoning"),
("Grok 4 Fast (Reasoning) - High-performance", "grok-4-fast-reasoning"), ("Grok 4.20 Multi-Agent - Multi-agent reasoning", "grok-4.20-multi-agent-0309"),
("Grok 4 - Flagship (dated build)", "grok-4-0709"),
], ],
}, },
# DeepSeek: the deepseek-chat / deepseek-reasoner aliases are deprecated
# (2026-07-24) and now map to V4 Flash; expose the V4 IDs directly. V4 Flash
# serves both non-thinking and thinking modes (the DeepSeekChatOpenAI client
# handles the reasoning_content round-trip).
"deepseek": { "deepseek": {
"quick": [ "quick": [
("DeepSeek V4 Flash - Latest V4 fast model", "deepseek-v4-flash"), ("DeepSeek V4 Flash - Latest fast model, thinking + non-thinking", "deepseek-v4-flash"),
("DeepSeek V3.2", "deepseek-chat"),
("Custom model ID", "custom"), ("Custom model ID", "custom"),
], ],
"deep": [ "deep": [
("DeepSeek V4 Pro - Latest V4 flagship model", "deepseek-v4-pro"), ("DeepSeek V4 Pro - Latest flagship", "deepseek-v4-pro"),
("DeepSeek V3.2 (thinking)", "deepseek-reasoner"), ("DeepSeek V4 Flash - Fast, supports thinking", "deepseek-v4-flash"),
("DeepSeek V3.2", "deepseek-chat"),
("Custom model ID", "custom"), ("Custom model ID", "custom"),
], ],
}, },