sub2api // 接入文档
// ANTHROPIC 协议 · /v1/messages

Claude Code 接入 sub2api

把 Anthropic 官方 CLI 的请求指向你的网关。核心就两个环境变量:ANTHROPIC_BASE_URLANTHROPIC_AUTH_TOKEN

0前置条件

Node.js ≥ 18 已安装 Claude Code 一个 sk- 开头的 Key
bash — 安装 Claude Code(如未安装) 复制
$ npm install -g @anthropic-ai/claude-code
$ claude --version   # 能打印版本号即安装成功

1关键:地址与鉴权

变量填什么说明
ANTHROPIC_BASE_URLhttps://your-domain.com根地址,不要带 /v1。Claude Code 会自己拼 /v1/messages
ANTHROPIC_AUTH_TOKENsk-xxxx你的网关 Key,作为 Authorization: Bearer 发送
ANTHROPIC_MODELclaude-sonnet-4-5可选,指定默认模型(用网关放开的模型名)
别带 /v1 Claude Code 会在 Base URL 后面自动追加 /v1/messages。如果你写成 .../v1,实际请求会变成 .../v1/v1/messages → 404。根地址即可。

2两种配置方式

macOS / Linux

bash / zsh 复制
# 当前终端会话生效(关掉就没了)
$ export ANTHROPIC_BASE_URL="https://your-domain.com"
$ export ANTHROPIC_AUTH_TOKEN="sk-xxxxxxxxxxxxxxxx"
$ claude            # 直接启动,已连你的网关

# 想永久生效 → 追加到 ~/.zshrc 或 ~/.bashrc 后 source
$ echo 'export ANTHROPIC_BASE_URL="https://your-domain.com"' >> ~/.zshrc
$ echo 'export ANTHROPIC_AUTH_TOKEN="sk-xxxxxxxxxxxxxxxx"' >> ~/.zshrc
$ source ~/.zshrc

Windows (PowerShell)

PowerShell 复制
PS> $env:ANTHROPIC_BASE_URL="https://your-domain.com"
PS> $env:ANTHROPIC_AUTH_TOKEN="sk-xxxxxxxxxxxxxxxx"
PS> claude

# 永久(写入用户环境变量)
PS> setx ANTHROPIC_BASE_URL "https://your-domain.com"
PS> setx ANTHROPIC_AUTH_TOKEN "sk-xxxxxxxxxxxxxxxx"

把配置写进 ~/.claude/settings.json(Windows:%USERPROFILE%\.claude\settings.json),对所有会话持久生效,无需每次 export。

~/.claude/settings.json 复制
{
  "env": {
    "ANTHROPIC_BASE_URL": "https://your-domain.com",
    "ANTHROPIC_AUTH_TOKEN": "sk-xxxxxxxxxxxxxxxx",
    "ANTHROPIC_MODEL": "claude-sonnet-4-5"
  }
}
推荐 日常使用推荐方式 B,一次配置长期有效。要在多个网关/多个 Key 之间来回切,看 cc-switch 教程

3验证是否接通

bash — 启动并测试 复制
$ claude
╭──────────────────────────────────────────╮
│  Claude Code                              │
╰──────────────────────────────────────────╯
> 你好,报一下你现在用的模型
... 正常回复即代表已通过 sub2api 网关转发 ✓
底层校验(可选) 想确认走的是网关而非官方,可直接 curl /v1/messages
bash — 裸接口验证 复制
$ curl https://your-domain.com/v1/messages \
     -H "Authorization: Bearer sk-xxxxxxxx" \
     -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"}]}'
{"id":"msg_...","type":"message","content":[{"type":"text","text":"pong ..."}]}

4排错

现象原因 / 处理
404 not foundBase URL 带了 /v1。删掉,只留根地址。
401 / invalid api keyKey 错或已吊销;确认用的是网关 Key(sk-),不是官方 key。
connection refused地址/端口不通:检查域名解析、:8080 端口、服务器防火墙/安全组。
模型报 not allowed该 Key 所在分组没放开这个模型,去后台把模型加入分组白名单。
仍连到官方 api.anthropic.com环境变量没生效:新开终端、确认 echo $ANTHROPIC_BASE_URL 有值。
← 返回接入文档中心