接入教程

Claude Code 中转站配置:API、Base URL 与验证

Claude Code 中转站配置不能只改 ANTHROPIC_BASE_URL:还要核对 API 鉴权、模型发现、Messages 协议、流式响应、工具调用、数据边界和故障回退。

Claude Code 中转站从本地工作区经过兼容网关到模型上游并执行验证与回退的信任边界图
Claude Code 中转信任边界:本地工作区、兼容网关、模型上游,以及验证与回退

结论: Claude Code 中转站是否可用,不能只看一次文本回复。至少要验证鉴权优先级、模型映射、流式内容块、工具调用、多轮继续、取消请求和用量记录;其中任何一项语义不完整,都可能让普通对话成功而真实编码任务失败。

本文只讲 Claude Code 中转配置

国内装不上、连不上或很慢,先看 Claude Code 国内连不上、慢、安装失败怎么办;还没选定网关,看 Claude Code 中转站怎么选;不用 Claude Code、直接调接口,看 Claude API 中转接入;Key 从哪来,看 Claude API Key 怎么获取。

Claude Code 从本地项目和最小权限凭据接入兼容网关并完成工具调用验证和回退
Claude Code 从本地项目和最小权限凭据接入兼容网关并完成工具调用验证和回退

Claude Code API 中转站的四段信任边界是什么?

封面把链路拆成本地工作区 → 兼容网关 → 模型上游 → 验证与回退。本地工作区可能提供代码、终端输出和工具参数;网关能处理鉴权头与正文;模型上游接收网关转发的数据;验证与回退负责用请求 ID、日志和冒烟用例证明切换结果。

边界主要资产或风险最小控制通过证据
本地工作区源代码、配置、命令输出仓库分级、排除凭据、只授予必要工具权限脱敏测试仓库与工具允许清单
兼容网关Token、提示词、工具参数、路由独立低额度 Key、TLS、日志脱敏、租户隔离请求 ID、脱敏日志与权限审计
模型上游正文、模型映射、数据地区披露真实上游、保留期、人员权限与删除规则当前文档、合同与实际路由记录
验证与回退协议退化、工具副作用、账单异常固定回归集、冻结写操作、可逆 Provider 配置回滚演练与恢复后的四组冒烟结果

这也是供应商评估边界:无法回答日志正文、上游、地区、保留和删除问题时,只能在脱敏测试仓库中验证,不能把“请求已加密”当成完整安全结论。

Claude Code 网关配置怎样连接 Anthropic Messages?

ANTHROPIC_BASE_URL 选择的是 Anthropic Messages 格式网关,最低需要正确处理 /v1/messages;Token 计数端点是否提供要按协议能力表单独声明。变量只填网关根地址,不带 /v1:Claude Code 会自己在后面拼 /v1/messages,官方连接文档的 curl 验证用的也是 $ANTHROPIC_BASE_URL/v1/messages。下面只使用保留域名和环境变量,不包含真实凭据:

export ANTHROPIC_BASE_URL="https://gateway.example"
export ANTHROPIC_AUTH_TOKEN="$CLAUDE_GATEWAY_TOKEN"
claude
  1. 先验证 Base URL、TLS 与 /v1/messages 路径。
  2. 启动 Claude Code 后运行 /status,核对实际 Base URL 与鉴权来源。
  3. 用 /model 核对可见模型与静态映射。
  4. 完成一次读取、编辑、测试、工具失败与多轮继续的真实编码任务。

网关应尽量透传未知请求字段、beta 头和响应事件。只支持 OpenAI Chat Completions 的服务不能因此被描述为 Claude Code 完整兼容。

在 GPTZZZ 上用 Claude Code:Base URL、Key 分组与价格

ANTHROPIC_BASE_URL 填 https://gptzzz.ai,不要带 /v1,Claude Code 实际请求的是 https://gptzzz.ai/v1/messages。Key 在控制台 /keys 页面创建,分组选 Claude官key:一个 Key 只属于一个分组,只能调用这个分组里的模型。GPTZZZ 的 /v1/messages 同时接受 Authorization: Bearer 和 x-api-key 两种鉴权头,所以 ANTHROPIC_AUTH_TOKEN(发 Bearer 头)和 ANTHROPIC_API_KEY(发 x-api-key 头)任选其一即可,变量含义见官方网关连接文档。Claude API 中转接入一文的 curl 用的是 x-api-key,同样可用。

