Codex CLI avec des modèles dans l'UE : Kimi K3, GLM 5.3 et DeepSeek V4.1 Flash via un fournisseur personnalisé

Carte de configuration Codex avec les lignes model_provider nodion et wire_api responses, reliée à une carte du modèle Kimi K3 avec une pastille verte Connected, et des tuiles GLM 5.3 et DeepSeek en dessous

En bref

  • Codex CLI fonctionne avec Nodion AI Gateway grâce à un fournisseur personnalisé dans ~/.codex/config.toml : URL de base https://api.nodion.ai/v1, env_key = "NODION_AI_KEY" et wire_api = "responses", la seule wire API que Codex accepte encore.
  • La passerelle route uniquement vers des fournisseurs basés dans l'UE, tous avec zero data retention, et Codex appelle Kimi K3, GLM 5.3 et DeepSeek V4.1 Flash avec votre clé d'API Nodion, sans compte chez les fournisseurs.
  • Codex ne connaît pas ces ID de modèle et se rabat sur une fenêtre de contexte de 272 000 tokens, inférieure à la valeur du catalogue ; depuis Codex 0.134.0, chaque profil est un fichier séparé dans ~/.codex, et un .codex/config.toml de projet ne peut pas définir le fournisseur.
  • Le /v1/responses de Nodion est sans état : Codex envoie toute la conversation à chaque requête, la recherche web fonctionne et aucune réponse n'est stockée ; les détails sont dans la référence de l'API IA.

Codex CLI peut dialoguer avec n'importe quel fournisseur qui sert l'API Responses d'OpenAI. Nodion AI Gateway, à l'adresse https://api.nodion.ai/v1, propose /v1/responses : un seul bloc de fournisseur dans ~/.codex/config.toml suffit donc pour faire tourner Codex avec Kimi K3, GLM 5.3 ou DeepSeek V4.1 Flash. La passerelle route uniquement vers des fournisseurs basés dans l'UE, tous avec zero data retention. Vous n'avez besoin d'aucun compte chez ces fournisseurs : Codex appelle tout avec votre clé d'API Nodion.

Ce guide suit la documentation de Codex à la release 0.165.0 (octobre 2026).

Ce dont vous avez besoin

  • Un compte Nodion et un projet avec AI Inference.
  • Une clé d'API : une clé d'inférence créée sous AI Inference → Keys (elle commence par nodion_ai_ et n'est affichée qu'une seule fois), ou une clé créée dans le cadre de votre AI Coding Plan. Les clés de l'API de la plateforme Nodion ne fonctionnent pas ici.
  • Du crédit sur le solde prépayé, sauf si la clé est rattachée à une offre de la gamme AI Coding Plans.
  • Codex CLI. Les fichiers de profil présentés plus bas nécessitent la version 0.134.0 ou ultérieure.

Définissez la clé dans le shell qui lance Codex :

export NODION_AI_KEY=nodion_ai_your_key

Ajouter Nodion comme fournisseur personnalisé

Ouvrez ~/.codex/config.toml et ajoutez :

# ~/.codex/config.toml
model = "moonshot/kimi-k3"
model_provider = "nodion"

[model_providers.nodion]
name = "Nodion"
base_url = "https://api.nodion.ai/v1"
env_key = "NODION_AI_KEY"
wire_api = "responses"
  • model est l'identifiant du modèle dans le catalogue Nodion, slash compris.
  • model_provider sélectionne le bloc ci-dessous. Les identifiants openai, ollama et lmstudio sont réservés : le fournisseur a donc besoin de son propre identifiant.
  • env_key indique la variable d'environnement qui contient la clé. Les fournisseurs personnalisés n'utilisent pas la connexion OpenAI, sauf si vous définissez requires_openai_auth.
  • wire_api = "responses" est la seule valeur acceptée par Codex, et la valeur par défaut. Codex rejette les anciennes configurations avec wire_api = "chat" dès qu'il les lit : `wire_api = "chat"` is no longer supported.

