LLM gateway 提供了 Claude Code 和模型提供商之間的集中代理層,通常提供:Documentation Index
Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt
Use this file to discover all available pages before exploring further.
- 集中身份驗證 - 單一 API 密鑰管理點
- 使用情況追蹤 - 監控跨團隊和項目的使用情況
- 成本控制 - 實施預算和速率限制
- 審計日誌 - 追蹤所有模型交互以進行合規性檢查
- 模型路由 - 無需更改代碼即可在提供商之間切換
Gateway 要求
為了讓 LLM gateway 與 Claude Code 配合使用,它必須滿足以下要求: API 格式 gateway 必須向客戶端公開以下至少一種 API 格式:-
Anthropic Messages:
/v1/messages,/v1/messages/count_tokens- 必須轉發請求標頭:
anthropic-beta、anthropic-version
- 必須轉發請求標頭:
-
Bedrock InvokeModel:
/invoke,/invoke-with-response-stream- 必須保留請求正文字段:
anthropic_beta、anthropic_version
- 必須保留請求正文字段:
-
Vertex rawPredict:
:rawPredict、:streamRawPredict、/count-tokens:rawPredict- 必須轉發請求標頭:
anthropic-beta、anthropic-version
- 必須轉發請求標頭:
Claude Code 根據 API 格式確定要啟用的功能。使用 Bedrock 或 Vertex 的 Anthropic Messages 格式時,您可能需要設置環境變數
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1。| 標頭 | 描述 |
|---|---|
X-Claude-Code-Session-Id | 當前 Claude Code 會話的唯一識別符。代理可以使用此識別符來聚合來自單個會話的所有 API 請求,而無需解析請求正文。 |
X-Claude-Code-Agent-Id | 發出請求的子代理或隊友的識別符。您的代理可以使用此識別符將 API 成本歸屬於會話內的個別並行子代理,而無需解析請求正文。僅針對由進程內子代理或隊友發出的請求出現。 |
X-Claude-Code-Parent-Agent-Id | 生成發出請求的代理的代理的識別符。將此與 X-Claude-Code-Agent-Id 一起使用,以在您的代理中跨嵌套代理歸屬 API 成本。僅當請求代理本身由另一個代理生成時才出現。 |
CLAUDE_CODE_ATTRIBUTION_HEADER=0 以省略它。
配置
模型選擇
默認情況下,Claude Code 使用所選 API 格式的標準模型名稱。 當ANTHROPIC_BASE_URL 指向公開 Anthropic Messages 格式的 gateway 時,Claude Code 在啟動時會查詢 gateway 的 /v1/models 端點,並將返回的模型添加到 /model 選擇器中。設置 CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1 以啟用此功能。發現功能默認關閉,以便由共享 API 金鑰支持的 gateway 不會向每個用戶公開該金鑰可以訪問的每個模型。每個發現的條目都標記為「From gateway」,並在提供時使用響應中的 display_name 欄位。這需要 Claude Code v2.1.129 或更高版本。
發現功能僅適用於 Anthropic Messages 格式。它不會針對 Bedrock 或 Vertex 傳遞端點運行,也不會在 ANTHROPIC_BASE_URL 未設置或指向 api.anthropic.com 時運行。
發現請求的身份驗證方式與推理請求相同:它將 ANTHROPIC_AUTH_TOKEN 作為 bearer token 發送,或在未設置身份驗證令牌時將 ANTHROPIC_API_KEY 作為 x-api-key 標頭發送,以及來自 ANTHROPIC_CUSTOM_HEADERS 的任何標頭。只有 ID 以 claude 或 anthropic 開頭的模型才會添加到選擇器中。結果被緩存到 ~/.claude/cache/gateway-models.json,並在每次啟動時刷新。如果請求失敗或 gateway 未實現 /v1/models,選擇器將回退到上次啟動時的緩存列表或內置模型列表。
如果您的 gateway 使用與發現篩選器不匹配的模型名稱,請使用 模型配置 中記錄的環境變數手動添加它們。
LiteLLM 配置
先決條件
- Claude Code 已更新至最新版本
- LiteLLM Proxy Server 已部署且可訪問
- 通過您選擇的提供商訪問 Claude 模型
基本 LiteLLM 設置
配置 Claude Code:身份驗證方法
靜態 API 密鑰
使用固定 API 密鑰的最簡單方法:Authorization 標頭發送。
使用幫助程序的動態 API 密鑰
用於輪換密鑰或按用戶身份驗證:- 創建 API 密鑰幫助程序腳本:
- 配置 Claude Code 設置以使用幫助程序:
- 設置令牌刷新間隔:
Authorization 和 X-Api-Key 標頭發送。apiKeyHelper 的優先級低於 ANTHROPIC_AUTH_TOKEN 或 ANTHROPIC_API_KEY。
統一端點(推薦)
使用 LiteLLM 的 Anthropic 格式端點:- 負載均衡
- 故障轉移
- 對成本追蹤和最終用戶追蹤的一致支持