Installer DeepSeek Harness (dsh)
DeepSeek Harness — dsh en ligne de commande — est le harnais d'agent publié par DeepSeek AI le 13 août 2026 sous licence MIT. Ce guide couvre sa mise en route, la compréhension de l'unique fichier de configuration qui détermine ce que votre installation sait vraiment faire, et l'ajout d'un plugin issu des 7900 dépôts que nous indexons.
À lire d'abord
dsh est une préversion développeur. Son README avertit, en majuscules, qu'il y aura des changements cassant la compatibilité. Tout ce qui suit décrit la préversion telle qu'elle est au 14 août 2026 — consultez le dépôt avant de coller une commande dans un script auquel vous tenez.
Prérequis
Il vous faut Node.js. Le dépôt déclare une plage engines de ^22.19 || >=24 : un runtime plus ancien refusera l'installation ou échouera plus tard d'une manière qui ressemble à un bug du harnais. Vérifiez votre version avant de commencer :
node -vPour la voie npx, c'est toute la liste des prérequis. Si vous voulez compiler depuis les sources, il vous faut aussi git et pnpm, le gestionnaire de paquets pour lequel le dépôt est configuré. Rien sur cette page ne vous demande d'installer dsh à l'échelle du système, et tant que la préversion bouge aussi vite, une version épinglée à un projet est plus facile à raisonner qu'un binaire global dont on oublie l'existence.
Démarrage rapide avec npx
Une seule commande vous donne un harnais en marche avec son interface web :
npx @deepseek-ai/dsh webnpm récupère le paquet et le harnais sert son interface web sur http://127.0.0.1:3080. Cette adresse est en boucle locale : elle répond sur votre machine et nulle part ailleurs, ce qui est la bonne valeur par défaut pour un outil capable de lire vos fichiers et d'exécuter des commandes.
La CLI accepte aussi une option --profile — dsh --profile <profile> — qui sélectionne le lot de plugins chargé au démarrage. Les profils fournis incluent headless. Exécutez dsh --help sur votre propre version plutôt que de vous fier à une liste écrite le lendemain de la sortie : les profils et lots disponibles sont exactement le genre de chose qu'une préversion redistribue d'une version à l'autre.
Exécuter depuis les sources
Compiler depuis le dépôt vaut les minutes supplémentaires si vous comptez écrire un plugin, car vous lisez les véritables API des paquets au lieu de les déduire d'un README :
git clone https://github.com/deepseek-ai/deepseek-harness.git
cd deepseek-harness
pnpm install
pnpm run build
pnpm dsh webLancez la compilation avant le premier pnpm dsh web — la séquence documentée le prévoit ainsi. Vous arrivez sur la même interface web au port 3080, mais cette fois sur l'arbre de travail : vous pouvez donc patcher un paquet, recompiler et voir le résultat. C'est aussi le moyen le plus rapide de découvrir ce qui a réellement changé dans une version, car une préversion qui bouge aussi vite tend à distancer sa propre documentation.
La place de cordis.yml
L'idée organisatrice de dsh est que tout est un plugin. Modèles, outils, skills, sessions, bacs à sable, systèmes de fichiers, boucle d'agent, orchestration et interface utilisateur sont tous des plugins chargés dans un runtime partagé. Ce runtime, c'est Cordis, le méta-framework sur lequel le harnais est bâti ; @deepseek-ai/cordis est une peer dependency de chaque paquet du harnais.
Quels plugins se chargent, et avec quelles options, est décidé par une configuration de loader cordis.yml :
# cordis.yml
plugins:
dsh-example-plugin:
Chaque clé sous plugins: nomme un plugin ; le bloc en dessous est sa configuration, ou rien du tout si les valeurs par défaut conviennent. Les paquets officiels sont publiés sous la forme @deepseek-ai/dsh-<name>, et la clé du loader est généralement le nom du paquet sans le scope npm. Les auteurs de plugins choisissent parfois une autre clé : le README du plugin que vous ajoutez l'emporte donc sur toute règle empirique — y compris celle-ci.
Ajouter un plugin communautaire
Ajouter un plugin tient en deux étapes : installer le paquet, puis le déclarer dans votre configuration de loader.
npm install dsh-example-plugin# cordis.yml
plugins:
dsh-example-plugin:
Redémarrez le harnais et le plugin se charge avec le reste. Pour trouver quelque chose qui vaille la peine d'être installé, parcourez les 7900 dépôts indexés ou affinez par catégorie. Parmi eux, 3942 sont vérifiés — nous avons trouvé une dépendance au runtime Cordis ou un cordis.yml dans le dépôt, ils se chargeront donc réellement. Les autres portent un topic GitHub dsh-plugin sans rien derrière, ce qui compte parce que ce topic est aussi le mécanisme de découverte : si vous publiez un plugin, c'est en ajoutant le topic que l'écosystème vous trouve.
Dépannage
L'installation échoue avec une erreur engine ou de syntaxe
Presque toujours un Node.js trop ancien. Le dépôt exige ^22.19 || >=24 ; en dessous, l'installation peut échouer ou lever une erreur d'analyse au fond d'une dépendance, ce qui ressemble à un paquet cassé sans en être un. Vérifiez node -v et mettez à jour — un gestionnaire de versions comme nvm ou fnm est la voie la moins perturbante si d'autres projets de la machine ont besoin de runtimes plus anciens.
Le port 3080 est déjà utilisé
Autre chose occupe le port — souvent une exécution précédente de dsh qui ne s'est jamais terminée. Sous macOS ou Linux, trouvez-la ainsi :
lsof -i :3080Arrêtez ce processus et relancez. Si vous préférez déplacer le harnais plutôt que l'autre service, consultez dsh --help et les options du plugin web dans votre cordis.yml au lieu de deviner un nom d'option : la surface d'options de la préversion change encore, et une option qui fonctionnait dans un billet de blog la semaine dernière peut ne pas exister dans votre build.
Ça marchait la semaine dernière, plus maintenant
C'est le mode de défaillance attendu d'une préversion développeur, pas un mystère. Le README dit franchement que des changements cassant la compatibilité arrivent, et un plugin construit sur un ancien format de loader peut cesser silencieusement de se charger après une mise à jour du harnais. Deux habitudes aident : épingler la version testée, et vérifier la date du dernier push d'un plugin avant d'accuser votre propre configuration — nos fiches affichent cette date sur chaque page de plugin.
npx @deepseek-ai/dsh@<version> webQuand quelque chose est vraiment cassé et pas seulement renommé, le projet anime des GitHub Discussions et un Discord, tous deux plus à jour que ne peut l'être un guide tiers pendant une semaine comme celle-ci.
Questions fréquentes
- Dois-je installer dsh globalement ?
- Non. Le démarrage rapide npx télécharge et exécute le paquet à la demande, et la voie depuis les sources lance la CLI via pnpm dans le dépôt cloné. Comme la préversion publie des changements cassant la compatibilité, une version épinglée par projet vieillit mieux qu'un binaire global dont vous oubliez l'installation.
- DeepSeek Harness est-il gratuit ?
- Le harnais lui-même est open source sous licence MIT : vous pouvez l'exécuter, le modifier et le redistribuer sans frais. Le modèle vers lequel vous le pointez est une autre affaire, et ce que facture ce fournisseur n'est pas couvert par la licence du harnais.
- Pourquoi l'interface web écoute-t-elle sur 127.0.0.1 plutôt que sur mon adresse réseau ?
- Cette adresse est en boucle locale : l'interface ne répond que sur la machine qui l'a lancée. Rien sur votre réseau local ne peut atteindre http://127.0.0.1:3080 à moins que vous ne placiez délibérément un proxy ou un tunnel devant — une valeur par défaut sensée pour un outil capable d'exécuter des commandes sur votre machine.
- Puis-je utiliser dsh en production aujourd'hui ?
- Pas sans risque. DeepSeek Harness est une préversion développeur publiée le 13 août 2026, dont le README avertit en majuscules que des changements cassant la compatibilité arriveront. Traitez-le comme quelque chose sur quoi expérimenter et écrire des plugins, pas comme une infrastructure que vous mettriez sous astreinte.
- Qu'est-ce que cordis.yml exactement ?
- C'est la configuration de loader qui décide avec quels plugins votre harnais démarre et comment chacun est configuré. Comme dsh traite modèles, outils, skills, sessions, bacs à sable et même l'interface comme des plugins, cordis.yml est de fait la définition de ce que votre installation sait faire.
Et ensuite
Si le modèle par plugins vous est nouveau, commencez par ce qu'est réellement un harnais d'agent — cela explique pourquoi dsh place tant de choses derrière une configuration de loader. Si vous pesez dsh face à un outil que vous utilisez déjà, nous le comparons à Claude Code, y compris là où dsh n'est manifestement pas encore prêt.