Sources, vérifiées en octobre 2026 : référence de configuration de Codex, discussion #7782, model-provider-info.

Choisir un modèle

Voici trois modèles de chat proposés dans les AI Coding Plans, tous compatibles avec les outils (tools) et le raisonnement :

ModèleIdentifiantEntréeContexte (catalogue)Sortie max.
Kimi K3moonshot/kimi-k3Texte, image, vidéo1 048 57632 768
GLM 5.3z-ai/glm-5.3Texte1 048 576131 072
DeepSeek V4.1 Flashdeepseek/deepseek-v4.1-flashTexte, image1 048 576393 216

Changez de modèle pour une session avec -m (--model) ; le fournisseur reste celui de votre configuration :

codex -m z-ai/glm-5.3
codex -m deepseek/deepseek-v4.1-flash

Les profils sont désormais des fichiers séparés

Depuis Codex 0.134.0, --profile ne lit plus les tables [profiles.name] de config.toml. Chaque profil est un fichier à part, ~/.codex/<name>.config.toml, avec des clés de premier niveau que Codex superpose à votre configuration de base. Gardez le bloc de fournisseur dans config.toml et créez un profil par modèle :

# ~/.codex/nodion-glm.config.toml
model = "z-ai/glm-5.3"
model_provider = "nodion"
codex --profile nodion-glm
codex exec --profile nodion-glm "Summarize the open TODOs in this repo"

Les configurations de projet ne peuvent pas définir le fournisseur

Codex lit un .codex/config.toml à l'intérieur d'un dépôt pour les projets de confiance, mais il y ignore model_provider et model_providers et affiche un avertissement au démarrage. Le bloc de fournisseur a donc sa place dans ~/.codex/config.toml ou dans un fichier de profil. Si vos réglages semblent sans effet, /debug-config montre quelles couches de configuration Codex a chargées.

Sources : configuration avancée de Codex, bases de la configuration de Codex, commandes slash.

La limite de la fenêtre de contexte

Codex n'a pas de métadonnées intégrées pour ces identifiants de modèle. Il affiche Unknown model moonshot/kimi-k3 is used. This will use fallback model metadata. et travaille avec une fenêtre de contexte de 272 000 tokens. model_context_window peut abaisser cette valeur, mais pas l'augmenter. Dans Codex, le contexte utilisable reste donc inférieur aux 1 048 576 tokens que le catalogue indique pour les trois modèles. L'avertissement lui-même est normal.

Source : model_info.rs dans le dépôt de Codex.

Vérifier la configuration

Lancez codex dans un dépôt et exécutez /status. La commande affiche la configuration de la session : le modèle actif, la politique d'approbation, les répertoires accessibles en écriture et le contexte restant. Cela ne prouve pas qu'un appel est passé : envoyez donc un premier prompt, par exemple « Expliquez en deux phrases ce que fait ce dépôt. » Si une réponse arrive, la clé, l'URL de base et l'identifiant du modèle fonctionnent. Les onglets Usage et Requests d'AI Inference montrent le trafic.