export GPTZZZ_API_KEY="YOUR_GPTZZZ_API_KEY"
export ANTHROPIC_BASE_URL="https://gptzzz.ai"
export ANTHROPIC_AUTH_TOKEN="$GPTZZZ_API_KEY"
export ANTHROPIC_MODEL="claude-sonnet-5"
export ANTHROPIC_DEFAULT_OPUS_MODEL="claude-opus-4.8"
export ANTHROPIC_DEFAULT_SONNET_MODEL="claude-sonnet-5"
export ANTHROPIC_DEFAULT_HAIKU_MODEL="claude-sonnet-5"
claude
$env:GPTZZZ_API_KEY = "YOUR_GPTZZZ_API_KEY"
$env:ANTHROPIC_BASE_URL = "https://gptzzz.ai"
$env:ANTHROPIC_AUTH_TOKEN = $env:GPTZZZ_API_KEY
$env:ANTHROPIC_MODEL = "claude-sonnet-5"
$env:ANTHROPIC_DEFAULT_OPUS_MODEL = "claude-opus-4.8"
$env:ANTHROPIC_DEFAULT_SONNET_MODEL = "claude-sonnet-5"
$env:ANTHROPIC_DEFAULT_HAIKU_MODEL = "claude-sonnet-5"
claude

Claude Code 默认按 Anthropic 官方模型 ID 发请求(例如 claude-opus-4-8),GPTZZZ 价格页上的 ID 是 claude-opus-4.8 这种带点的写法,所以要用 ANTHROPIC_MODEL 指定主模型;会话中也可以用 /model claude-opus-4.8 切换。opus、sonnet、haiku 这些别名(/model 里选别名、opusplan、子代理配置里写的 model: haiku)默认也解析成官方 ID,所以上面用三个 ANTHROPIC_DEFAULT_*_MODEL 把它们都指到价格页上的 ID,见官方模型配置文档。价格页注明 claude-haiku-4.5 最早于 2026-10-15 退役,所以示例把 haiku 也指到 claude-sonnet-5。用 ANTHROPIC_AUTH_TOKEN 时,会话标题等后台任务默认走主模型;设了 ANTHROPIC_DEFAULT_HAIKU_MODEL 后改走它指定的模型。

模型分组 · 倍率输入 ¥/百万 Token输出 ¥/百万 Token缓存读 ¥/百万 Token
claude-fable-5.1 价格Claude官key · 0.39x¥46.90¥234.00¥1.17
claude-opus-5.5 价格Claude官key · 0.39x¥18.70¥93.70¥0.94
claude-opus-5 价格Claude官key · 0.39x¥23.40¥117.00¥2.34
claude-opus-4.8 价格Claude官key · 0.39x¥3.91¥19.50¥0.39
claude-sonnet-5 价格Claude官key · 0.39x¥1.56¥7.81¥0.16
claude-sonnet-4.6 价格Claude官key · 0.39x¥2.34¥11.70¥0.23

Claude Code 会在请求里加 cache_control 缓存标记,长会话要把缓存写入和缓存读一起算:例如 claude-sonnet-5 缓存写入 ¥1.95(1 小时 ¥3.22),高于输入价 ¥1.56;各模型的缓存写入价在价格页每个模型的“更多价格与官方说明”里。表中价格取自 2026-10-09 的模型价格页,单位是元/百万 Token(充值 ¥1 = 余额 $1),已乘分组倍率;价格页共列 12 个 Claude 模型。实际扣费以 GPTZZZ 模型价格页和控制台为准。

用 GPTZZZ 客户端配置 Claude Code

也可以用 GPTZZZ 桌面客户端配置。当前版本 v3.21.0(2026-09-12 发布)的更新说明写明:客户端只开放 Claude Code、Codex 等 5 项;登录后只写入列表、不再自动切换,要用时需自己切换;原配置可一键恢复。安装包有 macOS(.dmg)和 Windows(.msi 与便携版 .zip,都有 arm64 版本)。配置后同样在 Claude Code 里运行 /status,核对 Base URL 和凭据来源。

鉴权优先级、settings 与 apiKeyHelper 为什么容易配错?

来源发送方式适用场景
ANTHROPIC_AUTH_TOKENAuthorization: Bearer网关接受 Bearer Token
ANTHROPIC_API_KEYx-api-key网关按 Anthropic Key 头鉴权
apiKeyHelper按官方连接规则提供推理凭据短期、按用户或集中 Secret 系统

Claude Code apiKeyHelper 要与凭据优先级一起检查。Claude Code 的认证优先级中,云提供商配置、ANTHROPIC_AUTH_TOKEN 与 ANTHROPIC_API_KEY 都可能覆盖 apiKeyHelper。怀疑走错凭据时,不要打印 Token;只记录来源、版本或不可逆指纹,并用 /status 观察实际选择。官方 Key 怎么申请、订阅登录和 API Key 有什么区别,见 Claude API Key 怎么获取。

同名变量存在时,settings 文件里的 env 会覆盖 shell export;只依赖 shell 的配置也不一定可靠传给 supervisor 管理的 background agents。动态 helper 默认会按官方规则缓存并在 401 后刷新,TTL 必须兼顾 Secret 系统负载与吊销时延。

