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
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 dewire_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 :Dépannage
401 — clé API manquante ou invalide
401 — clé API manquante ou invalide
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.404 — déploiement de modèle introuvable
404 — déploiement de modèle introuvable
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.503 — connecteur hors ligne ou à capacité maximale
503 — connecteur hors ligne ou à capacité maximale
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.Codex utilise un fournisseur intégré au lieu de Tokios
Codex utilise un fournisseur intégré au lieu de Tokios
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.