Claude Code 接入 ROIBest AI:三步替换 Base URL
Claude Code 默认连 Anthropic 官方接口。把它指向 ROIBest AI,只需要改两个环境变量——不用改配置文件,不用装插件,也不用改任何项目代码。
开始之前
你需要一个 Anthropic 兼容分组的 API Key。这一步最容易出错:ROIBest AI 按协议分组签发密钥,Anthropic 兼容分组的密钥走 /v1/messages,OpenAI 兼容分组的走 /v1/chat/completions 和 /v1/responses。用 OpenAI 分组的密钥配 Claude Code,会直接返回 401,而错误信息不会告诉你分组选错了。
登录控制台 → API Keys → 新建密钥时选择 Anthropic 兼容分组,创建后立刻复制保存,页面关闭后不再明文展示。
第一步:设置环境变量
export ANTHROPIC_BASE_URL="https://ai.roibest.com"
export ANTHROPIC_AUTH_TOKEN="你的密钥"两点值得注意:
ANTHROPIC_BASE_URL只写到域名,不要带/v1。 Claude Code 会自己拼接/v1/messages,多写一层会变成/v1/v1/messages然后 404。- 用
ANTHROPIC_AUTH_TOKEN而不是ANTHROPIC_API_KEY。前者是 Claude Code 给第三方网关准备的变量,会以Authorization: Bearer发送;网关同时也接受x-api-key,但混用两个变量容易出现一个覆盖另一个的情况。
要长期生效,把这两行写进 ~/.zshrc 或 ~/.bashrc,然后 source 一次。
第二步:验证连通
先不启动 Claude Code,直接打一次接口,把变量问题和客户端问题分开:
curl https://ai.roibest.com/v1/messages \
-H "Authorization: Bearer $ANTHROPIC_AUTH_TOKEN" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{
"model": "claude-sonnet-4-5",
"max_tokens": 64,
"messages": [{"role": "user", "content": "ping"}]
}'拿到正常回复,说明密钥、分组、地址三者都对。这时再启动 Claude Code:
claude第三步:确认用量真的记到了
跑一轮对话后,回控制台看用量明细。每次请求都会记下模型、协议分组、输入与输出 Token、缓存 Token、计费方式、费用和延迟。
这一步不是走形式。它是唯一能确认「请求确实经过了 ROIBest AI」的方式——如果环境变量没生效,Claude Code 会安静地退回官方接口,对话照常进行,而你要等到账单出来才发现。
常见问题
401,但密钥是刚创建的 先确认分组。Anthropic 兼容分组的密钥才能走 /v1/messages。其次确认 shell 里的变量确实生效了:echo $ANTHROPIC_BASE_URL —— 在新开的终端窗口里没 source 过配置文件是最常见的原因。
404 或路径里出现两个 /v1 ANTHROPIC_BASE_URL 写成了 https://ai.roibest.com/v1。去掉末尾的 /v1。
模型名报错 可用模型取决于你的账户和分组。在控制台的模型广场里查当前可用的模型名,直接复制,不要凭记忆写。
想临时切回官方接口 unset ANTHROPIC_BASE_URL ANTHROPIC_AUTH_TOKEN,重开一个终端即可。两套配置不会互相污染。
小结
Claude Code 接入网关本质上只是改一个地址加一个密钥。真正会绊住人的是两件事:密钥的协议分组选错,以及 ANTHROPIC_BASE_URL 多写了 /v1。先用 curl 验证一次,再启动客户端,可以把这两个问题都挡在前面。