1. GLM-4.6 到底升级了什么,值不值得在 Claude Code 里换
GLM-4.6 是智谱新一代的旗舰级大语言模型,核心定位是「长上下文 + 强编码 + 强 Agent 工具调用」。如果你平时用 Claude Code 写代码、跑重构、做多文件改动,那它最直观的价值就是:把底层模型从默认的 Claude 系列换成 GLM-4.6,用同一套 Claude Code 交互外壳,去跑中文语境更顺、长代码库更省 token 的编码任务。适合谁?三类人:一是天天泡在 Claude Code 里做工程化开发的;二是想横向对比不同模型在同一工具链下表现的;三是预算敏感、希望用编码套餐压低长会话成本的。
先说能力速览,我按官方公开信息和实测体感拆成几块。
上下文长度从上一代的 128K 扩到 200K tokens。这个数字不是拿来炫的,它直接决定你能不能把一整个中型仓库的关键文件、依赖声明、接口定义一次性塞进上下文。以前 128K 时,稍微大点的 monorepo 就得靠检索裁剪,裁着裁着模型就丢了跨文件引用关系;200K 之后,多文件重构、跨模块调用链分析这类任务的成功率明显更稳。
编码与推理能力在真实开发工具里做了针对性强化。官方明确点名适配了 Claude Code、Cline、Roo、Kilo Code 这类 Coding Agent 工具,并且评估是在「真实世界任务集」上做的,不是纯刷榜。实测下来,前端页面生成这块观感提升比较明显——布局不乱、组件拆分合理、样式类名不瞎编。后端逻辑题上,它对函数签名和类型约束的遵守也比上一代更紧。
Agent 能力是这代重点。工具调用、检索型智能体的集成更顺滑,意味着你在 Claude Code 里让它「先读文件、再改代码、再跑测试」这种多步链路时,它不容易在中途丢掉工具返回的结果,也不会把参数拼错。这对自动化开发流程很关键。
效率方面,官方博文给了一个 token 消耗总体下降约 15% 的示例。别小看这 15%,长会话和自动化任务里,token 就是钱和时间。同样的重构任务,消耗降下来,单次成本就低,跑批处理的可行性就高。
生态适配和本地部署也值得一提。官方支持在订阅方案下切换模型名到 glm-4.6,权重同步在 Hugging Face / ModelScope,适配 vLLM / SGLang 等推理框架。也就是说,你既可以用云端 API,也可以自己拉权重本地跑,灵活性够。
一句话总结这一节:GLM-4.6 不是小修小补,它在上下文、编码、Agent 三条线上都动了刀,而且明确把 Claude Code 当成一等公民来适配。这就是为什么值得单独写一篇接入指南。
2. 申请 API Key 与 TaoToken 前置准备
要在 Claude Code 里调用 GLM-4.6,你得先有一个能用的 API Key,再有一个 Anthropic 兼容的接入端点。这一步是整个流程的地基,配错了后面全白搭。
先说 Key 的获取思路。GLM-4.6 的 API Key 来自智谱 / Z.AI 开放平台,流程是:注册登录 → 进个人中心 → API Keys → 创建新密钥 → 复制保存。这个 Key 就是你调用模型时的身份凭证,形如xxxxxxxx.xxxxxxxx这种带点的字符串,务必存到密码管理器里,别直接贴进会提交到 Git 的配置文件。
但很多开发者的实际痛点是:手里可能同时有多个模型的 Key,想在 Claude Code 里灵活切换,又不想每次改环境变量改到崩溃。这时候一个统一的接入层就很有用。我自己的做法是通过 TaoToken 这类聚合接入服务来管理 Base URL 和 Key 的映射,官网在 https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= ,API 入口是 https://taotoken.net/api 。它的价值在于:你可以在一个地方配置好不同模型的端点,Claude Code 侧只需要指向统一的 Anthropic 兼容地址,切换模型时改模型名就行,不用动 Key。
具体到操作,你需要准备三样东西,我把它叫「接入三件套」:
第一,Base URL。这是 Anthropic 兼容网关地址。GLM-4.6 官方文档给出过两种基址,一种是https://api.z.ai/api/anthropic,另一种是https://open.bigmodel.cn/api/anthropic。两者都是 Anthropic 兼容网关,不同地区或套餐的默认指引可能不同,以你所用文档为准。如果你走 TaoToken 聚合层,则统一用它的 API 地址作为 Base URL。
第二,API Key。就是上面申请到的那个。注意 Claude Code 底层 SDK 通常识别ANTHROPIC_API_KEY,部分脚本和文档用ANTHROPIC_AUTH_TOKEN,两个都设更保险。
第三,Model ID。GLM-4.6 对应的模型名就是glm-4.6。如果你还想配一个轻量模型跑简单任务,可以用glm-4.5-air之类的小模型名映射到 Haiku 档位。
这里有个容易忽略的点:Claude Code 内部把模型分成了 Haiku / Sonnet / Opus 三个档位,它会根据任务复杂度自动选档。所以你不能只告诉它「用 glm-4.6」,还得告诉它「每个档位分别映射到哪个 GLM 模型」。这就是下一节 settings 文件要解决的事。
另外,如果你打算长期在 Claude Code 里用 GLM-4.6 做编码,官方提供了 GLM Coding Plan 这类编码套餐,价格和权益会随时更新,以官方文档为准。走 TaoToken 的话,可以在其 console 里查看可用的套餐和额度。相关入口:模型对话 https://taotoken.net/api?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite ,Coding Plan https://taotoken.net/api/coding-plan?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite ,控制台 https://taotoken.net/api/console?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite ,API Keys 管理 https://taotoken.net/api/api-keys?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite 。
准备阶段做完,你应该手里有:一个可用的 Key、一个确认过的 Base URL、以及明确的模型名glm-4.6。接下来就是把它写进配置。
3. 可复制的 Claude Code 配置片段(settings.json 与三件套)
这一节是全文最核心的操作部分。Claude Code 读取配置的方式有两种:环境变量法和 settings 文件法。环境变量法适合临时测试,settings 文件法适合长期锁定模型映射。我建议两个都配,环境变量兜底,settings 文件定档。
先看 settings 文件。Claude Code 会读取~/.claude/settings.json,你可以在里面用env字段注入环境变量,把默认的 Haiku / Sonnet / Opus 三档映射到 GLM 模型。可复制片段如下:
{ "env": { "ANTHROPIC_BASE_URL": "https://taotoken.net/api", "ANTHROPIC_API_KEY": "YOUR_API_KEY", "ANTHROPIC_DEFAULT_HAIKU_MODEL": "glm-4.5-air", "ANTHROPIC_DEFAULT_SONNET_MODEL": "glm-4.6", "ANTHROPIC_DEFAULT_OPUS_MODEL": "glm-4.6" } }这里的三件套对应关系要记牢:Base URL 填https://taotoken.net/api(走聚合层)或官方兼容地址;Key 填你申请到的;Model ID 填glm-4.6。Haiku 档位我映射到了glm-4.5-air,因为简单任务用轻量模型更省,Sonnet 和 Opus 档位都指向glm-4.6,保证复杂任务用满血模型。
如果你不用聚合层,直接连官方兼容端点,把 Base URL 换成https://api.z.ai/api/anthropic或https://open.bigmodel.cn/api/anthropic即可,其余不变。
再看环境变量法,适合临时切换或 CI 环境。macOS / Linux 的 bash / zsh:
export ANTHROPIC_BASE_URL="https://taotoken.net/api" export ANTHROPIC_API_KEY="YOUR_API_KEY" export ANTHROPIC_AUTH_TOKEN="YOUR_API_KEY" claudeWindows PowerShell 当前会话生效:
$env:ANTHROPIC_BASE_URL="https://taotoken.net/api" $env:ANTHROPIC_API_KEY="YOUR_API_KEY" $env:ANTHROPIC_AUTH_TOKEN="YOUR_API_KEY" claudeWindows CMD 当前会话生效:
set ANTHROPIC_BASE_URL=https://taotoken.net/api set ANTHROPIC_API_KEY=YOUR_API_KEY set ANTHROPIC_AUTH_TOKEN=YOUR_API_KEY claude注意ANTHROPIC_API_KEY和ANTHROPIC_AUTH_TOKEN我都设了,因为不同版本的 Claude Code 和底层 SDK 读取的变量名不完全一致,两个都设能避免「明明配了却报 401」的坑。
如果你用的是 CC Switch 这类多配置切换工具,或者 Cline MCP、Codex 的 auth.json 体系,同样要保证三件套齐全。以 Codex 的auth.json为例,结构大致是:
{ "base_url": "https://taotoken.net/api", "api_key": "YOUR_API_KEY", "model": "glm-4.6" }Cline 的 MCP 配置里则是在 provider 设置中填 Base URL、API Key、Model ID 三项。无论哪个工具,缺一项都连不上,这是铁律。
配完之后,新开一个终端再运行claude,因为环境变量在进程启动时就固定了,改完不重开终端,进程里拿到的还是旧值。进入 Claude Code 后输入/status,能看到当前模型和基址,确认映射生效。
4. 验证请求:一次 curl 与 Claude Code 内对话
配置写完不代表通了,必须验证。我习惯分两步:先用 curl 直接打 Anthropic Messages 兼容端点,排除 Claude Code 本身的干扰;再进 Claude Code 发一条真实对话。
先看 curl 验证。注意把 Base URL 换成你自己的:
curl -X POST "$ANTHROPIC_BASE_URL/v1/messages" \ -H "x-api-key: $ANTHROPIC_API_KEY" \ -H "content-type: application/json" \ -H "anthropic-version: 2023-06-01" \ -d '{ "model": "glm-4.6", "max_tokens": 64, "messages": [{"role": "user", "content": "Hello"}] }'如果返回体里出现content数组,里面有text字段,说明网关、Key、模型名三者都对上了。如果返回 401,是 Key 问题;返回 404 或 model not found,是模型名或 Base URL 路径问题;返回reading choices之类的解析错误,通常是端点不是 Anthropic 兼容格式,你打到了 OpenAI 格式的地址上。
curl 通了之后,进 Claude Code 做真实验证。运行claude,如果弹出「是否使用该 API Key」,选 Yes。然后在输入框里敲/status,你应该能看到类似这样的信息:当前模型glm-4.6,Base URL 指向你配置的地址。接着发一条真实任务,比如:
帮我读一下当前目录的 package.json,列出所有 dependencies 并说明哪些是开发依赖。这条指令会触发 Claude Code 的文件读取工具调用,正好能验证 GLM-4.6 的 Agent 工具调用链路是否顺畅。如果它能正确读文件、正确区分 dependencies 和 devDependencies、并且回复结构清晰,说明接入完全成功。
再补一个更贴近编码的验证:让它改一个函数。
把 src/utils/format.js 里的 formatDate 函数改成支持传入时区参数,保持向后兼容。观察它是否先读文件、再给出 diff、再询问是否应用。这一整套流程跑通,就说明 GLM-4.6 在 Claude Code 里的编码与工具调用能力都正常工作了。
实测下来,第一次跑通后,后续切换模型只需要改 settings.json 里的模型名,不用再动 Key 和 Base URL,非常省事。
5. 常见报错排查:401、local proxy failed、reading choices、OAuth
接入过程里踩坑是常态,我把最常见的几类报错和对应解法列出来,你对着改就行。
第一类,401 Unauthorized。这是最高频的。原因通常有三个:Key 填错或过期;环境变量名不被识别;改完变量没重开终端。排查顺序:先确认ANTHROPIC_API_KEY和ANTHROPIC_AUTH_TOKEN都设了且值正确;再确认 Base URL 和 Key 是配套的(别拿 A 平台的 Key 打 B 平台的地址);最后关掉终端重开,再跑claude。如果还不行,用第 4 节的 curl 单独测,curl 通说明 Key 没问题,问题在 Claude Code 的变量读取。
第二类,local proxy failed。这个报错通常出现在你配置了本地代理端口,但代理进程没起来,或者端口被占用。Claude Code 本身不强制走代理,如果你没有特殊网络需求,直接把代理相关环境变量清掉即可。检查HTTP_PROXY、HTTPS_PROXY、ALL_PROXY这几个变量,如果指向一个没运行的本地端口,就会报这个错。清掉后重开终端。
第三类,reading choices 或类似的响应解析错误。这个几乎都是端点格式不匹配导致的。Anthropic 兼容端点返回的是content数组结构,OpenAI 格式返回的是choices数组。如果你的 Base URL 打到了 OpenAI 格式的地址,Claude Code 按 Anthropic 格式解析就会失败。解法:确认 Base URL 是 Anthropic 兼容路径,比如带/api/anthropic或聚合层明确标注 Anthropic 兼容的地址。
第四类,OAuth 相关报错。Claude Code 默认可能尝试走 Anthropic 官方 OAuth 登录流程,如果你用的是第三方 Key,它会因为找不到 OAuth token 而报错。解法:确保ANTHROPIC_API_KEY已设置,Claude Code 检测到 API Key 后会跳过 OAuth。如果它仍然弹 OAuth 登录,检查 settings.json 里 env 字段是否被正确加载,或者用环境变量法强制注入。
第五类,模型名不识别。报错形如 model not found 或 invalid model。确认模型名拼写是glm-4.6,不是glm4.6也不是GLM-4.6(大小写敏感)。如果你走聚合层,确认该层已上架这个模型。
第六类,Windows 下'export' 不是内部或外部命令。这是把 Linux 语法用到了 Windows。PowerShell 用$env:NAME="VALUE",CMD 用set NAME=VALUE,别混。
排查时记住一个原则:先用 curl 隔离问题,再回到 Claude Code。curl 通而 Claude Code 不通,一定是配置读取或变量名问题;curl 都不通,就是 Key、Base URL、模型名三件套里有错的。
6. 长期编码与 Agent 场景的接入建议
如果你只是偶尔用一下,环境变量法足够了。但如果你打算把 GLM-4.6 当成 Claude Code 的长期主力模型,跑日常编码和 Agent 自动化,那有几件事值得提前做。
第一,把配置固化到 settings.json,而不是每次开终端手动 export。settings 文件的好处是版本可控、可备份、可多机同步。你可以把~/.claude/settings.json纳入 dotfiles 管理,换电脑时一键恢复。
第二,模型分档要合理。Haiku 档位映射轻量模型(如glm-4.5-air)跑简单补全和格式化,Sonnet / Opus 档位映射glm-4.6跑复杂重构和 Agent 任务。这样 Claude Code 自动选档时,简单任务不会浪费满血模型的额度。
第三,长会话场景优先用 200K 上下文。GLM-4.6 的 200K 不是摆设,做跨文件重构时,主动把相关文件都让它读进来,比让它自己检索更稳。你可以用@引用多个文件,一次性喂给它。
第四,Agent 自动化任务建议配合 Coding Plan。长期跑批处理、自动化测试生成、CI 集成这类场景,按量计费可能不划算,编码套餐通常有额度优势。具体权益看官方文档,入口在 https://taotoken.net/api/coding-plan?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite 。
第五,多工具统一接入。如果你同时用 Claude Code、Cline、Codex,建议都指向同一个聚合 Base URL,Key 和模型名集中管理。这样切换工具时不用重新配一遍,也方便对比同一模型在不同工具链下的表现。接入文档在 https://taotoken.net/api/doc?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite ,Claude Code 专项说明在 https://taotoken.net/api/ClaudeCodeAnthropic?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite 。
最后说个我踩过的坑:改完 settings.json 后,Claude Code 有时会缓存旧配置,尤其是模型映射。遇到改了不生效,先/status看当前值,如果还是旧的,完全退出 Claude Code 进程再重进,别只关窗口。这个细节能省你半小时排查时间。