diff --git a/hermes_cli/auth.py b/hermes_cli/auth.py index 28c5bd9a6..9a6723c65 100644 --- a/hermes_cli/auth.py +++ b/hermes_cli/auth.py @@ -224,6 +224,14 @@ PROVIDER_REGISTRY: Dict[str, ProviderConfig] = { api_key_env_vars=("DASHSCOPE_API_KEY",), base_url_env_var="DASHSCOPE_BASE_URL", ), + "alibaba-coding-plan": ProviderConfig( + id="alibaba-coding-plan", + name="Alibaba Cloud (Coding Plan)", + auth_type="api_key", + inference_base_url="https://coding-intl.dashscope.aliyuncs.com/v1", + api_key_env_vars=("ALIBABA_CODING_PLAN_API_KEY", "DASHSCOPE_API_KEY"), + base_url_env_var="ALIBABA_CODING_PLAN_BASE_URL", + ), "minimax-cn": ProviderConfig( id="minimax-cn", name="MiniMax (China)", diff --git a/hermes_cli/providers.py b/hermes_cli/providers.py index e842086a4..f65ceac7a 100644 --- a/hermes_cli/providers.py +++ b/hermes_cli/providers.py @@ -116,6 +116,10 @@ HERMES_OVERLAYS: Dict[str, HermesOverlay] = { transport="openai_chat", base_url_env_var="DASHSCOPE_BASE_URL", ), + "alibaba-coding-plan": HermesOverlay( + transport="openai_chat", + base_url_env_var="ALIBABA_CODING_PLAN_BASE_URL", + ), "vercel": HermesOverlay( transport="openai_chat", is_aggregator=True, @@ -259,6 +263,9 @@ ALIASES: Dict[str, str] = { "aliyun": "alibaba", "qwen": "alibaba", "alibaba-cloud": "alibaba", + "alibaba_coding": "alibaba-coding-plan", + "alibaba-coding": "alibaba-coding-plan", + "alibaba_coding_plan": "alibaba-coding-plan", # google-gemini-cli (OAuth + Code Assist) "gemini-cli": "google-gemini-cli",