À propos du projet

agterm est une application de terminal macOS native dotée d'un modèle minimal espace de travail/session et d'une interface de contrôle scriptable. Elle est destinée à la fois au travail quotidien sur plusieurs projets dans le terminal et à la surveillance de plusieurs agents de codage exécutés dans des shells persistants distincts. Organisation principale : - Les espaces de travail regroupent des sessions nommées par projet ou par contexte. - Les sessions sont des shells individuels avec un nom, un répertoire de travail et un historique de défilement, et elles continuent de s'exécuter pendant que l'utilisateur travaille ailleurs. - Les sessions peuvent être divisées horizontalement ou verticalement, et un terminal scratch peut être ouvert par-dessus la session courante. - Les overlays exécutent un programme temporaire dans un terminal plein écran ou flottant sans modifier le shell sous-jacent. - Un tableau de bord peut afficher la sortie en direct de plusieurs sessions dans une grille en lecture seule. L'outil en ligne de commande agtermctl, fourni avec l'application, communique avec une instance agterm en cours d'exécution via un socket Unix local. Il peut créer des espaces de travail et des sessions, envoyer des frappes clavier, lire le tampon texte d'un panneau, créer des splits, exécuter des programmes en overlay et renvoyer le code de sortie, déplacer ou redimensionner des fenêtres, afficher des sélecteurs et des invites, publier des notifications de session, définir des glyphes d'état et exporter l'arborescence complète des objets au format JSON. La sortie du terminal n'est pas diffusée en continu ; les scripts lisent explicitement le tampon courant lorsque c'est nécessaire. Pour les workflows d'agents, agterm fournit des hooks d'état optionnels et une compétence d'agent installable. Les agents peuvent signaler les états actif, bloqué ou terminé sur les lignes de leur session, et la compétence enseigne à Claude Code ou Codex les commandes agtermctl et le modèle de contrôle afin qu'ils puissent créer des dispositions, exécuter des overlays, gérer les fenêtres et afficher des images en ligne. La même API est accessible à n'importe quel script plutôt que d'être réservée à un mode agent spécial. Des commandes personnalisées peuvent être liées via keymap.conf, rendant accessibles par raccourcis clavier des programmes interactifs tels que des gestionnaires de fichiers, des interfaces Git ou des navigateurs de bases de données. Des workflows plus importants peuvent être construits sous forme de scripts agtermctl. Trois modes de restauration sont disponibles : restaurer la disposition avec de nouveaux shells, réexécuter les commandes capturées à la fermeture, ou maintenir les processus principaux et de split en vie à l'aide de zmx. Les sessions live sont globales, nécessitent zsh comme shell de connexion macOS, et se rattachent aux démons survivants après redémarrage. Certains états, notamment les images en ligne et les anciennes métadonnées d'invite ou de palette, peuvent ne pas être conservés dans l'écran reconstruit. Les versions précompilées prennent en charge les Mac Apple Silicon exécutant macOS 14 ou version ultérieure, sont signées Developer ID et notariées, et peuvent être installées via Homebrew ou un DMG. L'installation par DMG dispose d'une option dans le menu Aide pour installer agtermctl. Le moteur de terminal est libghostty de Ghostty, tandis que la couche SwiftUI/AppKit propre à agterm fournit le modèle, la barre latérale, la persistance, le canal de contrôle, les fenêtres et les fonctionnalités destinées aux agents. Le projet est sous licence MIT.