给 Claude Code / OpenAI Codex 配置自定义 API 端点(Base URL)的完整方法
适用:希望让 Claude Code、OpenAI Codex 走自建或第三方「OpenAI / Anthropic 兼容」端点的开发者。涉及环境变量配置、连通性验证、常见报错排查与密钥安全。
一、为什么会有这个需求
Claude Code(Anthropic 的命令行编程工具)和 OpenAI Codex(CLI / VS Code / 桌面端)默认连各自官方的 API 端点。但这两个工具其实都支持把端点指向自定义地址——这是官方提供的能力,常见用途包括:
- 走公司内部网关做统一鉴权、审计与限流;
- 走一个「OpenAI / Anthropic 协议兼容」的中转/聚合端点,统一管理多个工具的密钥与用量;
- 在某些网络环境下用一个可达的中转地址替代官方地址。
本文不讨论该不该这么做,只把配置方法、验证手段和踩坑点讲清楚。下面以一个 OpenAI/Anthropic 兼容的第三方中转服务(aitokensflux)为例演示,换成你自建网关或其他兼容端点,步骤完全一样。
二、先理解原理:两套兼容协议
Claude Code 和 Codex 分属两套 API 协议,配置时要分开对待:
| 工具 | 协议 | 关键环境变量 | 端点形态 |
|---|---|---|---|
| OpenAI Codex | OpenAI 兼容 | OPENAI_BASE_URL、OPENAI_API_KEY |
形如 https://<host>/v1 |
| Claude Code | Anthropic 兼容 | ANTHROPIC_BASE_URL、ANTHROPIC_AUTH_TOKEN |
形如 https://<host> |
注意两个差异点:
- OpenAI 协议的 Base URL 通常带
/v1后缀,Anthropic 协议通常不带。具体以你所用端点的文档为准。 - 鉴权变量名不同:OpenAI 侧是
OPENAI_API_KEY,Anthropic 侧 Claude Code 读ANTHROPIC_AUTH_TOKEN(部分版本也兼容ANTHROPIC_API_KEY)。
一个兼容端点一般会给出明确的「官方地址 → 替换地址」对照,例如:
OpenAI: https://api.openai.com → https://<host>/v1
Anthropic: https://api.anthropic.com → https://<host>
下图是该服务后台的「API 接入」页,就是这种 Base URL 替换关系,并在同页管理密钥(可启用/停用/删除):

三、配置 OpenAI Codex
1. 安装 Codex CLI
官方脚本、Homebrew、npm 三选一:
# 官方脚本
curl -fsSL https://chatgpt.com/codex/install.sh | sh
# 或 Homebrew
brew install --cask codex
# 或 npm
npm install -g @openai/codex
codex --version
2. 指向自定义端点
最简单的方式是环境变量(写进 ~/.bashrc / ~/.zshrc 持久化):
export OPENAI_BASE_URL="https://aitokensflux.com/v1"
export OPENAI_API_KEY="sk-你的密钥"
codex
很多兼容服务会提供分平台(Windows / macOS / Linux)的图文配置说明,照着填 Base URL 和 Key 即可:

若你用 VS Code 的 Codex 插件或桌面端,同样是在设置里改 Base URL 与 API Key,不必改任何项目代码。
四、配置 Claude Code
1. 安装
npm install -g @anthropic-ai/claude-code
claude --version
2. 指向自定义端点
export ANTHROPIC_BASE_URL="https://aitokensflux.com"
export ANTHROPIC_AUTH_TOKEN="sk-你的密钥"
claude
部分中转服务把「选择工具 → 给出对应配置」做成了向导,减少手填出错:

配好后,claude / codex 的读仓库、改文件、跑命令、多轮对话等能力与直连官方一致,差异只在请求经过了你指定的端点。
五、验证连通性
改完别急着跑大任务,先用最小请求确认端点和密钥可用。
OpenAI 协议——列模型或发一条对话:
# 列模型
curl https://aitokensflux.com/v1/models \
-H "Authorization: Bearer $OPENAI_API_KEY"
# 发一条 chat
curl https://aitokensflux.com/v1/chat/completions \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"gpt-4o","messages":[{"role":"user","content":"ping"}]}'
Anthropic 协议:
curl https://aitokensflux.com/v1/messages \
-H "x-api-key: $ANTHROPIC_AUTH_TOKEN" \
-H "anthropic-version: 2023-06-01" \
-H "Content-Type: application/json" \
-d '{"model":"claude-3-7-sonnet","max_tokens":16,"messages":[{"role":"user","content":"ping"}]}'
能正常返回 JSON,说明端点与鉴权打通了。
用量、额度、调用记录这类信息一般在服务后台可查,便于排查"到底有没有走通、扣没扣量":

六、常见报错排查
- 401 / 403(鉴权失败):检查 Key 是否填错、是否被停用;确认用对了变量名(OpenAI 侧
OPENAI_API_KEY,Anthropic 侧ANTHROPIC_AUTH_TOKEN)。 - 404 / Not Found:多半是 Base URL 的
/v1后缀加错或漏加。OpenAI 协议通常要/v1,Anthropic 协议通常不要。 - 模型名报错(model not found):中转端支持的模型名可能与官方不完全一致,以其文档/模型列表接口为准。
- 环境变量不生效:确认写进了正确的 shell 配置文件并
source;GUI 应用(VS Code/桌面端)要在其设置里单独配,不读终端的 env。 - 超时 / 偶发失败:中间层无法消除上游模型自身抖动,给关键调用加超时与重试即可。
七、安全与注意事项
- 密钥不要硬编码进代码或提交进仓库,用环境变量或本地配置;多项目建议分别建 Key,便于停用/轮换。
- 把端点指向第三方,意味着请求与密钥会经过第三方服务,涉及公司核心代码或敏感数据时,请先评估合规与信任边界,必要时仍直连官方或走自建网关。
- 自定义端点是官方支持的能力,但具体可用模型、协议细节以你所用端点的文档为准。
八、小结
给 Claude Code / Codex 配置自定义 Base URL 的核心就三步:装好工具、设置对应协议的 Base URL 与 Key 环境变量、用 curl 做最小验证。OpenAI 与 Anthropic 两套协议分清楚(/v1 后缀、变量名差异),再注意密钥安全与第三方信任边界,就能把这套流程稳妥跑起来。
文中以 aitokensflux 的兼容端点做演示,换成自建网关或其他兼容服务步骤一致;具体地址、模型清单与配置细节以对应文档为准。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)