Accueil Blog Explosion Mes Projets
Table de mixage noire et grise vue de dessus, rangée de molettes et câbles jack au premier plan

Photo : Adi Goldstein sur Unsplash

DeepSeek Harness : l'agent que vous assemblez vous-même

0:00 / 0:00

DeepSeek Harness est un harness d’agent open source publié par DeepSeek le 13 août 2026 sous licence MIT. Son noyau ne contient ni modèle, ni outil, ni interface figée : tout y est plugin, y compris la boucle de l’agent, et c’est la configuration qui assemble le reste. Un agent, dans ce vocabulaire, c’est un modèle qui raisonne plus un harness qui exécute : outils, droits d’écriture, bac à sable, mémoire. DSH ne livre que le second. Qui cherche un agent clé en main sera déçu en dix minutes ; qui veut décider de ce qui se passe entre le prompt et le fichier écrit sur le disque trouvera peu de projets aussi ouverts.

Le dépôt affichait 257 620 étoiles et 31 089 forks le 22 octobre 2026, deux mois après sa création, chiffres relevés via l’API GitHub. Je fais tourner DSH comme agent de code pendant que j’écris ce texte, ce qui aide à trier ce qui tient debout en session.

Tout est plugin, et ça se voit dans le code

Un dsh qui démarre n’est pas un programme monolithique percé de points d’extension. C’est un arbre de plugins Cordis composé au lancement par couches : les bundles du profil, votre fichier de correctifs, puis les surcouches passées en ligne de commande. L’adaptateur de modèle, le registre d’outils, le journal de session et la boucle elle-même sont des plugins. La documentation le dit sans détour : aucun noyau privilégié à modifier, on ajoute un plugin à côté des autres. Cordis a un article académique derrière lui, soumis le 26 août 2026, où chaque transformation de contexte porte un inverse que le runtime conserve et où chaque plugin déclare contre quoi il réagit. Quand un plugin se décharge, ses inscriptions s’annulent : sans ça, remplacer la boucle en cours de session laisserait des outils fantômes accrochés au contexte.

Un profil est un nom et une pile de bundles : web pour l’interface navigateur, headless pour une tâche unique sans serveur, sdk pour un client programmatique. dsh --profile web --dump-config affiche l’arbre, et n’importe quelle ligne peut être remplacée par un correctif YAML.

Les sous-agents relèvent du même mécanisme. Un fournisseur décide ce qu’est un enfant : un agent neuf, une session forké qui reprend votre contexte, ou un tour délégué à un autre produit. Le contrat reste unique, les exécutants changent.

Quatre modes, dont un volontairement pauvre

ModeCe qu’il donneÀ quoi il sert
StandardToute la panoplie d’outilsTravail courant sur un dépôt
Code (PTC)Le modèle écrit du code qui enchaîne les appels d’outilsTâches longues, beaucoup d’étapes
MinimalUn shell et un éditeur de texte, rien d’autreMesurer un modèle sans surcouche
CreatorInspection de l’environnement, test d’un plugin en mémoireFabriquer un mode à soi

Le mode minimal est celui que je garderais pour évaluer un modèle : un agent qui échoue avec un shell et un éditeur n’y arrivera pas mieux avec douze outils de plus.

Le journal de session remplace la mémoire

Tout ce que le modèle voit est écrit dans un journal en ajout seul. Les messages envoyés au modèle n’existent pas comme objet propre, ils sont recalculés depuis ce journal. Une règle résume l’architecture : ce qui est visible du modèle doit être journalisé.

Une session tient donc dans un fichier JSONL compressé, qu’on peut reprendre, forker à une frontière de tour, ou relire événement par événement dans la vue Trajectory. Quand une réponse paraît bizarre, on remonte à ce que le modèle avait réellement sous les yeux au lieu de deviner d’après l’interface.

Démarrer, puis décider d’exposer

npx @deepseek-ai/dsh web

