首页 / / 第05篇

05 · 接入 DeepSeek 等第三方模型

一 · 05

通过兼容网关或第三方服务配置模型的基本原理、环境变量、验证方法和风险边界,别把兼容接口当成官方能力。

Claude Code 默认连的是 Anthropic 自家的模型,但它并没有把这扇门关死——留了一个「接第三方模型」的口子,很多用户用它来做成本优化或本地化。这篇讲清楚这条路子能怎么走、不能怎么走。

为什么会有第三方接入需求

最常见的三个动机是:① 想降低 token 成本(官方 Opus 比多数国产模型贵一个量级);② 数据合规——不想走境外 API;③ 团队已经为某个国产模型买了大量 token 额度,想复用。明确你的动机,后面的判断才有依据。

基本原理:兼容接口这层

flowchart LR
  A[Claude Code] --> B[兼容网关 第三方]
  B --> C[真实模型 第三方]
  C -->|响应| B
  B -->|翻译回 Anthropic 协议| A
  style A fill:#5eead4,color:#050a0f
  style B fill:#a78bfa,color:#050a0f
  style C fill:#0f1a24,color:#e6f1f5

第三方接入不是 Claude Code 直接和模型通信——中间经过一个「兼容网关」。原理是:第三方服务商实现 Anthropic 协议的兼容接口,Claude Code 发起请求时,目标 URL 指向这个网关,网关收到请求后翻译给它后端的真实模型,响应回来再翻译回去。对 Claude Code 来说,它全程以为自己在跟 Anthropic 说话。

这种「伪 Anthropic 协议」的兼容方案,让接入成本极低——理论上任何一个愿意实现兼容接口的服务商,都能被 Claude Code 接上。但这里有个隐藏前提:兼容要「真兼容」,不少号称兼容的服务商实际只支持了基础对话,工具调用、流式响应、模型名规范都可能和官方有差异。

实际配置:环境变量这一层

Claude Code 接第三方主要靠环境变量。核心的几个:

  • `ANTHROPIC_BASE_URL`:兼容接口的地址(取代默认的 Anthropic 端点)
  • `ANTHROPIC_AUTH_TOKEN`:第三方服务的 API Key
  • 模型名相关的变量:不同服务商的字段名可能略有差异,常见的有 `ANTHROPIC_MODEL` 或通过 settings.json 里的 model 字段

通用骨架(具体字段名以你用的服务商文档为准):

bash

export ANTHROPIC_BASE_URL=https://你的服务商兼容接口地址/v1

export ANTHROPIC_AUTH_TOKEN=你的_api_key

把这两行加到 shell 配置文件(macOS/Linux 是 `~/.zshrc` 或 `~/.bashrc`,Windows 是 PowerShell profile),重启终端生效。Key 千万不要写进代码仓库或聊天里发出去——它是账户的钱包钥匙。

验证三步:别只信它能回话

能接通 ≠ 能干活。验证要分三步走,由粗到细:

flowchart LR
  A[配置完成] --> B[1. 看模型名]
  B -->|是第三方| C[2. 测试工具调用]
  B -->|是 Claude| X[环境变量没生效]
  C -->|工具能用| D[3. 真实任务]
  C -->|不会用工具| Y[接口工具不全]
  D -->|能用| E[对接成功]
  D -->|不行| Z[找其他模型]
  style A fill:#5eead4,color:#050a0f
  style E fill:#5eead4,color:#050a0f
  style X fill:#22d3ee,color:#050a0f
  style Y fill:#22d3ee,color:#050a0f
  style Z fill:#22d3ee,color:#050a0f

① 看一眼连接:启动 Claude Code,让它「自我介绍」(比如「你的模型是谁?」),看它回的是不是第三方服务商提供的模型名。如果还是默认的 claude-* 系列,说明环境变量没生效或被忽略。

