接入教程

Claude Code 接入 ROIBest AI:三步替换 Base URL

ROIBest AI

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 验证一次,再启动客户端,可以把这两个问题都挡在前面。