Claude Code 中转失败怎么排查?

检查当前终端是否同时存在 ANTHROPIC_API_KEY、ANTHROPIC_AUTH_TOKEN、云平台变量或代理设置。多个变量可能让请求走向不同端点。

建议为中转站建立单独启动脚本或 shell profile,退出后恢复干净环境。

装不上、连不上、很慢或用一会儿就断,属于网络和安装层的问题,按 Claude Code 国内连不上、慢、安装失败怎么办 一文分层排查。

不要只验证一句对话

至少完成以下任务:

  • 读取一个小型测试仓库;
  • 生成修改计划但不写文件;
  • 修改一个文件并运行测试;
  • 触发一次工具调用与多轮继续;
  • 主动取消流式输出;
  • 使用错误模型名观察错误对象。

保存 Claude Code 版本、模型映射、请求 ID 和网关日志。工具调用失败而普通文本成功,通常说明协议适配不完整。

Claude Code 接入网关要验证什么?

验收项 最小任务 通过证据 常见假阳性
鉴权 新终端启动并发起请求 网关记录正确用户和密钥版本 旧环境变量仍在生效
模型映射 明确请求主模型和子任务模型 返回模型、路由日志与配置一致 所有别名被静默映射到同一模型
流式 生成较长补丁并主动取消 内容块顺序正确,取消后连接释放 只验证首个文本 chunk
工具调用 读取文件、修改文件并运行测试 调用 ID、参数、结果和结束状态完整 普通聊天成功但工具循环
多轮继续 修复测试后继续同一任务 历史内容和工具结果未丢失 每轮都被网关当成新会话
用量 完成一次可重复任务 客户端、网关和上游记录可关联 只有总金额,没有请求级 Token

建议把这张表作为发布门禁,而不是上线后的排障清单。任何一项没有请求 ID 或日志证据,只能记为“未验证”,不能记为通过。

Claude Code 模型发现与模型映射怎样验收?

静态模型映射和动态发现要分开测试。需要发现网关模型时,显式设置 CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1;Claude Code 会查询 GET /v1/models?limit=1000,并按协议规则处理超时、重定向和模型 ID。

不跟随模型目录重定向是一条凭据边界:不能让带鉴权的发现请求被静默送到未知目标。生产映射表应记录客户端模型名、真实上游 ID、能力、负责人和变更时间;不要把所有别名静默映射为同一个模型。

自定义 Base URL 下的细粒度工具流式能力也要显式核对。若启用 CLAUDE_CODE_ENABLE_FINE_GRAINED_TOOL_STREAMING=1,应重复参数分片、取消和工具结果回传测试,详细状态机见 API 流式输出与工具调用兼容性。

最小权限、日志脱敏和供应商评估

Claude Code 可能发送仓库片段、终端输出和工具参数。为每位成员或自动化任务使用独立、低额度、可撤销的 Key,只授予所需模型和功能;轮换时保留短暂双 Key 窗口,确认旧 Key 流量归零后再撤销。

应用、反向代理、APM 与工单都要过滤 Authorization、x-api-key、完整提示词和工具结果。排障只保留请求 ID、密钥版本、模型、状态和必要的脱敏字段。进一步的凭据操作见 API Key 安全指南,第三方处理边界见 API 中转站安全与隐私评估。

还要验证网络边界是否与预期一致。官方协议说明部分可用性或 WebFetch 安全检查可能直连 Anthropic;若组织要求所有出口都经网关,应在防火墙与抓包证据中确认,而不是仅检查推理请求。

Claude Code 回退官方端点:中转故障怎样隔离?

触发器先做什么回退后证据
401 或凭据来源错误停止新任务,清理冲突变量,核对正确鉴权头/status 显示预期来源
模型目录为空关闭动态发现,恢复已验证静态映射/model 与路由日志一致
流式或工具关联丢失取消在途工具,禁止写操作并切回原端点调用 ID、结果和结束状态完整
日志或账单异常撤销网关 Key,保全最少必要证据旧 Key 无新流量,费用恢复基线
  1. 保留官方 Provider 配置,但不要与网关变量同时生效。
  2. 在干净终端移除 Base URL 与网关凭据,恢复已验证的官方鉴权。
  3. 重跑非流式、流式、工具调用和故意错误四组冒烟。
  4. 确认在途命令和工具没有重复执行,再恢复写权限。

原生接口基础见 Claude API 中转接入,回退后的可靠性对照可按 API 稳定性基准测试重跑。

团队上线需要额外控制什么

个人终端能运行,不代表团队可以安全推广。至少统一 Claude Code 版本、允许的模型映射、网关配置模板、仓库数据等级和故障回退方法。密钥按成员或自动化任务拆分,并设置独立额度,避免共享一个无法追踪的长期 Token。

