DeepSeek Harness (dsh) : qu’est-ce que c’est et comment l’utiliser

DeepSeek Harness est une couche agent ouverte développée par DeepSeek AI, publiée le 13 août 2026 sous la licence MIT. Ce n’est ni un modèle ni un autre agent de programmation — c’est l’échafaudage qui transforme n’importe quel modèle en agent opérationnel, une idée que la page officielle du produit énonce directement avec une formule simple : Agent = Model + Harness.

Diagramme d'architecture : un bloc modèle plus un bloc harness de capacités empilées équivaut à un agent fonctionnel avec un terminal et une arborescence de fichiers

DSH Field Guide est une ressource communautaire indépendante créée pour documenter DeepSeek Harness à l’intention de ceux qui le configurent et l’utilisent au quotidien. Elle n’est ni affiliée à DeepSeek, ni approuvée ni exploitée par DeepSeek, et DeepSeek ainsi que DeepSeek Harness restent des marques déposées de leurs propriétaires respectifs.

Ce qu’est réellement DeepSeek Harness

DeepSeek Harness — nom de commande dsh — est développé par DeepSeek AI et écrit en TypeScript sous la licence MIT, avec le slogan « Everything is a Plugin ». Le dépôt GitHub, deepseek-ai/deepseek-harness, avait déjà accumulé 210 610 étoiles et 24 639 forks au 3 septembre 2026, une progression assez rapide pour le classer parmi les lancements open source à la croissance la plus fulgurante jamais enregistrée.

Le modèle est l’âme de l’agent. Le harness permet à l’agent de comprendre son environnement, d’utiliser des outils et de continuer à travailler dans des conditions réelles.— DeepSeek, page officielle du produit DeepSeek Harness

Cette phrase résume toute l’intention de conception. DeepSeek Harness n’est pas un modèle de langage — le modèle se branche depuis l’extérieur, y compris un modèle tiers ou local. Ce n’est pas non plus un simple agent de programmation : Claude Code et Codex peuvent y être montés en tant que sous-agents plutôt que d’être en concurrence avec lui. Et ce n’est pas un framework de benchmark — lm-evaluation-harness d’EleutherAI est un projet Python distinct servant à évaluer des modèles, et il n’existe aucun dépôt nommé deepseek-ai/DeepSeek-Harness avec une configuration pip install -r requirements.txt. Le vrai dsh tourne sur Node.js et s’installe via npx.

La formule Agent = Model + Harness

Tout ce qui ne relève pas de l’entraînement du modèle lui-même se trouve dans DeepSeek Harness : planification des tâches, appels d’outils, exécution de code, gestion du contexte, sessions, permissions et interface. Les propres documents de recrutement de DeepSeek décrivent cette couche sans détour comme une couche de contrôle du modèle — la partie qui gère le contexte, appelle les outils, lit et écrit des fichiers, lance un terminal et corrige le résultat.

Ce que dsh n’est PAS

Trois distinctions reviennent systématiquement pour quiconque découvre le projet :

  • Pas un modèle de langage. DeepSeek Harness se connecte à un modèle via un adaptateur ; ce modèle peut être celui de DeepSeek ou d’un tout autre fournisseur.
  • Pas seulement un agent de programmation. Les vrais CLI Claude Code et Codex peuvent fonctionner en tant que sous-agents en dessous.
  • Pas un framework de benchmark. lm-evaluation-harness (EleutherAI) est un projet Python servant à noter les modèles de DeepSeek, pas un produit DeepSeek — les deux sont des bases de code sans rapport qui ne partagent qu’un mot dans leur nom.

Tout est un plugin

DeepSeek Harness est construit sur Cordis, un moteur de plugins, et le slogan « Everything is a Plugin » n’est pas une formule marketing — les modèles, outils, compétences, sessions, bacs à sable, systèmes de fichiers, la boucle principale elle-même, l’orchestration et l’interface sont tous implémentés sous forme de plugins. Le répertoire packages/ contient plus de 200 packages workspace, et un plugin peut être déchargé à la volée sans redémarrer le processus.

En quoi cela diffère d’un framework d’agents classique

Un framework d’agents typique se compose d’une boucle principale et d’un ensemble de capacités câblées manuellement ; ajouter une nouvelle capacité implique de modifier la boucle, de reconstruire l’assemblage du prompt et de réenregistrer les outils. DeepSeek Harness a transformé la boucle principale elle-même en plugin, de sorte qu’étendre le système revient à accrocher un nouveau plugin à côté des existants, sans toucher au cœur.

Points d’articulation des capacités

Chaque capacité remplaçable est découpée en trois rôles : définition, implémentation et consommateur. Remplacer une implémentation change le comportement du produit partout où cette capacité est utilisée, sans nécessiter de fork.

Cordis : le noyau d’exécution

