Aller au contenu
Ressources pour développeurs
Ressources pour développeurs

Codex App

Utiliser RunAPI comme fournisseur de modèle dans Codex App, choisir un modèle compatible Responses et vérifier la connexion.

Vue d'ensemble

Codex est disponible dans l’application de bureau ChatGPT pour Windows et macOS. Ce guide oriente Codex App local vers l’endpoint Responses compatible OpenAI de RunAPI, sélectionne un modèle RunAPI et vérifie la connexion.

Cela modifie le fournisseur de modèle utilisé pour générer les réponses et le code. Cela n’ajoute pas d’outils RunAPI. Hosted MCP est une intégration distincte avec ses propres exigences de client et d’authentification.

Avant de commencer

Ces étapes configurent les clients Codex locaux qui lisent votre configuration au niveau utilisateur. Elles ne configurent pas les tâches cloud Codex hébergées.

Enregistrer la clé API

Les applications de bureau peuvent ne pas hériter des variables d’environnement de votre shell. Créez ou modifiez ~/.codex/.env et ajoutez la clé sur sa propre ligne :

DOTENV
export RUNAPI_API_KEY=YOUR_RUNAPI_API_KEY

Conservez ce fichier en dehors de vos dépôts. Sur macOS et Linux, restreignez-le à votre compte utilisateur :

SHELL
chmod 600 ~/.codex/.env

Configurer RunAPI

Ouvrez le fichier utilisateur ~/.codex/config.toml. Fusionnez les valeurs suivantes dans le fichier existant ; ne remplacez pas les paramètres non liés et n’ajoutez pas une seconde copie d’une clé de niveau supérieur existante :

TOML
model = "YOUR_RUNAPI_MODEL_ID"
model_provider = "runapi"

[model_providers.runapi]
name = "RunAPI"
base_url = "https://runapi.ai/v1"
env_key = "RUNAPI_API_KEY"
wire_api = "responses"

Les paramètres du fournisseur et d’authentification doivent être au niveau utilisateur. Codex ignore model_provider et model_providers dans le fichier .codex/config.toml d’un projet. Le fichier TOML ne stocke que le nom de la variable d’environnement ; la clé API reste dans ~/.codex/.env.

Le base_url est la racine de l’API, non une URL d’opération. Avec wire_api = "responses", Codex envoie POST /v1/responses. Consultez la configuration de fournisseur de modèle personnalisé d’OpenAI pour le contrat du fournisseur.

Choisir un modèle

Remplacez YOUR_RUNAPI_MODEL_ID par l’identifiant exact copié depuis le Catalogue de modèles. Sélectionnez un modèle qui expose l’API Responses ; la prise en charge de Chat Completions seule n’est pas suffisante pour cette configuration.

Lorsque vous modifiez model, redémarrez complètement l’application et démarrez une nouvelle tâche. Une tâche existante peut conserver le modèle et le fournisseur avec lesquels elle a démarré.

Redémarrer et vérifier

  1. Fermez complètement l’application de bureau ChatGPT puis rouvrez-la.
  2. Ouvrez Codex et démarrez une nouvelle tâche dans un dépôt.
  3. Envoyez une courte invite telle que Describe this repository in one sentence.
  4. Vérifiez que Codex renvoie une réponse normale et que RunAPI enregistre une requête POST /v1/responses pour le modèle sélectionné.

La première vérification doit rester courte afin de distinguer facilement les erreurs de configuration du comportement propre à la tâche.

Ajouter les outils RunAPI

Le fournisseur de modèle ci-dessus route l’inférence Codex via RunAPI. MCP est séparé : il peut permettre aux clients pris en charge d’appeler des outils RunAPI pour la découverte de modèles, les informations de compte et les workflows de tâches pris en charge.

Le guide Hosted MCP documente les exigences de client et d’authentification actuellement prises en charge. L’authentification Hosted MCP spécifique à Codex n’a pas été vérifiée, aussi cette page ne fournit pas les étapes de configuration MCP pour Codex. Ne remplacez pas la configuration du fournisseur de modèle par une entrée de serveur MCP ; les deux intégrations servent des objectifs distincts.

Résoudre les problèmes

  • Codex utilise toujours le fournisseur précédent : vérifiez que le fichier est bien ~/.codex/config.toml, supprimez les clés model ou model_provider en double, redémarrez complètement l’application et lancez une nouvelle tâche.
  • RUNAPI_API_KEY est manquant : confirmez que la clé se trouve dans ~/.codex/.env et pas seulement dans un profil de terminal, puis redémarrez l’application.
  • L’authentification échoue : créez ou renouvelez une clé standard via le Guide d’authentification. Ne collez pas la clé dans config.toml ni dans les journaux d’assistance.
  • La requête retourne 404 : définissez base_url sur https://runapi.ai/v1 et non sur https://runapi.ai/v1/responses.
  • Le modèle est indisponible ou rejette un champ : copiez à nouveau l’identifiant exact et confirmez que le modèle prend en charge l’API Responses et la capacité demandée.
  • Codex sélectionne un modèle différent : vérifiez les fichiers .codex/config.toml des projets de confiance pour détecter un remplacement de model. La configuration de projet peut sélectionner un modèle même si elle ne peut pas remplacer le fournisseur au niveau utilisateur.
  • L’interface CLI fonctionne mais l’application échoue : vérifiez ~/.codex/.env, puis redémarrez complètement l’application. Les applications graphiques peuvent ne pas lire les variables exportées uniquement par votre shell.
  • Une tâche cloud n’utilise pas RunAPI : cette configuration locale s’applique aux clients Codex locaux ; les tâches cloud hébergées ne lisent pas les fichiers de votre ordinateur.

Supprimer RunAPI

  1. Supprimez les valeurs model, model_provider et [model_providers.runapi] de RunAPI dans ~/.codex/config.toml, ou restaurez les valeurs du fournisseur utilisées précédemment.
  2. Supprimez RUNAPI_API_KEY de ~/.codex/.env si aucun autre outil local ne l’utilise.
  3. Redémarrez complètement l’application et démarrez une nouvelle tâche.
  4. Révoquez la clé dédiée dans RunAPI lorsqu’elle n’est plus nécessaire.

Étapes suivantes

Consultez le Guide de démarrage rapide de l’API LLM pour le comportement du protocole partagé et la Référence de l’API Responses pour les champs de requête et de réponse exacts. Poursuivez avec le Catalogue de modèles, le Guide d’authentification ou le MCP hébergé selon vos besoins.