Le changelog de DeepSeek Harness

DeepSeek Harness livre vite et casse vite — c'est à cela que sert une préversion développeur. Cette page suit chaque version officielle de dsh : ce qui a été ajouté, ce qui a cassé, et ce que cela signifie si vous écrivez ou installez des plugins. Les notes de version officielles restent la source de référence ; nous y ajoutons un résumé lisible en une minute et le contexte de l'écosystème de plugins que les notes laissent de côté.

Version actuelle

v0.1.2-alpha.42026-09-01

La dernière version de DeepSeek Harness est v0.1.2-alpha.4, publiée le 2026-09-01. Le démarrage rapide — npx @deepseek-ai/dsh web — récupère le build le plus récent à chaque exécution : il n'y a donc rien à mettre à jour. Vous compilez depuis les sources ? Pull puis rebuild — mais lisez d'abord la note sur le stockage sous la rc.8.

v0.1.2-alpha.42026-09-01

Notes de version officielles

Un jour après la suppression du backend de sessions, l'API de session est réécrite — la troisième version d'affilée à déplacer le sol sous les plugins qui touchent aux sessions.

Points clés

  • Les agents parents et les agents enfants poursuivables échangent des messages de suivi via send_message, qui remplace l'outil unidirectionnel report.
  • La découverte de modèles personnalisés réutilise les en-têtes de requête du Profile, et le catalogue de modèles gagne recherche et filtres.
  • web_fetch est actif par défaut pour le SDK Python, Headless, ACP et les Profiles personnalisés ; le mode Web PTC ne fournit plus par défaut l'outil générique workflow au modèle.
  • Les très longues conversations se rendent à moindre coût pendant le streaming, la mise en page et les aperçus de navigation.

Changement cassant

`Session.events` disparaît, remplacé par des lectures à la demande : seq, eventAt() et snapshotEvents(). SessionSeq et SessionLogOffset deviennent deux types forts distincts, et les notes demandent explicitement de vérifier la compatibilité. L'outil unidirectionnel report cède également la place à send_message.

Pour les auteurs de plugins

C'est la troisième version consécutive à déplacer la couche session : rc.8 a changé le format SQLite de façon incompatible, alpha.3 a supprimé le backend de sessions SQLite optionnel, et alpha.4 réécrit la lecture des événements de session. Si votre plugin lit les sessions ou leur rend compte, attendez-vous à y toucher à presque chaque version pour l'instant — figez une version que vous avez testée plutôt que de suivre la ligne.

v0.1.2-alpha.32026-08-31

Notes de version officielles

Un jour après alpha.2, surtout du polissage pour les longues conversations — plus une suppression à traiter avant de mettre à jour.

Points clés

  • Dans les longues conversations, la navigation de droite permet de prévisualiser et d'atteindre tous les tours paginés, y compris ceux qui ne sont pas encore chargés.
  • Le rendu des longues conversations consomme moins de mémoire et la coloration syntaxique suit mieux.
  • Les images ajoutées ou mises en file pendant un tour en cours s'affichent correctement et sont transmises de façon fiable ; les sous-agents poursuivables acceptent aussi les images dans les messages de suivi.
  • Corrections : read_image lit les pièces jointes sans extension, Tab complète la commande slash surlignée quand le menu est ouvert, et les blocages du backend ne passent plus pour une connexion coupée.

Changement cassant

Le backend optionnel de persistance des sessions en SQLite est supprimé. Le contenu existant n'est pas effacé, mais il faut une version antérieure pour l'exporter — exportez donc avant la mise à jour, pas après.

Pour les auteurs de plugins

Cette version ne touche ni au chargeur ni à l'API des plugins. C'est néanmoins la deuxième fois que cette ligne change le stockage des sessions sous vos pieds : rc.8 en a changé le format de façon incompatible, et voici que le backend optionnel disparaît. Si votre plugin lit directement les données de session au lieu de passer par le harness, considérez ce chemin comme instable.