L’interface démarre sur http://127.0.0.1:3080. Il reste à saisir une clé API dans les réglages, puis à choisir un dossier de travail. La clé part dans .credentials.yaml sous le dossier personnel de DSH, l’interface n’en reçoit qu’un descripteur masqué. Un fournisseur personnalisé accepte ensuite n’importe quelle URL de base avec un des trois protocoles (Chat Completions d’OpenAI, Responses, Messages d’Anthropic), et une passerelle qui en sert deux se déclare deux fois. La page des modèles écrit dans cordis.patch.yml, éditable à la main et relu sans redémarrage.

Exposer l’interface est possible : l’écouteur ne répond qu’en boucle locale par défaut, et derrière un proxy inverse il faut --public-url et --trusted-host, avec un proxy qui transmet l’en-tête Host et les upgrades WebSocket. L’URL imprimée au démarrage contient un jeton d’accès, elle ne se partage pas dans un salon public.

Le prix, au million de tokens

ModèleEntrée, cache raté (creux / pointe)Entrée, cache touchéSortie (creux / pointe)
deepseek-flash0,15 $ / 0,30 $0,003 $ / 0,006 $0,60 $ / 1,20 $
deepseek-v4-pro0,66 $ / 1,32 $0,022 $ / 0,044 $1,98 $ / 3,96 $

Les deux modèles annoncent un million de tokens de contexte et 384 000 tokens de sortie au maximum. Le creux vaut la moitié de la pointe, les heures pleines étant 01:00 à 04:00 et 06:00 à 10:00 UTC en semaine.

Exemple chiffré, à lire comme un calcul sur des tarifs publiés et non comme une mesure. Une refactorisation qui consomme deux millions de tokens d’entrée et cent mille de sortie coûte, en heure creuse et sans cache, 0,36 $ sur Flash et 1,52 $ sur V4 Pro. Le cache déplace plus que le choix du modèle : une entrée relue coûte cinquante fois moins cher.

Ce qui casse, et ce que le bac à sable ne protège pas

Le README prévient en majuscules : il y aura des changements cassants. Le paquet publié le 22 octobre 2026 est en 0.2.1-rc.2, deux mois après une première 0.1, et les contrats de plugins bougent encore. Épinglez la version et prévoyez de recoller vos plugins.

Le fichier SAFETY.md est plus direct que la moyenne. Le logiciel n’a pas subi d’audit de sécurité et ne doit pas être traité comme sûr. Le bac à sable, les confirmations et les permissions réduisent le risque sans garantir l’isolation. Deux failles publiées en septembre et octobre 2026 le confirment : une atteinte au bac à sable du mode Code (6,3) et un défaut au lancement d’un profil (5,3). Les versions actuelles leur sont postérieures, ce qui ne garantit rien pour la suite.

Trois règles en découlent, toutes écrites dans ce fichier. Faire tourner l’agent dans une machine virtuelle ou un conteneur. Ne pas exposer l’écouteur sur un réseau non maîtrisé. Lire les plugins avant de les installer : un marché de plugins est un contenu tiers, et DSH vérifie le format de l’index, pas ce que l’auteur raconte.

Face aux agents déjà installés

Claude Code et Codex sont des produits bâtis autour des modèles de leur éditeur, pensés pour le terminal, avec des partis pris nets. OpenClaw est un assistant personnel open source étendu par des compétences. DSH ne joue pas dans la même catégorie : il fournit le moteur. À l’ouverture, il est donc moins bon que les autres, avec peu de réglages par défaut et des modes à comprendre. En échange, quand il vous faut un pipeline qui n’existe nulle part, personne ne décide à votre place. Le 22 octobre 2026, 21 639 dépôts GitHub portaient le sujet dsh-plugin.

Questions fréquentes

DeepSeek Harness est-il gratuit ?

Le logiciel est sous licence MIT, donc gratuit et modifiable. L’API se paie au token. Avec un modèle local, il ne reste que le coût du matériel.

