ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

Claude Code本地安装与智谱GLM接入全攻略

Claude Code本地安装与智谱GLM接入全攻略 Claude Code 本地安装与国产模型搭配是最近不少人私信问我的问题。很多人以为装好 Claude Code 就必须使用 Anthropic 官方模型于是折腾半天卡在账号和 Key 上。其实 Claude Code 本身把模型接口做成了可替换的你只需要在终端里改几个环境变量让它把请求发送到智谱的 Anthropic 兼容接口就能用 GLM 系列模型在本地跑这个编码智能体。这篇文章直接落地按顺序讲清楚从环境准备到配置成功的完整路径顺便把我在实际配置中踩过、也看别人反复踩的坑一起说掉。适合的人群很明确想在本地终端里体验 Claude Code、但最终模型侧想用国内 API 的开发者。不管你是第一次接触 Node.js 的小白还是已经折腾过一轮但没跑通的老手下面这套步骤应该都能直接照着做。1. 为什么把 Claude Code 安装在本地还要换成智谱模型先理解一个容易被忽略的结论Claude Code 不是某一个大语言模型它是一个跑在终端里的编码智能体程序。你打开它它读你项目里的文件、执行终端命令、帮你改代码、调用 Git 查看差异然后把这些任务拆成一轮轮模型请求发出去。整个架构可以分成三层CLI 交互层、任务编排层、模型推理层。我们平时说的本地安装装的是前两层。CLI 交互界面跑在你的机器上项目文件不用传到某个网页编辑器任务编排逻辑也由 Claude Code 进程自己完成它会决定下一步该读哪个文件、该执行什么命令。只有真正的推理判断要交给模型 API。默认情况下Claude Code 的模型推理目标是 Anthropic 官方 API。这也是绝大多数教程里让你去注册官方账号、搞 API Key 的原因。但问题来了很多开发者用不上或者不想用官方模型通道更希望用自己已经开了的国内模型 API。这时候 Claude Code 留了一个很巧妙的扩展口支持通过环境变量覆盖远端地址和鉴权信息。只要模型服务商提供了 Anthropic 兼容接口你就能把请求从官方地址切换到国内服务商。智谱就是一个很典型的例子。它开放了兼容 Anthropic 消息格式的 API 端点你在终端里设置几个环境变量Claude Code 就会把请求发到智谱服务器用 GLM 模型来帮你完成代码任务。这个方案给我的感觉是官方其实没有刻意锁死模型生态产品把编码智能体和底层模型解耦了。所以你不需要破解任何东西也不用改 Claude Code 源码纯靠配置就能接第三方模型。换智谱模型之后最直接的变化是成本结算方式和请求延迟更贴近国内开发者。GLM 系列有偏向编码场景的主模型也有很便宜的轻量型号。你可以在 Claude Code 里让重活走强模型轻活走 flash 类模型跑起来经济性很舒服。当然本地安装不等于完全离线。模型推理仍然发生在智谱 API 侧你的代码片段会发送到智谱服务器做处理。这个概念先确认清楚后面用着才不会心里没底。2. 安装前的三件事Node.js、Git 和终端环境2.1 先检查 Node.js 和 npmClaude Code 最主流的安装方式是通过 npm 全局安装所以 Node.js 是第一道门槛。在终端里输入三行命令先确认基础环境node -v npm -v git --version如果node -v输出了类似v18.20.4的版本号说明 Node.js 已安装。Claude Code 建议 Node.js 18 以上我在实际使用中也发现 18.17 之后的版本更稳太老的版本会出现各种奇怪的语法报错。如果提示找不到 node直接去 Node.js 官网下载 LTS 版本安装包。Windows 用户一路下一步就好macOS 用户也可以选择 Homebrew 方式安装。装完以后记得重新打开终端让新加的 PATH 生效。这里有个新手容易忽略的点npm 是随 Node.js 一起安装的只要node -v有输出npm 一般不会缺。如果npm -v报错问题多半出在 PATH 配置不完整需要把你安装 Node.js 时对应的目录手动加进去。2.2 Git 不是摆设至少要装上Git 不是 Claude Code 安装的硬前置条件没有 Git 也能装但运行体验会差不少。Claude Code 在分析项目改动、生成 commit message、做文件差异对比的时候底层大量依赖 Git 能力。如果你用 Git 管理项目它能更准确地知道哪些文件变了、这次改动涉及什么范围。Windows 用户装完 Git 之后我建议顺手执行一条配置git config --global core.autocrlf input这行命令的意思是把提交时的换行符统一成 LF避免 Windows 下默认 CRLF 导致 Claude Code 在某些文件 patch 场景中出现对不上的情况。这是我从实际项目里得到的教训不设置的话偶尔会出现明明改动很小、但它生成的 patch 却无法干净合入的现象。macOS 和 Linux 用户一般不需要额外处理系统自带 Git 或通过包管理器安装即可。2.3 Windows 终端的两个隐藏问题Windows 用户跑 claude 命令时最常见的两件事和代码无关执行策略和终端选择。如果你在 PowerShell 里执行 npm 全局命令时提示禁止运行脚本通常是因为系统执行策略默认限制脚本运行。用当前用户身份放开限制即可Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser执行完以后重新打开终端。终端方面我建议用 Windows Terminal 或者 VS Code 集成终端。旧版 cmd 不是不能用只是面对 Claude Code 这种重交互的界面光标控制、颜色输出都容易出问题。还有一点在 VS Code 里使用 claude改完环境变量后一定要完全重启 VS Code不能只开新终端窗口因为编辑器进程继承的环境变量是启动时读到的旧值。3. 安装 Claude Codenpm 命令、镜像加速与版本管理3.1 为什么我推荐 npm 全局安装Claude Code 官方页面其实提供了不止一种安装方式比如二进制脚本安装、npm 安装等。我自己一直推荐 npm 全局安装原因主要有两个。第一升级简单。后续想更新版本一条命令就解决npm update -g anthropic-ai/claude-code不用去重新下载安装包也不用担心旧版本残留。第二npm 的安装目录是标准的出问题时比较容易排查。全局安装意味着把 claude 命令放进系统 PATH 目录任何终端里都能直接启动。核心安装命令只有一行npm install -g anthropic-ai/claude-code安装完成后验证claude --version能输出版本号说明安装成功。如果提示找不到 claude多半是 npm 的全局 bin 目录没有加入 PATH。用下面的命令可以查到 npm 全局安装位置npm prefix -g把输出的目录下的 bin 子目录加进 PATH再重开终端。3.2 npm 下载慢的时候切镜像源在国内网络环境里npm 默认官方源偶尔会出现下载缓慢甚至超时的情况。这跟模型 API 没有任何关系只是安装包下载链路的问题。解决办法是切换成国内镜像源npm config set registry https://registry.npmmirror.com切换以后再执行安装命令就会快很多。这个源是 npm 包仓库的只读镜像不影响包内容完整性Claude Code 还是那份 Claude Code。如果你只是临时想用镜像安装一次也可以不修改全局配置而是安装时显式指定npm install -g anthropic-ai/claude-code --registryhttps://registry.npmmirror.com我个人的习惯是直接改全局 registry省心之后装其他前端包也一并提速了。3.3 升级和固定版本这个操作关键时刻救命Claude Code 的迭代速度非常快几乎每周都有新版本。新功能、模型适配、协议改动都藏在版本号里。对普通用户来说一条升级命令保持最新就行npm update -g anthropic-ai/claude-code但对接了智谱这类第三方模型服务的开发者我强烈建议你记住当前跑得好好的版本号。因为有时候 Claude Code 某次更新会调整模型名校验逻辑或者请求头格式导致之前能用的第三方模型突然报错。这时候最稳妥的兜底操作是固定回某个已知可用的版本npm install -g anthropic-ai/claude-code具体版本号具体版本号可以通过npm view anthropic-ai/claude-code versions查看。不要嫌麻烦接第三方模型时版本敏感性是长期使用的必修课。4. 智谱模型接入的核心环境变量与请求头逻辑4.1 哪几个环境变量说了算Claude Code 启动时会按优先级读取环境变量和本地配置文件。环境变量是最高优先级这也是我们用配置方式接入智谱模型的原因。涉及第三方模型接入核心变量是下面几个变量名作用说明ANTHROPIC_BASE_URL模型 API 地址默认指向 Anthropic 官方改为智谱兼容端点后请求就会发往智谱ANTHROPIC_AUTH_TOKEN鉴权 Token设置后请求使用 Authorization: Bearer 头ANTHROPIC_API_KEYAPI Key走 Anthropic 官方鉴权风格时使用x-api-key 头ANTHROPIC_MODEL主模型名复杂任务、核心推理使用的模型ANTHROPIC_SMALL_FAST_MODEL轻量模型名后台摘要、标题生成等低成本任务使用的模型你需要把ANTHROPIC_BASE_URL指向智谱开放平台提供的 Anthropic 兼容接口把ANTHROPIC_AUTH_TOKEN设成你的智谱 API Key再告诉 Claude Code 应该用哪个 GLM 模型名。4.2 为什么优先用 AUTH_TOKEN而不是 API_KEY这一步是很多教程没讲透、也是新手最容易懵的地方。Anthropic 官方 SDK 对两个变量的处理方式不同。当检测到ANTHROPIC_API_KEY时SDK 会在请求头里加x-api-key当检测到ANTHROPIC_AUTH_TOKEN时则使用Authorization: Bearer头。智谱的 Anthropic 兼容端点实际解析的是Authorization: Bearer这一套鉴权方式。所以如果你把 Key 放在ANTHROPIC_API_KEY里请求发出的鉴权头不匹配服务端就会返回 401。我见过不少人在这里折腾很久反复检查 Key 有没有写错最后发现只是放错了变量。正确做法是把这个变量写到 AUTH_TOKEN 里export ANTHROPIC_AUTH_TOKEN你的智谱APIKey而且尽量不要同时设置ANTHROPIC_API_KEY和ANTHROPIC_AUTH_TOKEN。两个变量都设置时SDK 可能会在请求里带两套鉴权头部分服务商直接返回 400有些服务商虽然能忽略其中一个但会干扰你后续排查。4.3 环境变量的加载顺序决定了你改完有没有用另一个常见问题是我明明设置了环境变量为什么 claude 启动还是走官方排查环境变量时要记住一个顺序当前 shell 里的临时变量优先于用户级变量用户级变量优先于系统级变量。如果你在系统设置里看到了一个旧的ANTHROPIC_BASE_URL而当前 shell 里没有覆盖它那么 claude 就会读到系统级变量。还有更隐蔽的情况你在.zshrc里加了 export但当前终端窗口是在加之前打开的那么当前 shell 中该变量不存在claude 自然读不到。改完配置文件后一定要重新打开终端或者执行source ~/.zshrc让配置生效。Windows 下用setx设置的系统用户变量只对之后新开的进程生效当前 PowerShell 窗口不会自动更新。你在同一个窗口里接着跑 claude它读到的还是旧环境。所以我一般建议设置完变量后把 VS Code 和终端全部关掉重开这是最省心的验证方式。5. 逐步配置智谱模型从控制台到命令行5.1 先拿到智谱 API Key打开智谱开放平台注册并登录后进入控制台的 API Key 管理页面创建一个 Key。创建时注意看权限范围如果只是个人开发测试选择基础模型调用权限就够了。拿到 Key 后先保存在一个安全位置。它是一串很长的字符后面要填进环境变量里。这里有两个容易踩的小坑复制 Key 时容易把前后空格也一起复制进去。粘贴到终端后最好在末尾手动敲一个可见字符再删掉确保没有隐藏空格。不要把你的 API Key 直接提交到 Git 仓库。哪怕是私有仓库我也建议用本地环境变量或 .env 文件管理因为仓库历史里的密钥一旦泄露就很难彻底清除。5.2 配置 Base URL 和模型名智谱开放平台提供 Anthropic 兼容端点地址是以https://open.bigmodel.cn/api/anthropic形式给出的兼容入口。模型名称则以智谱文档里标注的 Anthropic 兼容模型名为准。下面是我在某个阶段实测可用的一组配置具体模型名请以你操作时的智谱官方文档为准模型列表会持续更新macOS / Linux 临时生效export ANTHROPIC_BASE_URLhttps://open.bigmodel.cn/api/anthropic export ANTHROPIC_AUTH_TOKEN你的智谱APIKey export ANTHROPIC_MODELglm-4.6 export ANTHROPIC_SMALL_FAST_MODELglm-4.5-flashWindows PowerShell 临时生效$env:ANTHROPIC_BASE_URLhttps://open.bigmodel.cn/api/anthropic $env:ANTHROPIC_AUTH_TOKEN你的智谱APIKey $env:ANTHROPIC_MODELglm-4.6 $env:ANTHROPIC_SMALL_FAST_MODELglm-4.5-flash注意不要把glm-4.6认死理。模型服务商会不断上线新版编码模型也许你看到这篇文章时智谱已经有了更强的新模型。打开控制台的接口文档页确认当前 Anthropic 兼容模式推荐使用的模型名填准确。为什么要设置两个模型变量因为 Claude Code 内部很多无感后台任务比如生成会话标题、总结文件内容不需要动用最强模型。ANTHROPIC_SMALL_FAST_MODEL就是为了这类低成本任务准备的。如果你只设了ANTHROPIC_MODEL后台任务可能还会尝试请求默认的轻量模型名而智谱侧并没有叫那个名字的模型于是报错。5.3 临时变量 vs 永久保存临时 export 只对当前终端有效关掉终端就没了。适合第一次尝鲜验证。想长期使用就需要把配置固化下来。macOS / Linux 可以写进 shell 配置文件。如果用的是 zshecho export ANTHROPIC_BASE_URLhttps://open.bigmodel.cn/api/anthropic ~/.zsh
返回列表