SFEIR

Herdr : le runtime qui possède les terminaux de vos agents

Herdr : le runtime qui possède les terminaux de vos agents

La fiche Y Combinator tient en quelques champs : promotion Fall 2026, team size 1, fondée en 2026, Ankara, Turquie1. Le produit s'appelle Herdr, il est écrit en Rust, et le 29 août 2026 l'API GitHub renvoie 33 340 étoiles et 2 422 forks pour un dépôt créé le 27 mars2. Cinq mois, une personne.

Ce qu'il fait tient dans la ligne d'ouverture du README : « the runtime your coding agents live on »2. Un serveur en arrière-plan possède les terminaux. Les agents tournent dedans. Le client, lui, n'est qu'une vue qu'on ouvre et qu'on referme.

Le même goulot, une réponse opposée

Nous avons décrit Orca, l'application de bureau qui donne à chaque tâche son worktree git, son terminal et son onglet de navigateur. Herdr part du même constat et arrive ailleurs. La description Y Combinator le pose sans détour : « Developers don't run one coding agent anymore. They run fleets of them — for hours, sometimes days — across laptops, servers, and sandboxes. Keeping track of that work is the new bottleneck: which agent is blocked, which one finished, which terminal is it in, and why did everything die when the laptop closed. »1

Deux produits, deux unités de travail. Orca prend la tentative : une branche, un checkout, un diff à juger. Herdr prend la session longue : un processus qui tourne trois heures ou trois jours, et qu'il faut retrouver vivant. L'écart décide de ce que chaque outil doit garantir. Orca répond de l'isolation des fichiers ; Herdr répond de la survie des processus et de l'exactitude de l'état affiché.

Un serveur qui possède les PTY

L'architecture est celle de tmux, refaite autour d'un cas d'usage précis. Un serveur persistant détient les pseudo-terminaux ; le client ne fait que rendre l'interface. La documentation résume le contrat : « Herdr keeps panes running in a background server. Your terminal client can detach and reconnect later. » Le détachement se fait au ctrl+b q, les panes et les agents continuent, et au redémarrage le serveur restaure la forme de la session sauvegardée6.

La reprise à distance suit la même logique. herdr --remote user@host ne lance pas une session distante dans un terminal local : « your local Herdr is a thin client. It connects over SSH, starts or attaches to the remote Herdr server, and streams the UI back to your local terminal. »6 Le poste devient un écran, l'exécution reste où elle est. Une limite à connaître avant de planifier un déploiement : Windows est pris en charge comme client, y compris depuis la version 0.8.2 qui l'a sorti de bêta, mais « Windows is not supported as the remote host »68.

Le reste de la promesse d'installation est court : curl -fsSL https://herdr.dev/install.sh | sh, ou brew install herdr, puis herdr. Un binaire Rust, pas d'Electron, dans le terminal déjà en place23.

Une file d'attente d'attention

La fonction qui sépare Herdr d'un multiplexeur ordinaire intéresse un responsable d'équipe plus qu'un amateur de terminal. Chaque pane porte un état (working, blocked, done, idle), et l'interface trie sur cet état plutôt que sur l'ordre d'ouverture des onglets5. Le tri met en tête celui qui attend une réponse.

La documentation décrit trois étages de détection, du moins fiable au plus fiable4 :

  • Le processus au premier plan dans le pane, qui identifie l'agent.
  • Les screen manifests, des règles TOML évaluées contre un instantané du bas du buffer, qui classent en idle, working ou blocked.
  • Les intégrations officielles, des hooks de cycle de vie qui rapportent l'état de manière autoritative. Quand les hooks sont complets, ils deviennent la seule source et le repli sur les manifests est ignoré, « to avoid competing sources of truth ».

L'éditeur documente la faiblesse du deuxième étage plutôt que de la cacher. « Blocked detection is deliberately strict for screen-manifest agents » ; un agent dont l'invite est inhabituelle « may initially show as idle instead of blocked until Herdr learns that screen shape ». Et la conséquence est bornée : « The misclassification affects only the visible status and waits. It should not make Herdr send input or take destructive action. »4

Traduction pour une équipe : sans intégration officielle installée pour l'agent que vous utilisez, l'état affiché est une inférence sur des pixels de texte. Elle suffit à orienter un regard humain. Elle ne suffit pas à fonder une automatisation.

Quand un agent en pilote un autre

