Codex CLI
Codex CLI communique avec UberLLM via l'Responses API à https://api.uberllm.dev/v1. Codex 0.95 et versions ultérieures ne supportent que l'Responses API (wire_api = "chat" a été supprimé), et UberLLM la propose sur chaque modèle de chat. Testé avec Codex 0.166.0 sur 30 octobre 2026 : commandes shell, modifications de fichiers et tâches multi-étapes.
Configuration
Créez une clé dans Dashboard → Keys et ajoutez du crédit.
Exportez-la dans votre profil shell (
~/.zshrcou~/.bashrc) :export UBERLLM_API_KEY="ull_..."Ajoutez à
~/.codex/config.toml:model = "deepseek/deepseek-v4.1-flash" model_provider = "uberllm" web_search = "disabled" [model_providers.uberllm] name = "UberLLM" base_url = "https://api.uberllm.dev/v1" env_key = "UBERLLM_API_KEY" wire_api = "responses"Ouvrez un nouveau terminal et exécutez
codexdans votre projet.
base_url doit se terminer par /v1 : Codex ajoute /responses. env_key est le nom de la variable d'environnement qui contient la clé.
Sélections de modèles en direct avec les prix du jour : guide de configuration de Codex.
Options
| Paramètre | Pourquoi |
|---|---|
model |
N'importe quel ID de modèle de chat du catalogue. À remplacer par exécution avec codex -m <id>. |
model_context_window |
Codex suppose 272,000 tokens pour les modèles en dehors de la liste d'OpenAI. Définissez la taille réelle du contexte du modèle afin que Codex compacte la conversation à temps. |
model_reasoning_effort |
"low", "medium" ou "high", transmis aux modèles qui réfléchissent. |
web_search = "disabled" |
La recherche web de Codex s'exécute sur les serveurs d'OpenAI et n'est pas proposée par d'autres fournisseurs ; UberLLM exclut l'outil de toute façon. |
Exécutions non interactives pour les scripts et la CI :
codex exec --skip-git-repo-check "fix the failing test in tests/test_api.py"
Comment ça marche
- Codex envoie toute la conversation à chaque tour avec
store: false. UberLLM ne conserve rien entre les appels et Codex n'a pas besoin de conserver quoi que ce soit. - Les outils de Codex (
exec_command,apply_patch,update_plan, les serveurs MCP que vous ajoutez) sont des outils de fonction et personnalisés côté API, ils fonctionnent donc avec n'importe quel modèle prenant en charge les 'tool calls'. - Chaque appel apparaît dans Tableau de bord → Activité avec le nom de l'application
codexet son coût.
Dépannage
| Symptôme | Solution |
|---|---|
wire_api = "chat" n'est plus pris en charge |
Définissez wire_api = "responses". |
Missing environment variable: UBERLLM_API_KEY ou 401 |
Exportez la clé dans le terminal où Codex s'exécute. |
404 à chaque tour |
base_url doit être https://api.uberllm.dev/v1. |
| "Model metadata for … not found. Defaulting to fallback metadata" | Inoffensif pour les modèles en dehors de la liste d'OpenAI ; définissez model_context_window. |
| Le modèle répond mais n'exécute jamais de commandes | Utilisez un modèle avec des appels d'outils fiables (DeepSeek, GLM, Kimi, Qwen Coder, Claude, GPT). |
402 |
Ajoutez du crédit, ou augmentez la limite de dépenses de la clé. |