让 Claude Code 指向国产大模型:BASE_URL 接入指南

Claude Code 好用,但订阅费和额度是两回事——额度用完就得等。好在这套 CLI 允许你把请求打到任意兼容 Anthropic Messages API 的服务上,理解这一点,后端的可选项一下就打开了。

请求被改了去哪

Claude Code 与自定义后端

Claude Code → 你设的 BASE_URL 网关 → 目标模型。CLI 的逻辑、快捷键、工具调用都不变,变的只是它请求的那一端。

操作步骤速览

接入步骤

一、三个环境变量

步骤 1:设置三个环境变量

Claude Code 认这三个:

变量 作用
ANTHROPIC_BASE_URL 把请求指到哪 —— 你的兼容网关
ANTHROPIC_AUTH_TOKEN 该网关的密钥
ANTHROPIC_MODEL 想用的模型名(按网关的命名填)

一行命令临时试:

export ANTHROPIC_BASE_URL="https://your-gateway.example.com"
export ANTHROPIC_AUTH_TOKEN="sk-xxxxxxxx"
export ANTHROPIC_MODEL="your-model-name"
claude

二、写进 settings.json 更省事

步骤 2:写进 settings.json 持久化

每次开终端都要 export 太烦。放进 Claude Code 的配置文件(~/.claude/settings.json):

{
  "env": {
    "ANTHROPIC_BASE_URL": "https://your-gateway.example.com",
    "ANTHROPIC_AUTH_TOKEN": "sk-xxxxxxxx",
    "ANTHROPIC_MODEL": "your-model-name",
    "ANTHROPIC_SMALL_FAST_MODEL": "your-small-model"
  }
}

ANTHROPIC_SMALL_FAST_MODEL 是给「快速小任务」(生成 commit message、补全)用的,填个便宜的小模型能明显省钱。

三、验证是不是真的生效

步骤 3:验证是否打通

claude -p "读一下当前目录的 README,用一句话总结"

能正常调用工具、返回结果,就说明打通了。如果报 401,是 token 不对;报 404,多半是 BASE_URL 少写了 /v1 或路径不对,对着网关文档核一下。

三个必须知道的点

  • 接口必须兼容 Anthropic 的 Messages 格式,不是所有「OpenAI 兼容」服务都行。有的网关同时提供两种协议,认准 Anthropic 那一个。
  • 工具调用(tool use)能力因模型而异。编程任务里 Claude Code 重度依赖 function calling,模型支持不好会表现为「它不动手,只在聊天」。
  • 密钥仍是密钥。写在 settings.json 里意味着任何能读这个文件的进程都能读到,别提交进 git 仓库。

小结

把 base URL 换掉,本质是解耦:CLI 是你的工作台,模型是后端。哪家划算、哪天出新的,改一行配置就切换,工作流不用重学。

常见问题

所有国产模型都能接吗?

不行,必须兼容 Anthropic 的 Messages API 格式。不少网关同时提供 OpenAI 和 Anthropic 两种协议,要认准后者。

会不会影响 Claude Code 的工具调用?

取决于模型自身的 function calling 能力。支持不好的模型会表现为「只聊天不动手」,换一个工具调用强的模型即可。

相关阅读

上一篇 用 Cloudflare Workers + KV 免费搭一个自己的短链服务