Claude Code avec DeepSeek Flash ou Pro : configuration, tests et prix
Guide complet pour relier Claude Code à DeepSeek, choisir Flash ou Pro, saisir la clé sans l’exposer, valider la route, corriger les erreurs et comparer les prix actuels.
Sommaire

Claude Code peut se connecter directement à l’endpoint compatible Anthropic de DeepSeek, sans proxy supplémentaire. Pour la plupart des tâches, commencez par le profil officiel actuel deepseek-flash[1m]. Réservez deepseek-v4-pro au fil principal lorsqu’une refactorisation difficile, une décision d’architecture ou un diagnostic long justifie son coût supérieur.
Deux pièges faussent facilement le résultat. L’exemple actuel de DeepSeek force Flash jusque dans la route Opus et remplace donc le mapping automatique. De plus, un nom de modèle non pris en charge retombe silencieusement sur deepseek-flash. Une réponse normale prouve la connectivité, pas l’utilisation réelle de Pro.
Choisir le profil de modèles avant de modifier les variables
Au 27 septembre 2026, le guide Claude Code de DeepSeek présente un profil économique entièrement en Flash. Le guide de compatibilité Anthropic indique que les noms commençant par claude-opus sont mappés vers deepseek-v4-pro, tandis que claude-sonnet et claude-haiku vont vers deepseek-flash.
| Profil | Modèle principal / Opus | Sonnet | Haiku et subagents | Usage conseillé |
|---|---|---|---|---|
| Profil officiel, priorité à la vitesse | deepseek-flash[1m] | deepseek-flash[1m] | deepseek-flash | Développement quotidien, lecture de dépôt, nombreuses petites tâches |
| Pro sur le fil principal | deepseek-v4-pro | deepseek-flash[1m] | deepseek-flash | Architecture, refactorisation complexe, diagnostic critique |
| Mapping automatique des noms Claude | claude-opus* → deepseek-v4-pro | claude-sonnet* → deepseek-flash | claude-haiku* → deepseek-flash | Seulement si vous savez quel nom Claude le client envoie |
Les variables explicites sont prioritaires. Si ANTHROPIC_DEFAULT_OPUS_MODEL=deepseek-flash[1m] est défini, choisir Opus dans Claude Code enverra tout de même la requête à Flash.
1. Installer Claude Code et valider d’abord le CLI
Utilisez Node.js 18 ou plus récent. Sous Windows, installez aussi Git for Windows. Vérifiez la version avant de configurer le fournisseur afin de ne pas confondre une panne locale et une erreur d’endpoint.
npm install -g @anthropic-ai/claude-code
claude --version
IFS= read -rs ANTHROPIC_AUTH_TOKEN
export ANTHROPIC_AUTH_TOKEN
export ANTHROPIC_BASE_URL="https://api.deepseek.com/anthropic"
export ANTHROPIC_MODEL="deepseek-flash[1m]"
export ANTHROPIC_DEFAULT_OPUS_MODEL="deepseek-flash[1m]"
export ANTHROPIC_DEFAULT_SONNET_MODEL="deepseek-flash[1m]"
export ANTHROPIC_DEFAULT_HAIKU_MODEL="deepseek-flash"
export CLAUDE_CODE_SUBAGENT_MODEL="deepseek-flash"
export CLAUDE_CODE_EFFORT_LEVEL="max"
export CLAUDE_CODE_AUTO_COMPACT_WINDOW="786432"
IFS= read -rs ANTHROPIC_AUTH_TOKEN attend la saisie de l’API Key sans l’afficher. Collez la clé, appuyez sur Entrée, puis la ligne suivante l’exporte dans le shell courant. N’inscrivez pas une vraie clé dans une commande, l’historique, un script ou un dépôt.
Sous PowerShell, lisez le secret de manière sûre et exposez-le uniquement au processus courant :
npm install -g @anthropic-ai/claude-code
claude --version
$secure = Read-Host -AsSecureString
$ptr = [Runtime.InteropServices.Marshal]::SecureStringToBSTR($secure)
try {
$env:ANTHROPIC_AUTH_TOKEN = [Runtime.InteropServices.Marshal]::PtrToStringBSTR($ptr)
} finally {
[Runtime.InteropServices.Marshal]::ZeroFreeBSTR($ptr)
}
$env:ANTHROPIC_BASE_URL="https://api.deepseek.com/anthropic"
$env:ANTHROPIC_MODEL="deepseek-flash[1m]"
$env:ANTHROPIC_DEFAULT_OPUS_MODEL="deepseek-flash[1m]"
$env:ANTHROPIC_DEFAULT_SONNET_MODEL="deepseek-flash[1m]"
$env:ANTHROPIC_DEFAULT_HAIKU_MODEL="deepseek-flash"
$env:CLAUDE_CODE_SUBAGENT_MODEL="deepseek-flash"
$env:CLAUDE_CODE_EFFORT_LEVEL="max"
$env:CLAUDE_CODE_AUTO_COMPACT_WINDOW="786432"
Ces variables s’appliquent au Claude Code lancé depuis ce terminal. Validez d’abord une session temporaire, puis ne persistez que les réglages non secrets dans un profil protégé. Gardez la clé dans un coffre adapté.
2. Réserver Pro au fil qui a besoin d’un raisonnement plus profond
La page actuelle des modèles et tarifs donne deepseek-v4-pro comme ID exact, actuellement DeepSeek-V4-Pro-0813. La page Claude Code ne montre le suffixe [1m] qu’avec Flash et ne fournit pas d’exemple deepseek-v4-pro[1m]. Utilisez donc l’ID documenté plutôt que d’inventer un suffixe.
export ANTHROPIC_MODEL="deepseek-v4-pro"
export ANTHROPIC_DEFAULT_OPUS_MODEL="deepseek-v4-pro"
export ANTHROPIC_DEFAULT_SONNET_MODEL="deepseek-flash[1m]"
export ANTHROPIC_DEFAULT_HAIKU_MODEL="deepseek-flash"
export CLAUDE_CODE_SUBAGENT_MODEL="deepseek-flash"
La session principale et la route Opus passent sur Pro, tandis que Sonnet, Haiku et les subagents restent sur Flash. Les recherches dans le dépôt, lectures de fichiers et petites délégations peuvent multiplier les appels ; Flash évite de payer Pro là où son raisonnement n’apporte rien.
Ce que signifie [1m], et ses limites
La documentation DeepSeek actuelle ne définit pas [1m] dans une phrase séparée. Elle montre le suffixe sur le Flash principal et les overrides Opus/Sonnet, conserve deepseek-flash sans suffixe pour Haiku et CLAUDE_CODE_SUBAGENT_MODEL, et publie une longueur de contexte de 1M dans la table des modèles. Pris ensemble, ces éléments invitent à traiter [1m] comme la notation Claude Code qui demande la route à un million de tokens de contexte uniquement pour les modèles où le guide l’affiche ; ce n’est ni un autre modèle, ni un autre tarif, ni un million de tokens de sortie.
Gardez ces limites en tête :
- la sortie maximale publiée est 384K, pas 1M ;
CLAUDE_CODE_AUTO_COMPACT_WINDOW=786432laisse une marge avant la limite de contexte ;- la facturation utilise
deepseek-flashetdeepseek-v4-pro; n’ajoutez pas le suffixe à un modèle que la page actuelle ne présente pas ainsi.
3. Effectuer un test minimal avant une longue session
Lancez Claude Code dans un projet jetable ou peu risqué :
test -n "${ANTHROPIC_AUTH_TOKEN:-}"
test "$ANTHROPIC_BASE_URL" = "https://api.deepseek.com/anthropic"
claude --version
cd /path/to/your/project
claude
Demandez une tâche observable en lecture seule : « Lis package.json ou pyproject.toml, liste les scripts disponibles et ne modifie aucun fichier. » Le succès correspond à une réponse normale et un appel de lecture terminé, sans erreur 401, 402, 429, de connexion ou de modèle. L’échange est synchrone : aucun job ID ni polling, le résultat apparaît dans la session.
Si Claude Code échoue, isolez l’endpoint du client avec le schéma officiel du SDK Anthropic et enregistrez la réponse :
python3 -m pip install anthropic
python3 - <<'PY'
import os
from pathlib import Path
import anthropic
client = anthropic.Anthropic(
base_url=os.environ["ANTHROPIC_BASE_URL"],
api_key=os.environ["ANTHROPIC_AUTH_TOKEN"],
)
message = client.messages.create(
model="deepseek-flash",
max_tokens=200,
messages=[{"role": "user", "content": "Reply with: endpoint OK"}],
)
text = "\n".join(block.text for block in message.content if block.type == "text")
Path("deepseek-smoke.txt").write_text(text, encoding="utf-8")
print("saved deepseek-smoke.txt")
PY
Si deepseek-smoke.txt est créé mais Claude Code échoue encore, vérifiez les variables concurrentes, les autres fichiers settings et les anciens processus. Si le SDK échoue aussi, contrôlez Base URL, clé, solde et état du service.
DeepSeek précise qu’un nom non pris en charge retombe sur deepseek-flash. Le check SDK prouve le transport, tandis que la tâche read-only de Claude Code vérifie aussi un appel de tool élémentaire ; aucun des deux ne prouve l’identité du modèle. Avant de mesurer Pro ou d’en prévoir le coût, consultez les données de requête, d’usage ou de facturation que le fournisseur expose. Si le modèle n’y apparaît pas, ne prenez pas une réponse correcte pour la preuve que Pro a été utilisé.
Outils, thinking et recherche web ont des limites documentées
La compatibilité Anthropic Messages couvre les structures principales, sans rendre DeepSeek identique à Claude. Les éléments importants de la table de compatibilité sont :
| Capacité | État | Conséquence pratique |
|---|---|---|
tools, tool_use, tool_result | Champs principaux pris en charge | Base de protocole disponible pour fichiers et commandes locales |
tool_choice | Pris en charge ; disable_parallel_tool_use ignoré | Ce flag ne garantit pas une exécution strictement sérielle |
| Web Search dans Claude Code | Pris en charge nativement | Le résumé des résultats génère des appels LLM et des tokens supplémentaires |
cache_control Anthropic | Ignoré | Une directive Anthropic ne prouve pas un cache hit réel |
| Thinking | Pris en charge ; budget_tokens ignoré, effort disponible | Le profil utilise CLAUDE_CODE_EFFORT_LEVEL=max ; le budget Claude ne contrôle pas la dépense ici |
Blocs document et search_result | Non pris en charge | Testez d’abord les processus qui en dépendent |
code_execution_tool_result et mcp_tool_use | Non pris en charge | L’exécution server-side et les blocs MCP Anthropic ne sont pas équivalents |
tool_result.is_error | Ignoré | Un middleware ne doit pas transmettre l’échec uniquement par ce champ |
Le guide DeepSeek indique que son API fournit Web Search à Claude Code. Lorsque le modèle décide de chercher, des appels supplémentaires résument le contenu trouvé. Intégrez recherche, contexte long, boucles d’outils et retries dans le calcul du coût.
Dépanner à partir du symptôme
| Symptôme | Vérification prioritaire | Correction et nouveau test |
|---|---|---|
| 401 / authentication failure | Clé, espaces, variable absente de ce shell | Ressaisissez la clé sans affichage, redémarrez et répétez la lecture courte |
| 402 / insufficient balance | Solde DeepSeek | Rechargez puis rejouez la même courte requête |
| 400 / 422 | Champ, ID ou middleware qui réécrit le corps | Restaurez les variables officielles ; un client Thinking + tools doit renvoyer tout reasoning_content |
| 429 | Débit et sessions parallèles | Réduisez la concurrence et appliquez un backoff |
| 500 / 503 | Panne ou surcharge fournisseur | Attendez, réessayez et notez l’heure si le problème persiste |
| Réponse normale mais Pro paraît absent | Faute de frappe ou fallback | Utilisez deepseek-v4-pro exact et confirmez modèle/tarif dans le tableau de bord |
| Réglages inchangés | Ancien processus ou autre couche settings | Fermez tout, ouvrez un nouveau terminal, redéfinissez les variables et relancez |
| Web Search ne se déclenche pas | Le modèle peut juger la recherche inutile | Demandez explicitement une information web actuelle ; cela ne signale pas une panne de connexion |
La page officielle des erreurs distingue 401, 402, 429, 500 et 503. Modifiez un seul paramètre à la fois et répétez toujours le même petit test.
Tarifs DeepSeek et BetterToken vérifiés le 27 septembre 2026
Tous les montants sont en USD par million de tokens. DeepSeek applique peak/off-peak ; le catalogue BetterToken ne reproduit pas ce découpage horaire. Avant un gros traitement, revérifiez les tarifs DeepSeek et l’unique page tarifaire BetterToken.
Tarifs officiels DeepSeek
| ID / version actuelle | Période | Input sans cache | Input avec cache | Output |
|---|---|---|---|---|
deepseek-flash / DeepSeek-V4.1-Flash | Off-peak | $0.15 | $0.003 | $0.60 |
deepseek-flash / DeepSeek-V4.1-Flash | Peak | $0.30 | $0.006 | $1.20 |
deepseek-v4-pro / DeepSeek-V4-Pro-0813 | Off-peak | $0.66 | $0.022 | $1.98 |
deepseek-v4-pro / DeepSeek-V4-Pro-0813 | Peak | $1.32 | $0.044 | $3.96 |
Peak couvre 01:00–04:00 et 06:00–10:00 UTC du lundi au vendredi, hors jours fériés chinois ; le reste est off-peak. Le changelog du 10 septembre indique que deepseek-flash appelle V4.1 Flash et que les anciens noms deepseek-v4-flash sont temporairement routés vers elle.
Catalogue public BetterToken
| ID BetterToken / correspondance actuelle | Types d’endpoint | Input | Cache hit | Output |
|---|---|---|---|---|
deepseek-flash / dernière Flash, actuellement V4.1 Flash | Anthropic, OpenAI | $0.132 | $0.00264 | $0.528 |
deepseek-pro / dernière Pro, actuellement V4-Pro-0813 | OpenAI | $0.5808 | $0.01936 | $1.7424 |
deepseek-v4-pro-0813 / V4-Pro-0813 | Anthropic, OpenAI | $0.5896 | $0.0176 | $1.7644 |
deepseek-pro est légèrement moins cher, mais n’est répertorié que pour OpenAI. Un nom ou un prix proche ne le rend pas utilisable avec Anthropic Messages. Pour Pro via BetterToken, validez deepseek-v4-pro-0813, dont la fiche mentionne Anthropic.
Exemple avec 1 million de tokens input sans cache et 200 000 output, sans recherche ni retry :
- Flash : environ $0.27 chez DeepSeek off-peak, $0.54 en peak et $0.2376 au tarif catalogue BetterToken.
- Pro : environ $1.056 chez DeepSeek off-peak, $2.112 en peak et $0.9425 avec l’ID Pro Anthropic de BetterToken.
Ces chiffres décrivent le 27 septembre 2026 et ne garantissent pas que BetterToken sera toujours moins cher. Contexte, tools, recherche, retries et changements tarifaires modifient le total.
Évaluer BetterToken sans inventer le mapping
Le catalogue public BetterToken marque deepseek-flash et deepseek-v4-pro-0813 comme compatibles Anthropic, tandis que deepseek-pro est réservé à OpenAI. Cela suffit pour comparer les prix et repérer des ID candidats, mais pas pour considérer un mapping Claude Code comme confirmé.
Le guide BetterToken actuel pour Claude Code documente https://bettertoken.ai sans /v1, l’authentification, le redémarrage et les mappings pour Claude, Kimi et GLM. Il ne fournit pas de profil DeepSeek spécifique. Pour le provider Claude, il demande aussi de ne pas définir manuellement ANTHROPIC_MODEL ni ANTHROPIC_DEFAULT_*_MODEL. Ne déduisez donc pas un mapping DeepSeek persistant à partir du seul catalogue de prix.
Si le Setup BetterToken actuel ou une documentation plus récente affiche un profil DeepSeek, utilisez l’ID exact présenté et répétez la tâche read-only ainsi que le SDK smoke test précédents. Pour Pro, ne considérez que deepseek-v4-pro-0813, déclaré compatible Anthropic ; ne le remplacez pas par deepseek-pro, limité à OpenAI. Tant qu’un mapping spécifique n’est pas documenté ou confirmé dans votre compte, l’endpoint direct DeepSeek reste la configuration connue.
Pour évaluer cette route, consultez les tarifs actuels, puis créez un compte et une API Key.
Choisir selon la tâche
- Développement courant : endpoint DeepSeek direct avec
deepseek-flash[1m], conforme au profil officiel et économique pour les itérations. - Travail complexe et important : main thread et Opus sur
deepseek-v4-pro, Sonnet, Haiku et subagents sur Flash. Écartez un fallback avant de monter en charge. - Solde unique ou plusieurs fournisseurs : évaluez BetterToken seulement si le Setup actuel affiche un profil DeepSeek. Utilisez
supported_endpoint_typescomme filtre initial, puis confirmez le mapping, l’ID exact et le prix du jour. - Blocs propres à Anthropic ou parité comportementale : utilisez Claude. La compatibilité de transport ne garantit ni le même comportement ni tous les outils.
Avant un dépôt important, fermez la boucle : version visible, clé jamais affichée, Base URL exacte, tâche de lecture réussie et identité du modèle confirmée par les données disponibles ou explicitement laissée non confirmée.