ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

Claude Code 通过魔搭社区接入 Qwen3 Coder 模型:settings.json 配置与验证全流程

2026/9/26 11:56:46 拓冰建站 浏览量
Claude Code 通过魔搭社区接入 Qwen3 Coder 模型:settings.json 配置与验证全流程 1. 为什么要在 Claude Code 里接 Qwen3 CoderClaude Code 是 Anthropic 官方出的命令行编码助手能读项目、改文件、跑命令交互体验接近一个坐在终端里的结对程序员。但它默认只认 Anthropic 的模型通道很多开发者手里已经有魔搭社区的 Qwen3 Coder 额度或者想用更灵活的计费方式就会卡在“怎么把 Claude Code 的请求转到别的模型上”这一步。Qwen3 Coder 是通义千问系列里专门为代码场景训练的模型480B 总参数、35B 激活的 MoE 结构在补全、重构、跨文件理解上表现稳定长上下文也能扛住大仓库。魔搭社区ModelScope提供了它的推理 API按 token 计费注册后就能拿到访问令牌。把这两者接起来你就能在 Claude Code 的交互界面里实际调用 Qwen3 Coder 干活。这篇面向的是想在本地用统一 Key/API 通道调用该模型的开发者。核心动作有三个装好 Claude Code 和路由层、写好 settings.json 或路由配置、跑一次连通性验证确认请求真的打到了 Qwen3 Coder。中间我会把 TaoToken 作为统一通道的接入要点也带上方便你在一套配置里管理多个模型来源。整个过程不需要改 Claude Code 源码靠配置文件就能完成。2. 前置准备Claude Code、路由层与统一通道Claude Code 本身通过环境变量读取 API 地址和 Key但它对请求格式有要求直接指向魔搭的 OpenAI 兼容接口会因为协议差异报错。所以中间需要一层路由做协议转换claude-code-router 就是干这个的。它的作用是接收 Claude Code 发出的 Anthropic 格式请求转成 OpenAI 格式发给魔搭再把响应转回来。安装两个包全局装方便在任何目录调用npm install -g anthropic-ai/claude-code npm install -g musistudio/claude-code-router装完后确认版本避免旧版路由不认新配置字段claude --version ccr --version如果你希望用一套 Key 管理多个模型来源而不是每个 provider 单独配 Key可以在 TaoToken 侧先建好通道。TaoToken 提供统一的 API 入口把魔搭、其他兼容 OpenAI 协议的服务都挂在同一个 Key 下Claude Code 这边只需要指向 TaoToken 的地址即可。接入文档在 https://taotoken.net/api API Key 在控制台生成https://taotoken.net/console/api-keys 。这样做的实际好处是换模型时不用改 Claude Code 的环境变量只改路由配置里的 model 字段。魔搭侧的 Key 申请路径是登录魔搭社区绑定阿里云账号在访问令牌页面新建一个 token复制保存。这个 token 只显示一次丢了要重建。3. 可复制的 settings.json 与路由配置骨架Claude Code 读取的配置和环境变量分两层。第一层是 Claude Code 自身的 settings.json通常放在~/.claude/settings.json用来声明它请求的 base URL 和认证方式。第二层是 claude-code-router 的 config.json放在~/.claude-code-router/config.json负责 provider 列表和路由规则。先写 Claude Code 的 settings.json让它把请求发给本地路由{ env: { ANTHROPIC_BASE_URL: http://127.0.0.1:3456, ANTHROPIC_API_KEY: any-string-here } }这里的 Key 填任意字符串即可因为真正的鉴权发生在路由层转发到魔搭或 TaoToken 时。本地路由默认监听 3456 端口如果你改了端口这里要同步。再写路由配置这是核心。下面这份可以直接复制把 api_key 换成你自己的{ Providers: [ { name: modelscope, api_base_url: https://api-inference.modelscope.cn/v1/chat/completions, api_key: 你的魔搭访问令牌, models: [ Qwen/Qwen3-Coder-480B-A35B-Instruct, Qwen/Qwen3-235B-A22B-Thinking-2507 ], transformer: { use: [ [maxtoken, { max_tokens: 65536 }], enhancetool ], Qwen/Qwen3-235B-A22B-Thinking-2507: { use: [reasoning] } } } ], Router: { default: modelscope,Qwen/Qwen3-Coder-480B-A35B-Instruct } }几个字段值得说明。api_base_url指向魔搭的 OpenAI 兼容端点注意结尾是/v1/chat/completions不要漏。transformer里的maxtoken把输出上限提到 65536代码生成场景经常需要长输出默认值容易截断。enhancetool负责把 Claude Code 的工具调用格式转成模型能理解的格式缺了它工具调用会失效。reasoning只给 Thinking 系列加Coder 模型不需要。如果你走 TaoToken 统一通道provider 段改成这样其余结构不变{ name: taotoken, api_base_url: https://taotoken.net/api/v1/chat/completions, api_key: 你的 TaoToken Key, models: [Qwen/Qwen3-Coder-480B-A35B-Instruct], transformer: { use: [[maxtoken, { max_tokens: 65536 }], enhancetool] } }Router 的 default 写成taotoken,Qwen/Qwen3-Coder-480B-A35B-Instruct。这样 Claude Code 的请求先到本地路由路由再带着 TaoToken 的 Key 转发出去魔搭那边的额度消耗照常但你的 Key 管理集中在一处。4. 启动服务与连通性验证配置写好后启动路由服务。claude-code-router 提供ccr code命令它会拉起本地服务并直接进入 Claude Code 交互界面ccr code如果只想单独起服务、不进交互用ccr start服务起来后先做一次最小连通性验证确认请求真的打到了 Qwen3 Coder。开另一个终端直接 curl 本地路由的健康检查或发一条测试消息curl http://127.0.0.1:3456/v1/messages \ -H Content-Type: application/json \ -H x-api-key: any-string-here \ -H anthropic-version: 2023-06-01 \ -d { model: Qwen/Qwen3-Coder-480B-A35B-Instruct, max_tokens: 128, messages: [{role: user, content: 用 Python 写一个快速排序}] }正常返回会是一段 JSONcontent字段里有模型生成的代码。如果返回里出现Qwen相关的模型标识说明路由转发成功。这一步过了再进 Claude Code 交互界面里让它读一个真实文件、改一行代码观察是否正常。在 Claude Code 里可以用/status查看当前连接的模型和端点确认显示的是你配置的 Qwen3 Coder 而不是默认的 Claude 模型。实测下来第一次请求会有几秒冷启动之后响应速度取决于魔搭侧的排队情况。5. 本篇常见报错排查报错一401 Unauthorized或invalid api key。先确认路由配置里的 api_key 没有多余空格或换行魔搭的令牌是一长串字符复制时容易带上尾部空格。如果走 TaoToken去控制台确认 Key 状态是启用且额度没耗尽。另一个常见原因是 Claude Code 的 settings.json 里 ANTHROPIC_API_KEY 填了空字符串某些版本会因此拒绝发请求填任意非空值即可。报错二model not found或404。检查api_base_url是否写成了/v1/chat/completions少一段都会 404。模型名必须和魔搭上的完整 ID 一致Qwen/Qwen3-Coder-480B-A35B-Instruct大小写和斜杠都不能错。Router 的 default 字段格式是provider名,模型名中间是英文逗号写成中文逗号会解析失败。报错三工具调用不生效Claude Code 说无法读取文件。这是 transformer 里缺了enhancetool。Claude Code 依赖工具调用来读写文件、执行命令如果路由没做格式转换模型返回的普通文本不会被识别成工具调用。补上enhancetool后重启ccr服务。报错四输出被截断代码写到一半停了。默认 max_tokens 偏小长文件生成会被切断。确认 transformer 里maxtoken的 max_tokens 设到了 65536同时魔搭侧对单次输出也有上限超出部分会被服务端截断这种情况只能拆分任务。报错五ccr code启动后 Claude Code 连不上本地服务。检查 3456 端口是否被占用用lsof -i :3456看。如果被占改路由配置的端口并同步改 settings.json 里的 ANTHROPIC_BASE_URL。另外确认ccr start和ccr code没有同时跑两个进程抢同一端口会有一个失败。6. 把配置固定下来后续换模型只改一行跑通之后建议把这份配置纳入版本管理但 api_key 用环境变量注入别硬编码进文件。claude-code-router 支持在 config.json 里写api_key: ${MODELSCOPE_KEY}这种占位启动前 export 对应变量即可。这样配置可以安全地提交到仓库团队里其他人拉下来填自己的 Key 就能用。后续如果你想在 Qwen3 Coder 和 Thinking 系列之间切换只改 Router 的 default 字段或者用ccr提供的模型切换命令临时指定不用动 Claude Code 那边。走 TaoToken 统一通道的话换 provider 也只是改 Router 前缀Key 和地址保持不变。需要长期跑编码任务或接 Agent 流程的可以在 https://taotoken.net/coding-plan 看下套餐只是想先验证模型对话效果的直接开 https://taotoken.net/models 试一条请求接入细节和字段说明都在 https://taotoken.net/doc API Key 在 https://taotoken.net/console/api-keys 生成。配置这东西跑通一次之后就是复制粘贴的事真正花时间的是排错上面那五类报错覆盖了大部分初次接入会踩的坑。