DeepSeek Harness developer preview: Everything is a plugin
Page produit officielle de DeepSeek, publiée le 13 août 2026, non signée, ~450 mots, annonçant la mise en developer preview de DeepSeek Harness (dsh) — un harnais d'agent de codage open source sous licence MIT, dont le dépôt est ouvert le même jour.
Page de lancement produit publiée le 13 août 2026 par DeepSeek, non signée, pour la mise en developer preview de DeepSeek Harness (dsh), harnais d'agent de codage open source sous licence MIT dont le dépôt est ouvert le même jour.
Ce que dit la page. Deux promesses, en quatre cents mots et sans un chiffre. « Everything is a plugin » : toute capacité — modèles, outils, skills, sessions, sandboxes, stockage, boucles, ordonnancement, interface — est un plugin substituable par configuration, sans modifier le code source. « Every run is traceable » : tout ce que le modèle voit est inscrit dans un log de session append-only — prompts système, raisonnement, appels d'outils et résultats, ordonnancement des subagents, chaque injection de contexte — et « resume, fork, search et replay opèrent tous sur le même flux d'événements ». Le noyau est Cordis, framework tiers vendoré, décrit dans un papier externe et crédité en évidence. Quatre modes d'exécution sont livrés : Standard (outillage complet), Code (outils exposés via un SDK TypeScript pour combiner plusieurs opérations en un programme), Minimal (deux outils, bash persistant et str_replace_editor, « for benchmarking models in a minimal environment ») et Creator (inspection du runtime, test de plugins en mémoire, composition de nouveaux modes). Démarrage : npx @deepseek-ai/dsh web.
Model-visible means logged. Anything that reaches a model request must be reconstructable from the log, and a runtime invariant asserts it.
— **DeepSeek** , deepseek.com
Ce que la page ne dit pas. L'affirmation la plus forte est dans docs/architecture.md : « Model-visible means logged. Anything that reaches a model request must be reconstructable from the log, and a runtime invariant asserts it. »Une garantie assertée à l'exécution, pas un affichage — c'est la propriété qui distingue réellement DSH, et elle est absente de l'argumentaire. Le même dépôt en fournit le démenti : SESSION_FORMAT_VERSION reste à 0 sans promesse de compatibilité, « backends reject old on-disk formats », et le README avertit en capitales qu'il y aura des ruptures. Traçable maintenant ne veut pas dire archivable demain.
Le modèle d'affaires est dans le calendrier. DSH sort le jour de la GA de DeepSeek-V4-Pro et trois jours avant une nouvelle grille tarifaire API (16 août, 16:00 UTC ; heures creuses à −50 %). Harnais donné, inférence renchérie — l'inverse exact du modèle d'Anthropic.
Ce qui se vérifie. La substituabilité tient au moins sur la couche modèle : outre l'adaptateur DeepSeek, dsh-llm-pi-ai rend tout gateway OpenAI-compatible accessible « par configuration, pas par changement de code ». Et le mode Minimal livre le harnais de mesure dans le produit — tentative de reprendre à Claude Code la définition du benchmark, alors même que le dépôt de DSH contient un CLAUDE.md et un .claude/skills.
À retenir
Date / source.13 août 2026, page produit deepseek.com/harness, non signée. Dépôt deepseek-ai/deepseek-harness ouvert le même jour sous MIT.
Cadrage clé. la composabilité par plugins est banale en 2026 ; l'élément distinctif est ailleurs, dans docs/architecture.md et non sur la page de vente. ### L'invariant de journalisation > « Model-visible means logged. Anything that reaches a model request must be reconstructable from the log, and a runtime invariant asserts it. This is why a new model-visible input requires a new session event: extend SessionEventMap and render from the log. » Trois propriétés en découlent. C'est une contrainte exécutable, non une intention : le harnais échoue si du contexte atteint le modèle sans être inscrit au log. Le log devient la source et non le compte rendu — deriveMessages() projette l'historique modèle depuis le flux, et « Fork, resume, transcripts, telemetry, and persistence all derive from this stream », sans état parallèle à désynchroniser. Enfin, c'est une réponse d'ingénierie à la question que pose tout post-mortem d'incident agentique : qu'est-ce que l'agent a réellement vu ? Critère extractible pour qui évalue un harnais : tout ce qui atteint le modèle est-il reconstructible depuis un journal unique, et cette propriété est-elle assertée à l'exécution ? ### Traçable n'est pas archivable | Où | Ce qui est écrit | |---|---| | Page produit | « Every run is traceable » — resume, fork, search, replay sur le même flux | | README.md | « THERE WILL BE COMPATIBILITY-BREAKING CHANGES. » | | CLAUDE.md | « dsh-session keeps SESSION_FORMAT_VERSION at 0 with no compatibility promise » ; « Backends reject old on-disk formats » | Concrètement : une session enregistrée aujourd'hui peut devenir illisible après mise à jour, le backend la rejetant activement plutôt que de tenter une migration. La posture est assumée et datée — « Pre-release stance: foundation over blast radius. Remove this section at the first tagged release. With no external consumers, prefer the correct foundation over compatibility shims ». Règle pratique : ne pas fonder de conformité, d'audit ou de rétention sur les logs DSH avant la première release taguée ; le repère à guetter est la disparition de la section « Pre-release stance » du CLAUDE.md, que DeepSeek désigne lui-même comme le signal. ### Le calendrier | Date | Événement | |---|---| | 13 août 2026 | DSH publié sous MIT + DeepSeek-V4-Pro en GA (DeepSeek-V4-Pro-0813), support natif de l'OpenAI Responses API, intégration optimisée pour Codex | | 16 août 2026, 16:00 UTC | Nouvelle grille tarifaire API : heures pleines / heures creuses, « Off-peak rates are 50% lower than peak » | | 14 août 2026 | Z.ai annonce GLM-5.3 avec le même dispositif de barème horaire — [[zai-glm-53-emergent-cyber-2026-08-14]] | Le harnais est donné, l'inférence est renchérie : un harnais MIT capable de router vers n'importe quel fournisseur n'a de valeur pour DeepSeek que s'il crée du volume de tokens. Deux prudences : le rapport d'environ 4,5× sur les tokens de sortie V4-Pro vient de la presse et non de l'annonce API, qui ne publie que le principe et le −50 % ; et un barème calé sur un fuseau asiatique déplace le coût réel pour une équipe européenne. ### « Everything is a plugin » : état des lieux au 13 août | Couche | Ce qui est livré | État | |---|---|---| | Modèles | dsh-llm-deepseek (route deepseek-official) et dsh-llm-pi-ai, adaptateur multi-fournisseurs générique adossé à @earendil-works/pi-ai | tenu — « un gateway OpenAI-compatible, un serveur auto-hébergé ou un fournisseur plus récent que le catalogue installé est de la configuration, pas un changement de code » | | Exécution / sandbox | seams ctx.fs, ctx.shell, ctx.subprocess, ctx.sandbox ; POC E2B | mécanisme en place, un backend distant en POC | | UI / distribution | bundles dsh-base, dsh-web-app, dsh-headless ; profils web et headless | tenu | | Boucle d'agent | core/agent-loop décrit comme « the default driver » derrière l'interface Agent | tenu par construction | | Écosystème tiers | topic dsh-plugin, page « Community plugins » | à observer — un écosystème à J+0 n'existe pas | La phrase qui rend la promesse crédible est architecturale : « There is no privileged core to patch: you extend dsh by mounting a plugin beside the others, and registrations are effects that unwind when their plugin unloads. » Corollaire opérationnel : « Seams are why one provider swap changes the whole product. Filesystem and subprocess providers share one execution world, so pointing them at a remote sandbox moves Bash, PTY, and LSP with them, with no provider forks. » Principe réutilisable hors DSH : une couture n'existe que si les trois rôles — Service Definition, Service Provider, Consumer — sont conçus ensemble, « one role alone is not a seam ». Vérification en une commande : dsh --profile web --dump-config imprime l'arbre réellement démarré, et « any row it prints can be replaced by a patch of your own ». ### Le mode Minimal Livré « for benchmarking models in a minimal environment », avec BENCHMARK.md pointant la variante jsonrpc-agent du SDK Python. Le contexte éclaire l'intention : le lendemain, un laboratoire chinois documentait mesurer son modèle et ceux de ses concurrents « in Claude Code 2.1.207 », le harnais d'un concurrent servant d'infrastructure de mesure partagée. DSH livre le harnais minimal de benchmark dans le produit, sous MIT. Réserve : au 13 août aucun score n'est publié, et rien n'indique qu'un tiers ait adopté ce harnais. Enjeu de portabilité sous-jacent : [[janakiram-agent-platform-portability-contract-2026-07-20]]. ### Le noyau appartient à un tiers DSH est bâti sur Cordis (cordiverse, projet indépendant), dont la conception est publiée dans un papier tiers — A Programming Paradigm for Spatiotemporal Composability. Dans le dépôt, Cordis est vendoré (vendor/cordis et neuf modules frères : cosmokit, hmr, loader, schemastery, timer…) avec manifeste et procédure de synchronisation. Trois lectures simultanément valables : DeepSeek cite sa dépendance plutôt que de la rebaptiser ; le vendoring gèle la version et supprime la dépendance de disponibilité, au prix d'une synchronisation à tenir ; et l'argument central du produit repose sur la propriété intellectuelle d'un projet communautaire que DeepSeek ne contrôle pas. Pour qui évalue la pérennité de DSH, la santé de cordiverse/cordis est une variable au moins aussi importante que celle du dépôt DeepSeek. ### La Safe Use Policy > « Because Harness has the ability to run code and execute actions on your machine, it introduces unique security risks. Although most foundation models include basic safeguards against prompt injection, inherent risks remain […] In some cases, the Agent may execute commands embedded in content, even if those commands conflict with the assigned task. » Les précautions recommandées forment une doctrine d'usage utilisable indépendamment de DSH : machine virtuelle dédiée ; vérifier les sorties ; ne pas fournir d'information sensible ou confidentielle ; exiger une approbation humaine pour toute opération à effet significatif ; découper les instructions complexes en opérations isolées, pour « reduce the risk that a single erroneous command affects multiple parts of the system simultaneously » ; n'installer que des plugins, serveurs MCP, Skills, Hooks et dépendances issus de sources fiables et revues. La dernière ligne est à mettre en regard de l'argument de vente : la surface d'attaque croît avec la composabilité. Voir [[valente-zalewski-beyond-zero-enterprise-security-ai-era-2026-07-20]]. ### Modélisation turn / step, empruntable « A step is one model request plus the tools it calls. A turn is zero or more steps: it opens before its first input is claimed and closes once nothing is owed. » Le flux complet est publié : turn/start → agent/pre-step → step/start → agent/request → llm/stream → tool/call → tools/pre-execute|execute|post-execute → step/end → agent/turn-stopping → turn/end, avec trois domaines d'extension distingués — session events (faits durables survivant au rechargement), agent events (interception du travail en vol), capability events (politique et adaptateurs sur une couture, « without importing the loop »). Deux détails de conception issus d'une vraie expérience d'exploitation : « a rejected or empty first claim still closes a durable turn that spent no step, so the log records the attempt » — le tour qui n'a rien fait est journalisé, sans quoi le refus serait invisible au post-mortem ; et la distinction waterfall (agent/pre-step, agent/request, llm/stream, tools/, où les écouteurs doivent appeler next()) vs sérial (agent/turn-stopping, sans next()), qui rend le contrat de délégation explicite par événement. ### Détail de dépôt L'arborescence racine de deepseek-ai/deepseek-harness contient CLAUDE.md (copie conforme d'AGENTS.md), .claude/skills et un répertoire .agents. Un dépôt open source publié en 2026 par un laboratoire de pointe documente ses conventions pour agents au même titre que pour humains : standard de dépôt à reprendre. ### Hygiène de citation 1. Distinguer la page du dépôt. Les affirmations fortes viennent de docs/architecture.md, CLAUDE.md et des README.md de packages. Citer « la documentation d'architecture de DSH », jamais « la page de lancement ». 2. 120 060 étoiles et 11 831 forks en trois jours (relevés le 16 août 2026 via l'API GitHub) mesurent l'attention, pas l'adoption, et sont périssables. 3. Les tarifs ne sont pas dans l'annonce fichée : citer le principe heures pleines/creuses et le −50 %, sourcer les valeurs en $/M ailleurs. 4. « Open source » signifie ici MIT et rien de plus : ni gouvernance ouverte, ni feuille de route publique, ni engagement de compatibilité. Du code ouvert publié par un éditeur, non un projet communautaire — distinction travaillée par [[mozilla-state-of-open-source-ai-2026-07]].
Chiffres clés
la nouvelle grille tarifaire de l'API entre en vigueur le 16 août 2026 à 16:00 UTC avec des tarifs heures pleines et heures creuses, les heures creuses étant 50 % moins chères que les heures pleines
120 060 étoiles et 11 831 forks sur GitHub au 16 août 2026, soit trois jours après l'ouverture du dépôt — un signal d'attention et non d'adoption
DeepSeek Harness · inféré
Affirmations attribuées
l'agent peut, dans certains cas, exécuter des commandes embarquées dans le contenu qu'il lit, même lorsque ces commandes entrent en conflit avec la tâche assignée
— Safe Use Policy
tout ce qui atteint une requête modèle doit être reconstructible depuis le journal, un invariant runtime l'assurant — « Model-visible means logged »
— log de session append-only
une capacité substituable n'existe que si ses trois rôles sont conçus ensemble — Service Definition, Service Provider et Consumer — un seul rôle ne faisant pas une couture
— couture de capacité
la nouvelle grille tarifaire de l'API entre en vigueur le 16 août 2026 à 16:00 UTC avec des tarifs heures pleines et heures creuses, les heures creuses étant 50 % moins chères que les heures pleines
— DeepSeek
Le graphe de connaissance extrait de cette fiche — 14 entités, 29 relations.