
LLM Gateway 不是企业代理的别名,而是 Claude Code 模型请求的控制平面。本篇拆解 ANTHROPIC_BASE_URL、gateway credential、apiKeyHelper、provider switching、Bedrock/Vertex 差异和团队 rollout,帮助开发者判断流量、凭据、计费和审计到底落在哪里。
claude 命令,有的人走 claude.ai 订阅,有的人走 Console API key,有的人走 Bedrock,还有人其实被公司网关转发了一层。LLM Gateway 要解决的不是「能不能连上网」,而是把模型请求的凭据、计费、审计、限额和 provider 路由收口到一个地方。官方文档对它的定位也很明确:gateway 管 provider credential、usage attribution、cost control、audit logging 和 provider switching。1| 层 | 你在控制什么 | 常见配置 |
|---|---|---|
| Corporate proxy | 机器怎样出网 | HTTPS_PROXY、HTTP_PROXY、NO_PROXY 3 |
| CA / mTLS | TLS 和客户端证书怎样被信任 | CLAUDE_CODE_CERT_STORE、NODE_EXTRA_CA_CERTS、CLAUDE_CODE_CLIENT_CERT 3 |
| LLM Gateway | 模型请求由谁鉴权、审计和计费 | ANTHROPIC_BASE_URL、provider-specific base URL、gateway credential、apiKeyHelper 1 |
ANTHROPIC_BASE_URL。环境变量文档说,它会覆盖 API endpoint,用来把请求路由到 proxy 或 gateway;当它指向非一方主机时,MCP tool search 默认关闭,需要 gateway 能转发 tool_reference blocks 时再设 ENABLE_TOOL_SEARCH=true。同一行还记录了一个容易被忽略的行为:从 v2.1.196 起,如果 ANTHROPIC_BASE_URL 指向的不是 api.anthropic.com,Remote Control 会被禁用。4export ANTHROPIC_BASE_URL="https://llm-gateway.example.com/anthropic"
export ANTHROPIC_AUTH_TOKEN="gateway-user-token"
claudeANTHROPIC_BASE_URL 决定请求打到哪里。ANTHROPIC_AUTH_TOKEN、ANTHROPIC_API_KEY 或 apiKeyHelper 决定这一轮请求用什么凭据。ANTHROPIC_BASE_URL,但没有 gateway credential,并不会替代开发者的 claude.ai 订阅。请求仍然会经过 gateway,但保存下来的 claude.ai login 仍是 active credential,usage limit 和 billing 也还是订阅那一套。只有 gateway credential variable 或 apiKeyHelper 生效时,开发者的 claude.ai subscription 才不会用于这个 session。1apiKeyHelper 适合临时凭据,不适合手写死 tokenapiKeyHelper。它是一个自定义命令,Claude Code 会通过系统 shell 执行它,并把返回值作为模型请求的 X-Api-Key 和 Authorization: Bearer header 发送;刷新间隔由 CLAUDE_CODE_API_KEY_HELPER_TTL_MS 控制。5{
"env": {
"ANTHROPIC_BASE_URL": "https://llm-gateway.example.com/anthropic",
"CLAUDE_CODE_API_KEY_HELPER_TTL_MS": "900000"
},
"apiKeyHelper": "/usr/local/bin/get-claude-gateway-token"
}model 和 outputStyle 这类少数配置才需要用命令切换或重启。5| 上游形态 | Claude Code 侧开关 | Gateway 相关 base URL |
|---|---|---|
| Anthropic API 格式 | ANTHROPIC_BASE_URL | 指向 gateway 的 Anthropic-format endpoint 4 |
| Amazon Bedrock | CLAUDE_CODE_USE_BEDROCK=1 | ANTHROPIC_BEDROCK_BASE_URL 可覆盖 Bedrock endpoint,用于 custom endpoint 或 gateway 6 |
| Google Cloud’s Agent Platform | CLAUDE_CODE_USE_VERTEX=1 | ANTHROPIC_VERTEX_BASE_URL 可覆盖 Agent Platform endpoint,用于 custom endpoint 或 gateway 7 |
| Claude Platform on AWS | CLAUDE_CODE_USE_ANTHROPIC_AWS=1 | ANTHROPIC_AWS_BASE_URL 可覆盖 Claude Platform on AWS endpoint 4 |
ANTHROPIC_BASE_URL 和 gateway credential。若 gateway 对外保留 Bedrock 或 Vertex 的 provider format,开发者还要打开对应 provider 开关,配置区域、项目、模型 pin 和云厂商凭据。CLAUDE_CODE_USE_BEDROCK=1,区域通常走 AWS_REGION 或 AWS profile;文档还提醒,Bedrock 下 /logout 不可用,因为认证由 AWS credentials 处理。6gcloud 和区域 quota;手动配置时要设 CLAUDE_CODE_USE_VERTEX=1、CLOUD_ML_REGION 和项目 ID。它同样说明 /logout 不可用,因为认证交给 Google Cloud credentials。7API_FORCE_IDLE_TIMEOUT 调整 stalled stream 行为。4ANTHROPIC_BASE_URL 指向非一方主机时,MCP tool search 默认关闭,只有 gateway 能转发 tool_reference blocks 时才应显式打开。4anthropic-beta 里的 OAuth capability。1ANTHROPIC_CUSTOM_HEADERS,可把自定义 header 加到请求里;这类 header 经 gateway 时也要明确是否允许和转发。4managed-settings.json 等方式下发。5{
"env": {
"ANTHROPIC_BASE_URL": "https://llm-gateway.example.com/anthropic",
"CLAUDE_CODE_API_KEY_HELPER_TTL_MS": "900000",
"API_TIMEOUT_MS": "1200000"
},
"apiKeyHelper": "/usr/local/bin/get-claude-gateway-token"
}.claude/settings.json。项目配置适合团队协作规则,组织级 credential 和网关入口更适合放在 managed scope。ANTHROPIC_BASE_URL 或 provider-specific base URL 是不是已经生效?/status 或请求日志里能不能看到实际路由?apiKeyHelper 返回的是短期凭据还是长期 token?TTL 是否符合公司身份系统的刷新周期?5/logout 行为?67export?5claude,但组织终于知道这些请求从哪来、花了多少钱、该由谁负责。docs.anthropic.com
docs.anthropic.com
docs.anthropic.com
docs.anthropic.com
docs.anthropic.com
docs.anthropic.com
docs.anthropic.com
This story was produced automatically by a channel. One sentence is all it takes for Neodrop to keep producing for you.