Cordis est le moteur de plugins sous-jacent à DeepSeek Harness, se décrivant comme un framework pour la « composabilité spatiotemporelle ». Sa conception est documentée dans le preprint arXiv 2608.25512, « A Programming Paradigm for Spatiotemporal Composability », un article de 88 pages publié le 13 août 2026 par Yifan Shi, Wei Zhang et Tianyi Cui.

Deux propriétés définissent le modèle. La composabilité temporelle signifie que décharger un composant annule intégralement chaque effet qu’il a produit. La composabilité spatiale signifie que les composants déclarent leurs dépendances et sont interconnectés de manière réactive. DeepSeek intègre Cordis directement dans DeepSeek Harness plutôt que d’en dépendre comme d’un package externe.

Diagramme en regard : un framework classique avec des capacités soudées à une boucle principale câblée, face à dsh avec des cartes plugin détachables accrochées à une colonne vertébrale

Cordis lui-même est antérieur à DeepSeek Harness — c’est un projet open source autonome du développeur Yifan Shi (connu sous le nom de Shigma), et il sert de noyau de plugins pour le framework de chatbot Koishi depuis 2019. La règle selon laquelle « décharger un plugin doit annuler tout ce qu’il a fait » est issue de ce projet antérieur.

Le journal de session en ajout seul

Chaque exécution écrit dans un journal en ajout seul : prompts système, traces de raisonnement, appels d’outils et leurs résultats, planification des sous-agents et chaque injection de contexte. La reprise, le fork, la recherche et la relecture fonctionnent tous en relisant ce journal plutôt qu’en s’appuyant sur un stockage d’état séparé.

Diagramme d'interface d'un journal de session en ajout seul : un rail d'entrées croissant avec une branche se détachant de l'une d'elles, et des tuiles de statistiques en direct dans une barre latérale

L’interface web affiche des statistiques que la plupart des environnements d’exécution d’agents dissimulent entièrement : tokens par seconde, taux de cache hit, nombre de tours et temps d’exécution écoulé. Quand le projet a été évoqué sur Hacker News, le fil a recueilli 747 points et 314 commentaires, et la transparence de ce journal de session a été l’un des détails les plus appréciés dans la discussion.

Quatre modes : standard, code, minimal, créateur

ModeCe qu’il vous offreQuand l’utiliser
StandardEnsemble d’outils complet, agent polyvalentTâches quotidiennes
CodeOutils exposés via le SDK Code Mode ; le modèle écrit un programme TypeScriptAutomatisation complexe en plusieurs étapes
MinimalSeulement bash et un éditeur de type str_replaceBenchmark de modèles équitable, comparaison à conditions égales
CreatorAssembler son propre presetCréer un profil ou bundle personnalisé

Démarrage rapide en une commande

Le chemin le plus rapide vers une instance fonctionnelle tient en une ligne :

npx @deepseek-ai/dsh web

Cette commande démarre une interface web à l’adresse http://127.0.0.1:3080 et l’ouvre dans un navigateur ; ajoutez --no-open pour ne pas lancer le navigateur sur une machine sans interface graphique. Elle nécessite Node.js ^22.19.0 ou ≥ 24.0.0, et pnpm 11.7.0 pour compiler depuis les sources :

  1. git clone https://github.com/deepseek-ai/deepseek-harness.git
  2. cd deepseek-harness
  3. pnpm install
  4. pnpm run build
  5. pnpm dsh web
  6. Lisez SAFETY.md avant de pointer l’agent sur un vrai projet — le README l’exige.
  7. Ajoutez votre clé API lorsque vous y êtes invité ; elle est stockée dans $DSH_HOME/.credentials.yaml et affichée masquée dans l’interface.

Première utilisation en trois étapes

Ouvrez les Paramètres, allez dans Modèles et collez une clé API — la route s’active immédiatement, sans redémarrage du serveur. Ajoutez et sélectionnez un dossier de travail ; la saisie de tâche reste désactivée tant qu’aucun dossier n’est choisi. Envoyez ensuite une tâche. Tout ce qui dépasse les permissions déjà accordées vous est soumis pour confirmation avant d’être exécuté.

Autres points d’entrée

Au-delà de l’interface web, DeepSeek Harness propose un TUI (dsh --profile tui), un mode sans interface pour les scripts et la CI (dsh --profile headless "description de la tâche"), un SDK Python (pip install deepseek-harness-sdk, qui embarque son propre environnement d’exécution sans nécessiter Node.js sur le système — une version Windows x64 est disponible depuis la 0.1.2-rc.1), et un SDK TypeScript pour l’intégrer directement dans une autre application.

Modèles, fournisseurs et coûts

