平时做技术实践时,很多问题不是概念不会,而是细节没串起来。拿“Claude Code接入国产大模型(GLM/Qwen)配置全解析”来说,它看着像小点,放到项目里常会牵出环境、配置、兼容性和维护成本。下面按实际使用顺序,把思路、关键写法和容易踩坑的地方讲清楚,方便你直接对照操作。
Claude Code 接入国产大模型(GLM / Qwen)设置说明

用 Claude Code 时,很多人会遇到两个比较现实的问题:
实际处理时,其实它本身同时没有强绑定模型,只是走 Anthropic 的接口协议。只要服务端兼容这套协议,就可以换成其他模型。
常用的替代方案:
设置也不复杂,核心就是一个 settings.json。
{
"env": {
"ANTHROPIC_BASE_URL": "https://open.bigmodel.cn/api/anthropic",
"ANTHROPIC_API_KEY": "xxxx",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "glm-4.5-air",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "glm-4.5-air",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "glm-4.5-air"
}
}{
"env": {
"ANTHROPIC_BASE_URL": "https://dashscope.aliyuncs.com/apps/anthropic",
"ANTHROPIC_API_KEY": "x-xxx",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "qwen3.5-plus",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "qwen3.5-flash",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "qwen3-coder-next"
}
}本质就两件事:
落到代码里,Claude Code 不关心你用的是不是 Claude,只认接口格式。
请求地址,决定流量打到哪里。
接口鉴权。
写入:
~/.zshrc # 或 ~/.bashrc
内容:
export ANTHROPIC_API_KEY=你的key export ANTHROPIC_BASE_URL=https://open.bigmodel.cn/api/anthropic
执行:
source ~/.zshrc
setx ANTHROPIC_API_KEY "xxxx" setx ANTHROPIC_BASE_URL "https://open.bigmodel.cn/api/anthropic"
注意:需重新打开终端才生效
用了上述环境变量之后,settings.json 里就不用再写 Key 和 URL 了,只留模型名就够:
{
"env": {
"ANTHROPIC_DEFAULT_OPUS_MODEL": "qwen3.5-plus",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "qwen3-coder-next",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "qwen3-coder-next"
}
}export 临时设的环境变量关掉终端就没了,别用这个方式做日常设置,调试可以。
临时变量(export / $env:)只在当前终端有效:
它更适合:
正常采用还是建议用“持久化变量”,如:上述示例中的设置
配了多档之后,Claude Code 有两种方式在运行时切换。
会话内切换(最常用)
启动 claude 进入交互模式后,直接输入:
/model
会弹出一个交互菜单,列出可选档位,选完立刻生效,不需重启。
也可以直接带参数:
/model opus # 切到 ANTHROPIC_DEFAULT_OPUS_MODEL 对应的模型 /model sonnet # 切到 ANTHROPIC_DEFAULT_SONNET_MODEL 对应的模型 /model haiku # 切到 ANTHROPIC_DEFAULT_HAIKU_MODEL 对应的模型
这里的 opus / sonnet / haiku 是档位别名,不是模型全名——Claude Code 会自动读你设置里对应的那个模型名。配的是 qwen3.5-plus,输 /model opus 走的就是它。
claude --model opus # 本次会话全程用 OPUS 档 claude --model sonnet # 本次会话全程用 SONNET 档 claude --model haiku # 本次会话全程用 HAIKU 档
适合明确知道这次任务偏重还是偏轻的情况,不用中途再手动切。
/status
显示当前模型,不会改变任何设置。
实际用法大概是:平时默认走 sonnet 档,碰到复杂重构 /model opus 临时换一下,搞完再切回来。
设置文件里看到的 "hasCompletedOnboarding": true 之类的字段,是 Claude Code 自己写的初始化标记,忽略即可,不影响模型行为。
ANTHROPIC_DEFAULT_OPUS_MODEL ANTHROPIC_DEFAULT_SONNET_MODEL ANTHROPIC_DEFAULT_HAIKU_MODEL
这三个参数其实是“模型分层”。
| 参数 | 对应角色 | 触发场景 |
|---|---|---|
OPUS | 重型模型 | 复杂重构、多步骤任务 |
SONNET | 主力模型 | 日常写代码、改 bug |
HAIKU | 轻量模型 | 轻松补全、更快问答 |
OPUS
特点:稳,但慢一点
SONNET
基本是主力模型
HAIKU
特点:快,但可能不够细
结论:不强制,但建议至少分两档
原因:
{
"ANTHROPIC_DEFAULT_OPUS_MODEL": "glm-4.5-air",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "glm-4.5-air",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "glm-4.5-air"
}{
"ANTHROPIC_DEFAULT_OPUS_MODEL": "qwen3.5-plus",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "qwen3-coder-next",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "qwen3-coder-next"
}{
"ANTHROPIC_DEFAULT_OPUS_MODEL": "qwen3.5-plus",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "qwen3.5-flash",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "qwen3-coder-next"
}/anthropic核心就三步:
关键点:环境变量建议用“持久化方式”,临时变量只适合测试
结合项目来看,总的来说,Claude这部分内容适合结合实际项目边做边理解。先抓住核心思路,再逐步补上细节和边界处理,最后效果会更稳定,也更容易复用。