Documentation / Agents
Codex (CLI et app)
Mis à jour le
Codex (l'outil en ligne de commande comme l'app desktop Codex) est couvert par Tokenade via des hooks, l'enveloppe MCP et, quand les hooks ne tournent pas, un proxy LLM local. La particularité de Codex : il refuse d'exécuter un hook tant que celui-ci n'est pas approuvé. tokenade install écrit cette approbation pour vous ; si elle manque, Tokenade se replie sur le proxy pour que vous restiez couvert.
Ce que l'installation écrit
Tous les fichiers sont dans ~/.codex/ (%USERPROFILE%\.codex\ sous Windows), partagé par la CLI et l'app.
| Fichier | Ce que Tokenade ajoute |
|---|---|
~/.codex/hooks.json | Six hooks de cycle de vie, chacun étiqueté _tag: "tokenade-…" |
~/.codex/config.toml | Les entrées de confiance de ces hooks ([hooks.state."…"] avec un trusted_hash), les entrées [mcp_servers.<name>] enveloppées et, si nécessaire, le fournisseur du proxy LLM |
~/.codex/AGENTS.md | Une courte section de règles Tokenade |
Les hooks
| Événement | Rôle |
|---|---|
| SessionStart | Contexte de session |
| UserPromptSubmit | Note de style avant chaque demande |
| PreToolUse | Réécrit une commande shell en tokenade wrap '<cmd>' |
| PostToolUse | Replie la sortie des commandes |
| PreCompact | S'exécute avant que Codex compacte la conversation |
| SubagentStart | Contexte des sous-agents |
La confiance des hooks
Codex enregistre la confiance accordée à chaque hook dans ~/.codex/config.toml. Un hook sans entrée correspondante est inerte : ni réécriture, ni compaction, ni économie. Codex ne propose aucune commande officielle pour approuver un hook ; Tokenade écrit donc l'entrée lui-même, uniquement pour les hooks qu'il a posés. Vos autres hooks ne sont jamais touchés.
Pendant l'installation, vous voyez :
✓ trusted 6 Codex hook(s) (compaction active — no /hooks step needed)
tokenade install --dry-run annonce cette écriture avant de la faire, car elle modifie le fichier qui contient votre modèle, vos fournisseurs et vos serveurs MCP.
Réappliquer la confiance
Si vous avez modifié hooks.json, restauré config.toml depuis une sauvegarde, ou si healthcheck indique que les hooks ne sont pas approuvés, lancez :
Si Tokenade ne peut pas écrire la confiance (l'installation affiche could not auto-trust Codex hooks), approuvez les hooks à la main : ouvrez Codex, lancez /hooks, et approuvez les entrées Tokenade.
Quand les hooks ne tournent pas : le proxy LLM
Beaucoup d'installations de Codex se retrouvent avec des hooks non approuvés, dans la CLI comme dans l'app. Depuis la 1.2.1, Tokenade vérifie que chaque hook Codex est approuvé. Sinon, tokenade install met en place le proxy LLM local pour Codex, qui assure ce que les hooks auraient fait :
- les sorties d'outils repliées dans l'historique envoyé au modèle,
- les identifiants retirés des résultats d'outils avant d'atteindre le fournisseur,
- la note de style,
- les chiffres d'économies, lus dans l'usage rapporté par le fournisseur,
- depuis la 1.2.1, une sortie d'outil identique envoyée une seule fois (une copie ultérieure du même fichier inchangé ou de la même sortie de commande devient un court renvoi vers la première).
Le proxy écoute sur 127.0.0.1 (port 8787 par défaut, le port libre suivant si un autre agent l'occupe déjà) et est configuré pour démarrer avec la machine. Dans ~/.codex/config.toml, il ajoute un fournisseur :
[model_providers.tokenade]
name = "tokenade llm proxy"
base_url = "http://127.0.0.1:8787"
wire_api = "responses"
requires_openai_auth = true
Si vous vous connectez à Codex avec votre compte ChatGPT (c'est le cas de tout utilisateur de l'app Codex), le proxy conserve cette connexion (requires_openai_auth = true) et joint le service ChatGPT ; avec une clé d'API, il utilise env_key = "OPENAI_API_KEY". L'installation vérifie que le proxy répond avant de garder la modification, et remet votre configuration exactement comme avant sinon. Si les hooks tournent, rien n'est fait deux fois.
tokenade llm-proxy uninstall --agent codex # le retirer pour Codex
Une fois retiré, les installations et mises à jour suivantes le laissent désactivé. Pour le remettre : tokenade llm-proxy install --agent codex.
L'app Codex
L'app desktop Codex exécute Codex sur votre machine avec le même ~/.codex/config.toml : elle profite donc de la même couverture via le proxy LLM, plus l'optimisation MCP pour vos propres serveurs MCP. L'app installe son propre serveur MCP (navigateur et contrôle de l'ordinateur) dans vos réglages Codex ; depuis la 1.2.1, mcp-wrap le laisse tel quel, car l'app change son chemin à chaque mise à jour. Les économies réalisées sur les serveurs MCP de l'app sont créditées à l'app, par son nom.
Vérifier
Cherchez :
Lancez ensuite une session Codex avec une commande bavarde et consultez tokenade gain. Voir votre première session.
Retirer
tokenade uninstall
La désinstallation retire chaque entrée Tokenade de ~/.codex/hooks.json, supprime les entrées de confiance écrites dans ~/.codex/config.toml, annule le fournisseur du proxy LLM, restaure vos serveurs MCP enveloppés et retire la section de règles. Pour ne retirer que le proxy : tokenade llm-proxy uninstall --agent codex. Voir Mettre à jour et désinstaller.