Peut-on y brancher un modèle d’un autre éditeur ?

Oui. Le catalogue installé cite Anthropic, OpenAI, Moonshot et Z.ai, et un fournisseur personnalisé accepte n’importe quel point d’accès qui parle l’un des trois protocoles.

La vraie question n’est plus de savoir quel modèle répond le mieux. Elle est de savoir quel harness vous pourrez modifier le jour où il vous gênera. Le test que je proposerais, un samedi matin : la même tâche, le même modèle, une session en Standard et une en Minimal. Le mode qui craque indique où se trouve le travail, et ce n’est pas toujours celui qu’on imaginait.

Articles liés

Vue aérienne d'un carrefour de chemins blancs au milieu d'un pré vert, avec un petit bosquet

Claude 5.5 : Haiku, Sonnet ou Opus, lequel choisir ?

Haiku, Sonnet et Opus 5.5 comparés : prix au million de tokens, benchmarks annoncés et usages pour choisir le bon modèle Claude, à jour en octobre 2026.

Lire l'article →
Tablette posée sur un tissu sombre, affichant le portrait dessiné d'une femme et son panneau de calques

PhotoCraft : Photoshop libre en Rust, fonctions et limites

PhotoCraft, retouche d'image libre écrite en Rust : calques, PSD, 500 commandes pour agents, performances annoncées et ce qui manque encore.

Lire l'article →
Ordinateur portable ouvert sur une table, affichant du code dans un éditeur sombre

Coder avec une IA : ce qu'on gagne, ce qu'on désapprend

L'autocomplétion par IA fait gagner du temps immédiatement. Elle retire aussi les moments d'effort où la compétence se construisait vraiment.

Lire l'article →

Sources

Ce que j'ai lu, regardé ou vérifié pour écrire cet article.

  1. Dépôt GitHub deepseek-harness : création le 13 août 2026, licence MIT, 257 620 étoiles et 31 089 forks relevés le 22 octobre 2026 via l'API GitHub github.com (ouvre dans un nouvel onglet)
  2. SAFETY.md du dépôt : absence d'audit de sécurité, limites du bac à sable, recommandations d'usage github.com (ouvre dans un nouvel onglet)
  3. docs/architecture.md : profils, bundles, journal de session append-only, points de couture et sous-agents github.com (ouvre dans un nouvel onglet)
  4. DeepSeek API, page Models & Pricing : tarifs au million de tokens, contexte de 1M, sortie maximale de 384K, heures pleines et creuses api-docs.deepseek.com (ouvre dans un nouvel onglet)
  5. GIGAZINE, 14 août 2026 : annonce du developer preview et description des quatre modes d'exécution gigazine.net (ouvre dans un nouvel onglet)
  6. Registre npm : version publiée de @deepseek-ai/dsh le 22 octobre 2026 (0.2.1-rc.2) registry.npmjs.org (ouvre dans un nouvel onglet)
  7. CVE-2026-101102 (CIRCL, 28 septembre 2026) : défaut du bac à sable en mode Code, CVSS 6.3, versions 0.1.0-rc.0 à 0.1.0-rc.7 touchées vulnerability.circl.lu (ouvre dans un nouvel onglet)
  8. CVE-2026-108788 (CIRCL, 12 octobre 2026) : défaut du bac à sable au lancement d'un profil, CVSS 5.3, versions 0.1.1-rc.0 à 0.1.1-rc.2 touchées vulnerability.circl.lu (ouvre dans un nouvel onglet)
  9. DeepSeek Harness, guide des déploiements publics : option --public-url, hôtes de confiance, TLS sur l'écouteur deepseek-harness.github.io (ouvre dans un nouvel onglet)
  10. Shi, Zhang, Cui, A Programming Paradigm for Spatiotemporal Composability, arXiv 2608.25512, 26 août 2026 : le modèle formel derrière Cordis arxiv.org (ouvre dans un nouvel onglet)