I gateway LLM forniscono un livello proxy centralizzato tra Claude Code e i provider di modelli, spesso fornendo: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.
- Autenticazione centralizzata - Punto singolo per la gestione delle chiavi API
- Tracciamento dell’utilizzo - Monitora l’utilizzo tra team e progetti
- Controlli dei costi - Implementa budget e limiti di velocità
- Registrazione di audit - Traccia tutte le interazioni del modello per la conformità
- Instradamento dei modelli - Passa da un provider all’altro senza modifiche al codice
Requisiti del gateway
Affinché un gateway LLM funzioni con Claude Code, deve soddisfare i seguenti requisiti: Formato API Il gateway deve esporre ai client almeno uno dei seguenti formati API:-
Anthropic Messages:
/v1/messages,/v1/messages/count_tokens- Deve inoltrare le intestazioni della richiesta:
anthropic-beta,anthropic-version
- Deve inoltrare le intestazioni della richiesta:
-
Bedrock InvokeModel:
/invoke,/invoke-with-response-stream- Deve preservare i campi del corpo della richiesta:
anthropic_beta,anthropic_version
- Deve preservare i campi del corpo della richiesta:
-
Vertex rawPredict:
:rawPredict,:streamRawPredict,/count-tokens:rawPredict- Deve inoltrare le intestazioni della richiesta:
anthropic-beta,anthropic-version
- Deve inoltrare le intestazioni della richiesta:
Claude Code determina quali funzionalità abilitare in base al formato API. Quando si utilizza il formato Anthropic Messages con Bedrock o Vertex, potrebbe essere necessario impostare la variabile di ambiente
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1.| Intestazione | Descrizione |
|---|---|
X-Claude-Code-Session-Id | Un identificatore univoco per la sessione Claude Code corrente. I proxy possono utilizzarlo per aggregare tutte le richieste API da una singola sessione senza analizzare il corpo della richiesta. |
X-Claude-Code-Agent-Id | Identificatore del subagent o del teammate che ha emesso la richiesta. Il vostro proxy può utilizzarlo per attribuire il costo API ai singoli subagent paralleli all’interno di una sessione, senza analizzare il corpo della richiesta. Presente solo per le richieste effettuate da un subagent o teammate in-process. |
X-Claude-Code-Parent-Agent-Id | Identificatore dell’agente che ha generato l’agente che effettua la richiesta. Utilizzatelo insieme a X-Claude-Code-Agent-Id per attribuire i costi API tra gli agenti annidati nel vostro proxy. Presente solo quando l’agente richiedente è stato a sua volta generato da un altro agente. |
CLAUDE_CODE_ATTRIBUTION_HEADER=0 per ometterlo.
Configurazione
Selezione del modello
Per impostazione predefinita, Claude Code utilizza nomi di modelli standard per il formato API selezionato. QuandoANTHROPIC_BASE_URL punta a un gateway che espone il formato Anthropic Messages, Claude Code interroga l’endpoint /v1/models del gateway all’avvio e aggiunge i modelli restituiti al selettore /model. Impostare CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1 per abilitare questa funzionalità. La scoperta è disabilitata per impostazione predefinita in modo che i gateway supportati da una chiave API condivisa non espongano ogni modello a cui la chiave può accedere a ogni utente. Ogni voce scoperta è etichettata “From gateway” e utilizza il campo display_name dalla risposta quando fornito. Ciò richiede Claude Code v2.1.129 o successivo.
La scoperta si applica solo al formato Anthropic Messages. Non viene eseguita per gli endpoint pass-through Bedrock o Vertex e non viene eseguita quando ANTHROPIC_BASE_URL non è impostato o punta a api.anthropic.com.
La richiesta di scoperta si autentica nello stesso modo delle richieste di inferenza: invia ANTHROPIC_AUTH_TOKEN come token bearer, o ANTHROPIC_API_KEY come intestazione x-api-key quando nessun token di autenticazione è impostato, insieme a qualsiasi intestazione da ANTHROPIC_CUSTOM_HEADERS. Solo i modelli il cui ID inizia con claude o anthropic vengono aggiunti al selettore. I risultati vengono memorizzati nella cache in ~/.claude/cache/gateway-models.json e aggiornati a ogni avvio. Se la richiesta non riesce o il gateway non implementa /v1/models, il selettore ritorna all’elenco memorizzato nella cache dall’avvio precedente o all’elenco di modelli integrato.
Se il tuo gateway utilizza nomi di modelli che non corrispondono al filtro di scoperta, utilizza le variabili di ambiente documentate in Configurazione del modello per aggiungerli manualmente.
Configurazione di LiteLLM
Prerequisiti
- Claude Code aggiornato all’ultima versione
- LiteLLM Proxy Server distribuito e accessibile
- Accesso ai modelli Claude attraverso il provider scelto
Configurazione di base di LiteLLM
Configura Claude Code:Metodi di autenticazione
Chiave API statica
Metodo più semplice utilizzando una chiave API fissa:Authorization.
Chiave API dinamica con helper
Per chiavi rotanti o autenticazione per utente:- Crea uno script helper per la chiave API:
- Configura le impostazioni di Claude Code per utilizzare l’helper:
- Imposta l’intervallo di aggiornamento del token:
Authorization e X-Api-Key. L’apiKeyHelper ha una precedenza inferiore rispetto a ANTHROPIC_AUTH_TOKEN o ANTHROPIC_API_KEY.
Endpoint unificato (consigliato)
Utilizzando l’endpoint in formato Anthropic di LiteLLM:- Bilanciamento del carico
- Fallback
- Supporto coerente per il tracciamento dei costi e il tracciamento dell’utente finale