v0.1.2-alpha.22026-08-30

Notes de version officielles

Un complément trois jours après alpha.1, qui revient sur l'une de ses suppressions.

Points clés

  • Les plugins sont désormais groupés par portée — conversation ou global — avec bascule entre Agent Presets et recherche à travers les presets.
  • L'interface signale les échecs de connexion, réessaie d'elle-même et propose une reconnexion immédiate ; les planifications actives apparaissent dans l'en-tête de la conversation.
  • Chaque réponse se termine par sa consommation de jetons et sa durée, dépliable vers les statistiques complètes, et une web_search en échec nomme le point d'accès réellement contacté.
  • Corrections : échecs de démarrage et HMR mort sous Node.js 24.0–24.11.1, et fil d'Ariane qui disparaissait en descendant dans les dossiers depuis le menu @ à la souris.

Pour les auteurs de plugins

SessionEvent.ignorable, supprimé dans alpha.1, est rétabli : cette suppression a été annulée, donc ne vous précipitez pas pour réécrire ce qui en dépendait. La passerelle @Remote vers laquelle alpha.1 vous a migré enveloppe maintenant les échecs d'appel dans un RemoteError unique. Rien ne casse dans cette version.

v0.1.2-alpha.12026-08-27

Notes de version officielles

La plus grosse version depuis le lancement, et la première à repasser de rc à alpha. Sous le travail d'interface, deux surfaces exposées aux plugins bougent : l'ancien ApiProxy disparaît et la vue de conversation est découpée en modules.

Points clés

  • Les plugins gagnent deux nouvelles places dans l'interface : des contrôles de connexion aux fournisseurs sur la page Modèles, et des langues d'interface tierces que vous pouvez enregistrer vous-même.
  • Les sous-agents obtiennent un vrai contrôle du modèle : dans les limites de l'autorisation que vous configurez, un agent choisit fournisseur, modèle et effort de raisonnement, et celui qui le démarre peut en plus fixer la longueur de sortie maximale. Les sous-agents Claude Code et Codex acceptent également un modèle configuré.
  • ACP rattrape son retard : contrôle de session standard, réglages de modèle, MCP, permissions et annulation. Le runtime du SDK Python reçoit un paquet Windows x64.
  • Le WebFetch public est actif par défaut, avec protection SSRF et sans approbation à chaque requête ; en revanche, atteindre l'interface web à travers le réseau exige désormais le jeton à usage unique présent dans l'URL de lancement.
  • Les conversations s'allègent : le démarrage et l'initialisation transfèrent moins, les enregistrements occupent moins de disque, les images s'affichent dès l'envoi, et chaque réponse terminée se déplie sur sa consommation exacte de jetons.

Changement cassant

L'ancienne interface ApiProxy a été migrée puis supprimée : tout passe maintenant par la passerelle @Remote. La vue de conversation a par ailleurs été éclatée en modules ciblés, donc le code qui l'importait en bloc doit importer la couche qui porte chaque capacité. Les deux arrivent dans une alpha, un cran à côté de la ligne rc.

Pour les auteurs de plugins

Au-delà de ces deux suppressions, les requêtes officielles DeepSeek transportent par défaut le nom de paquet et la version de chaque plugin activé — un déploiement peut le désactiver — et acceptent en option l'envoi incrémental des journaux de session. L'avis de sécurité est plus direct qu'avant : dsh n'a pas été audité côté sécurité, et le bac à sable, les approbations et les permissions ne garantissent pas l'isolation. C'est exactement le postulat sur lequel repose déjà notre lecture du risque lié aux plugins.

v0.1.1-rc.22026-08-21

Notes de version officielles

Cinq heures après la rc.1, un complément discret : le chemin des images ouvert par cette version reçoit une vraie tuyauterie.

Points clés

  • L'adaptateur DeepSeek privilégie désormais l'API Files pour l'envoi d'images et réutilise les fichiers déjà téléversés au lieu de renvoyer les octets.
  • Les images sont redimensionnées et converties au format attendu par le modèle cible avant l'envoi de la requête.

