> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tokenlab.sh/llms.txt
> Use this file to discover all available pages before exploring further.

# OpenCodex

> Connecter Codex à TokenLab via OpenCodex avec un routage d'API spécifique au modèle

## Laisser mon agent configurer ceci

Copiez cette tâche dans un agent déjà en cours d'exécution sur votre ordinateur :

```text theme={null}
Read https://docs.tokenlab.sh/fr/integrations/opencodex and help me connect OpenCodex to TokenLab.
Check my installed OpenCodex and Codex versions, active configuration, and running proxy first.
Preserve existing accounts, providers, models, and permissions. Back up files before changing them.
Have me enter the API key locally; never ask for, print, or paste it in chat.
Use the TokenLab preset and the selected model's documented API format.
Check configuration loading first. Explain the cost before running a small real request.
Match the reply with its TokenLab request record.
```

## Fonctionnement de la connexion

[OpenCodex](https://github.com/lidge-jun/opencodex) est un proxy local entre Codex et les API de modèles. Ce guide utilise **OpenCodex 2.73.0** et **Codex CLI 0.149.0**.

L'intégration de Chat Completions du preset TokenLab a été publiée et vérifiée de bout en bout dans la version 2.72.0. La [version 2.73.0](https://github.com/lidge-jun/opencodex/releases/tag/v2.73.0) conserve cette intégration et ajoute un routage spécifique au modèle pour Responses et Anthropic Messages. Les routes listées ci-dessous ont été vérifiées avec TokenLab en streaming de texte et avec des allers-retours function-call/résultat.

Codex envoie des requêtes Responses au **proxy local OpenCodex**. OpenCodex transmet ensuite la requête du modèle sélectionné à **TokenLab**. Une requête Responses sur la connexion locale ne signifie pas que le modèle est appelé via l'API Responses de TokenLab.

| Modèles sélectionnés dans Codex | OpenCodex → TokenLab |
| - | - |
| `gpt-6-astra`, `gpt-6.1-sol`, `gpt-6-sol`, `gpt-6-luna`, `grok-4.7`, `deepseek-v4.1-flash`, `deepseek-v4-pro`, `kimi-k3`, `glm-5.3` | Responses: `POST /v1/responses` |
| `claude-opus-5`, `claude-opus-5-5`, `claude-sonnet-5`, `claude-sonnet-5-5`, `claude-fable-5`, `claude-fable-5-1` | Anthropic Messages: `POST /v1/messages` |
| `gemini-3.8-flash` | Chat Completions: `POST /v1/chat/completions` |

L'URL de base (Base URL) du preset est `https://api.tokenlab.sh/v1`. Ne la modifiez pas : OpenCodex construit lui-même l'URL Messages ou Responses correspondante. Les modèles situés en dehors des valeurs par défaut Responses listées et du routage Claude utilisent l'adaptateur Chat du preset.

TokenLab prend en charge l'API native de Gemini pour les modèles qui la déclarent, mais **le preset TokenLab d'OpenCodex 2.73.0 appelle Gemini via Chat Completions**. Ne modifiez pas l'ensemble du provider pour Responses ou Gemini ; cela modifierait également les requêtes pour les modèles qui n'acceptent pas ce format.

## Installer ou mettre à jour

Utilisez Node.js 18 ou une version ultérieure pour l'installation via npm :

```bash theme={null}
npm install -g @bitkyc08/opencodex@2.73.0
ocx --version
codex --version
```

Codex doit également être installé. OpenCodex fournit des instructions pour [l'installation](https://opencodex.me/getting-started/installation/) et la [connexion à Codex](https://opencodex.me/getting-started/quickstart/). Windows natif et WSL possèdent des configurations distinctes ; exécutez l'installation et Codex dans le même environnement.

## Ajouter TokenLab

Créez une clé dans [Clés d'API TokenLab](https://tokenlab.sh/dashboard/api?tab=keys). Pour la configuration via le terminal, suivez le [Démarrage rapide](/fr/quickstart) pour définir `TOKENLAB_API_KEY` sans inscrire sa valeur dans l'historique des commandes. Démarrez OpenCodex depuis ce terminal ; un service en arrière-plan a besoin de la variable dans son propre environnement d'exécution.

Pour une **nouvelle installation d'OpenCodex**, exécutez `ocx init`, sélectionnez TokenLab, puis saisissez la clé localement ou utilisez la référence littérale de variable d'environnement `${TOKENLAB_API_KEY}`. Vérifiez les choix de connexion à Codex et de démarrage automatique de l'assistant avant de les appliquer.

Pour une **installation existante**, ajoutez le preset sans remplacer les autres providers :

```bash theme={null}
ocx provider add tokenlab --api-key '${TOKENLAB_API_KEY}'
```

Les guillemets simples enregistrent une référence à la variable d'environnement, et non la valeur de la clé. Cette commande fonctionne également dans PowerShell. Si `tokenlab` existe déjà, modifiez ce provider dans le tableau de bord au lieu de l'écraser avec `--force`.

Vous pouvez également choisir **TokenLab** dans la liste **Add provider** du tableau de bord et y saisir la clé. OpenCodex enregistre sa configuration sous `$OPENCODEX_HOME/config.json`, généralement `~/.opencodex/config.json`.

Démarrez le proxy s'il n'est pas déjà en cours d'exécution, puis ouvrez son tableau de bord :

```bash theme={null}
ocx start
ocx status
ocx gui
```

Sur la page du provider, vérifiez la Base URL et les modèles découverts. Le preset interroge `GET /v1/models?category=chat` et conserve les modèles disposant de la capacité `tool-use`. Les modèles d'images, de vidéo, d'audio, d'embeddings et de décision sont exclus. La découverte avec une clé reflète les autorisations de modèles et la politique de distribution associées à cette clé.

Exécutez `ocx sync` pour connecter Codex et actualiser son catalogue de modèles, puis démarrez une nouvelle session Codex. Cela modifie la connexion proxy et le catalogue de Codex ; passez en revue les paramètres existants des providers personnalisés et conservez une sauvegarde avant d'effectuer la synchronisation. Cela ne nécessite pas de remplacer votre compte ou votre politique d'autorisations.

## Sélectionner un modèle et vérifier une requête

Choisissez l'entrée `tokenlab/<model-id>` dans le sélecteur de modèles de Codex, ou sélectionnez-la pour un seul lancement en CLI :

```bash theme={null}
codex -m "tokenlab/gpt-6.1-sol"
```

OpenCodex utilise `tokenlab/` pour sélectionner le provider ; l'ID de modèle envoyé à TokenLab est `gpt-6.1-sol`. Choisissez un ID exact actuellement disponible depuis la page [Modèles](https://tokenlab.sh/fr/models).

Pour un test de connexion rapide, envoyez :

```text theme={null}
Reply only with TOKENLAB_CONNECTION_OK. Do not use tools or modify files.
```

Cette requête consomme votre solde TokenLab. Vérifiez la réponse ainsi que le modèle correspondant, l'horodatage et le statut dans [Requêtes](https://tokenlab.sh/dashboard/runs?section=requests). La découverte du provider et un démarrage réussi ne suffisent pas à eux seuls à vérifier l'accès à l'inférence.

Le streaming et le function calling fonctionnent sur les routes indiquées dans le tableau. La saisie d'images et les contrôles de réflexion dépendent du modèle sélectionné : vérifiez ses capacités et utilisez uniquement les options d'effort proposées par OpenCodex pour ce modèle. Les requêtes avec saisie d'images et réflexion ont été vérifiées sur des modèles représentatifs pour les routes Responses et Messages ; la saisie d'images pour Gemini a été vérifiée sur sa route Chat. Un modèle prenant en charge le raisonnement n'expose pas nécessairement le texte de réflexion et ne prend pas forcément en charge tous les niveaux d'effort.

## Conserver un modèle Responses sur Chat Completions

Pour utiliser le chemin Chat pour l'un des modèles Responses répertoriés, fusionnez une entrée `modelAdapters` dans l'objet `providers.tokenlab` **existant** de la configuration d'OpenCodex. Cet exemple maintient `gpt-6-astra` sur Chat pour Codex :

```json theme={null}
{
  "modelAdapters": {
    "gpt-6-astra": "openai-chat"
  }
}
```

Il s'agit d'un exemple de champ de provider, et non d'un remplacement de la configuration complète. Conservez les autres surcharges de modèles, identifiants et providers, puis redémarrez le proxy et ouvrez une nouvelle session Codex. La suppression de cette seule entrée de modèle rétablit son comportement par défaut Responses.

Le routage Messages de Claude est lié au endpoint canonique de TokenLab. La surcharge Chat ci-dessus s'applique aux valeurs par défaut Responses ; elle ne bascule pas Claude vers Chat. Pour un client natif Chat, les modèles Responses listés utilisent déjà Chat sans cette surcharge. Consultez le [routage des providers OpenCodex](https://opencodex.me/guides/providers/#3-api-key-catalog).

## Politique de distribution et autres outils TokenLab

Le preset ne force pas d'en-tête `X-TokenLab-Delivery-Policy`. TokenLab utilise la politique de distribution par défaut de votre clé d'API. Le choix entre Chat, Responses ou Messages est distinct du choix d'une politique de distribution ; consultez les [paramètres de provider TokenLab](/fr/guides/tokenlab-provider).

Ajoutez le [serveur MCP TokenLab](/fr/integrations/tokenlab-mcp-server) pour d'autres outils d'API, ou les [Skills TokenLab](/fr/integrations/coding-agent-skill) pour obtenir des instructions d'intégration. Ceux-ci ne modifient ni le provider ni le format d'API du modèle principal.

**JEV Auto dans OpenCodex 2.73.0 utilise le backend de décision de TypeSafe.** Il ne propose pas TokenLab pour ce backend. L'appel de l'[API System One](/fr/api-reference/systemone/create-decision) de TokenLab via MCP est une opération distincte ; n'indiquez pas de clé TokenLab dans le champ d'identifiants de TypeSafe.

## Dépannage et restauration de votre configuration

* **TokenLab est absent du sélecteur :** vérifiez `ocx --version` ; ce guide cible la version 2.73.0. Actualisez le catalogue avec `ocx sync` et démarrez une nouvelle session Codex.
* **401 ou identifiants manquants :** vérifiez que la clé est active et accessible par le processus exécutant OpenCodex. Une variable d'environnement définie dans un autre terminal ne met pas à jour un service déjà en cours d'exécution.
* **Modèle manquant :** vérifiez l'ID exact, les autorisations de votre clé et sa disponibilité actuelle. Les modèles non-chat et les modèles de chat sans `tool-use` ne sont pas inclus dans ce preset.
* **Requête non prise en charge ou mauvais endpoint :** comparez le modèle sélectionné avec le tableau de routage et examinez les surcharges d'adaptateurs enregistrées. Le format requis est `tokenlab.accepted_request_formats` dans les [détails du modèle](/fr/api-reference/models/get-model) ; la liste des modèles ne remplace pas ce champ détaillé. Claude et Gemini ne doivent pas être envoyés vers Responses simplement parce que Codex utilise Responses localement.
* **Échec des outils ou de la saisie d'images :** conservez l'erreur d'origine et le Request ID. Vérifiez les capacités du modèle et la route OpenCodex active avant de modifier les paramètres ; ne supprimez pas l'historique de conversation ou les résultats d'outils pour masquer une erreur.

Pour cesser de router Codex via le proxy, utilisez `ocx stop` ; OpenCodex arrête le proxy et rétablit la connexion native de Codex. `ocx restore` rétablit la connexion native tout en maintenant le proxy en cours d'exécution pour les autres clients. Consultez la [référence CLI d'OpenCodex](https://opencodex.me/reference/cli/) avant de modifier une installation partagée par d'autres clients.
