diff --git a/hermes_cli/models.py b/hermes_cli/models.py index 94bf5b0906..1411022fea 100644 --- a/hermes_cli/models.py +++ b/hermes_cli/models.py @@ -653,6 +653,20 @@ _PROVIDER_MODELS: dict[str, list[str]] = { "glm-4.7", "MiniMax-M2.5", ], + # Alibaba DashScope (China) — same platform as alibaba, domestic endpoint + # (dashscope.aliyuncs.com); same catalog as the international tier. + "alibaba-cn": [ + "qwen3.7-max", + "qwen3.7-plus", + "qwen3.6-plus", + "kimi-k2.5", + "qwen3.5-plus", + "qwen3-coder-plus", + "qwen3-coder-next", + "glm-5", + "glm-4.7", + "MiniMax-M2.5", + ], # Alibaba Coding Plan — same platform as alibaba (DashScope coding-intl), # separate provider ID with its own base_url_env_var. "alibaba-coding-plan": [ @@ -667,6 +681,20 @@ _PROVIDER_MODELS: dict[str, list[str]] = { "glm-4.7", "MiniMax-M2.5", ], + # Alibaba Coding Plan (China) — domestic coding endpoint + # (coding.dashscope.aliyuncs.com); same catalog as the international tier. + "alibaba-coding-plan-cn": [ + "qwen3.7-plus", + "qwen3.6-plus", + "qwen3.5-plus", + "qwen3-max-2026-01-23", + "qwen3-coder-plus", + "qwen3-coder-next", + "kimi-k2.5", + "glm-5", + "glm-4.7", + "MiniMax-M2.5", + ], # Alibaba Token Plan (Personal Edition) — dedicated token-plan endpoint # (token-plan.ap-southeast-1.maas.aliyuncs.com), key tier `sk-sp-...`. # Catalog verified against a live Token Plan subscription (2026-08-03). @@ -686,6 +714,24 @@ _PROVIDER_MODELS: dict[str, list[str]] = { "glm-5.1", "glm-5", ], + # Alibaba Token Plan (China) — domestic token-plan endpoint + # (token-plan.cn-beijing.maas.aliyuncs.com); same catalog as intl. + "alibaba-token-plan-cn": [ + "qwen3.8-max-preview", + "qwen3.7-max", + "qwen3.7-plus", + "qwen3.6-plus", + "qwen3.6-flash", + "deepseek-v4-pro", + "deepseek-v4-flash", + "deepseek-v3.2", + "kimi-k2.7-code", + "kimi-k2.6", + "kimi-k2.5", + "glm-5.2", + "glm-5.1", + "glm-5", + ], # Curated HF model list — only agentic models that map to OpenRouter defaults. "huggingface": [ "moonshotai/Kimi-K2.5", @@ -1341,7 +1387,7 @@ PROVIDER_GROUPS: dict[str, tuple[str, str, list[str]]] = { "xai": ("xAI Grok", "Direct API or SuperGrok / Premium+ OAuth", ["xai", "xai-oauth"]), "google": ("Google Gemini", "Google AI Studio (API key)", ["gemini"]), "openai": ("OpenAI", "ChatGPT/Codex subscription or direct OpenAI API", ["openai-codex", "openai-api"]), - "qwen": ("Qwen", "Qwen Cloud / DashScope, Coding Plan, Token Plan & Qwen CLI OAuth", ["alibaba", "alibaba-coding-plan", "alibaba-token-plan", "qwen-oauth"]), + "qwen": ("Qwen", "Qwen Cloud / DashScope, Coding Plan, Token Plan & Qwen CLI OAuth", ["alibaba", "alibaba-cn", "alibaba-coding-plan", "alibaba-coding-plan-cn", "alibaba-token-plan", "alibaba-token-plan-cn", "qwen-oauth"]), "opencode": ("OpenCode", "Zen pay-as-you-go, Go subscription, or free tier", ["opencode-zen", "opencode-go", "opencode-free"]), "copilot": ("GitHub Copilot", "GitHub token API or copilot --acp process", ["copilot", "copilot-acp"]), "tencent": ("Tencent Hy", "Hy4 / Hy3 via TokenHub & TokenPlan", ["tencent-tokenhub", "tencent-tokenplan"]),