AIREITER

Utiliser DeepSeek dans Codex : configuration, limites et coût

Dernière mise à jour: 2026-08-03 08:11:50

Intégrer DeepSeek à Codex ne demande plus de proxy : Codex passe par la Responses API, un protocole que l’API DeepSeek gère directement. La configuration se résume donc désormais à quelques fichiers. Mais il y a une restriction importante : parmi les deux modèles DeepSeek, un seul est utilisable, et il ne prend pas les images en charge.

Page de documentation officielle de DeepSeek consacrée à l’intégration des modèles DeepSeek avec OpenAI Codex

DeepSeek est-il compatible avec Codex ?

Oui. Codex communique avec les modèles via la Responses API d’OpenAI, que l’API DeepSeek prend en charge nativement. DeepSeek peut donc être déclaré comme fournisseur de modèles dans le fichier de configuration de Codex. L’intégration est documentée directement par DeepSeek, dans la section Agent Integrations → Codex de sa documentation API.

Le prérequis a changé. Codex a abandonné l’ancienne voie wire_api = "chat" au profit de la Responses API. Pendant un temps, il fallait donc intercaler une couche de traduction — LiteLLM, un routeur disposant de sa propre implémentation de Responses, ou un pont écrit à la main — pour joindre DeepSeek. Ces solutions restent utilisables, mais elles ne sont plus indispensables. Il s’agit ici de configurer un fournisseur, ce qui est distinct de l’ajout d’outils MCP liés à DeepSeek dans Codex.

La même configuration s’applique à toutes les interfaces Codex. Le CLI, l’application de bureau ChatGPT et l’extension Codex pour VS Code lisent tous le même répertoire ~/.codex. Une seule configuration suffit donc, quel que soit le client utilisé.

Le seul modèle DeepSeek disponible dans Codex

Il n’y en a qu’un : deepseek-v4-flash. Dans son tableau de tarifs, DeepSeek indique la compatibilité Responses API par ✓ pour deepseek-v4-flash, contre ✗ pour deepseek-v4-pro. Une note annonce une prise en charge de Pro au début août 2026. Au 3 août 2026, cette note est toujours présente et Pro reste marqué ✗.

Les deux modèles figurent dans le catalogue models.json écrit par la procédure d’installation. Rien n’empêche donc de sélectionner Pro dans la configuration ; l’échec intervient ensuite côté fournisseur, au moment de la requête. Le préréglage DeepSeek de CC Switch affiche le même avertissement dans son code source : basculer vers Pro avant l’ouverture de l’intégration par DeepSeek provoque une erreur.

Pour utiliser aujourd’hui le modèle le plus puissant, il faut passer par son endpoint au format Anthropic. C’est pourquoi Pro apparaît dans les configurations Claude Code, mais pas dans Codex. Les écarts de prix et de concurrence entre les deux modèles sont suffisamment marqués pour que ce choix soit réfléchi ; voir deepseek-v4-flash vs deepseek-v4-pro.

Méthode 1 : le script officiel

DeepSeek fournit un script qui écrit l’ensemble de la configuration. C’est l’option la plus rapide si vous ne gérez pas déjà plusieurs fournisseurs. Codex CLI ou l’application de bureau ChatGPT doivent toutefois avoir été installés et lancés une première fois, afin que ~/.codex existe. Votre client Codex doit aussi être en version 0.144.0 au minimum, seuil déclaré par le catalogue de modèles.

