Codex : garder connexion et historique avec une API tierce
Gardez la connexion officielle Codex avec une API tierce via config.toml ou CC Switch. Paramètres expliqués, réglages facultatifs, historique et dépannage.
Utilisez BetterToken API Key pour les requêtes du modèle en gardant la connexion officielle Codex. La configuration manuelle et CC Switch séparent les identifiants officiels de ceux de l’API tierce.
Avant de commencer
Connectez-vous officiellement dans Codex App, Codex CLI ou Extension. Préparez BetterToken API Key et le Model ID complet de la place des modèles. Les clients partagent la configuration avec le même CODEX_HOME.
BetterToken API Key · place des modèles
Méthodes de configuration
Configuration manuelle
Conservez les identifiants officiels
Fermez complètement Codex et sauvegardez la configuration en privé. Les identifiants officiels peuvent se trouver dans auth.json ou le stockage du système. Conservez ce mode ; ne remplacez pas par du JSON API Key et ne créez pas de faux fichier de connexion.
Modifiez config.toml
Ouvrez le config.toml utilisateur : ~/.codex/config.toml sur macOS / Linux ou %USERPROFILE%\.codex\config.toml sur Windows ; utilisez votre CODEX_HOME personnalisé le cas échéant. Fusionnez les réglages avec les clés racine avant toutes les tables TOML, sans doublons. Remplacez localement YOUR_API_KEY par BetterToken API Key.
model_provider = "bettertoken"model = "gpt-6-astra"
[model_providers.bettertoken]name = "BetterToken"base_url = "https://bettertoken.ai/v1"wire_api = "responses"requires_openai_auth = trueexperimental_bearer_token = "YOUR_API_KEY"supports_websockets = falseConservez les identifiants du compte officiel ; ne les remplacez pas par du JSON API Key. requires_openai_auth = true utilise l’authentification officielle ; experimental_bearer_token du provider actuel fournit la clé tierce aux requêtes du modèle. Avec le premier activé, Codex ignore env_key ; ne le substituez donc pas directement au Bearer Key. Ne partagez pas de fichier contenant une clé.
Paramètres de configuration
| Paramètre | Rôle et emplacement | Valeurs par défaut et exemples |
|---|---|---|
model_provider | Racine du fichier utilisateur ; sélectionne l’ID défini ci-dessous. | Par défaut openai ; ici bettertoken. |
model | Racine ; Model ID complet de la place des modèles. | Exemple : gpt-6-astra, à remplacer au besoin. |
name | Table du provider ; nom affiché uniquement. | BetterToken n’est pas un Model ID. |
base_url | Table du provider ; Base URL de l’API du modèle. | Utilisez https://bettertoken.ai/v1 ; Codex ajoute /responses. |
wire_api | Table du provider ; protocole des requêtes. | Seul responses est actuellement accepté ; c’est aussi la valeur par défaut. |
requires_openai_auth | Table du provider ; authentification OpenAI et stockage associé. | Par défaut false ; ici true. Ce n’est pas un bouton de conservation du fichier de connexion. |
experimental_bearer_token | Table du provider ; Bearer Key pour les requêtes tierces. | Indiquez BetterToken API Key. Le cache officiel reste intact. Toujours accepté, mais enregistré en clair. |
supports_websockets | Table du provider ; prise en charge de Responses WebSocket. | Par défaut false ; cette configuration conserve HTTP/SSE. |
Réglages facultatifs du modèle et de la connexion
Ces deux paramètres se placent à la racine de config.toml. Ils sont facultatifs et ne conditionnent pas la conservation de la connexion.
review_model = "gpt-6-astra"model_reasoning_effort = "high"| Paramètre | Rôle et emplacement | Valeurs par défaut et exemples |
|---|---|---|
review_model | Racine ; modèle utilisé par /review. | Facultatif ; modèle de la session actuelle par défaut. |
model_reasoning_effort | Racine ; effort de raisonnement du modèle. | Exemple : high ; niveaux et valeurs par défaut dépendent du modèle. |
Ces trois réglages sont facultatifs et ne conditionnent pas la connexion. Ajoutez-les à la table existante [model_providers.bettertoken] au besoin ; ne créez pas de doublon.
request_max_retries = 4stream_max_retries = 8stream_idle_timeout_ms = 300000| Paramètre | Rôle et emplacement | Valeurs par défaut et exemples |
|---|---|---|
request_max_retries | Table du provider ; nombre maximal de nouvelles tentatives HTTP. | Par défaut 4 ; adaptez à la connexion. |
stream_max_retries | Table du provider ; reconnexions après interruption du flux. | Par défaut 5 ; 8 est un réglage personnalisé facultatif. |
stream_idle_timeout_ms | Table du provider ; délai d’inactivité du flux en millisecondes. | Par défaut 300000 ; ce n’est pas la durée totale de la tâche. |
Configuration CC Switch
-
Dans CC Switch actuel, choisissez OpenAI Official, lancez Codex et connectez-vous au compte officiel.
-
Ouvrez Paramètres → Configuration des applications → Codex et activez Conserver la connexion officielle lors d’un changement sans prise en charge. Le bouton concerne les changements directs ; la connexion est conservée pendant la prise en charge du routage.
-
Ajoutez ou activez BetterToken dans Codex. Indiquez Base URL
https://bettertoken.ai/v1, OpenAI Responses API, BetterToken API Key et Model ID. BetterToken accepte Responses directement ; conversion de protocole et prise en charge du routage sont inutiles. -
Enregistrez et activez. La clé tierce va dans le provider de
config.toml, pas dans leauth.jsonofficiel.
Historique unifié (facultatif)
Historique unifié des sessions Codex concerne uniquement CLI resume. La version de bureau actuelle affiche déjà toutes les sessions ; le bouton n’est pas nécessaire. Choisissez la migration de l’historique au besoin : CC Switch le sauvegarde d’abord. Une reprise avec un autre provider peut échouer à cause de encrypted_content incompatible ; créez une nouvelle session après changement.
Redémarrez et vérifiez
-
Fermez complètement et relancez le client Codex utilisé, puis créez une nouvelle session.
-
Vérifiez la connexion officielle et les plugins ou Remote Control dans un client compatible.
-
Envoyez une tâche courte, vérifiez le Model ID et les journaux BetterToken. Le compte affiché seul n’indique pas qui facture les requêtes du modèle.
Couches de configuration et anciennes clés
Ne placez pas modèle ou raisonnement dans [projects."<path>"]. Un modèle propre au projet peut utiliser les clés racine de .codex/config.toml dans un projet approuvé ; provider et authentification restent dans le fichier utilisateur. Les profils actuels utilisent NAME.config.toml sous CODEX_HOME, choisi avec codex --profile NAME, pas les anciennes tables [profiles.NAME] ni le sélecteur racine profile.
Dépannage
| Symptôme | Action |
|---|---|
401, 403 ou demande de connexion | Vérifiez CODEX_HOME, connexion officielle et clé du provider ; ne remplacez pas les identifiants par JSON API Key. |
| Paramètres ignorés ou modèle inchangé | Clés du modèle à la racine avant les tables TOML, pas dans [projects."<path>"]. Vérifiez les substitutions CLI, profil et projet. |
disable_response_storage ou windows_wsl_setup_acknowledged | Retirez ces anciennes clés de la configuration actuelle. |
features.code_mode_tool_description_first | Si la source est session-flags, vérifiez et mettez à jour le client fournissant les options de démarrage. N’ajoutez pas la clé au fichier utilisateur. |
features.guardianv2.thread_context | Retirez cette clé, y compris des profils ; conservez les autres réglages Guardian. Le contexte du fil est toujours activé. |
| Historique visible, mais reprise impossible avec un autre provider | Créez une nouvelle session ou utilisez le provider initial. |