② 真一刀测试:让它做一件 Claude Code 必须用工具的任务——读某个文件、改一段代码、跑一条命令。如果它能做,说明工具调用这条链路也通了;如果它只会回话但拒绝动手(比如回我无法访问文件),那说明兼容接口对工具协议支持不全。

③ 端到端验证:拿一个你日常真实的小任务(比如「帮这个文件加一行注释」),看完成度、质量、速度是不是符合预期。这一步是把「能跑」和「能用」区别开的关键。

风险边界:兼容 ≠ 等同

这是最容易踩坑的地方。第三方模型即使是同一个名字,和官方 Claude 模型的差别可能很大:

  • **工具调用能力**:Claude 模型强在它对工具调用的精确控制、错误处理、长链路规划。第三方模型即便「兼容」了协议,工具调用上往往明显掉链子,尤其是多步骤任务。
  • **上下文长度**:不同服务商宣称的上下文长度,实际可用的往往差很多,Claude Code 长任务里如果需要带大量文件,超出有效长度会静默截断或开始胡编。
  • **推理能力差异**:Claude 模型在复杂推理、代码理解上有口碑优势,第三方模型通常弱一档。这意味着同一段提示词,第三方模型可能理解得浅、改得糙。
  • **响应速度与稳定性**:第三方服务商可能偶发波动,API 限流、模型下架都更常见。

决策对照:要不要接

三个问题快速判断:① 你是不是已经买了 Claude 订阅?如果是,接第三方等于重复付费,不划算。② 你做的任务是简单日常活,还是复杂长链路?后者对模型能力要求高,第三方更容易掉链。③ 你能不能接受偶尔需要切回官方模型的折腾?如果不能,就别接。

经验法则:日常代码问答、改注释、看 bug 这类活,第三方问题不大;大型重构、疑难调试、跨模块推理,官方 Claude 不可替代。

调试手册:常见报错怎么办

① 401 / 鉴权失败:99% 是 Key 没设对——检查 `ANTHROPIC_AUTH_TOKEN` 的名字对不对、有没有拼错、Key 有没有过期、账号有没有欠费。

② 404 / 找不到端点:`ANTHROPIC_BASE_URL` 配置错了——检查地址格式(常见漏 `/v1` 后缀)、服务商域名有没有拼错、HTTPS 而不是 HTTP。

③ 400 / 请求格式错误:兼容接口实现不完整——服务商没全实现 Anthropic 协议。换个服务商或换回官方。

④ 模型名无效:服务商升级改了模型名,但 Claude Code 的环境变量没更新。去服务商文档查最新模型名。

⑤ 能回话但拒绝用工具:兼容接口没实现工具调用协议。这条是「能接但不能用」的典型场景,建议换服务商。

一页速览

接第三方能省成本或做本地化,但代价是模型能力的部分缩水。把它当作「日常糙活的省钱工具」而不是「主力生产工具」会更合适。配置走环境变量,验证分三步(连接 / 工具调用 / 端到端),撞墙时优先排查 Key、URL、模型名这三类高频问题。

动手试一下:比起看十遍,不如立刻打开 Codex 跑一个小任务验证你理解的概念。比如这一篇讲的概念,你可以找一个一分钟能完成的小需求,让它跑一遍,看实际行为是不是和你理解的一致。

五分钟练习:① 找一个一分钟能完成的代码任务 ② 用这一篇的方法描述给 Codex ③ 看它执行时有没有触发你刚学的那个机制 ④ 验证结果是否符合预期。这一轮做下来,你对这一篇的理解会深 3 倍。

延伸阅读:学完这一篇,你可以看本组里的下一篇,把相邻的概念连起来读;也可以跳到更后面的组学 MCP、子代理、Skills 这些更深的能力。知识是网状的,多跳几篇会理解更深。

一页速览:如果只能记三件事,① {一}。② {二}。③ {三}。其他细节以后需要再翻这一篇查。

本教程为原创内容,共 53 篇,覆盖 Claude Code 从入门到高级实战的完整路径。可随时从顶部导航返回目录,或用左侧目录跳转其他章节。