# macOS / Linux
bash <(curl -fsSL https://cdn.deepseek.com/api-docs/codex-deepseek-setup-en.sh)

# Windows, in PowerShell
irm https://cdn.deepseek.com/api-docs/codex-deepseek-setup-en.ps1 | iex

Le script affiche un menu : 1 sélectionne deepseek-v4-flash, 2 sélectionne deepseek-v4-pro, et 3 restaure la configuration antérieure à l’installation. Choisissez 1 : l’option 2 produit une configuration valide pour un modèle qui ne peut pas encore répondre aux requêtes de Codex. Au premier lancement, le script demande votre clé API, à créer sur platform.deepseek.com.

Ce que le script modifie dans une configuration existante

J’ai exécuté le script officiel le 3 août 2026 sur un CODEX_HOME jetable, initialisé avec une configuration volontairement conflictuelle : un profile, un ancien model_verbosity, un model_reasoning_summary, ainsi qu’un serveur MCP et une entrée de projet approuvé. Pour reproduire le test, utilisez CODEX_HOME=/tmp/probe sh codex-deepseek-setup-en.sh puis choisissez 1. Le script a signalé quatre modifications en expliquant chacune d’elles :

• Rewrote model: "gpt-5.6-sol" → "deepseek-v4-flash"
• Removed profile = "myprofile"  ← a profile masks model / model_provider / model_catalog_json
• Removed model_verbosity = "high"  ← a stale value may be outside what the model supports
• Removed model_reasoning_summary = "detailed"  ← models.json declares default_reasoning_summary=none

Le bloc [mcp_servers.playwright], le niveau de confiance du projet [projects."..."] et approval_policy sont restés intacts. Le fichier d’origine a été copié dans ~/.codex/backup-deepseek/ avant toute écriture. Le script valide les deux fichiers avant de les enregistrer : models.json en tant que JSON, et config.toml pour les erreurs d’analyse et les clés dupliquées. Ce constat provient d’une exécution sur une machine et une configuration : il prouve l’existence des mécanismes de sauvegarde et de restauration, pas leur comportement pour toutes les formes de configuration possibles.

Méthode 2 : modifier config.toml à la main

L’édition manuelle est la bonne approche si vous versionnez votre configuration ou si vous voulez comprendre le rôle de chaque champ. Créez ~/.codex/models.json à partir du catalogue de modèles publié dans la documentation DeepSeek, puis ajoutez ceci dans ~/.codex/config.toml :

model = "deepseek-v4-flash"
model_provider = "deepseek"
preferred_auth_method = "apikey"
forced_login_method = "api"
model_reasoning_effort = "high"
model_catalog_json = "~/.codex/models.json"

[model_providers.deepseek]
name = "deepseek"
base_url = "https://api.deepseek.com/"
wire_api = "responses"
experimental_bearer_token = "<your DeepSeek API Key>"
ChampRôle
wire_api = "responses"Sélectionne la Responses API plutôt que Chat Completions. C’est le champ qui rend l’intégration possible.
model_catalog_jsonPointe vers models.json, qui déclare la fenêtre de contexte, les niveaux de raisonnement et les formats d’outils. Sans lui, Codex utilise des métadonnées génériques.
preferred_auth_method, forced_login_methodForce l’authentification par clé API plutôt que par connexion à un compte ChatGPT.
model_reasoning_effortlow, high ou max : les trois niveaux déclarés dans le catalogue DeepSeek.
experimental_bearer_tokenVotre clé API, enregistrée telle quelle dans le fichier.

Méthode 3 : CC Switch pour changer souvent de fournisseur

CC Switch est une application de bureau qui gère la configuration des fournisseurs pour huit outils de développement, dont Codex. Elle propose un préréglage DeepSeek intégré : endpoint https://api.deepseek.com, deepseek-v4-flash comme modèle par défaut, et Flash comme Pro dans le catalogue. Elle écrit les mêmes champs qu’une configuration manuelle, mais depuis un menu de barre système plutôt que dans un éditeur.

Deux points sont à prendre en compte avant de l’adopter. Codex doit être redémarré après chaque bascule, contrairement à Claude Code. Par ailleurs, une seule application conserve les identifiants de tous les fournisseurs enregistrés et exécute un service local pour les router : le modèle de sécurité diffère donc d’une clé API stockée dans un unique fichier.

Comment confirmer que la configuration est active

Lancez Codex CLI dans un projet et consultez sa bannière de démarrage : les lignes model et provider font foi. Avec ma configuration de test, le 3 août 2026 et codex-cli 0.146.0, voici le résultat :

OpenAI Codex v0.146.0
model: deepseek-v4-flash
provider: deepseek
reasoning effort: high

Une clé invalide produit un message reconnaissable, qui mentionne également l’endpoint utilisé. C’est le moyen le plus rapide de vérifier que les requêtes partent bien vers DeepSeek :

ERROR: unexpected status 401 Unauthorized: Authentication Fails, Your api key: ****r000 is invalid,
       url: https://api.deepseek.com/responses

Codex effectue cinq tentatives avant d’afficher cette erreur ; une faute de frappe dans la clé entraîne donc d’abord quelques secondes sans retour. Dans l’application de bureau ChatGPT, le sélecteur de modèles affiche Custom plutôt que le nom du modèle sur macOS : c’est simplement l’étiquette employée par l’application pour tout modèle configuré localement. Le modèle DeepSeek choisi reste bien celui qui est utilisé. Si Codex journalise fallback model metadata ou Unknown model, c’est que models.json n’a pas été chargé et que le chemin du catalogue est incorrect.

Ce qui change avec DeepSeek dans Codex

Quatre comportements diffèrent de l’utilisation de Codex avec un modèle OpenAI. Aucun ne signale un problème à corriger.

Pas d’entrée image. Les entrées DeepSeek de models.json déclarent input_modalities: ["text"]. Les captures d’écran collées et les pièces jointes image ne sont donc disponibles dans aucun client Codex tant que DeepSeek est le modèle actif. Un développeur sur Hacker News a rencontré la même limite le 2 août 2026 et l’a contournée en conservant un second fournisseur pour la vision :

Comme DeepSeek V4 n’a pas de vision, il a configuré OMP pour utiliser GPT 5.6 Luna avec l’abonnement Codex.

Ce contournement consiste à ajouter un second bloc [model_providers.*] pointant vers un service qui accepte les images. Sa structure avec wire_api = "responses" est identique ; un endpoint agrégateur proposant GPT-5.6 s’intègre donc dans la même configuration, et il suffit de modifier une ligne model pour basculer.

Vos anciennes sessions semblent avoir disparu. Codex regroupe l’historique des sessions par méthode de connexion. Passer d’un abonnement ChatGPT à une clé API tierce masque ainsi le groupe précédent sans le supprimer. Restaurez la configuration antérieure et ces sessions réapparaissent, tandis que celles liées à DeepSeek sont alors masquées.

La clé reste en clair dans le fichier de configuration. experimental_bearer_token contient la clé elle-même, et non une référence vers une variable d’environnement. ~/.codex/config.toml devient donc un fichier sensible à vérifier avant de synchroniser ce répertoire ou de valider un dépôt de dotfiles.

Le modèle peut se présenter comme ChatGPT. Le models.json installé par l’intégration contient le prompt de harnais propre à Codex, qui commence par « You are Codex, an agent based on GPT-5. ». Ce prompt a un rôle concret : il définit le protocole des outils, les règles d’approbation et le format de sortie suivi par l’agent. Le comportement diffère donc de celui du même modèle dans une simple fenêtre de chat, et cette ligne d’identité provient du harnais, non d’une revendication d’ascendance du modèle.

Tarifs : ce que coûte deepseek-v4-flash

deepseek-v4-flash est facturé 0,14 $ par million de jetons d’entrée sans cache et 0,28 $ par million de jetons de sortie, tarifs vérifiés sur la page tarifaire de DeepSeek le 3 août 2026. Un jeton d’entrée servi depuis le cache coûte 0,0028 $ par million, soit cinquante fois moins qu’un cache manqué. Cet écart détermine le coût réel des longues sessions agentiques, car un agent de programmation renvoie un contexte toujours plus long à chaque tour.

Graphique à barres comparant les tarifs par million de jetons de deepseek-v4-flash et deepseek-v4-pro pour les entrées avec cache, les entrées sans cache et les sorties
deepseek-v4-flashdeepseek-v4-pro
Fonctionne dans CodexOuiPas encore
Chaîne de versionDeepSeek-V4-Flash-0731DeepSeek-V4-Pro
Contexte / sortie maximale1M / 384K1M / 384K
Entrée, cache atteint$0.0028$0.003625
Entrée, cache manqué$0.14$0.435
Sortie$0.28$0.87
Limite de concurrence2500500

Le tableau ne montre pas deux éléments. DeepSeek indique que des tarifs heures pleines et heures creuses arriveront, avec un tarif doublé pendant les heures de pointe — tous les jours de 09:00 à 12:00 et de 14:00 à 18:00, heure de Pékin (UTC+8) — sans date de lancement annoncée. Par ailleurs, le catalogue déclare une fenêtre de contexte de 1M effective à 95 %, la troncature étant appliquée selon la politique définie dans models.json.

FAQ

Peut-on utiliser DeepSeek dans Codex sans abonnement ChatGPT ?

Oui. preferred_auth_method = "apikey" et forced_login_method = "api" forcent Codex à s’authentifier avec votre clé DeepSeek, sans passer par la connexion à un compte.

L’extension VS Code et l’application de bureau nécessitent-elles une configuration distincte ?

Non. Les trois clients Codex lisent la même configuration ~/.codex. Redémarrez le client de bureau après une bascule pour qu’il applique le changement.

Comment revenir au modèle officiel ?

Relancez le script de configuration et choisissez l’option 3, qui restaure le config.toml sauvegardé avant l’installation. Si vous avez configuré Codex à la main, supprimez les champs DeepSeek ainsi que le bloc [model_providers.deepseek], puis reconnectez-vous.

Peut-on déjà utiliser deepseek-v4-pro dans Codex ?

Non, pas au 3 août 2026. La prise en charge de sa Responses API reste marquée ✗ sur la page tarifaire de DeepSeek. L’objectif annoncé était le début août 2026 : vérifiez donc cette page plutôt que de vous fier à une configuration qui vous laisse le sélectionner.

Quelle méthode choisir ?

MéthodeÀ choisir siContrepartie
Script officielVous voulez une installation en une commande, avec sauvegarde et restaurationIl réécrit des champs d’une configuration que vous n’avez peut-être pas examinée ; la clé est enregistrée en clair
config.toml manuelVous versionnez vos dotfiles ou devez comprendre chaque champVous maintenez vous-même models.json, et un mauvais chemin de catalogue dégrade discrètement les métadonnées
CC SwitchVous alternez entre DeepSeek, un abonnement officiel et d’autres fournisseursUne application conserve tous les identifiants et exécute un service local ; Codex doit être redémarré à chaque changement

La grande inconnue reste Pro. Flash est le modèle économique, rapide et limité au texte de la gamme, tandis que le modèle le plus attendu dans une boucle agentique ne parle pas encore le protocole requis par Codex. Tant que cette note ne bascule pas, choisir DeepSeek dans Codex revient à choisir Flash en connaissance de cause.

À lire aussi : Codex vs Claude Code · Comment utiliser GLM-5.2 dans Claude Code