Claude Code 接入智谱 GLM-4.6 完整教程 - 国内 API 一键替换
claudecode 接入 glm4.6 真实效果与详细配置。智谱 API 接入 Claude Code 的官方兼容路径、settings.json 模板、编程实测、优劣对比与适用场景。
智谱 AI 的 GLM-4.6 是国内为数不多明确对标 Claude Sonnet 的模型:编程能力强、上下文 200K、长程工具调用稳定,关键是国内备案 + 直连,claudecode 接入 glm4.6 真实效果 不少团队反馈”日常 80% 任务和 Sonnet 拉不开差距”。
智谱也是国产厂商里对开发者最友好的之一——智谱 api 接入 claudecode 有官方 Anthropic 兼容端点,不需要折腾 LiteLLM。本文从拿 key 开始一步步走通,最后给一个能直接复制的 settings.json。如果你还没装好 Claude Code 客户端,先看 Claude Code 是什么。
GLM-4.6 的定位
GLM 系列从 4.5 开始明显向 Agentic / 工具调用方向发力,4.6 是当前主力版本。和其他国产模型对比,它的差异化卖点:
| 维度 | GLM-4.6 | DeepSeek V3 | Claude Sonnet |
|---|---|---|---|
| 上下文窗口 | 200K | 128K | 200K |
| Anthropic 协议兼容端点 | 官方提供 | 需 LiteLLM | 原生 |
| 工具调用稳定性 | 良好 | 良好(偶尔抽风) | 顶级 |
| 中文表达 | 优秀(更地道) | 优秀 | 优秀 |
| 国内合规 | 已备案 | 已备案 | 需出境 |
| 价格档位(输入) | 约 ¥2-4 / 百万 token | 约 ¥1-2 / 百万 token | $3 / 百万 token |
智谱官方做 Claude Code 兼容比同行更主动——这件事意味着:你不用自己写协议转换,所有工具调用、流式响应都由智谱后端处理。这是它和 DeepSeek 接入流程的最大区别。
前置:拿到智谱 API Key
第 1 步:注册账号
访问 bigmodel.cn(即智谱 AI 开放平台),手机号注册并完成实名认证。新账号通常会送一笔体验额度,做完整测试足够。
第 2 步:创建 API Key
登录后进入 “API 密钥管理” 或 “API Keys” 页面,点击 “创建新密钥”。智谱的 key 格式形如 xxxxxxxx.yyyyyyyy(点号分隔的两段),不是 OpenAI 那种 sk- 前缀。记下来,关闭对话框就看不到完整 key 了。
第 3 步:充值(可选)
体验额度跑完后需要充值才能继续用。智谱支持微信、支付宝、企业对公转账。充 50 元能用很久——按 GLM-4.6 当前定价,50 元够跑约 1-2 千万输入 token,相当于在 Claude Code 里写几十万行代码的对话量。
协议适配现状
智谱官方对 Anthropic 协议的支持有两种形态,按你的实际情况选:
形态 A:智谱官方提供 Anthropic 兼容端点
如果智谱平台已经上线了原生 Anthropic Messages 兼容路径(截至本文撰写时,主流国产厂商陆续开放此能力),你只需要直接配 base URL,无需中间层。本文主走这条路径。
形态 B:只暴露 OpenAI 兼容端点
如果某个时间点你访问发现只有 OpenAI Chat Completions 端点,回退到 LiteLLM 桥接方案:
# litellm_config.yaml
model_list:
- model_name: claude-sonnet-4-6
litellm_params:
model: openai/glm-4.6
api_key: os.environ/ZHIPU_API_KEY
api_base: https://open.bigmodel.cn/api/paas/v4
litellm_settings:
drop_params: true
启动:
litellm --config litellm_config.yaml --port 4000
然后把 ANTHROPIC_BASE_URL 指向 http://localhost:4000。这种方式和 DeepSeek 接入流程几乎一样,具体步骤可以对照 Claude Code 切换模型教程 里的 LiteLLM 章节。
下面默认走形态 A(官方原生 Anthropic 兼容路径),如果你的环境是形态 B,把 base URL 改成 http://localhost:4000 即可,其他配置都一样。
详细配置步骤
第 1 步:确定 Anthropic 兼容端点 URL
智谱平台对 Anthropic 协议端点的 URL 形如:
https://open.bigmodel.cn/api/anthropic
或者类似的子路径。具体以智谱开放平台官方文档为准,因为厂商偶尔会调整路径。在平台 API 文档页里搜 “Anthropic 兼容” 或 “Claude 兼容” 关键词能找到。
第 2 步:写 settings.json
打开(或创建)~/.claude/settings.json(Windows 是 %USERPROFILE%\.claude\settings.json),写入:
{
"env": {
"ANTHROPIC_BASE_URL": "https://open.bigmodel.cn/api/anthropic",
"ANTHROPIC_AUTH_TOKEN": "xxxxxxxx.yyyyyyyy"
},
"model": "glm-4.6"
}
几个关键点:
ANTHROPIC_AUTH_TOKEN用智谱的完整 key(包括点号),不要套Bearer前缀,Claude Code 客户端会自动加ANTHROPIC_API_KEY和ANTHROPIC_AUTH_TOKEN二者择一即可,新版本 Claude Code 优先识别 AUTH_TOKENmodel字段填智谱端要求的模型名,常见值是glm-4.6或glm-4-plus,以智谱文档为准
第 3 步:用环境变量验证(可选)
不想立刻动 settings.json 时,可以先用环境变量验证:
# macOS / Linux
export ANTHROPIC_BASE_URL=https://open.bigmodel.cn/api/anthropic
export ANTHROPIC_AUTH_TOKEN=xxxxxxxx.yyyyyyyy
# Windows PowerShell
$env:ANTHROPIC_BASE_URL = "https://open.bigmodel.cn/api/anthropic"
$env:ANTHROPIC_AUTH_TOKEN = "xxxxxxxx.yyyyyyyy"
第 4 步:测试连通
最干脆的一行命令:
claude --print "用一句话介绍你自己,告诉我你是哪家公司训练的模型"
如果返回里提到 “智谱”、“清华”、“GLM” 之类的字样,链路就通了。如果还是返回 Claude 自我介绍,先检查环境变量是否被覆盖(echo $ANTHROPIC_BASE_URL),或者 settings.json 路径不对。
也可以直接 curl 端点确认:
curl -X POST $ANTHROPIC_BASE_URL/v1/messages \
-H "x-api-key: $ANTHROPIC_AUTH_TOKEN" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{
"model": "glm-4.6",
"max_tokens": 100,
"messages": [{"role": "user", "content": "hi"}]
}'
返回 200 + 内容就 OK;返回 401 检查 key;返回 404 检查 base URL 路径。
GLM-4.6 实测:在 Claude Code 里跑真活
测试场景:一个 Next.js + TypeScript 项目,约 200 个文件,让 Claude Code 完成三件事——
任务 1:写一段新代码
“在
lib/utils.ts加一个formatChineseDate函数,输入 Date,输出 “2026年5月11日 周一” 格式。”
GLM-4.6 表现:
- 一次读对了
lib/utils.ts的现有风格 - 用了原项目已有的
dayjs而不是引入新依赖(说明它真的读了 package.json) - 中文星期映射逻辑写得很地道,包含闰年/边界处理
- 加了 JSDoc 注释,中文注释比 Sonnet 更自然
评价:和 Sonnet 持平,甚至中文注释更舒服。
任务 2:改一个 bug
“用户报告登录后偶尔重定向回登录页,看看是不是 cookie 时效问题。”
GLM-4.6 表现:
- 读了 5 个相关文件:
middleware.ts、lib/auth.ts、app/login/page.tsx等 - 定位到
httpOnly cookie的maxAge和 server-side session 不一致 - 给了修复方案,但要追问一次才解释清楚根本原因
- 修复代码本身正确,pass 了原项目测试
评价:定位准、解释稍弱,比 Sonnet 略需要追问。
任务 3:跑测试
“运行 npm test,把失败的修了。”
GLM-4.6 表现:
- 正确调用 Bash 工具运行
npm test - 解析 Jest 输出找到 3 个失败用例
- 修复了 2 个,第 3 个修一半改不动,承认不确定(这点很好)
- 没有 hallucinate 文件路径
评价:工具调用稳定性优于 DeepSeek V3,弱于 Sonnet 但差距小。
综合实测结论
| 维度 | GLM-4.6 表现 |
|---|---|
| 单文件代码生成 | 优秀,可替代 Sonnet |
| 跨文件 bug 定位 | 良好,偶尔需追问 |
| 工具调用 | 稳定,无明显格式问题 |
| 长上下文(200K) | 大型项目可用 |
| 中文表达 | 优秀,比 Sonnet 自然 |
| 响应速度 | 国内直连,比 Sonnet 快 1.5-2 倍 |
优劣对比清单
把 GLM-4.6 接入 Claude Code 的诚实评估:
优势
- 国内速度快:直连智谱节点,无需代理,延迟低于 100ms
- 价格优势明显:约 Sonnet 的 1/3 - 1/2,长期使用账单可观
- 合规性:数据不出境,企业内业务可用
- Anthropic 协议原生支持:不用折腾 LiteLLM,配置极简
- 200K 上下文:大项目可用
- 中文输出更地道:注释、文档、用户交流更舒服
劣势
- 复杂 Agentic 任务不如 Sonnet:多步骤工具调用编排,偶尔会”忘记”前面的步骤
- Sub-agent 编排能力较弱:自定义 sub-agent 的复杂调度容易翻车
- 罕见 Edge case 推理弱:算法题、极复杂的并发 bug 还是 Opus / Sonnet 更稳
- 架构设计建议偏保守:会倾向给”稳但平庸”的方案
- 工具调用稳定性偶有抖动:99% 没事,1% 的请求格式略有偏差
适用场景
推荐用 GLM-4.6 的场景
- 日常编码:写函数、改 bug、加注释、写单测
- 文档生成:README、API 文档、技术博客(中文输出强)
- 国内业务环境:金融、政企、合规敏感行业
- 预算敏感的个人开发者 / 小团队:长期省成本
- 快速迭代的原型项目:响应快、能跑就行
不建议用 GLM-4.6 的场景
- 复杂多步骤 Agent 任务:例如让 Claude Code 自主从 0 到 1 搭建一个新系统,需要规划、执行、回顾、调整。GLM 在长程规划上比 Sonnet 弱
- Sub-agent 编排:多 sub-agent 协作的复杂工作流,工具调用准确性要求极高,留给 Anthropic 官方
- 核心架构决策 / 大型重构:上 Opus 不要犹豫
- 跨语言罕见技术栈:GLM 在小众语言(如 Elixir、Erlang、F#)上训练数据少,表现明显下降
切换回 Claude 原生模型
折腾完想切回 Anthropic 官方:
方法 1:临时切(环境变量)
# macOS / Linux
unset ANTHROPIC_BASE_URL
unset ANTHROPIC_AUTH_TOKEN
export ANTHROPIC_API_KEY=sk-ant-你的官方key
# Windows PowerShell
Remove-Item Env:ANTHROPIC_BASE_URL
Remove-Item Env:ANTHROPIC_AUTH_TOKEN
$env:ANTHROPIC_API_KEY = "sk-ant-你的官方key"
claude
方法 2:永久切(改 settings.json)
{
"model": "claude-sonnet-4-6"
}
把 env 块整个删掉,让 Claude Code 走默认 Anthropic 端点。
方法 3:维持双配置切换
如果你既想用 GLM 省钱,又想关键任务用 Sonnet,维护两个配置文件 settings.glm.json 和 settings.anthropic.json,需要时拷贝覆盖:
# 切到 GLM
cp ~/.claude/settings.glm.json ~/.claude/settings.json
# 切回 Anthropic
cp ~/.claude/settings.anthropic.json ~/.claude/settings.json
或者用脚本:
#!/bin/bash
# ~/bin/claude-glm
export ANTHROPIC_BASE_URL=https://open.bigmodel.cn/api/anthropic
export ANTHROPIC_AUTH_TOKEN=xxxxxxxx.yyyyyyyy
exec claude "$@"
之后 claude-glm 启动 GLM 版本,claude 启动默认 Anthropic 版本。
常见问题排查
401 Unauthorized
90% 是 key 错。智谱 key 是 xxxxxxxx.yyyyyyyy 格式(带点),不要漏掉点。也不要给 key 加 sk- 前缀。
404 Not Found
base URL 路径错。智谱的 Anthropic 兼容路径是固定的,别自己加 /v1/messages 后缀,Claude Code 客户端会自动补。base URL 只到 /api/anthropic 这层。
模型名报错
智谱接受的模型名以平台文档为准,常见 glm-4.6、glm-4-plus、glm-4-air。如果你写了 claude-sonnet-4-6,智谱端可能不认。解决方法:
{
"env": {
"ANTHROPIC_BASE_URL": "...",
"ANTHROPIC_AUTH_TOKEN": "...",
"ANTHROPIC_MODEL": "glm-4.6"
}
}
或者用 LiteLLM 在中间做模型名映射(参考形态 B 配置)。
流式响应卡顿
智谱的 Anthropic 兼容流式 SSE 格式偶有差异,老版本 Claude Code 客户端可能 parse 不顺。先升级 Claude Code 到最新版:
npm update -g @anthropic-ai/claude-code
或者临时关掉流式(如果客户端支持),优先功能可用。
工具调用失败
Error: tool_use block validation failed
通常是智谱端某次响应里 tool_use.input 字段不是合法 JSON。智谱后端有时会偷懒返回字符串而不是 object。重试一次大概率能过。频繁出现的话给智谱反馈或退回 LiteLLM 方案,让 LiteLLM 强制做 JSON validate。
FAQ
claudecode 接入 glm4.6 真实效果到底如何?
日常 70-80% 任务和 Sonnet 拉不开差距,剩下 20-30% 涉及复杂 Agent 编排、跨文件大重构、罕见技术栈,会比 Sonnet 弱明显。对个人和小团队来说性价比极高,对大型企业关键项目还是建议保留 Sonnet/Opus 作 fallback。
智谱 api 接入 claudecode 比 DeepSeek 麻烦吗?
不麻烦,反而更简单。GLM 官方提供 Anthropic 兼容端点,省去 LiteLLM 这一层。DeepSeek 接入还要自建网关,GLM 接入只改 base URL 就行。
模型中转商怎么接入 Claude 的?
中转商内部基本两种实现:(1)自己跑 LiteLLM 这样的网关把各家模型协议统一翻译成 Anthropic Messages,(2)和模型厂商谈商业合作直接用厂商提供的 Anthropic 兼容 API(智谱就是后者的代表)。前者灵活但维护成本高,后者稳定但厂商支持范围有限。详细分析见 Claude API 中转聚合站全景。
claudecode 接入国内大模型 综合推荐顺序
按”性价比 + 稳定性”综合排序(仅作主观参考):
- 智谱 GLM-4.6:官方 Anthropic 支持,接入最省心
- DeepSeek V3:价格更便宜,但要自建 LiteLLM
- 通义千问 / 文心一言 / 豆包:能用但接入麻烦,建议等官方原生支持
用 GLM 时 Claude Code 的 /cost 准吗?
不准。Claude Code 的费用统计是按 Anthropic 定价表算的,接 GLM 后那个数字毫无意义。真实账单看智谱开放平台的用量页。
GLM-4.6 能跑 Sub-agent 吗?
简单 Sub-agent 任务能跑,复杂多层调度建议慎用。一旦中间某一层工具调用出错,整个 Sub-agent 链可能崩。涉及 Sub-agent 的工作流我强烈建议 Sonnet 或 Opus 兜底。
一定要充值吗?体验额度够测试吗?
新账号体验额度做完整 Claude Code 测试够,跑十几个真实编程任务没问题。决定长期使用再充值,先充 50 元试一周,体验确认 OK 再加。