Ce qu'implique l'endpoint /v1/responses sans état

  • Rien n'est stocké. Nodion ne stocke aucune réponse : store est ignoré et la réponse indique store: false. Il n'y a pas de previous_response_id, de conversation ni de GET /v1/responses/{id}. Codex envoie toute la conversation dans input à chaque requête, il n'en a donc pas besoin.
  • Les longues sessions coûtent plus cher par tour. Chaque requête transporte toute la conversation jusque-là, donc les tokens d'entrée augmentent avec la session. L'entrée mise en cache est facturée au prix du cache lorsque la route le signale.
  • La recherche web fonctionne. La passerelle exécute elle-même web_search via la recherche web de Nodion et renvoie la requête et les URL des sources dans un élément web_search_call. La recherche renvoie des résultats d'index (titre, URL, extrait) et n'ouvre aucune page. Par défaut, elle effectue au maximum 10 recherches par réponse (jusqu'à 20 avec max_tool_calls).
  • Outils : function, custom, namespace et web_search. Les autres outils hébergés sont rejetés.
  • Les sorties d'outils sont du texte. Les images et les fichiers contenus dans les sorties d'outils n'atteignent pas le modèle ; une note dans le texte les remplace.

Facturation : solde prépayé ou offre de code IA

Une clé qui n'est pas rattachée à une offre utilise le solde prépayé : tokens d'entrée et de sortie au prix du modèle. Chaque recherche web est facturée comme un appel à l'outil de recherche web, et chaque appel au modèle comme une complétion de chat. Une clé rattachée à une offre de la gamme AI Coding Plans (Go, Pro ou Max) utilise plutôt l'usage inclus dans l'offre pour le chat et les outils. Cet usage est décompté sur une fenêtre de 5 heures, une fenêtre hebdomadaire et une fenêtre mensuelle. Quand l'une d'elles est pleine, les requêtes continuent sur le solde prépayé seulement si l'offre autorise l'usage du solde. Les prix par modèle figurent sur les pages des modèles sous AI Inference, et les prix des offres sur AI Coding Plans.

Dépannage

  • 401 : la clé manque ou n'est pas du bon type. Les clés de la plateforme (nodion_…) ne fonctionnent pas sur cette API. Utilisez une clé d'inférence (nodion_ai_…) ou une clé de votre offre de code IA, et vérifiez que NODION_AI_KEY est exportée dans le shell qui lance Codex.
  • 400 pour un outil : les outils hébergés autres que web_search, comme file_search ou code_interpreter, sont rejetés avec une erreur 400. C'est aussi le cas de background, prompt, truncation: "auto", file_id et file_url.
  • 404 model not found : l'identifiant du modèle est erroné. curl https://api.nodion.ai/v1/models liste les identifiants exacts et ne nécessite pas de clé.
  • 402 : le solde prépayé ne couvre pas la requête, ou une limite de dépenses a été atteinte. Rechargez votre solde dans l'onglet Billing ou vérifiez la limite journalière de la clé.
  • 503 : aucune route opérationnelle pour le modèle ne correspond aux réglages IA du projet, par exemple parce que ses fournisseurs y sont exclus.

Sources : référence de l'API IA : API Responses, erreurs et limites, documentation AI Inference, AI Coding Plans.

Étapes suivantes

Questions fréquentes

Codex CLI peut-il utiliser d'autres modèles que ceux d'OpenAI ?

Oui. Codex prend en charge les fournisseurs personnalisés qui servent l'API Responses d'OpenAI. Avec un bloc model_providers pour https://api.nodion.ai/v1, il fonctionne avec Kimi K3, GLM 5.3 ou DeepSeek V4.1 Flash via Nodion AI Gateway, qui route uniquement vers des fournisseurs basés dans l'UE.

Codex CLI prend-il encore en charge wire_api = "chat" ?

Non. Codex rejette wire_api = "chat" à la lecture de la configuration. "responses" est la seule valeur prise en charge et la valeur par défaut : un fournisseur personnalisé doit donc servir l'API Responses.

Pourquoi la fenêtre de contexte est-elle plus petite dans Codex que celle du modèle ?

Codex n'a pas de métadonnées pour les ID de modèle qu'il ne connaît pas et se rabat sur une fenêtre de 272 000 tokens. Le réglage model_context_window peut abaisser cette valeur, mais pas l'augmenter.

Puis-je payer l'usage de Codex avec un AI Coding Plan ?

Oui. Une clé créée dans le cadre d'une offre AI Coding Plans de Nodion utilise l'usage inclus dans l'offre pour le chat et les outils, décompté sur des fenêtres de 5 heures, hebdomadaires et mensuelles. Les clés sans offre sont facturées sur le solde prépayé.

Offrez un cloud à votre agent.

Jusqu'à 15 € de crédit de bienvenue à l'inscription.

Continuer avec GitHub

ou par e-mail

Restez informé.

Les nouveautés du produit, sans spam. Désabonnez-vous à tout moment.