资讯动态

Claude Code接入GLM-4.7完整配置:环境变量、兼容网关与验证指南

发布时间:2026/10/22 4:36:06 来源:尧图企业网站定制
我在终端里跑 Claude Code 跑了快两个月一直用默认的模型配置。说句实话默认配置确实省心该有的能力全都给你配好了。但后来有个项目需要统一走团队在 GLM 开放平台上的 API 额度顺带想把单次长任务的成本降下来我就认真折腾了一轮把 Claude Code 换成 GLM-4.7 驱动的完整配置。整件事比我想象中简单得多。Claude Code 并不强制绑定某一个模型它只是按照固定的 API 请求格式去调模型服务而这个请求地址本身就是可以改的。GLM-4.7 的开放平台又恰好提供了 Anthropic 兼容网关于是只要把几个环境变量改一下Claude Code 最核心的能力——读仓库、调工具、改代码、跑命令、看结果再迭代——就全部接管为 GLM-4.7 来驱动了。这篇文章就是这次配置的完整操作记录。内容包括前置准备、三种配置方式、配置后的验证流程、常见问题排查以及一些常规文档里不会细写的搭配心得。适合已经用过 Claude Code、想换模型试水的开发者也适合刚接触 Agent 编程、想用 GLM-4.7 低成本入门的读者。按下面的步骤走二十分钟左右就能跑通。1. 配置前先搞清楚Claude Code 的模型接入到底怎么工作很多人在第一步就卡住了上来就把地址配错。根本原因是没有理解 Claude Code 和模型服务商之间是怎么通信的。先花几分钟把这个逻辑理顺后面所有配置都能一眼看懂。1.1 为什么第三方模型能无缝替换Claude Code 本质上是一个 Agent 型编码工具。它和普通聊天窗口最大的区别是它不止生成文字还会主动调用工具——读取文件、执行 shell 命令、编辑代码、运行测试然后根据执行结果继续推理。这一整套循环依赖模型的工具调用能力。从通信层面看Claude Code 发出的请求遵循 Messages API 格式请求体里包含 system、messages、tools 这些字段响应里除了纯文本还会有 tool_use 这样的结构化工具调用块。所以任何能理解这种格式、能正确返回工具调用块的模型服务理论上都能接进来。GLM-4.7 这类兼容网关所做的事就是把这些请求翻译成自家模型的输入再把模型的输出翻译回 Claude Code 认识的格式。所以关键问题不是Claude Code 支不支持某某模型而是你选的模型服务商有没有提供 Anthropic 兼容端点。理解了这一点后面配置就不会迷路。1.2 四个环境变量各管什么实际起作用的通常是这四个环境变量环境变量作用配置时注意ANTHROPIC_BASE_URL请求发往哪里默认是官方地址接 GLM 后要改成兼容网关地址ANTHROPIC_AUTH_TOKEN用什么身份认证接第三方网关时用它携带 GLM 的 API KeyANTHROPIC_MODEL主模型 ID核心编码、推理、工具调用都由它承担ANTHROPIC_SMALL_FAST_MODEL后台小模型 ID负责标题生成、上下文压缩、文件摘要等隐形任务我见过不少配置翻车案例就是把前两个配好了却漏掉第四个。结果表面上看 Claude Code 一切正常后台任务却一直在按默认模型计费成本完全失控。举个例子你让 Claude Code 总结一个超长文件时它会自动触发后台压缩任务开启一个新对话时它要生成对话标题。这些任务如果都跑旗舰模型一次两次感觉不到一天下来量非常可观。提示接第三方网关时建议统一用 ANTHROPIC_AUTH_TOKEN 做认证并确保旧的 ANTHROPIC_API_KEY 已经 unset。两者同时存在时可能互相干扰导致启动时报鉴权错误。1.3 一个关键前提Anthropic 兼容网关这里必须强调一个高频踩坑点不是随便一个 OpenAI 兼容地址都能用。很多人习惯把某个https://xxx/v1/chat/completions当成万能地址但它和 Claude Code 需要的.../v1/messages格式完全不同两者连路径都对不上。如果模型服务商只提供 OpenAI 兼容接口那中间必须加一层转换服务请求先翻译成 OpenAI 格式返回再翻译回来——多一层转换就多一个失败点出了问题时你甚至分不清是模型本身不行还是转换层出了问题。所以我个人的建议是优先用服务商官方提供的 Anthropic 兼容网关。GLM 开放平台在模型广场和接入文档里给出了专门面向 Claude Code 的说明网关地址一般直接写在控制台或文档页里形如https://平台域名/api/anthropic。配置时认准这个路径不要自己拼接。2. 动手前准备环境、密钥与连通性验证配置本身只要几分钟但前置准备如果偷懒后面排查会非常难受。我习惯按环境、密钥、连通性三步走每一步都有明确的验证标准。2.1 安装与基础环境自检Claude Code 依赖 Node.js 运行时。先确认版本node -v npm -v版本太旧会遇到各种莫名其妙的兼容问题。我的建议是 Node.js 18 以上直接上 20 LTS 最稳妥。安装 Claude Code 本身很简单npm install -g anthropic-ai/claude-code claude --version如果你发现 npm 安装速度很慢可以先配置 registry 镜像再装。装完后能正常输出版本号这一步就算过了。2.2 获取 GLM-4.7 的 API Key接下来去 GLM 开放平台控制台创建一个 API Key。几个容易被忽略的细节Key 类型和权限要看清楚有些平台区分不同用途选错会导致请求被拒。Key 创建后通常只展示一次一定要当场复制并妥善保存丢了就得重新创建。确认账户有可用余额或免费额度否则配置完成后第一个请求就返回 402 或 429你会误以为是配置问题。密钥不要放在会被提交的代码或仓库文件里。后面讲配置方式时会专门说明怎么安全存放。2.3 先别急着配用 curl 验证网关我强烈建议在配置 Claude Code 之前先用 curl 直接打网关。这一步能把网关地址和密钥两件事先验证干净相当于把两个变量变成零个变量。否则一旦配置出错你会同时面对密钥错了和地址错了两种可能排查效率极低。以一个最小请求为例curl https://平台域名/api/anthropic/v1/messages \ -H x-api-key: 你的GLM_API_KEY \ -H anthropic-version: 2023-06-01 \ -H content-type: application/json \ -d { model: glm-4.7, max_tokens: 1024, messages: [ {role: user, content: 用一句话说明你是谁} ] }如果返回了正常的 message 内容说明网关地址和密钥都没问题。如果返回 401多半是密钥或认证头写法不对如果返回 404多半是地址压根不是兼容路径。认证头具体用 x-api-key 还是 Authorization: Bearer以网关文档为准——curl 里怎么通过Claude Code 里就用对应的环境变量两者保持一致。注意curl 验证通过不代表万事大吉但至少排除了密钥不可用、地址不可达这两类基础故障。后面如果还有问题就可以放心地把注意力集中在模型 ID 和工具调用上。2.4 这一步不需要做的事这个阶段最容易犯的错是过度准备。有人会在中途重启服务、改系统级配置文件、装各种辅助工具其实通通不需要。Claude Code 每次启动都是从环境变量和配置文件里读取模型设置改完重启终端进程即可不涉及任何系统层面的修改。3. 三种配置方式按使用场景选一个配置方式本质上只有一种把 BASE_URL、AUTH_TOKEN、MODEL、SMALL_FAST_MODEL 这几个值告诉 Claude Code。不同方式只是载体不同、生效范围不同适用场景也各不相同。3.1 临时切换环境变量方案环境变量方案适合第一次验证、临时切换或者不想永久改动默认配置的场景。在终端里执行export ANTHROPIC_BASE_URLhttps://平台域名/api/anthropic export ANTHROPIC_AUTH_TOKEN你的GLM_API_KEY export ANTHROPIC_MODELglm-4.7 export ANTHROPIC_SMALL_FAST_MODELglm-4.7-air claude几个注意点这些 export 只对当前终端会话生效关掉终端就自动失效不会污染全局配置。如果之前设置过 ANTHROPIC_API_KEY先执行unset ANTHROPIC_API_KEY再启动 claude。不想手动 unset 的话干脆新开一个干净的终端窗口。启动后立刻输入/status查看当前会话的模型信息确认是不是 GLM-4.7。这套方案最大的缺点是每次都要敲一遍容易漏。所以它适合验一次不适合长期用。3.2 一劳永逸用户级 settings.json想长期用 GLM-4.7 驱动 Claude Code我推荐把配置写进用户级配置文件。Claude Code 会读取~/.claude/settings.json你可以在这个文件里用 env 字段声明环境变量。直接编辑文件或者在 claude 里输入/config后手动改{ env: { ANTHROPIC_BASE_URL: https://平台域名/api/anthropic, ANTHROPIC_AUTH_TOKEN: 你的GLM_API_KEY, ANTHROPIC_MODEL: glm-4.7, ANTHROPIC_SMALL_FAST_MODEL: glm-4.7-air } }保存后重启 claude这套配置会对当前用户的所有项目生效。以后无论你在哪个目录启动 Claude Code请求都会自动走 GLM-4.7。想换回默认模型时把 env 块清空或删除即可。我个人日常就是用这种方式因为它在全局生效和可维护性之间最平衡。唯一要提醒的是用户级配置的改动会影响这台机器上所有项目如果你同时维护多个模型切换需求可以结合后面的 shell 函数方案而不是频繁改这个文件。3.3 团队协作项目级 settings.json 与 settings.local.json如果你在公司仓库或开源项目里使用还有项目级配置和本地配置两层可用项目级配置放在仓库根目录.claude/settings.json跟随仓库一起提交团队 clone 下来就自动生效。适合统一团队的主模型设置。本地敏感配置放在.claude/settings.local.json这个文件默认被 git 忽略适合放 AUTH_TOKEN、BASE_URL 这类与个人密钥强相关的值。典型的两层拆分是这样的。.claude/settings.json可以进版本库{ env: { ANTHROPIC_MODEL: glm-4.7 } }.claude/settings.local.json不进版本库{ env: { ANTHROPIC_BASE_URL: https://平台域名/api/anthropic, ANTHROPIC_AUTH_TOKEN: 你的GLM_API_KEY, ANTHROPIC_SMALL_FAST_MODEL: glm-4.7-air } }这样新同事 clone 仓库后即使没有任何个人配置也能自动用上项目指定的 GLM-4.7 主模型只需要在自己的 local 文件里填入密钥。需要强调一句永远不要把 AUTH_TOKEN 写进会进版本库的 settings.json否则密钥等于裸奔。我见过真实的泄露案例虽然最后没有造成实际损失但改动历史里留下的密钥记录清理起来非常麻烦。提示项目级配置、用户级配置、环境变量同时存在时生效优先级在不同版本里略有差异。不要死记规则配置完成后用/status和会话日志双重确认当前实际生效的是哪个模型。4. 配置完成后这样验证才算数配置完不是能启动就行要按层次逐步验证确保不只是能聊天而是能干活。4.1 三分钟基础验证先做最简单的一层启动 claude。输入/status确认 model 字段显示的是 glm-4.7 而不是默认模型。随便问一个编程问题比如请用 Python 写一个二分查找函数看能否正常生成代码。这一步通过说明最基本的请求链路是通的。但还远远不够因为聊天能通过不代表工具调用能通过。很多模型接进来后聊天很流畅一让它执行命令就卡住问题正是出在工具调用上。4.2 用真实任务验证工具调用Claude Code 的杀手锏是能操作你的终端和文件系统。所以验证核心要看它能不能调用工具而不是只会聊天。找一个可逆的小任务比如让它在当前目录创建 test_glm.md 并写入三行内容让它执行 ls 并告诉我有哪些文件。如果在执行过程中你能看到 Claude Code 自主选择了 Bash 工具或文件编辑工具并且根据执行结果给出了下一步动作说明工具调用链路是通的。如果它只会回复我建议你手动执行那大概率是工具调用格式转换出了问题需要排查网关的兼容度。4.3 翻会话日志确认模型与用量这是我个人最推荐的验证手段。Claude Code 会在~/.claude/projects/目录下按项目留存会话 JSONL 日志。你可以打开最近一次会话日志搜索 model 字段看看每次请求到底被路由到了哪个模型、用了多少 token。日志里的记录大概长这样{type:assistant,message:{model:glm-4.7,usage:{input_tokens:1280,output_tokens:342}}} {type:assistant,message:{model:glm-4.7-air,usage:{input_tokens:512,output_tokens:96}}}我实际排查过几次费用不对的问题全是靠日志定位的。比如后台任务误用了主模型、或者小模型没生效单看界面根本发现不了打开日志一眼就能看到每次调用的 model 名和 usage 计数。这比任何界面上的状态显示都靠谱。5. 常见问题与排查实录接入过程中我踩过不少坑也帮几位朋友排查过类似问题。下面是最高频的几个问题先整理成速查表再逐条展开。现象可能原因快速定位手段401 Unauthorized / Invalid API Key密钥错误、认证头写法不对、API_KEY 与 AUTH_TOKEN 混用env | grep ANTHROPIC自查用 curl 先验证404 Not FoundBASE_URL 指向了 OpenAI 兼容地址不是 Anthropic 兼容网关用 curl 打.../v1/messages确认路径model not found / 模型不存在模型 ID 与平台型号不完全一致对照官方模型 ID注意大小写与版本后缀请求卡住、SSE 中断网关不支持流式或工具调用小模型型号不匹配换官方最新网关检查 SMALL_FAST_MODEL429 Too Many Requests账户并发与额度限制控制台查额度降低同时打开的会话数长任务中途掉上下文模型上下文窗口比默认假设小分阶段任务用 /compact 压缩5.1 401先确认密钥变量有没有被干扰最常见的原因不是密钥本身错误而是环境变量打架。我遇到过一次配置AUTH_TOKEN 明明正确但系统里还留着旧的 ANTHROPIC_API_KEYClaude Code 优先读了后者网关直接返回 401。排查顺序建议是先执行env | grep ANTHROPIC看当前环境里有哪些变量确认只有一个认证来源再拿同样的密钥用 curl 打网关排除密钥本身的问题。这一步做完401 基本都能定位到原因。5.2 404BASE_URL 拼错是重灾区Claude Code 请求的真实路径是/v1/messages。如果你把 BASE_URL 配成了https://xxx/v1网关返回 404 非常正常。正确写法通常是平台文档里给出的完整前缀一般是https://平台域名/api/anthropicClaude Code 会在它后面自动拼接/v1/messages。另一个隐蔽问题是有些平台同时提供多个网关域名不同区域可能不通用密钥也不能跨网关混用。如果你用的是 A 站的密钥配 B 站的网关返回 401 的概率极大。5.3 模型 ID 对不上GLM 平台对模型 ID 的写法是有讲究的。不同版本、不同尺寸的模型 ID 可能带后缀比如glm-4.7和某个带日期后缀的版本号并不完全等价。配置里写错一个字符就会报 model not found。正确做法是以官方模型广场或控制台实际列出的 ID 为准不要靠记忆。配置完成后在会话里用/model查看当前生效的模型名确认与后台一致。5.4 卡顿与中断流式与工具调用优先排查如果你发现 Claude Code 能正常开始回答但经常中途断掉或者工具调用后没有后续动作大概率是网关的流式响应或工具返回格式有问题。这时候建议先做两件事第一把 Claude Code 升级到最新版本。模型兼容性修补通常会随版本更新推进很多问题在新版里已经被修掉。第二优先换官方 Anthropic 兼容网关而不是继续折腾第三方转换层。转换层在普通聊天场景下表现尚可一旦涉及复杂工具调用格式转换错误几乎不可避免。5.5 429额度有限不只是配置问题GLM-4.7 如果同时开多个 claude 会话很容易触发并发限制。严格来说 429 不是配置问题但在配置有没有生效的排查阶段它很容易混淆视听。遇到 429先别改配置去控制台看额度与并发说明必要时把不用的 claude 会话关掉再试。6. 进阶心得模型搭配、切换脚本与安全红线配置跑通只是开始。这段时间实际用下来有几个配置之外的经验我觉得比配置本身更值得分享。6.1 主模型与后台小模型的搭配我建议主模型用 GLM-4.7 这类旗舰型号处理核心编码和工具调用SMALL_FAST_MODEL 选配套的轻量型号比如 air 或 flash 级别。原因很简单后台任务的调用频率远高于你的主对话。文件摘要、上下文压缩、标题生成这类任务又短又快用小模型处理一天下来能省下很可观的 token。在我自己的使用统计里小模型的调用次数经常是主模型的好几倍这个数量级差距直接决定了账单大小。所以配置时千万不要省略这个变量——省略的后果不是功能不可用而是账单悄悄变大。6.2 一键切换脚本与日常使用习惯如果你不想把 GLM-4.7 设成全局默认又希望随时切换可以在 shell 配置文件里放一个函数。我自己的做法是claude-glm() { export ANTHROPIC_BASE_URLhttps://平台域名/api/anthropic export ANTHROPIC_AUTH_TOKEN你的GLM_API_KEY export ANTHROPIC_MODELglm-4.7 export ANTHROPIC_SMALL_FAST_MODELglm-4.7-air claude unset ANTHROPIC_BASE_URL ANTHROPIC_AUTH_TOKEN ANTHROPIC_MODEL ANTHROPIC_SMALL_FAST_MODEL }这样平时启动 claude 还是默认模型想用 GLM-4.7 时执行claude-glm即可。退出 claude 后环境变量自动清理不会影响其他终端。密钥也只存在于 shell 函数里不写进任何配置文件。对我这种需要在两种模型之间反复切换的人来说这个方案比反复改 settings.json 顺手太多。6.3 几条安全红线最后说几条我自己一直遵守的底线密钥不进版本库。项目级 settings.json 只放模型 ID密钥一律放 settings.local.json 或环境变量。本地配置文件设好权限。settings.local.json 可以执行chmod 600避免同机其他用户读到。定期核对用量。Claude Code 里的/cost可以看最近会话费用再配合会话日志确认请求模型与 token 消耗是否正常。升级要谨慎。Claude Code 大版本升级后先用环境变量方式验证一遍 GLM 网关再决定要不要彻底切过去。这些规矩看着简单但都是实打实换来的教训。尤其是密钥进版本库那一次虽然最后没有外泄但清理历史记录的过程足够让人长记性。根据我个人的实操体会把 Claude Code 接到 GLM-4.7 这件事难点从来不在改配置而在于理解请求格式和兼容网关这两层概念。把第一节的逻辑吃透后面的所有步骤都只是重复执行而已。如果你现在正卡在某个报错上建议先退回 curl 验证那一步把底色打干净再往上走。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