建议把验收结果记录成矩阵:读取文件、修改文件、执行命令、工具失败、多轮继续、用户取消和长任务各自是否通过;每项保存客户端版本、请求 ID、模型映射和网关状态。模型或 Claude Code 升级后只需重复同一矩阵,就能看出具体退化位置。

对于含客户代码、生产配置或凭据的仓库,应先确认中转站是否记录正文、数据经过哪些地区、谁能访问日志以及如何删除。若这些问题无法回答,只在公开测试仓库中验证,不要用“传输加密”代替完整的数据治理。

关系说明: gptzzz.ai 是独立技术内容站,与 Anthropic 及 Claude Code 官方不存在隶属关系。文中的配置应以当前 Anthropic 官方文档和实际网关能力为准。

可复现:用请求、响应和指标验证 Claude Code 网关

先在脱敏测试项目中设置 ANTHROPIC_BASE_URL、CLAUDE_GATEWAY_TOKEN 与经过确认的模型别名。以下请求只使用保留域名、环境变量和合成提示词;响应是结构示例,延迟与 Token 必须记录实测值。

set +x
: "${ANTHROPIC_BASE_URL:?set ANTHROPIC_BASE_URL}"
: "${CLAUDE_GATEWAY_TOKEN:?set CLAUDE_GATEWAY_TOKEN}"
printf 'header = "Authorization: Bearer %s"\n' "${CLAUDE_GATEWAY_TOKEN}" | \
curl --config - --silent --show-error --no-buffer \
  --request POST "${ANTHROPIC_BASE_URL%/}/v1/messages" \
  --header "anthropic-version: 2023-06-01" \
  --header "content-type: application/json" \
  --data '{"model":"gateway-claude-alias","max_tokens":32,"stream":false,"messages":[{"role":"user","content":"Reply only with pong"}]}' \
  --write-out '\nhttp=%{http_code} start=%{time_starttransfer}s total=%{time_total}s\n'

最小成功响应应保持 Messages 对象形状;示例 ID 和计数不是测试基准:

{"id":"msg_example","type":"message","role":"assistant","model":"gateway-claude-alias","content":[{"type":"text","text":"pong"}],"stop_reason":"end_turn","stop_sequence":null,"usage":{"input_tokens":12,"output_tokens":3}}
http=200 start=<measured>s total=<measured>s
参数边界通过条件错误或失败模式
Base URL + /v1/messagesHTTPS、JSON、状态 200404 表示路径或协议面不支持;200 HTML 表示命中错误代理
Bearer 与 x-api-key只启用网关要求的一种来源401/403 时先核对头与凭据优先级,不扩大权限
model、max_tokens、stop_reason 与 stop_sequence响应模型映射可追踪,停止字段存在,输出不超过请求边界未知模型被静默改写,或边界与停止字段被网关丢弃
请求 ID、start、total、usage客户端、网关和上游可关联只有最终文字,缺少状态、用量或可排障标识

验证指标:保存 HTTP 状态、首字节时间、总耗时、返回模型、停止原因、请求 ID 与用量完整性;再用同一输入跑一次流式和一次工具调用。若普通响应成功而工具关联失败,故障排查应先核对原始事件和请求 ID,再按前文回滚表停止写操作、切回原端点,不要把它记为兼容通过。

参考资料

使用 Codex CLI 的开发者可参考 Codex CLI 中转 API 配置,两类命令行工具的验证思路一致。

常见问题

Claude Code 官方支持 LLM gateway 吗?

支持。Claude Code 官方文档给出了 Anthropic Messages 格式网关的协议、鉴权、模型发现与连接方法;接入时仍要按目标网关逐项验证。

ANTHROPIC_AUTH_TOKEN 和 ANTHROPIC_API_KEY 怎么选?

前者发送 Authorization: Bearer,后者发送 x-api-key。应与网关实际接受的鉴权头一致,并清理优先级更高的冲突凭据。

为什么 shell 里能用,background agent 里却失败?

只在 shell export 的变量不一定可靠传给 supervisor 管理的后台代理;团队环境更适合把所需 env 放进受控的 Claude Code settings,并用 /status 核验。

为什么 /model 里没有网关模型?

模型发现默认需要显式启用,并要求网关正确响应 /v1/models。还应检查超时、重定向、模型 ID 过滤与静态模型映射。

Claude Code 中转失败怎样回退官方端点?

停止新任务,取消在途工具调用,移除网关 Base URL 与凭据,在干净终端恢复已验证的官方配置,再跑文本、流式、工具和错误四组冒烟测试。

提示

模型名称、价格与可用性会变化,请以 GPTZZZ 控制台的实时信息为准。