Espaces Herdr pour Pi, Codex et Antigravity CLI
Herdr est un gestionnaire d'espaces de travail au terminal pour les agents de programmation. Son serveur en arrière-plan possède les vrais processus de terminal. Le travail dans un pane peut donc continuer après la fermeture du client, un détachement ou une coupure SSH. Herdr identifie aussi les agents dans les panes et regroupe dans une barre latérale leurs états working, blocked, done et idle.
Herdr indique où se trouvent les terminaux et les agents, ce qu'ils font et comment s'y reconnecter. Il ne fournit ni isolation du code, ni approbation des permissions, ni propriété Git. Des writers parallèles ont toujours besoin de worktrees distincts.
Répartir l'espace par responsabilité
Le modèle conceptuel de Herdr comporte cinq niveaux utiles :
- une session est un espace de noms indépendant pour un serveur en arrière-plan ; la session par défaut suffit à la plupart des usages ;
- un workspace représente un dépôt, une tâche ou une investigation ;
- un tab sépare des vues telles que agents, logs et serveurs ;
- un pane est un vrai terminal capable d'exécuter un shell, un agent, un test ou un service ;
- un agent est un processus reconnu par Herdr dans un pane.
Cette structure sépare la disposition des terminaux de la propriété du code. Herdr peut afficher trois agents dans un workspace, mais ne peut pas les empêcher d'écraser le même fichier.
Installer Herdr et les trois intégrations
Le guide d'installation officiel donne cette commande directe sous Linux et macOS :
curl -fsSL https://herdr.dev/install.sh | sh
herdr --version
Installer ensuite les intégrations officielles pour les CLI déjà présentes, avec les cibles de la liste des intégrations :
herdr integration install pi
herdr integration install codex
herdr integration install antigravity-cli
herdr integration status
Les trois intégrations transmettent des informations différentes, comme l'explique la référence des intégrations :
| Agent | Apport de l'intégration | Source de l'état du cycle de vie |
|---|---|---|
Pi | Rapports de cycle de vie et référence de session native | Rapports directs de l'extension Pi |
Codex CLI | Identité de session pour la reprise après redémarrage | Détection de l'écran par Herdr |
Antigravity CLI | Identifiant de conversation après le premier prompt, utilisé pour la reprise | Détection de l'écran par Herdr |
Le hook d'Antigravity CLI s'exécute sur PreInvocation. Un nouveau pane agy doit donc envoyer au moins un prompt avant que Herdr connaisse sa conversation. Herdr la reprend avec agy --conversation <id>.
Utilisation quotidienne
Lancer Herdr depuis le répertoire du projet, puis les agents dans des panes séparés :
cd ./repository
herdr
# À exécuter dans des panes séparés
pi
codex
agy
Un débutant peut tout faire à la souris : sélectionner panes et tabs, déplacer les séparations et ouvrir le menu contextuel. Le guide du clavier définit ctrl+b comme préfixe par défaut. L'appuyer, le relâcher, puis utiliser ? affiche les raccourcis actifs. Les premières actions documentées sont :
prefix+vpour diviser vers la droite ;prefix+minuspour diviser vers le bas ;prefix+cpour créer un tab ;prefix+qpour se détacher en laissant le travail continuer.
Relancer herdr plus tard sur la même machine reconnecte le client. Pour arrêter réellement la session par défaut, utiliser la commande documentée herdr server stop :
herdr server stop
À distance, la méthode la plus simple consiste à ouvrir une session SSH puis à lancer Herdr sur la machine cible. Le guide du travail à distance décrit aussi un client local léger passant par SSH, avec une cible de configuration telle que herdr --remote workbox ou une cible explicite comme herdr --remote ssh://you@server:2222. L'authentification et la vérification de l'hôte restent celles de SSH ; il n'est pas nécessaire d'exposer le socket local de Herdr au réseau.
Savoir ce qui survit
La référence sur l'état des sessions distingue trois chemins de reprise qu'il ne faut pas confondre :
| Événement | État conservé | État non garanti |
|---|---|---|
| Détachement et reconnexion du client | Processus des panes, disposition, écran récent et conversation | État temporaire de l'interface du client |
| Redémarrage normal du serveur | Workspaces, tabs, panes, cwd, disposition et focus ; les sessions natives éligibles peuvent reprendre | Survie de shells, tests, serveurs ou autres processus arbitraires |
herdr update --handoff | Tente de conserver PTY, processus, identité des agents et métadonnées durables pendant le remplacement du serveur | Requêtes, flux, messages ou coordination transitoire en cours |
Un simple herdr update suit le chemin normal d'arrêt et de redémarrage. Le live handoff ne s'active qu'avec --handoff. La capacité d'une intégration à reprendre une conversation ne signifie pas que Herdr peut ranimer n'importe quel processus.
Séparer les frontières de contrôle
Utiliser Herdr comme plan de contrôle du terminal :
- attribuer un workspace à un projet ou une investigation précise ;
- attribuer un checkout ou worktree à chaque writer ;
- limiter le périmètre avec les règles de projet de Pi, Codex ou
agy; - laisser Herdr gérer état, disposition, détachement et reconnexion ;
- utiliser diff Git, tests et revue indépendante pour décider si le travail est terminé.
Si la barre latérale affiche un mauvais état, exécuter herdr integration status, confirmer que l'agent a démarré dans un pane Herdr et vérifier que l'intégration appartient au même compte utilisateur. Les commandes documentées herdr agent list et herdr agent explain permettent ensuite d'examiner la classification du pane.