Herdr expose une API socket : du JSON ligne à ligne sur socket Unix, named pipe sous Windows, avec un mode requête-réponse et des abonnements à événements5. Les méthodes couvrent la topologie complète du poste de travail : workspace.create, tab.create, pane.split, worktree.create, worktree.remove, le démarrage d'un agent, l'envoi d'un prompt, la lecture du contenu d'un pane, et l'attente d'un changement d'état5.

Un agent coordinateur peut donc ouvrir un pane, y démarrer un second agent, lui envoyer une consigne et attendre qu'il soit done ou blocked. La documentation précise la nature de cette attente : « Agent waits observe semantic state, not arbitrary command completion. »5 L'attente porte sur un état d'agent, là où un script shell attendrait un code de retour.

La promesse demande de la discipline. Un wait vaut ce que vaut l'étage de détection sous lui. Adossé à un hook officiel, c'est un signal. Adossé à un manifest d'écran, c'est une heuristique qu'on a promue en primitive d'orchestration. La différence ne se voit pas dans le code de l'automatisation ; elle se voit le jour où un agent reste bloqué sans que personne ne soit réveillé.

Ce que Herdr refuse de posséder

Le fil Hacker News de l'annonce Y Combinator a totalisé 281 points et 189 commentaires10. Le retour le plus précis y nomme la thèse du produit mieux que sa page d'accueil :

the thing that was most attractive was the seeming orthogonality of the tool. It sits apart, interfaces with subordinate programs in a few clearly delineated ways, and integrates them only as much as the user desires. Critically, « no integration just show me the terminal output of my program » is an option, and a useful one!

Herdr ne fournit pas de modèle, n'enveloppe pas les agents, ne remplace pas git, n'embarque pas d'éditeur ni de vue de diff. Il détient les terminaux, et rien d'autre. Un commentateur d'un fil antérieur avait résumé le clivage d'une formule qui circule depuis : « Orca is like VSCode and herdr is like Sublime Text »11. Riche et intégré contre léger et clavier d'abord : deux écoles, un même goulot.

Sur un point, ce refus a une conséquence directe pour un RSSI. Orca préremplit les drapeaux de contournement de permissions de chaque agent qu'il lance, au motif que les worktrees sont jetables ; c'est un choix documenté que nous avons discuté par ailleurs12. Rien d'équivalent chez Herdr : la documentation officielle ne fait état d'aucun préremplissage de ce type, et l'agent démarre avec la configuration que vous lui donnez. L'affaire s'arrête là, et la suite doit être dite aussi nettement : l'absence de préremplissage ne vaut pas isolement. Herdr ne propose ni conteneur, ni bac à sable, ni compte d'exécution distinct. Un agent laissé en session persistante pendant trois jours sur une machine qui porte vos clés SSH et vos jetons cloud pose exactement la question que nous avons traitée dans la sécurité de l'agentic coding. Le mode --remote vers une VM jetable est la réponse d'architecture que le produit rend facile, pas celle qu'il applique par défaut.

Ce que 95 % de CPU en moins raconte du produit

Le billet technique du 3 août publie ses mesures Linux avant / après : 13,014 % à 0,617 % pour dix panes dont neuf écrivent en arrière-plan avec trois clients attachés ; 9,450 % à 0,667 % pour un simple mouvement de souris à 60 Hz au-dessus d'une zone de contenu9. Les gains viennent d'un indicateur animé supprimé, des panes cachés qui ne sont plus rendus, et des événements de souris qui ne déclenchent plus de repeinture hors zone interactive.

Le coût d'un multiplexeur d'agents se mesure à ce qu'il consomme pendant qu'on ne le regarde pas, sur une machine qui fait déjà tourner dix agents. Une spinner animée réveillait le serveur, rendait la surface, comparait la trame, la sérialisait et l'envoyait à tous les clients attachés9. C'est une ligne de budget quand la session dure trois jours.

Ce qui reste à instruire

La licence et le modèle économique. La version 0.8.0, publiée le 3 août 2026, note : « Relicensed Herdr from AGPL-3.0-or-later to Apache-2.0. »8 Le billet d'annonce YC en donne le motif, signé du fondateur : « The runtime, what you use right now, stays free. Apache-2.0. That's why I recently switched it from AGPL to Apache: I want everyone to use Herdr freely. »7 Le texte parle de construire par-dessus le runtime ouvert « like everyone else », sans publier de périmètre payant. Une société financée dont le produit n'a pas encore de revenu, c'est une trajectoire à surveiller, et le fil HN ne s'en prive pas : « If they take vc funding, it's only a matter of when, not if. They all say that. »10 La licence Apache protège l'utilisateur (le fork reste possible), elle ne garantit rien de la continuité de l'éditeur.

