Quick answer: Voici la moitié pratique de notre couverture de DeepSeek Harness : comment faire tourner dsh, ce que le modèle de composition attend de vous, et quelles démos valent dix minutes. La voie la plus...

DeepSeek Harness : installation, profils et premier lancement

Updated August 16, 2026 · first published August 16, 2026

Voici la moitié pratique de notre couverture de DeepSeek Harness : comment faire tourner dsh, ce que le modèle de composition attend de vous, et quelles démos valent dix minutes.

La voie la plus rapide

npx @deepseek-ai/dsh web

Cela démarre l'interface web sur http://127.0.0.1:3080. À partir de là, deux choses doivent se produire avant que le compositeur de session devienne utilisable :

  1. Paramètres → Modèles, et saisir votre clé d'API DeepSeek. La route s'active immédiatement, sans redémarrage.
  2. Choisir l'espace de travail, pour ajouter et activer le répertoire du projet. Tant qu'aucun espace n'est actif, le compositeur reste indisponible.

Une fois lancé, l'agent peut lire et modifier des fichiers, exécuter des commandes, déléguer des tâches à des sous-agents et planifier. Il demande confirmation selon la politique de permissions active.

Depuis les sources

git clone https://github.com/deepseek-ai/deepseek-harness
pnpm install
pnpm run build
pnpm dsh web

Planchers à connaître : Node 22.19 ou plus récent (la CI couvre 22.19, 24 et 26), Git 2.26 ou plus récent, et Corepack avec pnpm épinglé à pnpm@11.7.0. Une DEEPSEEK_API_KEY est facultative, lue depuis l'environnement ou un .env ignoré par git à la racine du dépôt ; à côté, DEEPSEEK_BASE_URL peut pointer vers un autre endpoint. Les suites de bout en bout contre l'API réelle s'auto-ignorent quand la clé est absente, si bien qu'un checkout sans clé se construit et se teste proprement.

Profils et bundles : le modèle de composition

Puisque chaque partie du harness est un plugin, quelque chose doit dire quels plugins sont chargés. C'est le rôle du profil : une composition nommée stockant une liste ordonnée de bundles plus les correctifs de l'utilisateur. Un bundle distribue des lignes de configuration Cordis et du code.

Trois profils modèles sont livrés :

ProfilCe qu'il compose
dsh-baseAdaptateurs de modèle, outils, persistance
dsh-web-appL'interface navigateur
dsh-headlessExécuteur en un coup

L'ordre de surcharge en quatre couches

La configuration se résout dans un ordre fixe, les couches ultérieures l'emportant :

  1. Bundles du profil
  2. Correctifs du profil
  3. Correctifs au niveau home
  4. Surcharges en ligne de commande

Apprenez cet ordre avant de commencer à déboguer. Presque toute question du genre « pourquoi utilise-t-il ce modèle » dans un système de configuration en couches se résout en trouvant quelle couche a touché la valeur en dernier, et une surcharge en ligne de commande bat tout ce qui se trouve en dessous.

Les sous-systèmes que vous rencontrerez

Six clés de registre portent l'essentiel du comportement : ctx.sessions (le journal d'événements en ajout seul), ctx.systemPrompt, ctx.tools (un registre à scopes avec exécution gardée), ctx.agents, ctx.agentLoop et ctx.llm. Si vous étendez le harness, ce sont les noms à chercher en premier.

Trois démos à lancer

Si vous comptez contribuer

Quelques conventions font gagner du temps. Les marqueurs TODO sont gradués par urgence : FIXME bloque une release, TODO veut dire bientôt, XXX veut dire un jour. Lefthook exécute pre-commit (enregistrements de pairing en staged, .oxlintrc.staged.json, régénération des avis tiers, espaces, gardien du manifeste vendor), pre-merge-commit et pre-push (pnpm run typecheck). Les hooks sautent délibérément les tests et les builds : la CI possède la couverture exhaustive, et pnpm run check:all est la porte locale complète et optionnelle.

Deux bizarreries expliquent une structure autrement déroutante. Le build se scinde en agrégats tsconfig Host et Client parce que les deux côtés fusionnent par déclaration l'interface Context de Cordis sous les mêmes clés, et un seul programme TypeScript voyant les deux fusions signale une collision. Et les exemples de code de la documentation restent honnêtes grâce aux blocs ts type-equiv plus pnpm run verify-type-equiv, de sorte que des déclarations collées ne peuvent pas dériver silencieusement des sources.

Fixer les attentes

Le README le dit sans détour : ceci est une developer preview, et il y aura des changements cassant la compatibilité. La découverte des plugins passe par le topic GitHub dsh-plugin, le projet est sous licence MIT et les dépendances tierces sont listées dans THIRD_PARTY_NOTICES.md. Évaluez-le maintenant ; standardisez plus tard.

Related


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 →

Back to research