Skip to Content
用户指南配置身份验证

身份验证

Qwen Code 支持三种身份验证方法。请根据你运行 CLI 的方式选择合适的一种:

  • Qwen OAuth:在浏览器中使用你的 qwen.ai 账号登录。免费套餐已于 2026-04-15 停用 — 请切换到其他方法。
  • Alibaba Cloud Coding Plan:使用阿里云提供的 API key。付费订阅,提供丰富的模型选项和更高的配额。
  • API Key:使用你自己的 API key。灵活满足个人需求 — 支持 OpenAI、Anthropic、Gemini 及其他兼容端点。

选项 1:Qwen OAuth(已停用)

Warning

Qwen OAuth 免费套餐已于 2026-04-15 停用。已缓存的 token 可能仍可短暂使用,但新请求将被拒绝。请切换到 Alibaba Cloud Coding Plan、OpenRouter Fireworks AI  或其他提供商。运行 qwen auth 进行配置。

  • 工作原理:首次启动时,Qwen Code 会打开浏览器登录页面。完成登录后,凭据将缓存在本地,通常无需再次登录。
  • 要求:一个 qwen.ai 账号 + 网络连接(至少首次登录时需要)。
  • 优势:无需管理 API key,凭据自动刷新。
  • 费用与配额:免费套餐已于 2026-04-15 停用。

启动 CLI 并按照浏览器流程操作:

qwen

或者在不启动会话的情况下直接进行身份验证:

qwen auth qwen-oauth
Note

在非交互式或无头环境(例如 CI、SSH、容器)中,通常无法完成 OAuth 浏览器登录流程。
在这些情况下,请使用 Alibaba Cloud Coding Plan 或 API Key 身份验证方法。

💳 选项 2:Alibaba Cloud Coding Plan

如果你希望成本可控,同时拥有多样化的模型选项和更高的使用配额,请选择此方法。

  • 工作原理:以固定月费订阅 Coding Plan,然后配置 Qwen Code 使用专用端点和你的订阅 API key。
  • 要求:根据你的账号区域,从 阿里云百炼(北京) Alibaba Cloud ModelStudio(国际)  获取有效的 Coding Plan 订阅。
  • 优势:模型选项丰富,使用配额更高,月度成本可控,可访问多种模型(Qwen、GLM、Kimi、Minimax 等)。
  • 费用与配额:查看阿里云百炼 Coding Plan 文档 北京  国际 

Alibaba Cloud Coding Plan 提供两个区域:

区域控制台地址
阿里云百炼(北京)bailian.console.aliyun.com 
Alibaba Cloud(国际)bailian.console.alibabacloud.com 

交互式配置

你可以通过以下两种方式配置 Coding Plan 身份验证:

选项 A:通过终端(推荐首次配置使用)

# 交互式 — 提示输入区域和 API key qwen auth coding-plan # 或非交互式 — 直接传入区域和 key qwen auth coding-plan --region china --key sk-sp-xxxxxxxxx

选项 B:在 Qwen Code 会话内

在终端中输入 qwen 启动 Qwen Code,然后运行 /auth 命令并选择 Alibaba Cloud Coding Plan。选择你的区域,然后输入你的 sk-sp-xxxxxxxxx key。

身份验证完成后,使用 /model 命令在所有 Alibaba Cloud Coding Plan 支持的模型之间切换(包括 qwen3.5-plus、qwen3-coder-plus、qwen3-coder-next、qwen3-max、glm-4.7 和 kimi-k2.5)。

替代方案:通过 settings.json 配置

如果你希望跳过交互式 /auth 流程,请将以下内容添加到 ~/.qwen/settings.json

{ "modelProviders": { "openai": [ { "id": "qwen3-coder-plus", "name": "qwen3-coder-plus (Coding Plan)", "baseUrl": "https://coding.dashscope.aliyuncs.com/v1", "description": "qwen3-coder-plus from Alibaba Cloud Coding Plan", "envKey": "BAILIAN_CODING_PLAN_API_KEY" } ] }, "env": { "BAILIAN_CODING_PLAN_API_KEY": "sk-sp-xxxxxxxxx" }, "security": { "auth": { "selectedType": "openai" } }, "model": { "name": "qwen3-coder-plus" } }
Note

