← 返回目录
k4.2动手⏱ 约 8 分钟

用国产模型跑 Claude Code:两家官方配置与静默降级

照着官方文档接上,并在第一时间验证“到底是谁在回答你”

🔎 最后验证 2026-08📚 来源:DeepSeek 官方 Anthropic 兼容接口文档、智谱开放平台 Claude Code 接入文档、本课一手端点存活实测(2026-08-24)🧰 Claude Code、curl
为什么学这个

这是全课最“划算”的一节:你不用换工具,不用重新学界面,不用放弃已经写好的项目规则和护栏——只换掉后面那台发动机。

原理一句话:Claude Code 通过两个环境变量决定“把请求发到哪、用哪把钥匙”。把这两个值指向国内厂商提供的兼容接口,工具本身照旧。

但这一节真正要教的不是那两行配置——那两行任何一篇教程都有,而且抄错的人很多。要教的是配完之后的第一件事:验证到底是谁在回答你。因为这条路上最阴的一个坑,是你用着一个便宜的小模型,却以为自己在用大的,而且全程没有任何报错

💡 打个比方

给车换燃料,加油口是通用的,但不同的油品对应不同的标号,加错了车照样能开一段,只是动力不对、积碳变多——它不会在仪表盘上给你亮一个灯说“你加错了”

兼容接口就是这个加油口。它让你能接上,但接上不等于接对。唯一靠谱的办法是打开发动机盖看看:你请求的型号,和实际给你干活的型号,是不是同一个。

两家的官方写法(以及一个必须说清的差异)

截至 2026 年 8 月,本课核实过官方文档、确认提供 Anthropic 兼容接口的有两家——注意措辞:是“核实过两家”,不是“只有两家”。厂商在陆续增加,你用别家之前自己去它的官方文档确认一次。

DeepSeek智谱
接口地址https://api.deepseek.com/anthropichttps://open.bigmodel.cn/api/anthropic
官方文档里写的密钥变量ANTHROPIC_API_KEYANTHROPIC_AUTH_TOKEN
模型名自动映射,也可直接写自家模型名可在配置里逐档指定

这里有个容易让人绕进去的地方,必须说清楚。两家官方文档写的环境变量名不一样;而主课 6.3「安装 Claude Code」那一节给 DeepSeek 的示例用的是 ANTHROPIC_AUTH_TOKEN。到底谁对?

我们实测了一次:拿一把假密钥,分别用 x-api-keyAuthorization: Bearer 两种鉴权头去打这两个地址。结果是四种组合全部返回“密钥无效”而不是“缺少鉴权头”——也就是说,这两个端点对两种写法都认

所以结论是:先按你选的那家官方文档写,写成另一种大概率也能通;真遇到 401 时,别急着换变量名,先用下面的办法分清是“缺头”还是“key 不对”。

智谱官方给出的配置文件形态是这样(放在用户目录的 .claude/settings.json):

{
  "env": {
    "ANTHROPIC_AUTH_TOKEN": "你的密钥",
    "ANTHROPIC_BASE_URL": "https://open.bigmodel.cn/api/anthropic",
    "API_TIMEOUT_MS": "3000000",
    "CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": 1
  }
}

它还支持把三档模型分别指定成自家的型号,并配合更大的上下文窗口设置。具体型号名会随版本变化,以官方文档当时的写法为准——这也是为什么本节把型号名留给你去文档里抄,而不是写死在课里。

那个不报错的坑:静默降级

DeepSeek 的官方文档里写了一句很关键的话:当你传入一个它不认识的模型名时,后端会自动把它映射到自家的轻量模型

请把这句话读第二遍。它的意思是:

  • 你在配置里写了个拼错的型号,或者写了个它这边没有的型号;
  • 请求成功,有回答,没有任何报错;
  • 而实际干活的是一个更小更便宜的模型。

于是你会得出一个错误结论:“这家不行,写复杂点的代码就乱。”——其实你从来没用上你以为在用的那个模型。

这和本站另一门课讲的“假绿灯”是同一种东西:失败没有以失败的形式出现。区别只在于,那次是退出码被吞掉,这次是模型被悄悄换掉。

还有一件事:不是所有能力都跟着过来

兼容不等于等价。DeepSeek 文档明确列出了几项不支持的能力,其中包括 MCP、文档输入、搜索结果、代码执行结果等。

对照主课的进阶内容,这意味着:你围绕 MCP 建起来的那套东西,换到这条路上可能直接失效。 这不是缺点,是边界——提前知道边界,好过用到一半发现某个功能莫名其妙不响应。

🔧 动手做:接上,然后立刻验一次“是谁在答”(6 分钟)

  1. 先探端点。 不带密钥,按 K4.1 的命令打一次目标地址,确认拿到 401 而不是超时。我们在 2026 年 8 月 24 日探过上表两个地址,都是 401(那台机器在新加坡,不能替你证明你的网络可达)。
  2. 再配。 按你选的那家的官方文档填地址和密钥变量——特别注意别把两家的变量名搞混
  3. 然后验。 这是最关键的一步。先 export YOUR_KEY=你的真实密钥,再带上它发一个最小请求,把响应里的模型字段抠出来:
curl -s -m 20 -X POST "$ANTHROPIC_BASE_URL/v1/messages" \
  -H "content-type: application/json" -H "anthropic-version: 2023-06-01" \
  -H "authorization: Bearer $YOUR_KEY" \
  -d '{"model":"你配置里写的那个型号","max_tokens":16,"messages":[{"role":"user","content":"hi"}]}' \
  | grep -o '"model"[^,}]*'

