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形式の少なくとも1つを公開する必要があります:-
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形式に基づいて有効にする機能を決定します。Anthropic Messages形式をBedrocまたはVertexで使用する場合、環境変数
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 形式を公開するゲートウェイを指している場合、Claude Code はスタートアップ時にゲートウェイの /v1/models エンドポイントをクエリし、返されたモデルを /model ピッカーに追加できます。CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1 を設定して、この機能を有効にしてください。検出はデフォルトでオフになっており、共有 API キーでバックアップされたゲートウェイが、キーがアクセスできるすべてのモデルをすべてのユーザーに表示しないようにします。検出された各エントリは「From gateway」というラベルが付けられ、レスポンスから提供されている場合は display_name フィールドを使用します。これには Claude Code v2.1.129 以降が必要です。
検出は Anthropic Messages 形式にのみ適用されます。Bedrock または Vertex パススルーエンドポイントでは実行されず、ANTHROPIC_BASE_URL が設定されていない場合または api.anthropic.com を指している場合にも実行されません。
検出リクエストは推論リクエストと同じ方法で認証されます。認証トークンが設定されていない場合は、ANTHROPIC_AUTH_TOKEN をベアラートークンとして、または ANTHROPIC_API_KEY を x-api-key ヘッダーとして送信し、ANTHROPIC_CUSTOM_HEADERS からのヘッダーと共に送信されます。ID が claude または anthropic で始まるモデルのみがピッカーに追加されます。結果は ~/.claude/cache/gateway-models.json にキャッシュされ、スタートアップのたびに更新されます。リクエストが失敗するか、ゲートウェイが /v1/models を実装していない場合、ピッカーは前回のスタートアップからのキャッシュリストまたは組み込みモデルリストにフォールバックします。
ゲートウェイが検出フィルターと一致しないモデル名を使用している場合は、モデル設定に記載されている環境変数を使用して、手動で追加してください。
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 形式エンドポイントを使用:- ロードバランシング
- フェイルオーバー
- コスト追跡とエンドユーザー追跡の一貫したサポート