开发工具接入

Claude Code 接入第三方 API:环境变量、CC Switch 与迁移指南

配置 Claude Code 的 Anthropic Base URL、认证环境变量和 CC Switch,验证首次请求,排查常见错误,并保留可回退的迁移方案。

切换供应商前准备什么

Claude Code 可以连接支持所需 Anthropic API 格式的第三方网关。你需要已安装的 Claude Code CLI、供应商密钥、Anthropic 兼容的 Base URL、已启用的 Claude 模型和可用余额。仅提供 OpenAI Chat Completions 接口,还不足以完成本文配置。

本文以 API Route 的 https://global.api-route.com 和 claude-sonnet-4-6 为例。先在价格页核对模型,并确认自己的密钥允许调用;注册后可在API 接入创建和配置密钥。首次测试控制用量。

配置依据已于 2026 年 10 月 17 日核查:官方网关连接说明、协议兼容要求和模型配置。尚未安装 CLI 时,请使用官方安装指南,并执行 claude --version 确认版本。

Anthropic Base URL 不要重复添加 /v1

API Route 的配置值是 ANTHROPIC_BASE_URL=https://global.api-route.com。Claude Code 会追加 /v1/messages 等路径;不要填官网地址,也不要填 /v1/chat/completions。密钥有效但 URL 使用了错误协议路径时,同样可能返回 404。

ANTHROPIC_AUTH_TOKEN 会通过 Authorization 发送 Bearer 令牌;ANTHROPIC_API_KEY 则使用 x-api-key 请求头。下面沿用 API Route CC Switch 导出器使用的 Bearer 配置。明确选择一种认证方式,并清理当前终端里冲突的旧凭据。

1. 在新终端中设置环境变量

修改前先记录旧供应商配置。如果已有 ~/.claude/settings.json,请做一份私密备份,其中可能含有密钥。也要检查本机终端变量,以及项目、用户和受管配置,避免多处配置互相覆盖。不要把密钥贴入问题反馈。

macOS / Linux:Bash 或 Zsh

unset ANTHROPIC_API_KEY CLAUDE_CODE_OAUTH_TOKEN
export ANTHROPIC_BASE_URL='https://global.api-route.com'
read -rsp 'API Route key: ' ANTHROPIC_AUTH_TOKEN; printf '\n'
export ANTHROPIC_AUTH_TOKEN
export ANTHROPIC_MODEL='claude-sonnet-4-6'
export ANTHROPIC_DEFAULT_SONNET_MODEL="$ANTHROPIC_MODEL"

Windows:PowerShell 7

Remove-Item Env:ANTHROPIC_API_KEY, Env:CLAUDE_CODE_OAUTH_TOKEN -ErrorAction SilentlyContinue
$env:ANTHROPIC_BASE_URL = 'https://global.api-route.com'
$env:ANTHROPIC_AUTH_TOKEN = Read-Host 'API Route key' -MaskInput
$env:ANTHROPIC_MODEL = 'claude-sonnet-4-6'
$env:ANTHROPIC_DEFAULT_SONNET_MODEL = $env:ANTHROPIC_MODEL

这些变量仅影响当前终端及从它启动的进程,其他已打开的终端不会自动继承。工作流还会调用 Haiku 或 Opus 别名时,先将相应别名固定到该路由支持的模型。把所有别名映射到同一个模型会改变选模行为,应当明确确认后再这样配置。

2. 先验证 Messages 接口

先在配置好的终端发送一次小额请求。Bash 示例需要 curl 和 jq,PowerShell 示例使用其原生命令。响应中出现 content 数组和 usage 对象,说明基本 Messages 调用成功;这还没有验证工具和流式输出。

curl --fail-with-body -sS "$ANTHROPIC_BASE_URL/v1/messages" \
  -H "Authorization: Bearer $ANTHROPIC_AUTH_TOKEN" \
  -H 'anthropic-version: 2023-06-01' \
  -H 'content-type: application/json' \
  -d "$(jq -nc --arg model "$ANTHROPIC_MODEL" \
    '{model:$model,max_tokens:32,messages:[{role:"user",content:"Reply with OK."}]}')"
$body = @{
  model = $env:ANTHROPIC_MODEL
  max_tokens = 32
  messages = @(@{ role = 'user'; content = 'Reply with OK.' })
} | ConvertTo-Json -Depth 5
Invoke-RestMethod -Method Post -Uri "$env:ANTHROPIC_BASE_URL/v1/messages" -Headers @{
  Authorization = "Bearer $env:ANTHROPIC_AUTH_TOKEN"
  'anthropic-version' = '2023-06-01'
} -ContentType 'application/json' -Body $body

