Claude Code 如何接入第三方 API?Base URL、API Key 与模型配置教程

配置 Claude Code 的第三方 API 地址、凭证和模型,完成终端验证与调用记录核对。

30 分钟阅读
Claude Code 如何接入第三方 API?Base URL、API Key 与模型配置教程

Claude Code 接第三方 API,需要同时配置目标地址、该服务商的凭证和它支持的模型 ID。地址决定请求送到哪里,凭证决定谁来鉴权和计费,模型 ID 决定请求什么型号。只改其中一个字段,很容易出现登录冲突或请求没有进入目标渠道。

下面以提供 Anthropic Messages 接口的网关为对象,给出 AICodeWith 的具体配置。适用于已安装的 Claude Code 终端版;VS Code 扩展与桌面版的接入位置不同,文末说明边界。资料核验于 2026 年 10 月 10 日,配置和请求示例未进行账户付费实测。

准备根地址、完整密钥和模型 ID

先运行 claude --version,确认终端能识别程序。使用 Sonnet 5.5 时,官方要求 v2.1.284 或更新版本;如果还要用 Haiku 5.5,使用 v2.1.293 或更新版本。尚未安装者先完成对应安装流程,再继续配置。

从提供商文档确认三个值:

字段AICodeWith 示例作用
ANTHROPIC_BASE_URLhttps://api.aicodewith.aiClaude Code 的 Anthropic 根地址
ANTHROPIC_AUTH_TOKEN你创建的完整 API Key按 AICodeWith CLI 文档发送网关凭证
模型 IDclaude-sonnet-5-5目标渠道需要提供并允许调用的型号

Claude Code 的这种接入方式使用 Anthropic 格式。AICodeWith 文档把 OpenAI 兼容入口 https://api.aicodewith.ai/v1 与 Anthropic 根地址分开;完整 Messages 请求路径则是 /v1/messages。给工具填写根地址时,不要再追加 /v1/messages。API 协议与地址说明

在 AICodeWith 账户中进入“密钥管理”,创建并命名密钥,复制生成时显示的完整串。如果设置过密钥渠道、模型或消费限额,确认它们允许这次调用。管理列表中的打码字符串不能当作 Key。密钥创建方法

模型 ID 应从目标渠道目录复制。网站介绍列出一个模型,不等于你创建的每一把 Key 都有相同权限;核对账户限制后再发送测试请求。

先在一个终端会话中设置

这一步只影响当前终端和从它启动的程序,方便先验证,再决定是否保存。用你的完整 Key 替换占位符。

macOS 或 Linux 的 Bash/Zsh:

text
export ANTHROPIC_BASE_URL="https://api.aicodewith.ai"
export ANTHROPIC_AUTH_TOKEN="YOUR_AICODEWITH_API_KEY"
unset ANTHROPIC_API_KEY
claude --model claude-sonnet-5-5

下载此示例源文件(TXT,保留换行与缩进)

Windows PowerShell:

text
$env:ANTHROPIC_BASE_URL = "https://api.aicodewith.ai"
$env:ANTHROPIC_AUTH_TOKEN = "YOUR_AICODEWITH_API_KEY"
Remove-Item Env:ANTHROPIC_API_KEY -ErrorAction SilentlyContinue
claude --model claude-sonnet-5-5

下载此示例源文件(TXT,保留换行与缩进)

这里清除的是当前会话里另一种凭证变量,避免把不同来源的 Key 同时传给客户端;没有删除账户或保存的登录。示例把 Key 写进命令,可能进入终端历史;若不希望凭证进入历史,可直接使用下一节的个人设置文件,并通过 Claude Code 验证。

如果你已有 settings.json 的 env 配置,它可能覆盖同名 shell 变量。测试前先检查原配置,启动后用 /status 核对实际生效的地址。官方网关连接说明

持久配置:合并 settings.json

验证当前终端的设置后,把它合并到个人设置文件。macOS/Linux 是 ~/.claude/settings.json;Windows 是 %USERPROFILE%\.claude\settings.json。

text
{
  "model": "claude-sonnet-5-5",
  "env": {
    "ANTHROPIC_BASE_URL": "https://api.aicodewith.ai",
    "ANTHROPIC_AUTH_TOKEN": "YOUR_AICODEWITH_API_KEY",
    "ANTHROPIC_API_KEY": ""
  }
}

下载此示例源文件(TXT,保留换行与缩进)

这是一个完整的最小文件形状。如果原文件还有权限、插件或其他 env 字段,应合并对应字段,不要用这段覆盖全部内容。填写完成后重启 Claude Code。AICodeWith 的终端配置

只想用于一个项目时,可用 .claude/settings.local.json。手动创建该文件时,先把它加入忽略规则;不要把真实凭证放进团队共享的 .claude/settings.json。