你会看到:grep 出来的那一行形如 "model": "...",里面那个型号要么和你请求的一致(接对了),要么是另一个名字(发生了映射或降级)

这里的匹配写法故意写得松一点([^,}]* 而不是死抠 ":")。原因很实际:有的服务返回紧凑 JSON、有的带空格,写死冒号后面不带空格的话,遇到带空格的响应会一条都匹配不到,而且不报错——那就又是一次假绿灯。不一致本身不一定是错——有的平台就是按档位映射的——但你必须知道它换成了什么,否则你后面对“这家行不行”的所有判断都建立在错误前提上。

为什么:这一步花不到一分钟,却挡住了这条路上最贵的一类误判。没做这一步就下结论说某家模型不行,和没验红就说护栏装好了,是同一种错误。

接之前先想好怎么退回去

换发动机这件事有个容易被忽略的前提:你得能随时切回来。上游限流、余额用完、服务临时不可用,这些都会发生,而它们通常发生在你赶进度的时候。

退路本身很简单,关键是提前确认过一次:

  • 如果你是用环境变量接的,退回去就是把那两个变量取消设置(unset ANTHROPIC_BASE_URL ANTHROPIC_AUTH_TOKEN),开个新终端确认它们真的没了。
  • 如果你是写进 ~/.claude/settings.json 的,先把原文件备份一份再改(cp settings.json settings.json.bak),要退回去就把备份换回来。
  • 无论哪种,改完立刻按上面的办法验一次“是谁在答”——切回去之后同样要验,否则你不知道自己切没切干净。

一句实话:这一步大多数人都会跳过,直到某天线上要交东西而工具连不上。花两分钟备份,省的是那天的两小时。

❓ 测验
在兼容接口里传了一个对方不认识的模型名,最危险的后果是什么?
❓ 测验
下面哪一项在换成兼容接口后可能直接失效,需要提前确认?
⚠️ 避坑遇到 401 别乱改变量名,先分清是“缺头”还是“key 不对”

看到 401 的第一反应常常是换变量名、换写法、来回试。省事的做法是让报错自己说话——这两种失败的报错文本是不一样的:

  • 完全不带鉴权头时,平台会明说缺什么。我们实测时,某国内平台直接用中文回“Header 中未收到 Authorization 参数”。
  • 带了头但密钥不对时,报错会变成“密钥无效”这一类,还常常把你的 key 打码回显给你看。

先跑一次不带密钥的请求对照一下,再决定要改什么。读完报错再动手,比试十遍快。

✅ 小结

换模型不换工具,是这门课性价比最高的一条路:项目规则、护栏、提示词模板全都留着,只改接口地址和密钥。两家官方文档写的密钥变量名不一样,但实测显示两个端点对两种鉴权头都认——所以按官方文档写,遇到 401 先分清是“缺头”还是“key 不对”,别急着换写法。这条路上最阴的坑是静默降级——传了不认识的型号,请求照样成功,回答你的却是个小模型,全程无报错。所以配完的第一件事永远是同一件:发一个最小请求,把响应里的模型字段抠出来看看,到底是谁在回答你。退路要提前备好:环境变量记得能 unset,改配置文件之前先备份一份,切回去之后同样要验一次“是谁在答”。到这里,四道门、三条路、三样通用资产和两种接法都齐了。最后一节不讲新东西,只做一件事:把这十四节收成一页纸——一份你三个月后看得懂、同事能照着走、合规问起来能直接给的方案。

下一节 → 结业:把这门课收成一页纸
🔎 来源与核验· 6 条,点开核对
本节每个关键论断都对应一个可追溯的来源 —— 这是本课程"靠谱、不过时"的底线。
「DeepSeek 提供 Anthropic 兼容接口 https://api.deepseek.com/anthropic,使用 ANTHROPIC_API_KEY」
📚 DeepSeek 官方文档 Anthropic API 指南✓ 已核验 2026-08
「传入不受支持的模型名时,DeepSeek 后端会自动映射到其轻量模型」
📚 DeepSeek 官方文档 Anthropic API 指南✓ 已核验 2026-08
「DeepSeek 兼容接口不支持 MCP、文档输入、搜索结果、代码执行结果等能力」
📚 DeepSeek 官方文档 Anthropic API 指南✓ 已核验 2026-08
「智谱兼容接口地址为 https://open.bigmodel.cn/api/anthropic,密钥使用 ANTHROPIC_AUTH_TOKEN,并给出 settings.json 配置样例」
📚 智谱 AI 开放平台官方文档(Claude Code 接入页)✓ 已核验 2026-08
「两个兼容接口在无密钥请求时均返回 401,智谱以中文提示缺少 Authorization 参数」
📚 本课一手端点存活实测(2026-08-24,新加坡主机)✓ 已核验 2026-08
「用假密钥分别以 x-api-key 与 Authorization: Bearer 请求两家端点,四种组合均返回“密钥无效”而非“缺少鉴权头”,说明两端点对两种写法都接受」
📚 本课一手鉴权头对照实测(2026-08-25,新加坡主机)✓ 已核验 2026-08
智图软件的赞赏码
都看到这了,打个赏呗!
接下来 · k4.3
结业:把这门课收成一页纸
继续读下一节 →