随后运行 claude --model claude-sonnet-4-6,通过 /status 查看当前模型和凭据来源,再要求它返回简短答复。到调用日志核对请求时间、模型和费用。如果网关或 CLI 没有暴露可核验的上游身份,显示的模型名称本身不能证明具体上游路由。

3. 用 CC Switch 保存供应商配置

CC Switch 是独立社区维护的桌面配置工具。应从项目自己的发布渠道安装,并了解它会保存哪些配置。它是可选工具,前面的终端配置已经足以测试路由。

  1. 打开 API Route 的API 接入,选择已验证的密钥、可用 Claude 模型和调用地址。
  2. 目标应用选 Claude Code,执行 CC Switch 导入,并在本机确认 Base URL、模型和认证字段。
  3. 在 CC Switch 中启用导入的供应商。手动添加时,选择 Claude Code,填入相同的地址、密钥及环境变量配置。
  4. 重新启动 Claude Code。测试保存的配置前,清除终端中的旧覆盖项,因为环境变量可能优先于配置文件。
  5. 发送简短请求并核对 API Route 调用费用。避免同时使用多个工具修改同一个配置文件。

手动持久化时,把以下字段合并到私有用户配置 ~/.claude/settings.json;Windows 对应 %USERPROFILE%\.claude\settings.json。保留原有其他设置,在本地替换密钥,不要把该文件提交到版本库。

{
  "env": {
    "ANTHROPIC_BASE_URL": "https://global.api-route.com",
    "ANTHROPIC_AUTH_TOKEN": "REPLACE_WITH_YOUR_KEY",
    "ANTHROPIC_MODEL": "claude-sonnet-4-6",
    "ANTHROPIC_DEFAULT_SONNET_MODEL": "claude-sonnet-4-6"
  }
}

CLI 与编辑器扩展读取配置的方式可能不同。例如,官方为 VS Code 扩展提供了 claudeCode.environmentVariables 配置项。应验证实际使用的扩展,不能假设已运行的编辑器继承了新终端变量。

按错误响应和当前配置逐项排查

Claude Code 网关故障排查
现象排查方向
401/认证失败确认密钥属于当前供应商、仍有效,并通过正确的请求头发送。清理旧 API key 或 OAuth 覆盖项,不要打印密钥。
403/无访问权限检查密钥权限、模型和价格分组、账户限制及供应商策略。重复请求不会修复权限问题。
404/资源不存在检查是否重复添加 /v1 或误用 Chat Completions 路径,并向供应商确认完整模型标识。
余额不足核对账户余额和密钥额度,以实际错误响应为准;不同网关状态码可能不同。先确认路由和价格,再考虑小额充值。
429/限流降低并发;若响应含 Retry-After,按其要求重试。余额充足不等于无限吞吐,还要核对账户与密钥限额。
工具、思考或 beta 功能返回 400确认网关支持相应字段和 beta 请求头,从最小请求开始,逐个加入所需功能。
文本正常,流式或工具失败分别测试 SSE 和无副作用的只读工具,检查代理缓冲、事件格式、工具结果和超时。
要求登录或供应商不符检查 /status 及配置优先级,修改后重启 CLI 或扩展。保存过登录信息不代表它就是当前认证来源。

反馈问题时,记录时间、HTTP 状态、脱敏后的错误体和可用的请求 ID,不要提供密钥或源码。官方兼容性指南列出了请求头和功能转发要求。第三方路由对 Claude Code 新功能的支持可能存在延迟。

分阶段迁移,并保留回退方案

  1. 保留旧供应商配置和私密备份,记录旧模型以及终端启动文件中的变量。
  2. 先测试简短文本、流式输出、只读工具和一项有代表性的代码库任务;结合费用比较核对真实扣费。
  3. 使用缓存验证方法测试重复上下文,不要假定不同供应商之间可共享缓存或余额。
  4. 先迁移少量工作负载,分别保存凭据,确认没有客户端继续依赖旧密钥后再撤销它。
  5. 需要回退时,停用新 CC Switch 配置或恢复旧用户配置,从终端及启动文件移除新变量,然后重启客户端,再核对 /status 与计费日志。

第三方凭据会在相应供应商账户独立计费,与 Claude 应用订阅分开。接入代码库前,应核对供应商的数据处理和路由限制;接口兼容不代表工具、限额、支持与服务条款都一致。

可先创建账户,查阅目标模型的价格,完成首次验证后再为持续使用充值。账户与首次调用流程见快速入门。