模型协议与云端认证
区分 Chat Completions、Anthropic、Gemini 与 Vertex AI,并避免混用认证路径。
This page has not been translated into English yet. The original Chinese version is shown below.
同一个服务可以提供不同 API 协议,必须选择与端点兼容的客户端。Qwen Code 根据有效协议选传输,不会因为请求失败就自动探测并切换协议。
协议与端点
| 配置方式 | 实际传输 |
|---|---|
openai,省略 wireApi 或设为 chat-completions | OpenAI Node.js SDK |
openai,wireApi 为 responses | Responses 请求使用直接 HTTP/SSE;embeddings 使用 OpenAI SDK |
anthropic | Anthropic SDK |
gemini | Google GenAI SDK |
vertex-ai | Google GenAI SDK 的 Vertex AI 模式 |
OpenAI 兼容网关的 baseUrl 应为 API 根路径,例如 https://gateway.example.com/v1,不要填完整 /v1/chat/completions,SDK 会追加请求路径。
官方示例还包括 OpenRouter 的 https://openrouter.ai/api/v1 与 Requesty 的 https://router.requesty.ai/v1,分别用自己的 envKey。它们可同处 openai 数组,不需要把品牌名误写为未映射的协议。
Anthropic 与 Gemini
Anthropic 模型置于 modelProviders.anthropic,通常用 ANTHROPIC_API_KEY;Gemini 模型置于 modelProviders.gemini,通常用 GEMINI_API_KEY。baseUrl 可覆盖到兼容服务,但该服务必须接受对应协议。
extra_body 不会作为通用参数发给 Anthropic 或 Gemini。推理控制使用它们支持的生成设置,见推理参数。不应把 OpenAI 请求字段直接复制到其他协议。
Vertex AI:API Key 与 ADC
选中 vertex-ai 会启用 Google SDK 的 Vertex AI 模式。ADC 路径需要 GOOGLE_CLOUD_PROJECT,可选 GOOGLE_CLOUD_LOCATION,后者默认 global。
要使用 ADC,不能同时给该条目声明 envKey,还需确保解析器读到的其他 Key 来源为空,包括 GOOGLE_API_KEY、旧 security.auth.apiKey 和 CLI Key 参数。
任何实际传到 Vertex 条目的 API Key 都会切换到 Vertex Express 模式,忽略 project、location 与 ADC。已声明 envKey 却没有注入 Key 时,不会悄悄回退 ADC,而是继续报告该变量的问题,避免意外换成另一个身份。
配置与排错顺序
先确认有效协议,再核对 baseUrl、模型 ID、Key 来源及模型选择。provider 名称拼写、路由 API 和实际服务能力是不同问题。
新 OpenAI 配置选择 API 的细节见Responses 路由,本地服务见本地模型。