DeepSeek Harness lui-même est gratuit et ouvert sous la licence MIT — le seul coût récurrent est l’utilisation de tokens du modèle. L’API DeepSeek propose deepseek-v4-flash, deepseek-v4-pro et l’expérimental deepseek-v4-flash-vision-exp, tous avec une fenêtre de contexte de 1M tokens et une sortie pouvant atteindre 384K tokens. Une nouvelle grille tarifaire est entrée en vigueur le 16 août 2026 à 16h00 UTC, distinguant des plages horaires de pointe et creuses (pointe : 01h00–04h00 et 06h00–10h00 UTC, du lundi au vendredi).

v4-flashv4-pro
Entrée, cache hit, hors pointe$0.007 / 1M$0.022 / 1M
Entrée, cache miss, hors pointe$0.22 / 1M$0.66 / 1M
Entrée, cache miss, pointe$0.44 / 1M$1.32 / 1M
Sortie, hors pointe$0.66 / 1M$1.98 / 1M

Les détails complets se trouvent sur la page de tarification de l’API DeepSeek. Pour ceux qui souhaitent un coût API nul, l’adaptateur @deepseek-ai/dsh-llm-pi-ai connecte DeepSeek Harness à des backends de modèles tiers et locaux, notamment Ollama, vLLM, LM Studio, llama.cpp et tout gateway compatible OpenAI — un modèle entièrement local, utilisé gratuitement, fonctionne avec la même configuration dsh.

Claude Code et Codex en tant que sous-agents

L’un des choix de conception les moins évidents : DeepSeek Harness peut déléguer à de vrais agents de programmation tiers au lieu de les remplacer. Le package @deepseek-ai/dsh-subagent-claude-code lance un vrai CLI Claude Code en tant que processus enfant via l’Agent SDK officiel, et @deepseek-ai/dsh-subagent-codex fait de même pour Codex via son protocole app-server --stdio. Chaque sous-agent conserve sa propre configuration native et son autorisation — DeepSeek Harness n’intercepte ni ne remplace la façon dont ces outils se connectent. Depuis la version 0.1.2-rc.1, le modèle utilisé par chaque sous-agent peut être configuré séparément de la session parente.

Chronologie des versions et état actuel

Les capacités de DeepSeek Harness ont d’abord été intégrées discrètement dans la version officielle DeepSeek V4 le 31 juillet 2026, sans produit autonome ni code source public. Le véritable lancement a eu lieu le 13 août 2026 : à 11h56 UTC, le dépôt public a été mis en ligne, @deepseek_ai a annoncé que « DeepSeek Harness v0.1 est désormais disponible en Developer Preview », DeepSeek-V4-Pro-0813 est passé en disponibilité générale, et le preprint Cordis est apparu sur arXiv le même jour. Le 14 août 2026 est une date à part à connaître : c’est le premier commit visible dans l’historique du dépôt public, ce qui explique pourquoi certains articles le décrivent comme le jour où le code a été ouvert — le dépôt lui-même a pourtant été créé le 13.

Chronologie des versions avec cinq jalons : V4 le 31 juillet, v0.1 le 13 août, premier commit public le 14 août, v0.1.1 le 21 août et v0.1.2 le 3 septembre

Depuis lors, le projet a publié une nouvelle version presque chaque jour : la version 0.1.1 est arrivée le 21 août avec DeepSeek-V4-Flash-Vision-Exp, et la 0.1.2-rc.1 a suivi le 3 septembre. Le README avertit en lettres capitales qu’il y aura des changements incompatibles, et les issues comme les pull requests sont désactivées sur le dépôt — les retours se font via GitHub Discussions ou Discord.

Par où continuer

Chaque partie de DeepSeek Harness dispose de sa propre page dans ce guide, et elles sont conçues pour être lues dans n’importe quel ordre.

Commencez par installer DeepSeek Harness si vous souhaitez simplement le faire fonctionner, et lisez DeepSeek Harness sur Windows en premier si c’est votre machine — presque tous les échecs d’installation connus concernent Windows. En cas de problème, le guide des erreurs couvre les pannes avec la formulation exacte que les gens recherchent.

Pour comprendre ce que vous utilisez, la visite guidée du dépôt GitHub explique ce qui se trouve réellement dans le monorepo, et Cordis couvre le noyau de plugins en dessous. De là, le guide des plugins montre comment les capacités sont ajoutées, remplacées et publiées, et les sous-agents couvrent la partie dont presque personne ne parle — dsh exécutant Claude Code et Codex en tant que processus enfants.

Pour les décisions plutôt que la mécanique : la tarification et l’économie des tokens explique ce que le changement de prix de l’API d’août 2026 a fait à l’argument « moins cher que Claude Code », DeepSeek Harness face à Claude Code les compare honnêtement dans les deux sens, et l’utilisation de modèles locaux couvre Ollama, vLLM, LM Studio et llama.cpp pour ceux qui préfèrent ne pas envoyer de code ailleurs. Si vous êtes curieux de savoir qui construit ceci, la page de l’équipe rassemble ce qui est connu publiquement sur le groupe au sein de DeepSeek qui en est responsable.

FAQ