Skip to main content
Les fournisseurs de modèles personnalisés de Codex CLI nécessitent l’API Responses OpenAI (wire_api = "responses"), et le fournisseur Ollama intégré de Codex ne peut atteindre que localhost — il ne peut pas cibler un modèle sur une autre machine. Tokios sert /v1/responses et le traduit en Chat Completions pour votre backend, de sorte qu’une machine distante exécutant Ollama, llama.cpp, vLLM ou LM Studio fonctionne comme fournisseur Codex via un point de terminaison https normal. Cette page suppose que vous avez déjà Tokios et Codex fonctionnant ensemble — consultez Utiliser OpenAI Codex avec vos propres modèles locaux pour le guide complet config.toml. Poursivez la lecture si votre modèle se trouve sur une machine différente de celle exécutant Codex, ou si vous dépannez un fournisseur qui ne parvient pas à se connecter.

Prérequis

  • Un connecteur installé et appairé à côté du modèle — sur la machine concernée, pas celle exécutant Codex
  • Un nom de déploiement enregistré pour ce modèle
  • Une clé API Tokios (sk-tok-…)
  • Codex CLI installé sur la machine où vous exécutez codex

Configurer Codex

La configuration du fournisseur est la même que le modèle soit à côté de vous ou à travers le réseau — c’est Tokios qui rend l’emplacement indifférent. Dans ~/.codex/config.toml :
~/.codex/config.toml
Définissez votre clé dans l’environnement avant d’exécuter Codex :
Remplacez gemma-tunnel par le nom du déploiement que vous avez enregistré pour le modèle distant — pas son ID de modèle amont local, et pas une adresse localhost.

Pourquoi cela fonctionne quand localhost ne fonctionne pas

Les fournisseurs personnalisés de Codex ont besoin de wire_api = "responses" — Codex utilise l’API Responses avec n’importe quel fournisseur que vous configurez, et le fournisseur Ollama intégré est documenté comme ayant une URL de base localhost codée en dur, donc il ne peut pas pointer vers un modèle sur une autre machine. Deux conditions doivent être remplies simultanément pour qu’un modèle distant fonctionne comme fournisseur Codex : l’endpoint doit répondre à l’API Responses, et il doit s’agir d’une adresse https stable que Codex peut atteindre depuis n’importe où il s’exécute. La plupart des serveurs d’inférence locaux — Ollama, llama.cpp, vLLM, LM Studio — ne parlent que Chat Completions, pas Responses. La passerelle Tokios se place devant votre connecteur, accepte /v1/responses de Codex, et les traduit en Chat Completions avant qu’ils n’atteignent votre backend. Votre backend n’a jamais besoin de savoir que Responses existe, et Codex n’a jamais besoin d’un fournisseur localhost — il communique avec https://api.tokios.com/v1 indépendamment de la machine, du réseau ou du connecteur qui se trouve derrière.
disable_response_storage = true est requis conjointement avec wire_api = "responses". Tokios fournit la surface Responses de manière stateless, donc Codex ne doit pas compter sur un stockage de réponses côté serveur entre les tours.

Vérifiez que cela fonctionne

Exécutez une invite rapide via le profil :
Si vous préférez confirmer l’endpoint directement avant d’impliquer Codex, consultez le Playground pour votre déploiement, ou envoyez une requête brute :

Dépannage

Codex n’envoie pas de clé que Tokios reconnaît. Confirmez que OPENAI_API_KEY est défini sur votre clé sk-tok-… dans le même shell à partir duquel vous lancez codex, et que la clé n’a pas été rotée ou désactivée dans l’onglet Keys.
La valeur model dans [profiles.tokios] ne correspond à aucun déploiement enregistré. Il doit s’agir du nom public que vous avez choisi sur l’onglet Models (par exemple, gemma-tunnel) — et non de l’ID de modèle amont que votre backend utilise localement.
Le connecteur associé à ce déploiement n’est pas actuellement connecté, ou il atteint sa limite de concurrence (connector_unavailable / connector_busy). Vérifiez que le processus du connecteur est en cours d’exécution sur la machine à côté du modèle et qu’il affiche Online sur l’onglet Connectors.
Confirmez que vous lancez avec --profile tokios. Sans indicateur de profil, Codex utilise son fournisseur par défaut, et non celui de [model_providers.tokios].

Prochaines étapes

Configuration de base d'OpenAI Codex

Le guide complet config.toml, y compris le chemin du SDK OpenAI.

Démarrage rapide

Associez un connecteur et enregistrez votre premier modèle de bout en bout.