DeepSeek Harness a livré sa préversion développeur v0.1 le 13 août, publiée en open source sous MIT sur GitHub. Cela referme une boucle que mon article sur DeepSeek-V4-Pro avait signalée quelques jours plus tôt : les benchmarks d'agents de code dans le propre tableau comparatif de ce lancement avaient été mesurés avec « notre futur DeepSeek Harness (mode minimal) » — autrement dit un outil ayant servi à produire des chiffres officiels avant d'exister publiquement. Il est désormais disponible, et le « mode minimal » se révèle être une configuration réelle et nommée, non une formule de circonstance.
Tout est un plugin, littéralement
La philosophie de conception, énoncée directement dans les propres documents d'architecture du projet : « Cordis est le framework sous dsh : les plugins contribuent des services, des événements typés et des effets réversibles à un contexte partagé. » Il n'y a pas de noyau privilégié — les adaptateurs de modèles, les registres d'outils, les journaux de session et la boucle d'agent elle-même sont tous des plugins sans statut spécial les uns par rapport aux autres. Cordis, le méta-framework sous-jacent, est décrit comme mettant en œuvre « A Programming Paradigm for Spatiotemporal Composability » — les plugins se composent en profils construits à partir de bundles ordonnés, chacun se déclarant via un champ dsh dans son package.json, avec des « royaumes » isolés disponibles pour cloisonner les préréglages d'agents les uns des autres.
C'est un pari architectural plus radical que la plupart des harnais. Chaque harnais ce mois-ci a été un pipeline fixe avec des pièces configurables — changer le modèle, ajuster la politique de reprise, changer la stratégie de compaction. Le pari de DeepSeek est que le pipeline lui-même ne devrait pas être fixe : si la boucle d'agent n'est qu'un plugin de plus, un développeur peut remplacer la façon dont tout le système tourne, pas seulement ce qui tourne à l'intérieur.
Quatre modes, et celui que DeepSeek a choisi pour publier
dsh livre quatre modes d'exécution dès le départ — Standard, PTC (Programmatic Tool Calling), Minimal, et Creation — chacun chargeant un ensemble de plugins par défaut différent pour un usage différent. Les spécificités de ce que chaque mode ajoute ou retire ne sont pas encore pleinement documentées, mais l'existence de cette liste résout la question immédiate : Minimal est bien une configuration réelle et nommée, vraisemblablement la plus dépouillée — et non un habillage marketing collé à un outil qui n'existait pas encore.
La question plus intéressante que cela soulève est pourquoi DeepSeek a choisi de publier ses chiffres de benchmarks officiels de V4-Pro-0813 sous le mode Minimal spécifiquement, plutôt que Standard ou le mode PTC axé sur l'appel d'outils. Il y a deux lectures plausibles. Soit DeepSeek fait preuve d'une prudence inhabituelle en publiant la configuration la plus dépouillée plutôt qu'en choisissant le mode qui flatte le plus le score — l'exact inverse du risque de manipulation des benchmarks que la couverture des harnais ne cesse de signaler ce mois-ci. Soit les modes plus complets n'étaient tout simplement pas assez stables, au stade d'une préversion 0.1, pour être évalués. Dans un cas comme dans l'autre, cela signifie que les chiffres de V4-Pro rapportés par DeepSeek sont plausiblement un plancher, pas un plafond, de ce que le modèle peut faire à l'intérieur de son propre harnais. À garder en tête la prochaine fois qu'un « bat Claude Code » ou un « bat Codex » repose sur un mode de harnais nommé plutôt que sur le modèle seul : le mode retenu pour le chiffre officiel est en soi une décision orientée.
Statut : réel, mais explicitement pas stable
L'avertissement de DeepSeek elle-même est direct : « DeepSeek Harness est actuellement en préversion développeur et itère rapidement. IL Y AURA DES CHANGEMENTS CASSANT LA COMPATIBILITÉ. » Installable via npx @deepseek-ai/dsh web (lance une interface web locale sur 127.0.0.1:3080) ou depuis les sources via pnpm. Le dépôt avait déjà rencontré un large écho dès ses premières heures — des dizaines de milliers d'étoiles, des milliers de forks —, ce qui en dit plus long sur le public déjà acquis à DeepSeek que sur la maturité de l'outil. Une préversion 0.1 assortie d'un avertissement explicite sur les ruptures de compatibilité ne constitue pas une dépendance de production, quel que soit le nombre d'étoiles.
Pourquoi un laboratoire de modèles construit son propre harnais plutôt que d'en adopter un
DeepSeek avait une alternative disponible : elle a déjà adopté le format API Responses d'OpenAI pour V4-Flash, et V4-Pro sort « optimisé pour Codex » — la preuve que DeepSeek est prête à construire contre l'interface d'un rival quand c'est le choix pragmatique. Sortir son propre harnais quand même indique que la décision n'est pas l'un ou l'autre. Un laboratoire qui maîtrise son propre harnais maîtrise la boucle d'agent par défaut sur laquelle ses chiffres sont mesurés. Il définit aussi ce que « bien utiliser DeepSeek » veut dire pour tout développeur qui adopte dsh au lieu d'assembler sa propre pile à partir de morceaux de Claude Code, Codex ou OpenClaw. NVIDIA a fait le pari identique avec NeMo Switchyard il y a deux jours — offrir le harnais pour façonner comment votre modèle est utilisé, aux côtés du modèle lui-même offert.
À surveiller
- La divulgation de benchmarks mode par mode. Si DeepSeek ou un tiers publie les scores de V4-Pro sous les modes Standard, PTC et Creation aux côtés des chiffres Minimal déjà publics, cela tranchera si Minimal est réellement le plancher.
dshsera-t-il adopté au-delà des modèles de DeepSeek ? Un harnais bâti sur le principe du « tout est plugin » devrait, en théorie, faire tourner n'importe quel modèle moyennant un adaptateur. Que la communauté le branche réellement sur Kimi K3 ou GLM-5.2, et pas seulement sur les modèles maison, dira s'il s'agit d'un véritable harnais ouvert ou d'une surcouche propre à DeepSeek sous emballage open source.- L'avertissement sur les ruptures de compatibilité, à l'épreuve des faits. « Itérer vite » en cassant la compatibilité est une annonce honnête pour une version 0.1 ; c'est aussi exactement la situation où les premiers utilisateurs se retrouvent piégés. À revoir en 0.2 ou en 1.0, pour constater ce qui aura réellement cassé.