DeepSeek Harness : le guide complet
Updated August 16, 2026 · first published August 16, 2026
DeepSeek Harness — nom de paquet dsh — est un harness d'agents open source publié par DeepSeek AI sous licence MIT. Voici la version sans prérequis : ce que c'est, comment l'exécuter, comment il est bâti, et s'il doit vous intéresser.
Ce qu'est réellement un harness d'agents
Un modèle produit du texte et des appels d'outils. C'est tout ce qu'il fait. Tout le reste de ce qui rend un agent utile relève du harness : assembler le prompt, exécuter effectivement les outils demandés, faire respecter ce qui est permis, consigner ce qui s'est passé, piloter la boucle qui décide de rappeler le modèle, et déléguer du travail à des sous-agents.
Cette distinction mérite d'être intégrée avant tout le reste, car l'essentiel de ce qu'un agent fait bien ou mal relève du comportement du harness et non du modèle. Deux équipes exécutant le même modèle obtiennent des résultats très différents et des factures très différentes — l'écart se loge ici.
Ce que fait DeepSeek Harness
Il exécute des agents de code et d'automatisation. Concrètement, l'agent lit et modifie des fichiers, lance des commandes shell, cherche dans le code, délègue à des sous-agents, planifie le travail et demande confirmation selon la politique de permissions active. Il offre une interface navigateur, un mode headless pour les exécutions uniques, et un serveur d'automatisation qui parle JSON-RPC sur l'entrée et la sortie standard.
L'unique idée de conception : tout est un plugin
Le harness s'appuie sur Cordis, un runtime de plugins où chaque plugin apporte des services, des événements typés et des effets réversibles dans un contexte partagé. Il n'y a pas de noyau privilégié. L'adaptateur de modèle est un plugin. Le registre d'outils est un plugin. Le journal de session est un plugin. La boucle d'agent elle-même est un plugin.
La plupart des systèmes extensibles proposent un noyau figé plus des hooks : on observe et on décore, on ne remplace pas — et remplacer signifie forker. Un runtime de plugins inverse cela : les pièces qu'on voudrait le plus remplacer sont précisément les unités de composition.
Le mettre en route
La voie rapide
npx @deepseek-ai/dsh web
Cela lance une interface web locale sur http://127.0.0.1:3080.
Depuis les sources
git clone https://github.com/deepseek-ai/deepseek-harness
cd deepseek-harness
pnpm install
pnpm run build
pnpm dsh web
Prérequis : Node 22.19 ou plus récent (la CI couvre 22.19, 24 et 26), Git 2.26 ou plus récent, et pnpm épinglé via Corepack. Une clé d'API DeepSeek est facultative à l'installation mais nécessaire pour faire quoi que ce soit d'utile ; elle peut venir de l'environnement ou d'un .env ignoré par git à la racine du dépôt.
Les deux étapes que tout le monde manque
- Paramètres → Modèles. Saisissez votre clé d'API. La route s'active immédiatement, sans redémarrage.
- Choisir l'espace de travail. Ajoutez et activez le répertoire de votre projet. Le compositeur de session reste indisponible tant qu'aucun espace n'est actif — c'est la raison habituelle pour laquelle une installation neuve semble cassée.
Headless
pnpm dsh --profile headless "summarize this workspace"
C'est le mode qui compte pour l'automatisation, car un harness qui ne fonctionne qu'en interactif ne peut pas entrer en CI, et ce qui n'est pas en CI ne peut pas être mesuré à intervalle régulier.
Le vocabulaire pour lire la documentation
| Terme | Sens |
|---|---|
| Pas (step) | Une requête au modèle plus les appels d'outils qu'elle produit |
| Tour (turn) | Une vidange de l'entrée, close quand le modèle s'arrête ou que la politique intervient |
| Manche (round) | Une itération de politique au-dessus des tours, par exemple une nouvelle tentative sur un objectif |
| Session | Un journal en ajout seul d'événements typés — la source de vérité unique de l'exécution |
| Couture de capacité | Une interface de service avec plusieurs implémentations interchangeables |
| Profil | Une composition nommée : liste ordonnée de bundles de plugins plus vos correctifs |
| Scope | L'unité d'enregistrement par agent pour les outils, prompts et restrictions |
La configuration se résout en quatre couches, la dernière l'emportant : bundles du profil, puis correctifs du profil, puis correctifs au niveau home, puis surcharges en ligne de commande. Connaître cet ordre transforme « pourquoi utilise-t-il ce modèle » d'une enquête en une consultation.
Ce qui vaut le coup d'œil
- Le choix du modèle est interchangeable. Le service de modèle est une interface avec plusieurs backends, dont un qui rejoue une session enregistrée sans repayer l'inférence. La boucle d'agent consomme un flux neutre vis-à-vis du fournisseur et n'apprend jamais quel backend est actif.
- L'enregistrement est complet par construction. Le principe directeur est que ce qui est visible du modèle est journalisé, car le journal doit pouvoir reconstituer l'exécution. La consommation de jetons voyage attachée à la sortie qui l'a engendrée.
- Les points d'application sont explicites. Un avant l'envoi de la requête au modèle, dont la décision est documentée comme faisant autorité, et un avant l'exécution du corps de tout outil. Les gardes de permission peuvent refuser ou s'abstenir, jamais accorder, et une approbation sans réponse possible refuse.
- Il tourne en headless. Donc scriptable, planifiable et mesurable.
L'argument des plugins n'est pas que du positionnement : l'une des démos livrées est auto-référentielle et inspecte puis modifie son propre runtime de plugins en cours d'exécution. Difficile à simuler.
Quand l'utiliser, et quand s'abstenir
Utilisez-le pour évaluer, pour prototyper, et comme point de comparaison concret face au stack d'agents que vous exploitez déjà. Les cinq questions à emporter : le choix du modèle est-il interchangeable, existe-t-il un enregistrement de session complet avec la consommation attachée, y a-t-il des points d'application avant l'appel au modèle et avant l'exécution des outils, tourne-t-il en headless, et la superposition de configuration est-elle documentée ?
Ne standardisez pas dessus ce trimestre. Le projet se présente comme une developer preview et annonce clairement des changements incompatibles. Épinglez la version contre laquelle vous construisez et ne planifiez pas de migration en production sur une API en préversion.
Ce que coûte son exploitation
Le harness est sous licence MIT et gratuit. L'inférence ne l'est pas. Vous fournissez une clé d'API DeepSeek, ou vous pointez la couture de modèle vers un autre fournisseur. L'implication pratique : votre facture est fonction des pas par tour, des outils du catalogue, de la profondeur de délégation et du nombre de manches qu'un objectif ouvert peut parcourir — autant de décisions au niveau du harness, aucune n'étant le prix au jeton que vous avez négocié.
Related
- Installation, profils et première exécution (EN)
- Ce que « tout est un plugin » apporte vraiment (EN)
- Le journal de session comme registre de coûts (EN)
- Où placer les garde-fous de dépense (EN)
Want this applied to your own LLM spend? FinOps LLM runs a free audit of your AI costs and shows where the savings are. Book free audit →