Les passerelles LLM fournissent une couche proxy centralisée entre Claude Code et les fournisseurs de modèles, offrant souvent :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.
- Authentification centralisée - Point unique pour la gestion des clés API
- Suivi de l’utilisation - Surveiller l’utilisation entre les équipes et les projets
- Contrôles des coûts - Implémenter des budgets et des limites de débit
- Journalisation d’audit - Suivre toutes les interactions de modèle pour la conformité
- Routage des modèles - Basculer entre les fournisseurs sans modifications de code
Exigences de la passerelle
Pour qu’une passerelle LLM fonctionne avec Claude Code, elle doit répondre aux exigences suivantes : Format API La passerelle doit exposer aux clients au moins l’un des formats API suivants :-
Anthropic Messages :
/v1/messages,/v1/messages/count_tokens- Doit transférer les en-têtes de requête :
anthropic-beta,anthropic-version
- Doit transférer les en-têtes de requête :
-
Bedrock InvokeModel :
/invoke,/invoke-with-response-stream- Doit préserver les champs du corps de la requête :
anthropic_beta,anthropic_version
- Doit préserver les champs du corps de la requête :
-
Vertex rawPredict :
:rawPredict,:streamRawPredict,/count-tokens:rawPredict- Doit transférer les en-têtes de requête :
anthropic-beta,anthropic-version
- Doit transférer les en-têtes de requête :
Claude Code détermine les fonctionnalités à activer en fonction du format API. Lors de l’utilisation du format Anthropic Messages avec Bedrock ou Vertex, vous devrez peut-être définir la variable d’environnement
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1.| En-tête | Description |
|---|---|
X-Claude-Code-Session-Id | Un identifiant unique pour la session Claude Code actuelle. Les proxies peuvent utiliser ceci pour agréger toutes les requêtes API d’une seule session sans analyser le corps de la requête. |
X-Claude-Code-Agent-Id | Identifiant du sous-agent ou du coéquipier qui a émis la requête. Votre proxy peut utiliser ceci pour attribuer le coût API aux sous-agents parallèles individuels au sein d’une session, sans analyser le corps de la requête. Présent uniquement pour les requêtes émises par un sous-agent ou un coéquipier en cours de traitement. |
X-Claude-Code-Parent-Agent-Id | Identifiant de l’agent qui a généré l’agent effectuant la requête. Utilisez ceci avec X-Claude-Code-Agent-Id pour attribuer les coûts API entre les agents imbriqués dans votre proxy. Présent uniquement lorsque l’agent demandeur a lui-même été généré par un autre agent. |
CLAUDE_CODE_ATTRIBUTION_HEADER=0 pour l’omettre.
Configuration
Sélection du modèle
Par défaut, Claude Code utilise les noms de modèles standard pour le format API sélectionné. LorsqueANTHROPIC_BASE_URL pointe vers une passerelle qui expose le format Messages d’Anthropic, Claude Code interroge le point de terminaison /v1/models de la passerelle au démarrage et ajoute les modèles retournés au sélecteur /model. Définissez CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1 pour activer cette fonctionnalité. La découverte est désactivée par défaut afin que les passerelles soutenues par une clé API partagée ne révèlent pas tous les modèles auxquels la clé peut accéder à chaque utilisateur. Chaque entrée découverte est étiquetée « From gateway » et utilise le champ display_name de la réponse lorsqu’un est fourni. Cela nécessite Claude Code v2.1.129 ou version ultérieure.
La découverte s’applique uniquement au format Messages d’Anthropic. Elle ne s’exécute pas pour les points de terminaison de passage Bedrock ou Vertex, et elle ne s’exécute pas lorsque ANTHROPIC_BASE_URL n’est pas défini ou pointe vers api.anthropic.com.
La demande de découverte s’authentifie de la même manière que les demandes d’inférence : elle envoie ANTHROPIC_AUTH_TOKEN en tant que jeton porteur, ou ANTHROPIC_API_KEY en tant qu’en-tête x-api-key lorsqu’aucun jeton d’authentification n’est défini, ainsi que tous les en-têtes de ANTHROPIC_CUSTOM_HEADERS. Seuls les modèles dont l’ID commence par claude ou anthropic sont ajoutés au sélecteur. Les résultats sont mis en cache dans ~/.claude/cache/gateway-models.json et actualisés à chaque démarrage. Si la demande échoue ou si la passerelle n’implémente pas /v1/models, le sélecteur revient à la liste mise en cache du démarrage précédent ou à la liste de modèles intégrée.
Si votre passerelle utilise des noms de modèles qui ne correspondent pas au filtre de découverte, utilisez les variables d’environnement documentées dans Configuration du modèle pour les ajouter manuellement.
Configuration de LiteLLM
Conditions préalables
- Claude Code mis à jour vers la dernière version
- Serveur proxy LiteLLM déployé et accessible
- Accès aux modèles Claude via votre fournisseur choisi
Configuration de base de LiteLLM
Configurer Claude Code :Méthodes d’authentification
Clé API statique
Méthode la plus simple utilisant une clé API fixe :Authorization.
Clé API dynamique avec assistant
Pour les clés rotatives ou l’authentification par utilisateur :- Créez un script d’assistant de clé API :
- Configurez les paramètres de Claude Code pour utiliser l’assistant :
- Définissez l’intervalle d’actualisation du jeton :
Authorization et X-Api-Key. L’apiKeyHelper a une priorité inférieure à ANTHROPIC_AUTH_TOKEN ou ANTHROPIC_API_KEY.
Point de terminaison unifié (recommandé)
Utilisant le point de terminaison au format Anthropic de LiteLLM :- Équilibrage de charge
- Basculements
- Support cohérent du suivi des coûts et du suivi des utilisateurs finaux