Aller au contenu principal

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 :

AgentApport de l'intégrationSource de l'état du cycle de vie
PiRapports de cycle de vie et référence de session nativeRapports directs de l'extension Pi
Codex CLIIdentité de session pour la reprise après redémarrageDétection de l'écran par Herdr
Antigravity CLIIdentifiant de conversation après le premier prompt, utilisé pour la repriseDé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+v pour diviser vers la droite ;
  • prefix+minus pour diviser vers le bas ;
  • prefix+c pour créer un tab ;
  • prefix+q pour 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 clientProcessus des panes, disposition, écran récent et conversationÉtat temporaire de l'interface du client
Redémarrage normal du serveurWorkspaces, tabs, panes, cwd, disposition et focus ; les sessions natives éligibles peuvent reprendreSurvie de shells, tests, serveurs ou autres processus arbitraires
herdr update --handoffTente de conserver PTY, processus, identité des agents et métadonnées durables pendant le remplacement du serveurRequê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 :

  1. attribuer un workspace à un projet ou une investigation précise ;
  2. attribuer un checkout ou worktree à chaque writer ;
  3. limiter le périmètre avec les règles de projet de Pi, Codex ou agy ;
  4. laisser Herdr gérer état, disposition, détachement et reconnexion ;
  5. 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.

Sources et définitions des outils