From 23f1fa22af4cf94b6d6cb5bafa1326e1b58c9557 Mon Sep 17 00:00:00 2001 From: Teknium <127238744+teknium1@users.noreply.github.com> Date: Wed, 15 Apr 2026 14:54:30 -0700 Subject: [PATCH] fix(kimi): include kimi-coding-cn in Kimi base URL resolution (#10534) Route kimi-coding-cn through _resolve_kimi_base_url() in both get_api_key_provider_status() and resolve_api_key_provider_credentials() so CN users with sk-kimi- prefixed keys get auto-detected to the Kimi Coding Plan endpoint, matching the existing behavior for kimi-coding. Also update the kimi-coding display label to accurately reflect the dual-endpoint setup (Kimi Coding Plan + Moonshot API). Salvaged from PR #10525 by kkikione999. --- hermes_cli/auth.py | 4 ++-- hermes_cli/models.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/hermes_cli/auth.py b/hermes_cli/auth.py index 636416a97..1fd9a303c 100644 --- a/hermes_cli/auth.py +++ b/hermes_cli/auth.py @@ -2384,7 +2384,7 @@ def get_api_key_provider_status(provider_id: str) -> Dict[str, Any]: if pconfig.base_url_env_var: env_url = os.getenv(pconfig.base_url_env_var, "").strip() - if provider_id == "kimi-coding": + if provider_id in ("kimi-coding", "kimi-coding-cn"): base_url = _resolve_kimi_base_url(api_key, pconfig.inference_base_url, env_url) elif env_url: base_url = env_url @@ -2470,7 +2470,7 @@ def resolve_api_key_provider_credentials(provider_id: str) -> Dict[str, Any]: if pconfig.base_url_env_var: env_url = os.getenv(pconfig.base_url_env_var, "").strip() - if provider_id == "kimi-coding": + if provider_id in ("kimi-coding", "kimi-coding-cn"): base_url = _resolve_kimi_base_url(api_key, pconfig.inference_base_url, env_url) elif provider_id == "zai": base_url = _resolve_zai_base_url(api_key, pconfig.inference_base_url, env_url) diff --git a/hermes_cli/models.py b/hermes_cli/models.py index 18f29c6cd..62c215042 100644 --- a/hermes_cli/models.py +++ b/hermes_cli/models.py @@ -526,7 +526,7 @@ CANONICAL_PROVIDERS: list[ProviderEntry] = [ ProviderEntry("deepseek", "DeepSeek", "DeepSeek (DeepSeek-V3, R1, coder — direct API)"), ProviderEntry("xai", "xAI", "xAI (Grok models — direct API)"), ProviderEntry("zai", "Z.AI / GLM", "Z.AI / GLM (Zhipu AI direct API)"), - ProviderEntry("kimi-coding", "Kimi / Moonshot", "Kimi / Moonshot (Moonshot AI direct API)"), + ProviderEntry("kimi-coding", "Kimi / Kimi Coding Plan", "Kimi Coding Plan (api.kimi.com) & Moonshot API"), ProviderEntry("kimi-coding-cn", "Kimi / Moonshot (China)", "Kimi / Moonshot China (Moonshot CN direct API)"), ProviderEntry("minimax", "MiniMax", "MiniMax (global direct API)"), ProviderEntry("minimax-cn", "MiniMax (China)", "MiniMax China (domestic direct API)"),