Skip to content

LLM 网关配置

LLM 网关在 Claude Code 和模型提供商之间提供集中代理层,通常提供:

  • 集中认证:API Key 管理的单一入口
  • 使用量追踪:跨团队和项目监控使用情况
  • 成本控制:实施预算和速率限制
  • 审计日志:记录所有模型交互以满足合规需求
  • 模型路由:无需更改代码即可切换提供商

网关要求

LLM 网关必须满足以下要求才能与 Claude Code 配合使用:

API 格式(至少支持以下之一):

  1. Anthropic Messages/v1/messages/v1/messages/count_tokens

    • 必须转发请求头:anthropic-betaanthropic-version
  2. Bedrock InvokeModel/invoke/invoke-with-response-stream

    • 必须保留请求体字段:anthropic_betaanthropic_version
  3. Vertex rawPredict:rawPredict:streamRawPredict

    • 必须转发请求头:anthropic-betaanthropic-version

未转发必要头或保留字段可能导致功能减少或无法使用 Claude Code 特性。使用 Bedrock 或 Vertex 格式的 Anthropic Messages API 时,可能需要设置 CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1

LiteLLM 配置

安全警告

LiteLLM PyPI 版本 1.82.71.82.8 被植入了窃取凭据的恶意软件。请勿安装这些版本。如果已安装:删除该包、轮换所有受影响系统上的凭据,并按照 BerriAI/litellm#24518 中的修复步骤操作。

认证方式

方式 A:静态 API Key

bash
export ANTHROPIC_AUTH_TOKEN=sk-litellm-static-key

或在 Claude Code 设置中:

json
{
  "env": {
    "ANTHROPIC_AUTH_TOKEN": "sk-litellm-static-key"
  }
}

方式 B:动态 API Key(使用辅助脚本)

适用于轮换密钥或每用户认证:

  1. 创建 API key 辅助脚本 ~/bin/get-litellm-key.sh
bash
#!/bin/bash
# 从 Vault 获取 key 示例
vault kv get -field=api_key secret/litellm/claude-code
  1. 在 Claude Code 设置中配置:
json
{
  "apiKeyHelper": "~/bin/get-litellm-key.sh"
}
  1. 设置令牌刷新间隔:
bash
# 每小时刷新(3600000 毫秒)
export CLAUDE_CODE_API_KEY_HELPER_TTL_MS=3600000

apiKeyHelper 的优先级低于 ANTHROPIC_AUTH_TOKENANTHROPIC_API_KEY

统一端点(推荐)

使用 LiteLLM 的 Anthropic 格式端点:

bash
export ANTHROPIC_BASE_URL=https://litellm-server:4000

优势:负载均衡、故障转移、一致的成本追踪和终端用户追踪支持。

提供商特定的透传端点

通过 LiteLLM 使用 Claude API

bash
export ANTHROPIC_BASE_URL=https://litellm-server:4000/anthropic

通过 LiteLLM 使用 Amazon Bedrock

bash
export ANTHROPIC_BEDROCK_BASE_URL=https://litellm-server:4000/bedrock
export CLAUDE_CODE_SKIP_BEDROCK_AUTH=1
export CLAUDE_CODE_USE_BEDROCK=1

通过 LiteLLM 使用 Google Vertex AI

bash
export ANTHROPIC_VERTEX_BASE_URL=https://litellm-server:4000/vertex_ai/v1
export ANTHROPIC_VERTEX_PROJECT_ID=your-gcp-project-id
export CLAUDE_CODE_SKIP_VERTEX_AUTH=1
export CLAUDE_CODE_USE_VERTEX=1
export CLOUD_ML_REGION=us-east5

相关资源