Coding Plan 使用专用端点(https://coding.dashscope.aliyuncs.com/v1),与标准 Dashscope 端点不同。请确保使用正确的 baseUrl

🚀 选项 3:API Key(灵活)

如果你希望连接 OpenAI、Anthropic、Google、Azure OpenAI、OpenRouter、ModelScope 等第三方提供商或自建端点,请选择此方法。支持多种协议和提供商。

推荐:通过 settings.json 单文件配置

开始使用 API Key 身份验证的最简单方法是将所有配置放在单个 ~/.qwen/settings.json 文件中。以下是一个完整且可直接使用的示例:

{ "modelProviders": { "openai": [ { "id": "qwen3-coder-plus", "name": "qwen3-coder-plus", "baseUrl": "https://dashscope.aliyuncs.com/compatible-mode/v1", "description": "Qwen3-Coder via Dashscope", "envKey": "DASHSCOPE_API_KEY" } ] }, "env": { "DASHSCOPE_API_KEY": "sk-xxxxxxxxxxxxx" }, "security": { "auth": { "selectedType": "openai" } }, "model": { "name": "qwen3-coder-plus" } }

各字段说明:

字段说明
modelProviders声明可用的模型及其连接方式。键(openaianthropicgemini)代表 API 协议。
env将 API key 直接存储在 settings.json 中作为后备方案(优先级最低 — shell export.env 文件优先级更高)。
security.auth.selectedType告知 Qwen Code 启动时使用哪种协议(例如 openaianthropicgemini)。若不设置,则需要交互式运行 /auth
model.nameQwen Code 启动时激活的默认模型。必须与 modelProviders 中的某个 id 值匹配。

保存文件后,直接运行 qwen 即可 — 无需交互式 /auth 配置。

Tip

下文将详细解释每个部分。如果上面的快速示例对你有效,可以直接跳到 安全注意事项

核心概念是 Model ProvidersmodelProviders):Qwen Code 支持多种 API 协议,而不仅仅是 OpenAI。你可以通过编辑 ~/.qwen/settings.json 配置可用的提供商和模型,然后在运行时使用 /model 命令进行切换。

支持的协议

协议modelProviders环境变量提供商
OpenAI 兼容openaiOPENAI_API_KEY, OPENAI_BASE_URL, OPENAI_MODELOpenAI、Azure OpenAI、OpenRouter、ModelScope、阿里云及任何 OpenAI 兼容端点
AnthropicanthropicANTHROPIC_API_KEY, ANTHROPIC_BASE_URL, ANTHROPIC_MODELAnthropic Claude
Google GenAIgeminiGEMINI_API_KEY, GEMINI_MODELGoogle Gemini

步骤 1:在 ~/.qwen/settings.json 中配置模型和提供商

定义每个协议可用的模型。每个模型条目至少需要包含 idenvKey(保存 API key 的环境变量名称)。

Important

建议在用户级 ~/.qwen/settings.json 中定义 modelProviders,以避免项目配置与用户配置之间发生合并冲突。

编辑 ~/.qwen/settings.json(如果不存在则创建)。你可以在单个文件中混合使用多种协议 — 以下是一个多提供商示例,仅展示 modelProviders 部分:

{ "modelProviders": { "openai": [ { "id": "gpt-4o", "name": "GPT-4o", "envKey": "OPENAI_API_KEY", "baseUrl": "https://api.openai.com/v1" } ], "anthropic": [ { "id": "claude-sonnet-4-20250514", "name": "Claude Sonnet 4", "envKey": "ANTHROPIC_API_KEY" } ], "gemini": [ { "id": "gemini-2.5-pro", "name": "Gemini 2.5 Pro", "envKey": "GEMINI_API_KEY" } ] } }
Tip

别忘了在配置 modelProviders 的同时设置 envsecurity.auth.selectedTypemodel.name — 请参考上方的 完整示例

ModelConfig 字段(modelProviders 中的每个条目):