Pour les auteurs de plugins

À lire avec la rc.8, qui corrigeait les échecs de requête dus aux images trop grandes ou accumulées : ici, le même chemin est construit plutôt que rafistolé — les envois sont dédupliqués et dimensionnés avant de partir. Les notes ne mentionnent aucun changement de loader ni d'API de plugins.

v0.1.1-rc.12026-08-21

Notes de version officielles

Une petite version portant un gros correctif : une évasion de bac à sable est colmatée, et les fondations multimodales reçoivent enfin un modèle capable de voir. La ligne passe de 0.1.0 à 0.1.1.

Points clés

  • L'adaptateur DeepSeek gagne DeepSeek-V4-Flash-Vision-Exp, un modèle expérimental de compréhension visuelle multimodale. La rc.8 a appris au harnais à transporter des images ; celle-ci lui donne de quoi les lire.
  • Sécurité : des processus confinés pouvaient échapper aux restrictions du bac à sable Bubblewrap via /proc/<pid>/root. Corrigé. Si vous comptez sur le bac à sable pour contenir le code des plugins, c'est le build à adopter — notre approche du risque lié aux plugins.
  • Finitions : tableaux Markdown responsifs dans les conversations, précision honnête quand le taux de cache atteint 99,x %, navigation dans les en-têtes de conversations de sous-agents, et réponses ask_user_question multilignes avec Shift+Entrée.

Pour les auteurs de plugins

Le correctif à traiter, c'est celui du bac à sable : avant ce build, du code de plugin confiné par Bubblewrap pouvait atteindre l'extérieur. Les notes ne mentionnent aucun changement de loader ni d'API de plugins, donc ce qui se chargeait en rc.8 devrait toujours se charger — mais c'est une ligne de préversion : vérifiez plutôt que de supposer. Notre annuaire suit les plugins de bac à sable et de runtime situés dans ce rayon d'impact.

v0.1.0-rc.82026-08-19

Notes de version officielles

La version multimodale. Six jours après le lancement : les images deviennent une entrée de premier ordre, et deux agents de code concurrents deviennent des composants installables.

Points clés

  • Les requêtes d'images natives peuvent être activées sur les adaptateurs de modèles DeepSeek ; /goal et /plan acceptent une entrée mêlant image et texte ; le menu @ peut référencer des fichiers et des sessions entières.
  • Claude Code et Codex s'installent à la demande comme Profile Bundles de sous-agents, avec des modes de permission non interactifs et plusieurs instances nommées pour Codex — ce que cela change à la rivalité.
  • Les terminaux PTY Windows conservent des sessions PowerShell persistantes, activées par défaut dans le préréglage Minimal.
  • Confort : fork plus rapide des longues sessions, requêtes web_search concurrentes, téléchargement de dépendances allégé, et dsh web ouvre désormais le navigateur tout seul.
  • Le runtime du SDK Python couvre les quatre préréglages d'agent intégrés et embarque ce dont la recherche rg/glob et les outils MCP stdio ont besoin.

Changement cassant

Le backend SQLite a été retravaillé — lectures, écritures et forks plus rapides, fichiers plus petits, mais le format de stockage est incompatible et les notes ne mentionnent aucun chemin de migration. Considérez les données de session locales comme jetables en franchissant cette version.

Pour les auteurs de plugins

La rc.8 publie aussi des règles d'usage de la marque : « DeepSeek Harness » est une marque déposée, il est demandé aux projets d'utiliser l'abréviation DSH dans leurs noms plutôt que la marque complète, et les formulations descriptives comme « built on DeepSeek Harness » restent acceptées. Si vous maintenez un plugin, vérifiez le nom de votre dépôt.

v0.1.0-rc.72026-08-17

Notes de version officielles

Quatre jours après le lancement : la première version de stabilisation — des coutures d'UI pour les plugins, la gestion des tâches de sous-agents et un préréglage renommé.

