
Une passerelle pour 3 CLI de programmation (2026) : Configuration et dépannage — Gemini CLI, Codex CLI, Claude Code

Si vous utilisez des CLI de programmation quotidiennement, les frictions de configuration deviennent un coût réel : multiples clés API, différents formats de configuration, conflits d'authentification et l'éternel cycle 401/429/flux bloqué.
api.evolink.ai), avec une vérification rapide et un guide pratique de dépannage.Vous voulez le chemin le plus court ? Utilisez les guides d'intégration dédiés (recommandé) :

Commencez ici (configuration la plus rapide)
Choisissez votre outil et suivez le guide dédié lié dans l'introduction ci-dessus.
TL;DR : Check-list de 5 minutes (choisissez votre outil)
| Outil | Où configurer | Clé / jeton | URL de base | Vérifier |
|---|---|---|---|---|
| Codex CLI | ~/.codex/config.toml | OPENAI_API_KEY | https://api.evolink.ai/v1 | codex "Who are you" |
| Claude Code | ~/.claude/settings.json | ANTHROPIC_AUTH_TOKEN | https://api.evolink.ai | claude "Who are you" |
| Gemini CLI | ~/.gemini/.env | GEMINI_API_KEY | https://api.evolink.ai/ | gemini "Who are you" |
Note : Certains CLI nécessitent des formats de points de terminaison (endpoints) légèrement différents (par exemple,/v1ou un slash final). Suivez le guide de chaque outil pour le format exact attendu par ce CLI.
Pourquoi router les CLI de programmation via un hôte de passerelle ?
Utilisez une passerelle/un routeur lorsque vous souhaitez un ou plusieurs de ces avantages :
- Arrêter de jongler avec les clés sur plusieurs outils.
- Changer de modèle/fournisseur sans réécrire les configurations des outils.
- Router le trafic via un seul endroit pour les contrôles opérationnels (réessais/délais d'attente/audit).
- Maintenir votre flux de travail stable à mesure que les outils et les fournisseurs évoluent.
Ce guide se concentre sur la configuration + la réalité opérationnelle : ce qui casse et comment le réparer.
Table de décision : direct au fournisseur vs un hôte de passerelle unique
Avant de vous engager, voici le véritable compromis en production.
| Ce qui vous importe | CLI direct au fournisseur | Un seul hôte de passerelle (api.evolink.ai) |
|---|---|---|
| Configuration sur plusieurs outils | Répétée par outil | Point d'entrée standardisé |
| Changement de modèle/fournisseur | Plus de reconfiguration | Plus facile à centraliser et à faire évoluer |
| Observabilité (coût/latence/erreurs) | Fragmentée entre les vendeurs | Peut être unifiée au niveau de la passerelle |
| Débogage (problèmes 401/429/flux) | Outil par outil | Modèles centraux + adaptateurs par outil |
| Surcharge opérationnelle | Moins de responsabilité infra | Vous gérez/choisissez une couche de passerelle |
Chemin A — Codex CLI (fournisseur personnalisé via config.toml)
~/.codex/config.toml.Étapes minimales
-
Installer :
npm install -g @openai/codex -
Définissez votre clé API :
export OPENAI_API_KEY="VOTRE_CLE_EVOLINK" -
Créez / modifiez la config
~/.codex/config.toml -
Vérifier :
codex "Who are you"
Extrait minimal de config.toml (exemple)
model = "gpt-5.2"
model_provider = "evolink"
[model_providers.evolink]
name = "EvoLink API"
base_url = "https://api.evolink.ai/v1"
env_key = "OPENAI_API_KEY"
wire_api = "responses"Chemin B — Claude Code / Claude CLI (settings.json + URL de base Anthropic)
~/.claude/settings.json.Étapes minimales
-
Installer :
npm install -g @anthropic-ai/claude-code -
Modifiez
~/.claude/settings.json -
Vérifier :
claude "Who are you"
Extrait minimal de settings.json (exemple)
{
"env": {
"ANTHROPIC_AUTH_TOKEN": "VOTRE_CLE_EVOLINK",
"ANTHROPIC_BASE_URL": "https://api.evolink.ai",
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1"
},
"permissions": { "allow": [], "deny": [] }
}Note sur les conflits d'authentification (piège courant)
Si vous vous êtes précédemment connecté via un flux d'abonnement et que vous avez également défini une clé/jeton API, le comportement peut être incohérent. Si vous voyez des avertissements ou un comportement d'authentification inattendu :
- Lancez
claude /logoutet ré-authentifiez-vous proprement, et/ou - Supprimez les variables d'environnement Anthropic conflictuelles, puis redémarrez votre terminal.
Chemin C — Gemini CLI (.env + URL de base personnalisée)
~/.gemini/.env.Prérequis
Vérifiez :
node -vÉtapes minimales
-
Installer :
npm install -g @google/gemini-cli -
Créez / modifiez
~/.gemini/.env -
Vérifier :
gemini "Who are you"
Extrait minimal de .env (exemple)
GOOGLE_GEMINI_BASE_URL="https://api.evolink.ai/"
GEMINI_API_KEY="VOTRE_CLE_EVOLINK"
GEMINI_MODEL="gemini-2.5-pro"Piège connu : l'URL de base ne prend pas effet
GOOGLE_GEMINI_BASE_URL :- Redémarrez votre session de terminal.
- Confirmez que le chemin du fichier
.envest correct. - Vérifiez le mode d'authentification du CLI et les sessions en cache.
- Relancez avec un prompt minimal pour isoler les problèmes de config des problèmes de prompt/exécution.

Pourquoi les changements de config ne prennent pas effet (check-list de priorité)
La plupart des problèmes de type « ça n'a pas changé » proviennent de l'un de ces éléments :
-
Mauvais emplacement du fichier — Codex :
~/.codex/config.toml/ Claude :~/.claude/settings.json/ Gemini :~/.gemini/.env -
Vous avez modifié le fichier mais n'avez pas redémarré — Redémarrez le terminal ou le processus CLI.
-
Les variables d'environnement écrasent la config — Particulièrement pertinent pour les conflits d'authentification Claude (jeton vs connexion).
Vérification rapide :
env | grep -E "OPENAI_API_KEY|ANTHROPIC_|GEMINI_|GOOGLE_GEMINI_BASE_URL"
Aide-mémoire de dépannage (401/403/429/flux/appels d'outils/délai d'attente)
401 / 403 (erreurs d'authentification)
- Votre clé est-elle définie dans la variable que l'outil lit ?
- Codex :
OPENAI_API_KEY - Claude :
ANTHROPIC_AUTH_TOKEN - Gemini :
GEMINI_API_KEY
- Codex :
- Votre URL de base correspond-elle au format de point de terminaison utilisé par votre guide d'intégration ?
- Ré-exportez la variable d'environnement et redémarrez votre shell.
- Vérifiez à nouveau l'emplacement du fichier de config et l'orthographe.
- Pour Claude :
/logout, puis ré-authentifiez-vous proprement.
Besoin d'une nouvelle clé pour résoudre 401/403 ? Créer / gérer une clé API →
429 (limite de débit / quota / bridage)
- Réduisez la simultanéité (évitez de nombreuses exécutions en parallèle).
- Ajoutez de courts délais entre les tâches volumineuses.
- Réessayez avec un backoff exponentiel (mieux géré par une passerelle/un routeur, si disponible).
Si l'erreur 429 persiste, traitez-la comme un problème opérationnel : les pics d'utilisation, les longues sessions de flux ou les appels d'outils lourds peuvent amplifier le problème.
Flux bloqué / sorties longues qui figent
- Essayez un prompt court pour valider la connectivité.
- Désactivez temporairement le VPN/proxy pour isoler les problèmes de réseau.
- Relancez dans un répertoire propre (évitez les contextes de repo énormes).
Échec des appels d'outils (l'agent tente d'exécuter des commandes/fichiers)
- La politique de permission bloque l'exécution.
- L'environnement de l'outil manque de dépendances (git, ripgrep, outils de build).
- Restrictions de chemin/sandbox.
- Confirmez la politique de permission de l'outil et le répertoire de travail.
- Reproduisez avec une action d'outil minimale.
Délai d'attente (Timeout)
- Divisez les tâches en prompts plus petits.
- Réduisez la taille du contexte du repo.
- Évitez les très longues sessions de flux pour un premier test.
Changement de modèle (rapide)
- Codex CLI : Mettez à jour
model = "..."dans~/.codex/config.toml - Claude Code : Utilisez
/model(si pris en charge par votre version) - Gemini CLI : Utilisez
/modelou mettez à jourGEMINI_MODELdans le.env
Prochaines étapes
Si vous utilisez plusieurs CLI de programmation, le moyen le plus rapide de réduire les frictions est de standardiser sur :
- Un hôte de passerelle unique
- Des modèles de configuration prévisibles par outil
- Un guide de dépannage reproductible
Commencez par les guides d'intégration dédiés (voir introduction ci-dessus).
FAQ
Qu'est-ce qu'un « point de terminaison LLM personnalisé » pour un CLI de programmation ?
Un point de terminaison personnalisé est une URL de base vers laquelle votre CLI envoie des requêtes au lieu d'un point de terminaison fournisseur par défaut. En pratique, il peut s'agir d'une passerelle/un routeur qui expose une ou plusieurs API de modèles derrière un seul hôte.
Pourquoi ce guide montre-t-il différents formats de points de terminaison (/v1, slash final) pour différents outils ?
api.evolink.ai), tout en faisant correspondre le format de point de terminaison attendu par chaque CLI.Où se trouve le fichier de config Codex CLI ?
~/.codex/config.toml.Comment définir une base_url personnalisée dans Codex CLI ?
base_url sous votre section de fournisseur personnalisé dans config.toml.Que signifie wire_api = "responses" dans la config Codex ?
Cela indique quelle forme d'API le CLI utilise lorsqu'il communique avec le point de terminaison. Gardez cela aligné avec votre guide d'intégration.
Où se trouve le fichier settings.json de Claude Code ?
~/.claude/settings.json.À quoi sert ANTHROPIC_BASE_URL ?
Il définit l'URL de base vers laquelle Claude Code envoie des requêtes, permettant le routage via un point de terminaison personnalisé au lieu d'un point de terminaison fournisseur par défaut.
Pourquoi Claude Code prévient-il de conflits d'authentification ?
/logout, supprimer les variables d'environnement conflictuelles et redémarrer le shell règle généralement le problème.Où Gemini CLI lit-il le fichier .env ?
~/.gemini/.env.Pourquoi GOOGLE_GEMINI_BASE_URL ne prend-il pas effet ?
.env, la session de terminal n'a pas rechargé les variables d'environnement, ou authentification/session en cache. Redémarrer et vérifier à nouveau le mode d'authentification aide.Quelle version de Node.js dois-je utiliser pour Gemini CLI ?
Utilisez Node.js 20+.
Comment corriger rapidement les erreurs 401/403 lors de l'utilisation d'un point de terminaison personnalisé ?
Vérifiez que la bonne variable de clé est définie, confirmez le format du point de terminaison et redémarrez le terminal. Pour Claude, supprimez également les conflits d'authentification en vous déconnectant ou en supprimant les variables.
Que signifie 429 dans les CLI de programmation ?
Cela indique généralement une limite de débit ou un bridage de quota. Réduisez la simultanéité, ajoutez des délais et réessayez avec un backoff exponentiel.
Mon CLI affiche le flux puis fige — que devrais-je essayer en premier ?
Testez avec un prompt court, désactivez temporairement le VPN/proxy et réduisez la taille du contexte du repo. Divisez les tâches importantes en prompts plus petits.