首次启动如果仍停在 onboarding 页面,先确认地址和凭证确实被加载。AICodeWith 的 CLI 文档另提供 ~/.claude.json 中的 hasCompletedOnboarding: true 设置;这是该文档的启动处理方式,不是 API 鉴权字段。确实需要时,按文档合并到已有文件,避免覆盖登录或其他状态。

验证配置、调用和渠道记录

在 Claude Code 中运行 /status,查看:

  • Anthropic base URL 是否为你配置的地址。
  • 当前凭证来源是否指向设置的 ANTHROPIC_AUTH_TOKEN,而不是仅显示原来的 claude.ai 登录。

然后发一个短请求,例如“只回复 OK”,确认正常响应。再去提供商后台查对应时间的调用记录,核对模型、渠道、用量与结算。正常回复只说明这次操作能完成;后台记录才能帮助确认它走了哪条计费路线。

如果需要先分开验证网络和客户端,在前面已导出变量的 Bash/Zsh 终端发送一个直接请求:

text
curl -sS -w '\nHTTP %{http_code}\n' \
  "$ANTHROPIC_BASE_URL/v1/messages" \
  -H "Authorization: Bearer $ANTHROPIC_AUTH_TOKEN" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  --data-binary '{"model":"claude-sonnet-5-5","max_tokens":4096,"output_config":{"effort":"low"},"messages":[{"role":"user","content":"Reply OK."}]}'

下载此示例源文件(TXT,保留换行与缩进)

这条命令读取 shell 中的变量,不会自动读取 settings.json。如果你只用了持久文件配置,直接在 Claude Code 中验证即可,或者先在这个终端设置相同变量。

HTTP 成功后还要检查 Messages 格式响应里的 model、content 与 stop_reason。内容块可能先出现 thinking;不能只读取第一块文本。直接请求成功而 CLI 失败时,重点查客户端版本、配置作用域和权限,不再盲目更换密钥。

API_KEY 和 AUTH_TOKEN 为什么不能混填

两种变量映射到不同请求头:ANTHROPIC_AUTH_TOKEN 使用 Authorization: Bearer,ANTHROPIC_API_KEY 使用 x-api-key。变量名称里是否出现“API”并不能决定一个服务商要求哪种头,应以它的接入文档为准。

AICodeWith 的 Claude Code 教程使用前者,并将后者设为空。其他网关可能要求后者。这份配置不能原封不动套给所有服务商。官方凭证与请求头说明

网关凭证启用后,保存的 claude.ai 登录可以继续保留,但对应请求使用网关凭证。仅设置 ANTHROPIC_BASE_URL 而没有正确凭证,则不能据此断言订阅计费已被替换。以 /status 与调用记录共同确认。

常见失败按这一顺序处理

问题检查与修复修复后的验证
401、Invalid API key完整 Key、空格、是否来自该服务商、请求头类型、冲突凭证同样的短请求成功,后台有记录
404 或找不到模型根地址有无重复路径、完整模型 ID、Key 的模型/渠道限制路径和权限核对后重新发一次
仍要求登录或显示原账户设置作用域、程序是否从正确终端启动、已有文件覆盖/status 显示目标地址与凭证来源
429 或额度不足按错误正文区分速率、并发、消费限额和余额限额条件恢复后再请求
200 但应用空答案内容块解析、工具流程、stop_reason 与输出预算获取完整文本或完成工具回合
无法连接、超时目标域名网络、提供商线路、代理和错误发生阶段先直接请求,再验证 CLI

每次只修一层。提供商给出其他线路时,按文档替换域名并保留对应协议路径。不要把 API 超时、工具执行超时和权限拒绝合并成“网络不稳定”。

VS Code 和桌面版需要分别配置

从系统 Dock 或开始菜单打开的编辑器不一定继承刚才那个终端的环境变量。当前官方文档建议在 VS Code 用户设置中,通过 claudeCode.environmentVariables 配置网关地址与凭证;它也涉及扩展自身的登录检查。

桌面版则读取第三方推理配置,不能假设 CLI 的 settings.json 就能控制它。已有组织配置还可能优先于本机选择。若使用其他入口,按 官方各入口配置说明继续,不要把终端的验证结果写成桌面版已通过。

先在一个终端把短请求、目标模型和渠道记录对上,再保存配置或扩展到其他入口。需要恢复旧路线时,删除本次新增的网关地址与凭证变量、恢复原配置并重启,再用 /status 检查生效结果。

相关资料

同一个账户还要接入其他模型时,可参考 不同模型的协议、地址和调用记录怎样统一。Claude 接通后再做型号选择,日常开发与复杂调查的分工见 Sonnet 5.5 与 Opus 5.5 对比。