La taille de l'équipe. Team size : 11. Un dépôt de 33 340 étoiles et 257 tickets ouverts, tenu par une personne : c'est ce chiffre-là qu'une DSI met en regard du support qu'elle attend d'un outil de production2.

La densité du marché. Orca, Conductor, Superset, cmux, Emdash, Sculptor, Vibe Kanban, plus tmux et zellij qui sont déjà installés partout : la même intuition a produit une dizaine d'implémentations en un an. Orca affiche 56 643 étoiles le 29 août12. Vibe Kanban a fermé en avril. Le coût de sortie est faible dans les deux sens : ce qui rend l'adoption peu risquée rend aussi la catégorie instable. L'issue la moins discutée est que la fonction migre dans les agents eux-mêmes, auquel cas la question ne sera plus quel multiplexeur choisir.

Cinq questions avant d'en équiper une équipe

  • Où tourne le serveur. Poste de travail, VM jetable, serveur d'équipe : c'est la décision d'architecture, et elle emporte tout le reste. Le mode --remote la rend indolore, à condition qu'elle soit prise.
  • Quel étage de détection. Intégration officielle installée pour chaque agent utilisé, ou état inféré depuis l'écran. Une équipe qui automatise sur des wait doit connaître la réponse agent par agent.
  • Ce que vous exposez sur le socket. Une API locale qui sait démarrer des agents, créer des worktrees et injecter des touches dans un pane est une surface d'exécution. Elle mérite d'être traitée comme telle sur une machine partagée.
  • Windows. Client oui, hôte distant non. Une équipe majoritairement Windows aura besoin d'une cible Linux ou macOS.
  • La capacité de revue. Rendre dix agents visibles ne rend pas dix diffs relisibles. Le mécanisme est celui de l'effet miroir, et il se prépare avec des tests et une stratégie de branches, pas avec un outil.

Herdr tient un pari étroit : posséder le terminal, connaître l'état, ne rien décider d'autre. Pour une équipe qui pilote déjà plusieurs agents de codage en parallèle et qui perd des sessions, l'installation coûte une ligne et se retire aussi vite. Pour une DSI, l'enjeu porte au-delà de l'outil : le harnais autour des agents devient une couche d'infrastructure, avec ses états, son API locale et sa surface d'exécution. Elle se construit en public, à ciel ouvert, par des équipes qui tiennent parfois dans une seule personne.

Questions fréquentes

Herdr remplace-t-il tmux ?
Il en reprend le modèle — serveur en arrière-plan, panes, préfixe ctrl+b — et y ajoute ce que tmux ignore : la reconnaissance des agents de codage, leur état, une API socket et un marché de plugins. La souris est traitée au même rang que le clavier. Sur un poste sans flotte d'agents, tmux reste un choix parfaitement défendable.

Herdr voit-il mon code ou mes prompts ?
Herdr n'embarque aucun modèle et ne s'insère pas dans le trafic des agents : il possède les terminaux dans lesquels ceux-ci tournent. Le serveur, les panes et les processus vivent sur les machines que vous contrôlez. Cela reste une propriété d'architecture à instruire, comme pour tout outil qui a accès au contenu d'un terminal.

Sous quelle licence ?
Apache 2.0 depuis la version 0.8.0, publiée le 3 août 2026. Le projet était auparavant sous AGPL-3.0-or-later. Plusieurs articles tiers mentionnent encore l'AGPL et des licences commerciales : l'information est périmée.

Que se passe-t-il quand je ferme mon ordinateur portable ?
Les panes tournent dans un serveur en arrière-plan, pas dans le client. Le détachement au ctrl+b q laisse les agents travailler, et herdr réattache. Après un redémarrage du serveur, la forme de session sauvegardée est restaurée ; la reprise native d'une session d'agent dépend, elle, de l'intégration officielle de cet agent.

Peut-on s'en servir depuis un autre poste, ou depuis un téléphone ?
herdr --remote user@host transforme le poste local en client léger qui pilote le serveur distant en SSH. Windows fonctionne comme client, mais pas comme hôte distant. Un écosystème tiers de clients mobiles et de tableaux de bord s'est constitué autour de l'API socket ; ces projets ne sont pas maintenus par l'éditeur et s'évaluent séparément.

Un agent peut-il en piloter un autre ?
Oui, c'est l'usage revendiqué de l'API socket : créer un pane, y démarrer un agent, lui envoyer un prompt, attendre son état. La réserve porte sur la fiabilité de cet état : autoritatif quand un hook officiel le rapporte, heuristique quand il est déduit de l'écran.


