7cf7df0297
The models.dev catalog advertises alibaba-cn, alibaba-coding-plan-cn, and alibaba-token-plan(-cn), and resolve_provider_full()'s catalog chain lets the CLI --provider path resolve them — but auth.resolve_provider() (the credential/runtime path used by 'hermes chat') consults only PROVIDER_REGISTRY and raised "Unknown provider 'alibaba-coding-plan-cn'" (hermes_cli/auth.py:1937). PROVIDER_REGISTRY auto-extends from provider profiles (auth.py:461-490), so the fix registers the missing profiles at that chokepoint: alibaba-cn joins the alibaba plugin, alibaba-coding-plan-cn joins alibaba-coding-plan, and a new alibaba-token-plan plugin registers both regional token-plan tiers. Names match the catalog keys exactly. No core edits — plugins/model-providers is the designed extension path.
41 lines
1.7 KiB
Python
41 lines
1.7 KiB
Python
"""Alibaba Cloud Coding Plan provider profiles.
|
|
|
|
Separate from the standard `alibaba` profile because it hits a different
|
|
endpoint (coding-intl.dashscope.aliyuncs.com) with a dedicated API key tier.
|
|
|
|
Region split, mirroring the base DashScope pair (#73265):
|
|
- ``alibaba-coding-plan`` → coding-intl.dashscope.aliyuncs.com (international)
|
|
- ``alibaba-coding-plan-cn`` → coding.dashscope.aliyuncs.com (mainland China)
|
|
|
|
Profile names match the models.dev catalog keys exactly so model metadata
|
|
lines up and ``model.provider: alibaba-coding-plan-cn`` resolves at runtime.
|
|
"""
|
|
|
|
from providers import register_provider
|
|
from providers.base import ProviderProfile
|
|
|
|
alibaba_coding_plan = ProviderProfile(
|
|
name="alibaba-coding-plan",
|
|
aliases=("alibaba_coding", "alibaba-coding", "dashscope-coding"),
|
|
display_name="Alibaba Cloud (Coding Plan)",
|
|
description="Alibaba Cloud Coding Plan (Dedicated coding tier)",
|
|
signup_url="https://help.aliyun.com/zh/model-studio/",
|
|
env_vars=("ALIBABA_CODING_PLAN_API_KEY", "DASHSCOPE_API_KEY", "ALIBABA_CODING_PLAN_BASE_URL"),
|
|
base_url="https://coding-intl.dashscope.aliyuncs.com/v1",
|
|
auth_type="api_key",
|
|
)
|
|
|
|
alibaba_coding_plan_cn = ProviderProfile(
|
|
name="alibaba-coding-plan-cn",
|
|
aliases=("alibaba-coding-cn", "dashscope-coding-cn"),
|
|
display_name="Alibaba Cloud (Coding Plan, China)",
|
|
description="Alibaba Cloud Coding Plan, mainland-China endpoint",
|
|
signup_url="https://help.aliyun.com/zh/model-studio/",
|
|
env_vars=("ALIBABA_CODING_PLAN_API_KEY", "DASHSCOPE_API_KEY", "ALIBABA_CODING_PLAN_CN_BASE_URL"),
|
|
base_url="https://coding.dashscope.aliyuncs.com/v1",
|
|
auth_type="api_key",
|
|
)
|
|
|
|
register_provider(alibaba_coding_plan)
|
|
register_provider(alibaba_coding_plan_cn)
|