
先说明一句你要是以为 Claude Code 只能用 Anthropic 官方模型那就错过很多玩法了。我最近把 Claude Code 接到了 GLM5 Coding Plan 上日常写代码、改 bug、重构小工具全在这个组合里跑体感挺特别。这篇就聊聊怎么安装 Claude Code、怎么配置 GLM5 的 Coding Plan、模型切换怎么做以及我踩过的坑和绕过的弯路。整个事情的逻辑很直白Claude Code 是一个命令行 AI 编程助手客户端而模型本身是可以通过 API 配置替换的。Anthropic 官方模型能力固然强但你有 GLM5 Coding Plan 的订阅完全可以把它作为底模接进来不用额外买 Claude 商业订阅。至于安装和切换只要把 Node.js 环境搞定、填对几个环境变量剩下就是一把梭的事情。1. 整体思路Claude Code 和 GLM5 是怎么搭起来的1.1 为什么选 Claude Code 这个壳我最早接触 Claude Code 是因为它作为终端里的智能体太顺手了可以直接在项目目录里跑命令、改文件、读上下文、执行测试和 IDE 里“对话框弹窗”完全不是一回事。它相当于给模型装了一个能操控你电脑的“手和眼睛”模型负责思考工具负责执行。但问题在于官方版本默认绑定 Anthropic API且往往需要付费订阅。就算你有 API key也要按 token 计费随便跑几轮任务钱就哗哗地走了。于是社区里就开始流行把 Claude Code 的 API 端点改到第三方兼容服务上比如 DeepSeek、Qwen、GLM只要对方提供 Anthropic 格式的兼容接口就能无缝替换。GLM5 Coding Plan 吸引我的点是它用订阅制代替 token 计费。对高频使用的人来説这种“包月/包年”模式比按量付费安心得多跑代码任务不用时刻盯着余额。1.2 GLM5 Coding Plan 能解决什么GLM5 Coding Plan 是智谱推出的编程场景订阅方案核心就是低价、稳定、可预测地让你调用 GLM5 系编程模型。它不像公开 API 那样按 token 精确计费而是提供一个配额区间让重负载编码场景的成本可控。对我来说日常写脚本、修正则、补类型定义、查报错都是在“清库存”的感觉一点不心疼。它和 Claude Code 适配的路径也简单智谱开放平台提供了 Anthropic 兼容的 API 地址Claude Code 只要把 base URL 指过去再把模型名改成 GLM5 的模型标识即可。换句话说客户端还是 Claude Code模型已经换成了 GLM5。1.3 架构简单看一眼可以这么理解用户和 Claude Code 对话Claude Code 内部把请求转发给配置里的 base URL这个 URL 指向的是智谱的兼容网关网关再调用 GLM5 模型。模型返回的内容再通过 Claude Code 的工具调用能力变成终端里的命令执行结果。用户输入 → Claude Code CLI → 环境变量里的 base_url 和 token → 智谱兼容网关 → GLM5所以安装和切换的核心就在于Claude Code 本体装好Node.js 环境正常再把 API 的四个关键参数填对。这里所说的四个参数通常就是ANTHROPIC_BASE_URL、ANTHROPIC_AUTH_TOKEN、ANTHROPIC_MODEL、ANTHROPIC_SMALL_FAST_MODEL。前三个必须第四个建议也配一下否则 Task 里的小模型请求还是会走默认值反而报错。2. 安装前置环境Node.js、npm 和 Git 一次搞定2.1 Windows 下装 Node.js 和 npmmsi 方式Claude Code 官方推荐用 npm 安装所以第一步是装 Node.js。Windows 下我推荐直接用 msi 安装包别用绿色版省得后面配 PATH 配到怀疑人生。去 Node.js 官网下载 LTS 版本的 Windows Installer.msi 文件双击安装。这里有个很容易忽略的地方安装向导第一屏会让你选组件默认已经把 “Add to PATH” 勾上了千万别取消。后面的 “Install npm package manager” 也要保持勾选因为 Claude Code 需要用 npm 全局安装。一路 Next 到底就行。装完后最好重启一次终端让环境变量真正生效。macOS 和 Ubuntu 用户可以直接跳过这节。Windows 上如果之前已经装了其他版本 Node可能出现 node 版本冲突。我在公司电脑上就遇到过一个 nvm 管理的老版本版本太低npm 装哪都报engine警告。后面是在干净命令行里重新装了一个 LTS 版才解决。2.2 macOS / Ubuntu 下的安装命令macOS 上最简单的是用 Homebrewbrew install node brew install gitUbuntu 用户建议不要直接用系统的 apt 源装 Node版本太旧。我一般用 NodeSource 的方式curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash - sudo apt-get install -y nodejs git装完检查版本node -v npm -v至少要保证 Node 18 以上我实测 20 LTS 是最稳的Claude Code 对 npm 包的 peerDependencies 要求比较多版本太旧容易在依赖解析阶段就挂掉。2.3 验证环境变量和版本号无论哪个平台安装完成后都建议做一次“环境体检”。打开终端依次执行node -v npm -v git --version如果node有输出但npm提示找不到大概率是 PATH 的问题。Windows 上最常见的是 msi 安装时漏勾了 npm或者把安装目录设到了带空格/中文的路径下面。macOS 和 Linux 则可能是 nvm / asdf 之类版本管理工具的 shim 没生效。一个比较隐蔽的问题Windows PowerShell 里如果之前开过管理员窗口PATH 不会自动刷新。这时候不要死磕直接开一个新的终端窗口。2.4 安装 Claude Code 本体前置环境没问题后执行npm install -g anthropic-ai/claude-code这个命令会把claude可执行文件安装到全局 node_modules 下。安装完成后运行claude --version如果能输出版本号说明客户端本体已经就绪。注意命令是claude不是claude-code。我第一次就在这儿卡了十分钟一直以为是包名问题。如果你不想用 npm也可以考虑官方提供的原生安装脚本curl -fsSL https://claude.ai/install.sh | bash但我在实际操作中还是觉得 npm 更好管理卸载和升级都方便。尤其是后面要在多个项目里切换第三方模型npm 全局安装配合 cc-switch 这类工具路径更干净。2.5 顺手装好 VS Code 和 Python可选Claude Code 不强制要求 VS Code 和 Python但我建议装上原因很实际。第一Claude Code 在终端里能调用code命令打开编辑器没有 VS Code 这功能就废了。第二很多代码任务会用到 Python 做解释、跑测试、写脚本尤其你处理的项目里有.py文件时让智能体直接调用本地 Python 解释器比让它读代码更合理。VS Code 在 Windows 上用安装器装一下就行装的时候记得勾选 “Add to PATH”。Python 我推荐 3.10 以上版本。Claude Code 本身和 Python 版本关系不大但你的项目如果有依赖版本太老会出各种兼容问题。还有一个容易被忽视的点Windows 上如果打算让 Claude Code 直接执行终端命令需要保证默认终端是 PowerShell 或者 Windows Terminal而不是老旧的 cmd。因为后来模型切换、DNS 解析、环境变量这些操作在 cmd 和 PowerShell 里的语法差异会给你添乱。3. 拿 GLM5 Coding Plan 的 API 凭证3.1 开通 Coding Plan 的流程先办理 GLM5 Coding Plan 的订阅。一般流程是到智谱开放平台的控制台找到 Coding Plan 相关的产品入口绑定账号后按文档开通。开通后会生成一个 API Key这个 Key 在后续所有兼容接口里都当作ANTHROPIC_AUTH_TOKEN使用。有几点值得注意开通前看清订阅档位的“月度快速调用额度”和“普通调用额度”。编程任务大量依赖工具调用这个小模型的请求量往往比你想象中大如果额度用完了会临时降速。注册账号最好把手机号和邮箱都验证好后续在暗处只能靠 API Key 恢复我当时因为没验证手机号换绑流程折腾了半天。Coding Plan 的配额是跟着账号走的你多个项目共用一个 Key 没问题但要注意并发限制。3.2 获取 API Key / Token在控制台的 API Key 管理页面创建一个新的 Key创建时建议给它一个备注比如 “claude-code-prod”。KEY 的类型或权限项只要有 Anthropic 兼容接口的权限就行。弄完拷贝出来妥善保存。这里有个重要的提醒API Key 只在创建时完整显示一次。如果你关掉页面再去找完整值一般找不到。所以在拿到 Key 后先复制到本地密码管理器再开始配置环境变量。我因为随手关页面丢过一次 Key后来只能删掉重建导致同事的旧配置全部失效。3.3 认识三个关键配置项base_url、auth_token、modelClaude Code 读环境变量来定位模型端点。最重要的三个配置项是环境变量作用示例ANTHROPIC_BASE_URL模型兼容网关地址https://open.bigmodel.cn/api/anthropicANTHROPIC_AUTH_TOKENAPI Key 认证令牌一串类似xxxxx.xxxxx的字符串ANTHROPIC_MODEL主模型标识glm-5-coding以平台文档为准ANTHROPIC_SMALL_FAST_MODEL快速小模型标识glm-5-flash可选配置为什么ANTHROPIC_BASE_URL要指到open.bigmodel.cn而不是通用 API 地址因为 Claude Code 的请求走的是 Anthropic 的/v1/messages格式智谱为了兼容专门开了一个 Anthropic 风格的网关URL 以/api/anthropic结尾。如果填了普通 OpenAI 风格的地址Claude Code 会报格式不匹配。模型标识尤其容易搞混。不同时期平台给的模型名不一样有的叫glm-5-coding有的叫glm-5也有的是glm-5-0605。最靠谱的做法是登录控制台看当前订阅关联的模型 ID 具体写的是什么然后原样填入环境变量。不要凭记忆我就是因为少打了一个-coding后缀结果请求直接 404。4. 模型切换实战从配置到确认生效4.1 手写环境变量方案iTerm / PowerShell / bash模型切换最朴素的办法就是在启动 Claude Code 前临时把环境变量 export 出来。下面以 bash / zsh 为例export ANTHROPIC_BASE_URLhttps://open.bigmodel.cn/api/anthropic export ANTHROPIC_AUTH_TOKEN你的-API-KEY export ANTHROPIC_MODELglm-5-coding export ANTHROPIC_SMALL_FAST_MODELglm-5-flash claudeWindows PowerShell 下变量赋值语法不一样$env:ANTHROPIC_BASE_URLhttps://open.bigmodel.cn/api/anthropic $env:ANTHROPIC_AUTH_TOKEN你的-API-KEY $env:ANTHROPIC_MODELglm-5-coding $env:ANTHROPIC_SMALL_FAST_MODELglm-5-flash claude注意这种 export 只在当前终端窗口生效关掉窗口就没了。好处是不同项目可以用不同的模型不会污染全局配置。坏处是每次都要重复输入。我早期就是这么干的后来嫌麻烦才引入了 cc-switch 做配置管理。4.2 用 cc-switch 做一键切换cc-switch 是个社区小工具专门用来管理 Claude Code 的多套模型配置。它的核心思路是把所有 provider 的 base_url、token、model 存成一个配置列表通过一个交互式菜单选择切换后就替你改好环境变量或配置文件再启动 Claude Code。安装它也走 npmnpm install -g cc-switch装好后运行cc-switch跟着提示添加一个 provider。把 GLM5 的配置项依次填进去名称GLM5 CodingBase URLhttps://open.bigmodel.cn/api/anthropicAPI Key你刚从控制台复制的那串Modelglm-5-coding小模型glm-5-flash保存后它会在你本地生成一个小 JSON 配置。之后每次想切模型直接运行cc-switch选择「GLM5 Coding」它会自动写好环境变量并提示你可以启动 Claude Code。我实测下来这个工具最大的价值是减少人为输入错误。手敲 export 时一旦 token 里混进换行或空格后续请求全部报 401排查还特别烦。cc-switch 生成的配置至少不会丢字符。4.3 验证当前模型是否真在跑 GLM5配置完环境变量后别急着直接丢一个大任务进去。先跑一个最简单的对话确认模型响应正常再看请求日志。在 Claude Code 会话里输入一句简单的 “你在用什么模型请自我检查一下系统配置”如果模型能回答出自己是 GLM 系模型那基本就接上了。不过有些模型回答这种元问题时会打哈哈不直接报名字。更靠谱的办法是看请求是否成功、返回速度是否符合预期以及错误信息里的 model 字段。此外很多兼容网关会在响应头里带x-model之类的字段Claude Code 默认不显示。如果你想确认可以用一个更笨但直接的方式故意把 model 改成一个不存在的名字如果报错信息里出现了当前实际调用的模型名说明网关确实按你配置的模型路由。实测跑一个“帮我找出这个仓库里所有 TODO 并生成清单”的任务如果模型能正常调用 claude 的 Bash/Read 工具并且逐步执行说明 GLM5 已经正常接入到智能体流程里了。4.4 启动新会话后出现跳闪这样处理你可能会遇到一个很怪的现象cc-switch 切换模型后启动 Claude Code原对话窗口一直跳闪或者终端里反复刷新一些文本看起来像“不停跳闪”。我一开始也以为是模型出了问题后来发现主要是三个原因。原因一旧会话残留的上下文状态和新模型配置冲突。Claude Code 会在本地保存一些会话元数据切换模型后旧会话里的一些前缀缓存和新 base URL 不匹配导致前端反复请求报错视觉上就是跳闪。解决办法很简单退出会话重新开一个新的终端用claude --resume或claude --continue都不要选旧对话直接新开claude原因二终端的刷新机制和高频输出叠加。兼容网关的小模型响应速度很快Claude Code 如果同时执行多个工具调用终端组件可能在短时间里反复重绘表现就是闪。这种情况可以试着降低并发或者在 Claude Code 里用/config把“自动接受工具调用”关掉让模型每步操作停一下等你确认。原因三环境变量被 cc-switch 改坏了。比如它生成的 base_url 末尾多了一个斜杠或者把 token 写进了某个带换行的 YAML 文件。解决方案是回到终端里检查实际生效的环境变量env | grep ANTHROPIC确认输出和我上面列的一样而且没有尾部空格。如果你用了cc-switch还是闪可以先手动 export 一遍再跑claude。如果手动的方式不闪、只有 cc-switch 触发闪那基本可以判断是工具配置文件的路径或内容问题重写 provider 配置就好。5. 常见问题与避坑清单5.1 安装阶段踩过的坑安装 Claude Code 本身不难但周边环境的坑一个接一个。我这里整理一份速查表都是自己或同事真实遇到过的。现象原因解法claude命令找不到npm 全局目录不在 PATH 里Windows 检查AppData\Roaming\npmmacOS/Linux 检查/usr/local/bin或 nvm 目录infisical/clack等依赖安装报错Node 版本太旧或 npm cache 损坏升级 Node 到 LTS执行npm cache clean --force后重装执行claude时提示 EACCES: permission deniednpm 全局目录权限不够Linux/macOS 用sudo npm install -g或修改 npm 全局路径在 PowerShell 里输入claude没反应没有重启终端重新开一个终端窗口而不是在当前窗口里干等打开 VS Code 后claude命令不能直接用VS Code 的集成终端没有继承外部 PATH重启 VS Code或在 VS Code 设置里把终端环境变量重新加载还有一个细节Git 必须装。Claude Code 的很多“读代码、写代码”操作会调用 Git 找改动差异不装 Git 的话它可以用但功能受限比如生成 diff、提交记录、分支历史都拿不到。Windows 上如果装了 Git 但命令找不到同样要检查 Git 的 bin 目录是否在 PATH 中。Python 的安装也是一样。不是为了 Claude Code 本体而是它执行任务时会默认检测项目里的虚拟环境没有会直接报警告。装好 Python 之后Windows 用户记得在系统 PATH 里加上C:\Python312\Scripts这样的路径否则pip装包全程找不到。5.2 模型切换不生效总有人说“我明明改了ANTHROPIC_MODEL但对话里还是老模型在跑”。我排查过几次发现大部分是下面四种情况环境变量设在了 shell profile 文件里但当前终端还没重新加载。跑source ~/.bashrc或重启终端。你同时用了多个 shell比如 zsh 的.zshrc和 bash 的.bashrc都有旧配置后面的覆盖了前面的。用env | grep ANTHROPIC看最终值。Claude Code 启动时会读取项目目录下的.claude/settings.json如果这个文件里写了model它会优先于环境变量。这个文件用claude config命令可以查看和修改。接口网关做了模型映射。有时候你填的是glm-5-coding但网关后台帮你匹配到glm-5-plus这不算配置失败只是名字不同。一个排查思路先临时写死/Users/you/.claude/settings.json或者/home/you/.claude/settings.json只配置 GLM5 的参数把这个文件作为调试基准确认能跑通以后再逐步迁移到环境变量或 cc-switch。5.3 编码费用和限速问题GLM5 Coding Plan 虽然好但额度不是无限的。我遇到过几次“明明没怎么用却提示配额已用完”的情况仔细看才发现是小模型的配额也和你共享总量。Claude Code 在执行任务时会频繁调用“小模型”来做标题生成、会话摘要这些轻量工作。如果ANTHROPIC_SMALL_FAST_MODEL没配好甚至没配它可能会去走默认模型路径引起额外的提示和错误。建议把ANTHROPIC_SMALL_FAST_MODEL也显式设置为一个轻量模型并在控制台配额页实时监控两个 channel 的消耗。另外某些 Coding Plan 档位对调用频率有限制。如果你同时开了好几个 Claude Code 会话比如多个终端窗口、VS Code 插件和 CLI 并发极容易触发限流。这时候会看到类似429 Too Many Requests的报错。解决方式要么是错峰使用要么在 Claude Code 内用/status查看速率限制情况。别想着无脑加大并发glm5 的网关对并发并不比官方宽松。5.4 回到 Claude 官方模型的方式如果哪天你不想用 GLM5 了或者 Coding Plan 过期了切回官方模型也很简单。核心就是恢复默认的 base_url。官方默认的ANTHROPIC_BASE_URL是https://api.anthropic.com模型名会是claude-sonnet-4-xxx之类。你只要把环境变量里的ANTHROPIC_BASE_URL删掉或改成https://api.anthropic.com删掉ANTHROPIC_AUTH_TOKEN用ANTHROPIC_API_KEY设置官方 token就可以切回。如果用 cc-switch那就更简单了在配置列表里添加一个默认的 Anthropic provider切换按钮一键搞定。我建议别把官方配置删掉哪怕你短期不用多留一条路。6. 我这一周用 GLM5 Coding Plan 的体感6.1 代码补全和 Agentic 能力差异接入 GLM5 后最直观的感受是工具调用能力没有缩水太多。Claude Code 的核心是让模型决定何时调用 Bash、Read、Write、Edit 这些工具GLM5 在这些场景下能比较流畅地执行“边读边改”的工作流。比如我给它一个任务“把项目里所有硬编码的 Redis 地址改成从配置文件读取”它能自己扫描文件、找到相关模块、修改多处代码并且跑一遍测试。这个过程和官方 Claude 大模型的体验差距不大至少对于中小型仓库是这样的。但遇到特别复杂的多仓库改造或者需要长时间推理的算法优化GLM5 在上下文窗口和结论稳定性上会比官方旗舰模型差一些。它会偶尔在中途忘了最初的要求或者一条逻辑链拉太长后开始重复输出。所以我的用法是简单的杂活、批量修改、常规重构全部丢给 GLM5 Coding Plan重要的大模块设计还是切回官方模型慢慢磨。6.2 省钱和速度这一点必须承认Coding Plan 是真的划算。以前我用官方 API一次大任务动不动几美元非常肉疼。用 GLM5 的订阅之后跑一整天密集型任务也不会心跳加速。速度上GLM5 编码模型的响应速度比我预想的快配合 Claude Code 终端里的流式输出没有明显的“卡住不动”现象。可能和它底层部署的推理优化有关我体感上比之前用第三方 OpenAI 兼容服务要流畅。小模型flash 类的响应尤其快Claude Code 生成会话标题和摘要时几乎零延迟。这一点很重要因为之前用一些慢网关时一个/compact操作能卡半分钟体验非常差。6.3 后续还可以玩的方向这个组合的可玩性很高。除了 GLM5你还可以把同样的思路应用到其他 Anthropic 兼容的模型上比如本地模型用 LM Studio 起一个本地网关或者切换其他云端服务。cc-switch 这个工具就是在这些 provider 之间反复横跳的最轻量方案。后面我打算抽时间试一下把 cc-switch 的配置迁移到团队共享的 dotfiles 里让同事 clone 下来就能用结合claude --preview的沙箱模式配合 GLM5 做批量代码审查用 GLM5 Coding Plan 作为“免费额度”试验一些高风险重构等稳定后再切大模型做最终合成。最后再分享一个小经验无论你用哪个模型一定要把.claude/settings.json和配置文件纳入版本控制之外的备份。我试过因为系统重装所有 provider 配置全丢了重新搞一遍花了一小时。现在我会定期把cc-switch的配置文件导出到网盘虽然不是什么高深技术但能省很多不必要的折腾。