Sources

  1. Y Combinator, fiche de Herdr — promotion Fall 2026, team size 1, fondée en 2026, Ankara (Turquie), statut actif, primary partner Pete Koomen, description longue de l'entreprise (« Developers don't run one coding agent anymore… ») et chiffres de traction cités à l'entrée (25k étoiles, 340k téléchargements, 500+ plugins le premier mois). Consulté le 29 août 2026. Source primaire, accélérateur. ycombinator.com
  2. GitHub, dépôt herdrdev/herdr — README (positionnement, sept promesses, installation, licence) et métadonnées de l'API relevées le 29 août 2026 : dépôt créé le 27 mars 2026, 33 340 étoiles, 2 422 forks, 257 tickets ouverts, licence Apache-2.0, langage Rust. Source primaire, éditeur. github.com
  3. herdr.dev, page d'accueil — titre « Herdr: the runtime coding agents run on », slogan « Run them anywhere. Leave them running. », compteurs affichés (33 111 étoiles GitHub, 612 033 installations, 866 plugins communautaires, 21 CLI d'agents détectées), mention Apache 2.0, version v0.8.2 en pied de page et commande d'installation. Consulté le 29 août 2026. Source primaire, éditeur. herdr.dev
  4. Herdr Docs, « Agents » — les trois étages de détection (processus au premier plan, screen manifests en TOML évalués sur le bas du buffer, hooks d'intégration officiels autoritatifs), liste des CLI prises en charge, et réserves sur la détection de l'état blocked. Consulté le 29 août 2026. Source primaire, éditeur. herdr.dev
  5. Herdr Docs, « Socket API » — transport (JSON ligne à ligne sur socket Unix, named pipe sous Windows), méthodes disponibles (workspace.*, worktree.create, pane.split, démarrage d'agent, envoi de prompt, lecture de pane, attente d'état) et nature sémantique des attentes. Consulté le 29 août 2026. Source primaire, éditeur. herdr.dev
  6. Herdr Docs, « Persistence & remote » — serveur en arrière-plan propriétaire des panes, détachement / réattachement, restauration de la forme de session, fonctionnement de herdr --remote user@host en client léger sur SSH, et absence de prise en charge de Windows comme hôte distant. Consulté le 29 août 2026. Source primaire, éditeur. herdr.dev
  7. Can Celik, « Herdr is joining Y Combinator. The runtime stays open », blog Herdr, 6 août 2026 — récit du goulot d'étranglement (« I am the bottleneck »), passage à Apache-2.0 et engagement sur la gratuité du runtime. Source primaire, éditeur. herdr.dev
  8. GitHub, releases de herdrdev/herdr — v0.8.0 du 3 août 2026 (« Relicensed Herdr from AGPL-3.0-or-later to Apache-2.0 », prise en charge des CLI Grok et Antigravity) et v0.8.2 du 19 août 2026 (Windows en disponibilité générale sur le canal stable, détection de Qwen Code). Source primaire, éditeur. github.com
  9. Blog Herdr, « Ten agents, three clients, 95% less CPU », 3 août 2026 — mesures Linux avant / après (1,467 % → 0,133 % ; 4,316 % → 0,400 % ; 13,014 % → 0,617 % ; 9,450 % → 0,667 %) et origine des gains (suppression de l'indicateur animé, panes cachés non rendus, événements de souris sans repeinture). Source primaire, éditeur. herdr.dev
  10. Hacker News, fil « Herdr is joining Y Combinator. The runtime stays open » (item 49201003, 6 août 2026, 281 points, 189 commentaires) — commentaire de kristjansson du 6 août 2026 sur l'orthogonalité de l'outil, commentaire de vrighter du 10 août 2026 sur le financement, et débat AGPL / Apache. Un fil antérieur, « Herdr: Agent multiplexer that lives in your terminal » (item 48714802, 29 juin 2026), totalise 166 points et 110 commentaires. Source primaire, forum. news.ycombinator.com
  11. Hacker News, commentaire de skinfaxi, 29 juillet 2026 (fil 49098965) — « I haven't tried Orca but as a herdr user and by way of analogy, it seems Orca is like VSCode and herdr is like Sublime Text ». Source primaire, forum. news.ycombinator.com
  12. GitHub, dépôt stablyai/orca — 56 643 étoiles et 3 857 forks le 29 août 2026, licence MIT, description « Orca is the ADE for working with a fleet of parallel agents ». Le préremplissage des drapeaux de contournement de permissions est documenté par l'éditeur sur onorca.dev. Source primaire, éditeur. github.com
SFEIR AI Auteur

Articles similaires