字段是否必填说明
id发送给 API 的模型 ID(例如 gpt-4oclaude-sonnet-4-20250514
name/model 选择器中显示的名称(默认与 id 相同)
envKeyAPI key 对应的环境变量名称(例如 OPENAI_API_KEY
baseUrlAPI 端点覆盖(适用于代理或自定义端点)
generationConfig微调 timeoutmaxRetriessamplingParams 等参数
Note

settings.json 中使用 env 字段时,凭据将以明文形式存储。为了更高的安全性,建议使用 .env 文件或 shell export — 请参阅 步骤 2

有关完整的 modelProviders 架构以及 generationConfigcustomHeadersextra_body 等高级选项,请参阅 Model Providers 参考

步骤 2:设置环境变量

Qwen Code 会从环境变量中读取 API key(由模型配置中的 envKey 指定)。提供方式有多种,以下按优先级从高到低列出:

1. Shell 环境 / export(最高优先级)

直接在 shell 配置文件(~/.zshrc~/.bashrc 等)中设置,或在启动前内联设置:

# 阿里云百炼 export DASHSCOPE_API_KEY="sk-..." # OpenAI / OpenAI 兼容 export OPENAI_API_KEY="sk-..." # Anthropic export ANTHROPIC_API_KEY="sk-ant-..." # Google GenAI export GEMINI_API_KEY="AIza..."

2. .env 文件

Qwen Code 会自动加载它找到的第一个 .env 文件(多个文件之间的变量不会合并)。仅加载 process.env 中尚未存在的变量。

搜索顺序(从当前目录开始,向上遍历至 /):

  1. .qwen/.env(推荐 — 将 Qwen Code 变量与其他工具隔离)
  2. .env

如果未找到,则回退到主目录

  1. ~/.qwen/.env
  2. ~/.env
Tip

推荐使用 .qwen/.env 而非 .env,以避免与其他工具冲突。部分变量(如 DEBUGDEBUG_MODE)会被排除在项目级 .env 文件之外,以免干扰 Qwen Code 的行为。

3. settings.jsonenv 字段(最低优先级)

你也可以直接在 ~/.qwen/settings.jsonenv 键下定义 API key。它们作为最低优先级的后备方案加载 — 仅当系统环境或 .env 文件未设置该变量时才会生效。

{ "env": { "DASHSCOPE_API_KEY": "sk-...", "OPENAI_API_KEY": "sk-...", "ANTHROPIC_API_KEY": "sk-ant-..." } }

这正是上方 单文件配置示例 中使用的方法。将所有内容集中在一处非常方便,但请注意 settings.json 可能会被共享或同步 — 对于敏感密钥,建议优先使用 .env 文件。

优先级总结:

优先级来源覆盖行为
1(最高)CLI 参数(--openai-api-key始终生效
2系统环境(export、内联)覆盖 .envsettings.jsonenv
3.env 文件仅在系统环境未设置时生效
4(最低)settings.jsonenv仅在系统环境或 .env 未设置时生效

步骤 3:使用 /model 切换模型

启动 Qwen Code 后,使用 /model 命令在所有已配置的模型之间切换。模型按协议分组:

/model

选择器将显示 modelProviders 配置中的所有模型,并按协议分组(例如 openaianthropicgemini)。你的选择会在会话间持久保存。

你也可以直接通过命令行参数切换模型,这在跨多个终端工作时非常方便。

# 在一个终端中 qwen --model "qwen3-coder-plus" # 在另一个终端中 qwen --model "qwen3.5-plus"

qwen auth CLI 命令

除了会话内的 /auth 斜杠命令外,Qwen Code 还提供了独立的 qwen auth CLI 命令,用于直接在终端中管理身份验证 — 无需先启动交互式会话。

交互模式

不带参数运行 qwen auth 即可打开交互式菜单:

qwen auth

你将看到一个支持方向键导航的选择器:

选择身份验证方法: Alibaba Cloud Coding Plan - 付费 · 每 5 小时最多 6,000 次请求 · 所有阿里云 Coding Plan 模型 API Key - 使用你自己的 API key Qwen OAuth - 已停用 — 请切换到 Coding Plan 或 API Key (使用 ↑ ↓ 箭头导航,Enter 确认,Ctrl+C 退出)

子命令

命令说明
qwen auth交互式身份验证配置
qwen auth coding-plan使用 Alibaba Cloud Coding Plan 进行身份验证
qwen auth coding-plan --region china --key sk-sp-…非交互式 Coding Plan 配置(适用于脚本)
qwen auth api-key使用 API key 进行身份验证
qwen auth qwen-oauth使用 Qwen OAuth 进行身份验证(已停用)
qwen auth status显示当前身份验证状态

示例:

# 直接使用 Qwen OAuth 进行身份验证 qwen auth qwen-oauth # 交互式配置 Coding Plan(提示输入区域和 key) qwen auth coding-plan # 非交互式配置 Coding Plan(适用于 CI/脚本) qwen auth coding-plan --region china --key sk-sp-xxxxxxxxx # 配置 API key(百炼标准版或自定义提供商) qwen auth api-key # 检查当前身份验证配置 qwen auth status

安全注意事项

  • 不要将 API key 提交到版本控制系统。
  • 项目本地密钥优先使用 .qwen/.env(并确保不提交到 git)。
  • 如果终端输出打印了用于验证的凭据,请将其视为敏感信息。
Last updated on