模型 Provider 与认证
交互式终端使用 /auth。托管或 headless 环境请在系统或用户配置文件中定义 Provider;项目配置不能添加凭据或 Provider 定义。
在交互式终端选择 Provider
/auth
认证菜单提供 Aliyun AK/SK、DashScope、OpenAI-compatible、Coding Plan 和 Token Plan。内置 plan endpoint 默认使用中国站。需要国际站时,在启动 cosh 前设置:
COSH_SERVICE_SITE=international cosh
可用值还包括 china/cn 和 international/intl/global。该设置只改变内置 plan endpoint,不会改写已保存的自定义 URL。
配置 Provider
将下面示例写入 ~/.copilot-shell/config.toml(管理员也可以写入 /etc/copilot-shell/config.toml),并在环境变量中提供 key:
[ai]
active_provider = "dashscope"
active_model = "qwen3.7-plus"
[ai.providers.dashscope]
type = "dashscope"
base_url = "https://dashscope.aliyuncs.com/compatible-mode/v1"
api_key = "${DASHSCOPE_API_KEY}"
model = "qwen3.7-plus"
其他常用 profile 使用相同结构:
[ai.providers.openai]
type = "openai"
base_url = "https://api.openai.com/v1"
api_key = "${OPENAI_API_KEY}"
model = "gpt-4o"
[ai.providers.deepseek]
type = "deepseek"
base_url = "https://api.deepseek.com/v1"
api_key = "${DEEPSEEK_API_KEY}"
model = "deepseek-chat"
[ai.providers.aliyun]
type = "aliyun"
access_key_id = "${ALIBABA_CLOUD_ACCESS_KEY_ID}"
access_key_secret = "${ALIBABA_CLOUD_ACCESS_KEY_SECRET}"
security_token = "${ALIBABA_CLOUD_SECURITY_TOKEN}"
model = "qwen3.7-plus"
使用 ECS RAM role 时,设置 type = "aliyun" 和 auth_source = "ecs_ram_role",无需保存静态 AK/SK。
type | 用途 |
|---|---|
dashscope | 支持 Qwen reasoning 的 DashScope OpenAI-compatible endpoint |
openai | 使用 OpenAI 请求约定,包括 max_completion_tokens |
deepseek | 支持 reasoning-content 的 OpenAI-compatible endpoint |
aliyun | 使用 AK/SK 或 ECS RAM role 的 Alibaba Cloud SysOM |
| 其他值 | 通用 OpenAI-compatible 行为 |
只有需要显式 cache marker 时才为 DashScope 设置 explicit_cache = true;默认行为请省略或设为 false。
优先级与凭据缺失
活动 Provider 和模型按以下顺序解析:配置层、COSH_AI_PROVIDER/COSH_MODEL/COSH_OUTPUT_LANGUAGE,再到 Provider 字段及其环境变量回退。--model <name> 只覆盖模型;切换 Provider 请使用 COSH_AI_PROVIDER 或 active_provider。
| 变量 | 回退内容 |
|---|---|
OPENAI_BASE_URL | OpenAI-compatible base URL |
DASHSCOPE_API_KEY,然后 OPENAI_API_KEY | API-key Provider |
ALIBABA_CLOUD_ACCESS_KEY_ID、ALIBABA_CLOUD_ACCESS_KEY_SECRET、ALIBABA_CLOUD_SECURITY_TOKEN | Aliyun 凭据 |
缺少 key 时,交互式 Core 会请求认证。独立 headless client 必须回复该 control request,或在启动前配置凭据。配置层规则见配置,control protocol 见 Headless 模式。