veilletech.fr
12 sept. Feed du jour
#10 OUTILS Article

Herdr : un tmux qui sait quel agent attend

Le coût réel d'une flotte d'agents, c'est de ne pas savoir qui attend.

Herdr est un multiplexeur de terminal écrit en Rust qui, en plus des sessions persistantes à la tmux, lit l'état de chaque agent de code et prévient quand l'un d'eux attend une réponse. La version 0.9.0 est sortie le 7 septembre ; Omarchy Linux l'intègre à côté de tmux dans sa version Quattro, avec DHH parmi les contributeurs. Source en allemand.

3 min de lecturedébutantvidéo 1:22
Partager
Sommaire4 sections
  1. Ce qui se passe
  2. Comment c'est fait
  3. Ce que ça change
  4. À retenir

Ce qui se passe

Quand plusieurs agents de code travaillent en parallèle sur des projets différents, la question n'est pas de lire leurs sorties : c'est de savoir lequel calcule encore, lequel a fini, et lequel bloque sur une question restée sans réponse. Herdr est un multiplexeur de terminal libre qui range ce désordre.

Il ne fournit aucun modèle et ne remplace ni Claude Code, ni Codex, ni OpenCode. Il exécute des processus de terminal ordinaires, mais leur ajoute cinq états — working, blocked, done, idle, unknown — détectés par hook, par plugin ou par analyse de la sortie du terminal, puis résumés à l'échelle d'un espace de travail, avec notification des questions ignorées.

Le projet est écrit en Rust, publié sous Apache 2.0 par Can Celik (dépôt herdrdev/herdr). Version stable 0.9.0, sortie le 7 septembre 2026. Binaires pour Linux et macOS en x86-64 et ARM64, Windows en x86-64 seulement, plus Homebrew, Nix et mise. Certaines fonctions restent limitées sous Windows.

Comment c'est fait

L'architecture reprend le modèle client-serveur des multiplexeurs classiques : un serveur tient les instances de terminal — pseudo-terminaux sous Unix, consoles ConPTY sous Windows —, le client ne fait que les afficher. Shells, serveurs de développement et agents survivent donc à une déconnexion. Les terminaux s'organisent en espaces de travail, onglets et panneaux.

L'automatisation passe par la ligne de commande et une API socket locale (socket de domaine Unix, ou named pipe sous Windows) : créer un panneau, transmettre entrées et sorties, interroger l'état des agents.

Deux points méritent d'être lus avant d'installer :

Pour les machines distantes, Herdr ne remplace pas SSH : herdr --remote host branche un client local sur un serveur distant via OpenSSH, qui garde l'authentification et la vérification de clé d'hôte. La cible ne peut être que Linux ou macOS ; Windows sert de client depuis la 0.8.2, jamais de serveur. Depuis la 0.9.0, serveurs locaux et distants tiennent dans une même fenêtre, avec une liste d'agents commune.

Ce que ça change

Herdr est surtout visible par Omarchy, la distribution Linux de David Heinemeier Hansson, dont la quatrième version majeure, Quattro, l'intègre à côté de tmux — avec Ctrl+Espace en préfixe, comme sa configuration tmux. Les notes de version de Herdr 0.8.2 créditent DHH pour les titres de fenêtres, le redimensionnement des panneaux et le déplacement d'onglets : Omarchy est consommateur, et son auteur contributeur.

Pour une ou deux sessions dont on connaît le contenu, ssh plus tmux reste le choix sobre : près de vingt ans d'usage, empaqueté partout, configurable au détail. L'intérêt commence quand les agents se répartissent sur plusieurs dépôts et plusieurs machines, et que l'attention humaine devient la ressource rare.

Restent les réserves. Le projet est passé de la 0.1 à la 0.8 en moins de cinq mois. Surtout, son marché de plugins n'est pas curé : les entrées y sont collectées automatiquement, sans vérification, alors que plugins, hooks et API socket ont accès à l'environnement de développement et au contenu des terminaux.

Source : heise Developer (en allemand) ; projet : herdr.dev.