如何配置 Codex 和 Claude Code 使用中转 API
这篇只讲实操:你已经有一个 AI 中转站账号,现在要让 Codex 和 Claude Code 都走中转 API。
先分清两件事:
- Codex 要走 OpenAI Responses 兼容入口。
- Claude Code 要走 Anthropic Messages 兼容入口。
开始前先准备三样东西
打开中转站后台,先找到:
- OpenAI 兼容地址:例如
https://relay.example.com/v1,给 Codex 用。 - Anthropic 兼容地址:例如
https://relay.example.com,给 Claude Code 用。 - API key 和模型名:例如
sk-...、gpt-5.5、claude-sonnet-4-6。模型名以中转站后台的真实 model id 为准。
这里要特别注意 /v1 后缀。很多 OpenAI 兼容平台会把入口写成 https://relay.example.com/v1,但也有平台要求你只填 https://relay.example.com,由平台自己拼接路径。不要死记示例,优先看中转平台文档;不确定时,带 /v1 和不带 /v1 都用最小命令试一下。
这篇会把 key 放到用户目录里的独立文件:
- Codex key:
~/.codex/relay-openai.key - Claude Code key:
~/.claude/relay-anthropic.key
这样比写进项目仓库安全,也比让新手配置一堆 shell 环境变量更直观。
Windows:PowerShell 原生配置
如果你在 Windows Terminal / PowerShell 里运行 codex 和 claude,按这一节来。如果你用 WSL,跳到下一节。
第 1 步:确认命令可用
打开 PowerShell:
codex --version
claude --version
缺哪个就安装哪个:
npm install -g @openai/codex
npm install -g @anthropic-ai/claude-code
第 2 步:创建 Codex key 文件
Codex 的 key 文件放这里:
C:\Users\你的用户名\.codex\relay-openai.key
在 PowerShell 里执行:
New-Item -ItemType Directory -Force "$HOME\.codex"
Set-Content -NoNewline -Path "$HOME\.codex\relay-openai.key" -Value "sk-your-relay-openai-key"
把 sk-your-relay-openai-key 换成你的中转站 OpenAI 兼容 API key。
第 3 步:编辑 Codex 配置文件
Codex 主配置文件在:
C:\Users\你的用户名\.codex\config.toml
打开文件:
notepad "$HOME\.codex\config.toml"
写入下面内容。重点是 auth.command:Codex 会运行这个命令,从 key 文件里读取 token。
model = "gpt-5.5"
model_provider = "relay-openai"
[model_providers.relay-openai]
name = "Relay OpenAI"
base_url = "https://relay.example.com/v1"
wire_api = "responses"
[model_providers.relay-openai.auth]
command = "powershell"
args = ["-NoProfile", "-Command", "Get-Content -Raw $HOME/.codex/relay-openai.key"]
[profiles.relay]
model = "gpt-5.5"
model_provider = "relay-openai"
model_reasoning_effort = "medium"
保存后关闭记事本。
第 4 步:创建 Claude Code key 文件
Claude Code 的 key 文件放这里:
C:\Users\你的用户名\.claude\relay-anthropic.key
执行:
New-Item -ItemType Directory -Force "$HOME\.claude"
Set-Content -NoNewline -Path "$HOME\.claude\relay-anthropic.key" -Value "sk-your-relay-anthropic-key"
第 5 步:编辑 Claude Code 配置文件
Claude Code 主配置文件在:
C:\Users\你的用户名\.claude\settings.json
打开:
notepad "$HOME\.claude\settings.json"
写入:
{
"$schema": "https://json.schemastore.org/claude-code-settings.json",
"apiKeyHelper": "powershell -NoProfile -Command \"Get-Content -Raw $HOME/.claude/relay-anthropic.key\"",
"env": {
"ANTHROPIC_BASE_URL": "https://relay.example.com",
"ANTHROPIC_MODEL": "claude-sonnet-4-6"
}
}
这里 apiKeyHelper 会从 key 文件读取密钥。你不需要在 PowerShell 里设置 ANTHROPIC_API_KEY。
第 6 步:验证
codex exec --profile relay "Say hello in one short sentence."
claude -p "Say hello in one short sentence."
两条命令都能返回一句话,再让它们改代码。
Windows:如果你用 WSL
如果你的项目放在 WSL 里,例如 Ubuntu,那么不要编辑 Windows 的 C:\Users\...\ 文件。你要编辑 WSL 里的 Linux 文件:
/home/你的Linux用户名/.codex/config.toml
/home/你的Linux用户名/.codex/relay-openai.key
/home/你的Linux用户名/.claude/settings.json
/home/你的Linux用户名/.claude/relay-anthropic.key
先进入 WSL:
wsl
确认自己在 WSL:
echo $WSL_DISTRO_NAME
能输出 Ubuntu、Debian 之类的名字,就按 Linux 章节配置。
macOS:Terminal 配置
macOS 的用户目录通常是 /Users/你的用户名。
第 1 步:确认命令可用
打开 Terminal:
codex --version
claude --version
缺哪个装哪个:
npm install -g @openai/codex
npm install -g @anthropic-ai/claude-code
第 2 步:创建 Codex key 文件
mkdir -p ~/.codex
printf "%s" "sk-your-relay-openai-key" > ~/.codex/relay-openai.key
chmod 600 ~/.codex/relay-openai.key
把 sk-your-relay-openai-key 换成你的中转站 OpenAI 兼容 API key。
第 3 步:编辑 Codex 配置文件
Codex 配置文件是:
/Users/你的用户名/.codex/config.toml
用 TextEdit 打开:
touch ~/.codex/config.toml
open -e ~/.codex/config.toml
也可以用 nano:
nano ~/.codex/config.toml
写入下面内容。注意把 /Users/your-user/ 改成你自己的用户名路径。
model = "gpt-5.5"
model_provider = "relay-openai"
[model_providers.relay-openai]
name = "Relay OpenAI"
base_url = "https://relay.example.com/v1"
wire_api = "responses"
[model_providers.relay-openai.auth]
command = "cat"
args = ["/Users/your-user/.codex/relay-openai.key"]
[profiles.relay]
model = "gpt-5.5"
model_provider = "relay-openai"
model_reasoning_effort = "medium"
为什么这里不用 ~?因为 Codex 直接运行 cat,不会帮你展开 ~。所以要写绝对路径。
第 4 步:创建 Claude Code key 文件
mkdir -p ~/.claude
printf "%s" "sk-your-relay-anthropic-key" > ~/.claude/relay-anthropic.key
chmod 600 ~/.claude/relay-anthropic.key
第 5 步:编辑 Claude Code 配置文件
Claude Code 配置文件是:
/Users/你的用户名/.claude/settings.json
打开:
touch ~/.claude/settings.json
open -e ~/.claude/settings.json
写入。注意把 /Users/your-user/ 改成你自己的用户名路径。
{
"$schema": "https://json.schemastore.org/claude-code-settings.json",
"apiKeyHelper": "cat /Users/your-user/.claude/relay-anthropic.key",
"env": {
"ANTHROPIC_BASE_URL": "https://relay.example.com",
"ANTHROPIC_MODEL": "claude-sonnet-4-6"
}
}
第 6 步:验证
codex exec --profile relay "Say hello in one short sentence."
claude -p "Say hello in one short sentence."
Linux:Bash / Zsh 配置
Linux 和 WSL 基本一样。
第 1 步:确认命令可用
codex --version
claude --version
缺哪个装哪个:
npm install -g @openai/codex
npm install -g @anthropic-ai/claude-code
第 2 步:创建 Codex key 文件
mkdir -p ~/.codex
printf "%s" "sk-your-relay-openai-key" > ~/.codex/relay-openai.key
chmod 600 ~/.codex/relay-openai.key
第 3 步:编辑 Codex 配置文件
Linux 路径是:
/home/你的用户名/.codex/config.toml
编辑:
nano ~/.codex/config.toml
写入。把 /home/your-user/ 改成你的真实路径。
model = "gpt-5.5"
model_provider = "relay-openai"
[model_providers.relay-openai]
name = "Relay OpenAI"
base_url = "https://relay.example.com/v1"
wire_api = "responses"
[model_providers.relay-openai.auth]
command = "cat"
args = ["/home/your-user/.codex/relay-openai.key"]
[profiles.relay]
model = "gpt-5.5"
model_provider = "relay-openai"
model_reasoning_effort = "medium"
第 4 步:创建 Claude Code key 文件
mkdir -p ~/.claude
printf "%s" "sk-your-relay-anthropic-key" > ~/.claude/relay-anthropic.key
chmod 600 ~/.claude/relay-anthropic.key
第 5 步:编辑 Claude Code 配置文件
Linux 路径是:
/home/你的用户名/.claude/settings.json
编辑:
nano ~/.claude/settings.json
写入。把 /home/your-user/ 改成你的真实路径。
{
"$schema": "https://json.schemastore.org/claude-code-settings.json",
"apiKeyHelper": "cat /home/your-user/.claude/relay-anthropic.key",
"env": {
"ANTHROPIC_BASE_URL": "https://relay.example.com",
"ANTHROPIC_MODEL": "claude-sonnet-4-6"
}
}
第 6 步:验证
codex exec --profile relay "Say hello in one short sentence."
claude -p "Say hello in one short sentence."
配置文件到底放哪里?
| 配置内容 | Codex | Claude Code |
|---|---|---|
| 主配置 | ~/.codex/config.toml | ~/.claude/settings.json |
| API key 文件 | ~/.codex/relay-openai.key | ~/.claude/relay-anthropic.key |
| 项目专用配置 | .codex/config.toml | .claude/settings.local.json |
| 团队共享规则 | 仓库里的 .codex/ 配置,确认不含密钥 | .claude/settings.json,确认不含密钥 |
Windows 映射:
~/.codex/config.toml在 Windows 原生环境里就是%USERPROFILE%\.codex\config.toml。~/.claude/settings.json在 Windows 原生环境里就是%USERPROFILE%\.claude\settings.json。- WSL 里的
~是 Linux home,不是 Windows home。
常见错误
Codex 报 404
优先检查 base_url 和协议:
wire_api = "responses"
base_url 的 /v1 后缀不是固定答案。你的中转平台如果文档写 https://relay.example.com/v1,就带 /v1;如果文档只写 https://relay.example.com,就先不要带。报 404 时,最常见的排查方式就是把这两个地址都试一遍:
base_url = "https://relay.example.com/v1"
base_url = "https://relay.example.com"
所以中转站必须支持 OpenAI Responses API。只支持 /v1/chat/completions 的中转站,不一定能跑 Codex。
Codex 提示认证失败
先确认 key 文件存在:
cat ~/.codex/relay-openai.key
如果能看到 key,再确认 config.toml 里的 args 是绝对路径。macOS 要像 /Users/your-user/...,Linux 要像 /home/your-user/...。
Claude Code 鉴权失败
先确认 apiKeyHelper 能输出 key。
macOS / Linux:
cat ~/.claude/relay-anthropic.key
Windows PowerShell:
Get-Content -Raw "$HOME\.claude\relay-anthropic.key"
如果能输出 key,再检查 ANTHROPIC_BASE_URL 是否是 Anthropic 兼容地址,而不是 OpenAI /v1 地址。
模型名找不到
中转站面板里的展示名不一定等于 API model id。以中转站文档或 /models 返回为准。
Codex 改这里:
model = "gpt-5.5"
Claude Code 改这里:
{
"env": {
"ANTHROPIC_MODEL": "claude-sonnet-4-6"
}
}
最后检查清单
配置完先按这个顺序检查:
codex --version和claude --version都能输出版本。- Codex 的 key 文件和
config.toml都在正确路径。 - Claude Code 的 key 文件和
settings.json都在正确路径。 - API key 没有写进项目仓库。
codex exec --profile relay "Say hello"能返回。claude -p "Say hello"能返回。- 再让它们读取一个小文件,最后才让它们改代码。
Agent 工具一旦开始多轮任务,会持续消耗额度。先用最小命令验证,能省很多排错时间。