Points clés

  • Les plugins peuvent enregistrer leurs propres cartes de réglages dans l'interface du harnais.
  • Les tâches de sous-agents Codex et Claude Code se gèrent via le Job Panel.
  • MCP et ACP gagnent des pièces jointes d'images durables, et le PTC Mode transmet les images imbriquées.
  • Le préréglage intégré anglais Code mode est renommé PTC mode ; les modèles DeepSeek gagnent une option d'effort de raisonnement low (le défaut reste high).
  • Correctifs : latence du Bash persistant dans le préréglage Minimal, débordements de pile en paginant de longs historiques, sessions mortes après troncature au max de tokens, dérive du curseur dans le composeur sous Safari, et une mise à niveau vers node-pty 1.2 bêta pour une compatibilité terminal élargie.

DeepSeek Harness est devenu public comme préversion développeur sous licence MIT et a récolté environ 95 000 étoiles GitHub en deux jours ; à notre dernière actualisation du jeu de données, le dépôt en comptait 207 390. L'argument tient en une idée prise au sérieux : modèles, outils, compétences, sessions, bacs à sable, systèmes de fichiers, la boucle et l'interface sont tous des plugins sur le runtime Cordis, composés via un fichier de chargement cordis.yml.

Points clés

  • Démarrage rapide en une commande — npx @deepseek-ai/dsh web — avec une interface web locale sur 127.0.0.1:3080.
  • Quatre préréglages intégrés : Standard, Code (renommé PTC en rc.7), Minimal pour le benchmarking et Creator pour assembler le vôtre.
  • Le README avertit, en majuscules, que des changements cassant la compatibilité arrivent — un avertissement que la rc.8 a fini par honorer.

Questions fréquentes

Quelle est la dernière version de DeepSeek Harness ?
v0.1.2-alpha.4, publiée le 2026-09-01. C'est une préversion à l'intérieur de l'aperçu développeur v0.1 : il n'y a pas encore de branche stable, et la série alterne candidates à la publication et alphas. Tout ce qui est plus récent que la date de revue de cette page se trouve sur la page officielle des releases GitHub.
Qu'est-ce que le PTC mode ?
Le préréglage intégré qui s'appelait Code mode ; la rc.7 a renommé le libellé anglais. C'est le mode où le modèle orchestre une tâche en générant et en exécutant du code plutôt qu'en appelant chaque outil un par un. Même préréglage, nouveau nom — les articles plus anciens qui disent Code mode décrivent le PTC mode.
DeepSeek Harness est-il assez stable pour la production ?
Non, et il ne le prétend pas. C'est une préversion développeur dont le README avertit en majuscules de changements cassants, et la première semaine a livré deux release candidates et un changement incompatible du format de stockage. Développez dessus, expérimentez — mais ne le mettez nulle part où une mise à jour cassée coûte de l'argent.
Comment mettre à jour dsh, et mes sessions survivront-elles ?
Via npx, chaque lancement récupère le dernier build ; depuis les sources, pull puis rebuild. La réserve concerne les sessions : la rc.8 a changé le format de stockage SQLite de façon incompatible et les notes ne décrivent aucune migration — partez du principe que les données de session locales ne franchissent pas cette mise à jour.
Les mises à jour cassent-elles les plugins installés ?
Elles le peuvent. Le format du loader et les API de plugins prennent encore forme : un plugin qui se charge sur une release candidate peut échouer sur la suivante. Avant d'en dépendre, regardez la date du dernier push de son dépôt — un plugin activement maintenu suit les évolutions amont, un plugin abandonné cesse de se charger sans bruit. Chaque page de plugin de notre annuaire affiche cette fraîcheur.

DSHarness est un annuaire indépendant de plugins DeepSeek Harness, sans lien avec DeepSeek AI. Les résumés condensent les notes de version officielles, qui restent la référence. Dernière relecture : 2026-09-02.