跳到主要内容

模型 Provider 与认证

English

交互式终端使用 /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/cninternational/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_PROVIDERactive_provider

变量回退内容
OPENAI_BASE_URLOpenAI-compatible base URL
DASHSCOPE_API_KEY,然后 OPENAI_API_KEYAPI-key Provider
ALIBABA_CLOUD_ACCESS_KEY_IDALIBABA_CLOUD_ACCESS_KEY_SECRETALIBABA_CLOUD_SECURITY_TOKENAliyun 凭据

缺少 key 时,交互式 Core 会请求认证。独立 headless client 必须回复该 control request,或在启动前配置凭据。配置层规则见配置,control protocol 见 Headless 模式