
如何通过 modelProviders 配置为 Qwen Code 接入第三方模型提供商并用 /model 切换【免费下载链接】qwen-codeAn open-source AI coding agent that lives in your terminal.项目地址: https://gitcode.com/GitHub_Trending/qw/qwen-code如果你在终端里使用 Qwen Code但想改用它自己的默认模型之外的第三方模型OpenAI 兼容端点、Anthropic、Gemini、本地推理服务等可以在settings.json的modelProviders配置中声明这些提供商和模型之后用/model命令在会话中随时切换。本文按写配置 → 提供密钥 → 启动并切换 → 验证的顺序走一遍完整路径内容依据 Model Providers 文档 与 Authentication 文档。准备工作已安装并可以运行qwen的 Qwen Code终端 AI 编程代理。第三方提供商的 API key例如DASHSCOPE_API_KEY、OPENAI_API_KEY、ANTHROPIC_API_KEY。编辑用户级配置文件~/.qwen/settings.json不存在则新建。modelProviders建议定义在用户级文件中避免项目级与用户级配置互相覆盖配置文件的作用域用户~/.qwen/settings.json、项目.qwen/settings.json、系统级说明见 settings.md。在 settings.json 中声明第三方模型modelProviders的每个 key 是提供商协议authTypevalue 是一个模型定义数组ModelConfig[]。内置可用的 key 为openaiOpenAI 兼容 API包括 OpenRouter、Requesty、vLLM/Ollama 等、openai-responsesOpenAI/v1/responsesAPI、anthropic、gemini、vertex-ai。qwen-oauth是硬编码的不能在modelProviders中覆盖。每个模型条目最少只需idenvKey可选但推荐省略时回退到该 authType 的默认环境变量名例如openai回退到OPENAI_API_KEYname、description、baseUrl、generationConfig均可选。下面是一个完整的可直接使用的示例在 DashScope 兼容端点接入qwen3-coder-plus作为启动默认模型{ 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声明可用模型及连接方式key 是协议openai、anthropic、gemini等env作为最低优先级的兜底把 API key 写进 settings.jsonenvKey指向的是环境变量名而非密钥本身security.auth.selectedType告诉 Qwen Code 启动时使用哪个协议省去交互式/authmodel.name启动时默认激活的模型必须与modelProviders中某个id一致保存后直接运行qwen即可不需要再走交互式/auth。同一个文件可以声明多个协议可以在一个文件里混用多种协议/model选择器会按协议分组展示{ 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 } ] } }提供 API key 的三种方式优先级从高到低envKey指定的是环境变量名运行时从process.env读取密钥不会持久化在 settings 里。文档给出的密钥来源优先级为Shellexport最高优先级在~/.bashrc、~/.zshrc中设置或启动前内联设置例如export DASHSCOPE_API_KEYsk-...。.env文件Qwen Code 自动加载它找到的第一个.env多个文件之间不合并。查找顺序为.qwen/.env→.env从当前目录向上找找不到再回退到~/.qwen/.env→~/.env。settings.json的env字段最低优先级只有当系统环境和.env都没设置时才生效。安全建议源文档明确给出settings.json中的密钥是明文若文件会被共享或同步优先用.qwen/.env或 shellexport并把.env加入.gitignore。用 /model 切换模型启动 Qwen Code 后输入/model选择器会列出modelProviders中全部模型按协议openai、anthropic、gemini分组你的选择会跨会话持久化。也可以指定模型 ID 直接切换/model /model qwen3-coder-plus跨终端场景还可以用命令行参数指定模型# 终端 1 qwen --model qwen3-coder-plus # 终端 2 qwen --model qwen3.5-plus/model还有若干专用变体见 commands.md/model --fast提示建议用的轻量模型、/model --vision图像转写模型、/model --compaction压缩模型、/model --image图像生成模型等按需使用即可。热重载运行中的交互会话会监听settings.json中modelProviders的变更文件监听约 300ms 防抖无需重启重新打开/model就能看到新条目当前选中项保持不变。注意providerProtocol只在启动时读取一次修改后必须重启。验证配置是否生效输入/model确认刚配置的模型出现在对应协议分组下——没有出现通常意味着配置未被识别例如 key 写错、条目被跳过。运行/doctor检查当前认证与环境状态auth.md 中Check current authentication一行推荐的检查方式。选中模型后直接发起一次对话能正常返回结果即说明baseUrl与密钥都可用。排查与限制自定义 provider id 需要providerProtocol映射内置 idopenai、gemini等会自动路由到对应 SDK自定义 id如idealab必须通过顶层providerProtocol映射到内置协议否则整个条目会被跳过并在告警中说明模型不会出现在/model里{ modelProviders: { idealab: [ { id: my-model, envKey: IDEALAB_API_KEY, baseUrl: https://idealab.example.com/v1 } ] }, providerProtocol: { idealab: openai } }模型唯一性同一authType下模型由idbaseUrl组合唯一标识。同id不同baseUrl例如直连 OpenAI 与走代理可以并存id和baseUrl都相同或都省略baseUrl时第一个生效后续重复条目被跳过并给出告警。旧配置格式早期预览版用{ protocol: ..., models: [...] }包裹模型该结构已回退为裸数组。已迁移$version: 4的 settings 文件中仍保留包裹格式的条目会被静默跳过需要手动改成数组形式。本地自托管模型可选分支vLLM、Ollama、LM Studio 等本地推理服务提供 OpenAI 兼容端点时同样用openai类型、把baseUrl指向本地地址即可例如 Ollama 的http://localhost:11434/v1。无需鉴权的服务可以填任意占位值文档示例export OLLAMA_API_KEYollama。排队或缓慢的本地服务可在generationConfig中用streamIdleTimeoutMs控制流式分块之间的静默上限设为0可禁用该空闲保护。generationConfig的不可渗透层通过/model选中modelProviders中的模型时该条目里的generationConfig整体原子生效低层CLI、环境变量、settings 顶层model.generationConfig不再参与解析provider 未定义的字段会置为undefined而不是继承。所以模型相关的生成参数要写进对应的 provider 条目里才有效。弃用项security.auth.apiKey与security.auth.baseUrl已弃用文档强烈建议把所有模型与凭据配置迁移到modelProviders用envKey引用环境变量而不是把密钥硬编码进 settings 文件。作用域合并modelProviders的合并策略是 REPLACE——项目 settings 中的整段会覆盖用户 settings 中的对应部分而不是逐项合并这也是建议集中定义在用户级的原因之一。/model与/auth的选择结果会写回已定义modelProviders的最近可写作用域通常是用户级保证目录与当前选择一致。后续如需细看generationConfigtimeout、maxRetries、samplingParams、customHeaders、extra_body等和 reasoning 配置的完整规则继续读 Model Providers 参考文档即可。【免费下载链接】qwen-codeAn open-source AI coding agent that lives in your terminal.项目地址: https://gitcode.com/GitHub_Trending/qw/qwen-code创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考