中转站接入客户端配置教程
Claude Code / Codex / Cursor 的地址和 Key 到底填在哪
30 秒结论
- 所有客户端只认两样东西:地址(请求发到哪)和 Key(证明是你)。差别只在于这两样东西填在哪里。
- 命令行工具(Claude Code、Codex CLI)用环境变量或配置文件;图形客户端(Cursor、VS Code 插件、桌面版)要填到设置界面里,且读的是系统级环境变量,不是你在终端里 export 的那个。
- 填错九成是这三种:地址多了或少了
/v1、Key 类型写反(Bearer 还是x-api-key)、改完没重开客户端。 - 配好第一件事:用自己的 Key 跑一次鉴真,确认拿到的是不是真模型。
一、先从中转站后台抄两样东西
中转站后台或文档里一般会给这么几行,把它们原样记下来:
- API 地址(也叫
base_url/ 接口地址 / API 端点)——有的站给两个,一个「OpenAI 格式」一个「Anthropic 格式」,按你要用的客户端选对应的那个。 - API Key(也叫令牌 / token)——就是那串
sk-开头的东西。 - 有时还会给可用模型名的列表——客户端里如果要求填模型名,照抄。
地址不要自己加工。 后台写的是什么就填什么:它带 /v1 你就带,它不带你就别加。客户端会自己往后面拼路径,你多补一层或漏一层,结果就是 404。
Key 建议先在建站后台建一个额度最小的临时 Key用来调试,跑通后再换正式的——教程页上的示例配置写完就删,别留在聊天记录或截图里。
二、Claude Code
Claude Code 读的是配置文件 settings.json 里的 env 段:
- macOS / Linux:
~/.claude/settings.json - Windows:
C:\Users\你的用户名\.claude\settings.json
文件不存在就新建,最少只要两行:
{
"env": {
"ANTHROPIC_BASE_URL": "https://你中转站的地址",
"ANTHROPIC_AUTH_TOKEN": "sk-你的Key"
}
}
ANTHROPIC_AUTH_TOKEN 和 ANTHROPIC_API_KEY 的区别是发请求时用的头不一样:前者走 Authorization: Bearer,后者走 x-api-key。多数中转站是前者;写反了会一直认证失败,换另一个试一次通常就好了。
如果中转站提供的是非 Claude 模型,通常还要把三个档位映射过去,否则客户端会拿默认模型名去请求、直接 404:
{
"env": {
"ANTHROPIC_BASE_URL": "https://你中转站的地址",
"ANTHROPIC_AUTH_TOKEN": "sk-你的Key",
"ANTHROPIC_MODEL": "站里给你用的主模型名",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "站里给你用的主模型名",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "站里给你用的主模型名",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "站里给你用的轻量模型名"
}
}
两个容易卡住的点
- 环境变量优先级高于配置文件。 如果你之前在
~/.bashrc/~/.zshrc里export过ANTHROPIC_BASE_URL,它会把你新写的配置盖掉——换了站却「怎么改都没变」基本就是这个原因,把那几行删掉。 - 改了配置一定要完全退出再重开,只关窗口不算结束进程。重开后用
/status看Anthropic base URL那一行是不是你填的地址;如果缺少这一行、或者还弹登录界面,说明配置没落到这台机器上。
三、Codex(CLI / IDE 插件 / 桌面版)
Codex 的 CLI、IDE 插件和桌面版共用同一份配置文件,改一处三端生效:
- macOS / Linux:
~/.codex/config.toml - Windows:
%USERPROFILE%\.codex\config.toml
它不认「官方的 Key」,所以要让中转站生效,得自定义一个提供方再切过去用:
model = "站里给你用的模型名"
model_provider = "relay"
[model_providers.relay]
name = "relay"
base_url = "https://你中转站的地址/v1"
env_key = "OPENAI_API_KEY"
wire_api = "responses"
然后 export OPENAI_API_KEY="sk-你的Key",再启动 Codex。
这段配置里几个字段为什么长这样
model_provider要写[model_providers.xxx]里的那个 xxx(表名),不是name字段。env_key填的是环境变量的名字(比如OPENAI_API_KEY),不是 Key 本身——把 Key 明文写进配置文件不安全,也不受支持。wire_api = "responses":现在只支持这一个值,写成"chat"会直接起不来。不确定时这一行可以整行删掉,默认就是它。base_url以/v1结尾,客户端会自己往后面拼路径(以你中转站文档写的为准)。- 提供方 ID 不能用内置的那几个(
openai、ollama、lmstudio),换个名字,比如上面的relay。
验证一下:新开终端跑 codex exec "回复 OK",能回 OK 就是通了。报 401 的话,多半是 requires_openai_auth 这个开关:没有 ChatGPT 官方登录态的中转站用户,把它设成 false,否则客户端会一直让你去登录官方账号。
四、图形客户端(Cursor / VS Code 插件 / 桌面版 / 聊天客户端)
这类客户端不读你的 shell 配置,要在设置界面里填(菜单名称各版本略有差异,认「Base URL / API Host / 接口地址」和「API Key」这两个输入框即可):
- Cursor:设置 → Models → 填 API Key,并把 Override OpenAI Base URL 打开、填上中转站地址。
- VS Code 系 AI 插件:插件设置里找「自定义 API 地址 / OpenAI 兼容端点」,填地址 + Key,一般还要手动填模型名。
- 桌面版 / 聊天客户端:同理,把「API 地址」和「Key」两个框填上,协议选 OpenAI 兼容。
这类客户端最常见的坑是环境变量。 它读的是系统级环境变量——你在终端 export 的那个它看不到。要设的话:Windows 用「系统属性 → 环境变量 → 用户变量」,macOS 桌面程序需要在图形环境里设置(终端 export 对其无效),设完完全退出客户端再打开。
五、报错对照表
| 现象 | 多半是什么 |
|---|---|
401 / invalid api key |
Key 抄错或已失效;改完没重开客户端;旧站的环境变量还在把新配置盖掉;Key 类型写反(Bearer ↔ x-api-key) |
403 |
Key 没开通这个模型,或该模型不在你的套餐里——换成站里明确列出的模型名 |
404 / Model not supported |
地址少了或多了 /v1;模型名不是站里支持的那个(去站点的模型列表页对一下) |
429 |
触发限流,或余额 / 额度用完了——这跟配置无关 |
502 / 503 / 504 |
上游或中转站自己的问题,不是你的配置——隔一会儿重试,长期如此就换站 |
| 流式输出中途断开 | 客户端走的是另一种连接方式,或该站对长回答的流式支持不好——关掉流式试试,能跑说明是链路不是配置 |
六、换站的时候,先删旧的
同时配两家站,是「怎么改都没生效」的头号原因。切换时按顺序清一遍:终端里 export 过的旧地址和 Key → 客户端设置界面的旧地址 → 配置文件里的旧段。三处都干净了再填新的。
另外,一个 Key 只对一家站有效。把 A 站的 Key 填进 B 站的地址,必然 401——这跟「站坏了」是两回事,先自查再下结论。
七、通了之后,先确认是不是真模型
能调通不代表拿到的是真模型:被掉包成便宜模型、版本被降到旧版、上下文被砍掉一截,这些都不会报错,只会让你觉得「今天这个模型怎么变笨了」。
用自己的中转地址 + 一个临时 Key 在 中转站真假自测 跑一次,一分钟左右出结果,能识别假 Claude、版本降级和上下文缩水。Key 不入库,跑完在站点后台重置即可。
继续阅读
- API 中转站靠不靠谱怎么判断 → 5 个红灯 + 4 个绿灯 + 自测方法
- 渠道分组科普 → 看懂「官转 / 逆向 / Max / Kiro」这些标签
- Claude API 中转站排行 · GPT 排行 · Codex 排行
- 选站避雷指南 → 充值前后各该检查什么