À propos du projet

Agent Factory (`af`) est un outil conçu pour exécuter une flotte d'agents de codage IA simultanément, fournissant des espaces de travail isolés et un plan de contrôle unifié. Il prend en charge divers agents, notamment Claude Code, Codex, Aider, Gemini, Amp, opencode et Devin. Chaque agent fonctionne dans sa propre branche Git et son propre arbre de travail Git, garantissant que les agents parallèles ne partagent pas de check-out et que les résultats sont renvoyés sous forme de branches Git standard pour un examen et une fusion faciles. Le système est piloté par un démon en arrière-plan qui maintient l'état, maintient les sessions actives même lorsque les fenêtres clientes sont fermées, planifie les tâches récurrentes et sert un client Web. Les utilisateurs peuvent interagir avec Agent Factory via trois surfaces principales qui se connectent toutes au même état de démon : 1. **Client Web** : Accessible à `http://localhost:8443` par défaut, il fournit une interface basée sur le Web pour gérer les sessions, afficher les terminaux réels, gérer les tâches et configurer les paramètres. 2. **Interface de terminal (TUI)** : Lancée via la commande `af` dans un référentiel Git, elle offre une interface dense pour gérer les sessions, permettant une interaction en place et une connexion plein écran aux terminaux d'agent. 3. **CLI** : Fournit une sortie JSON pour les commandes telles que `af sessions` et `af tasks`, permettant de script et d'intégration avec d'autres outils automatisés pour créer, inciter, surveiller et archiver des sessions. Les concepts clés comprennent : - **Session** : Un agent individuel travaillant sur une tâche spécifique avec son propre cycle de vie. - **Worktree** : Un check-out et une branche isolés pour chaque session pour éviter les collisions. - **Démon** : Le processus en arrière-plan gérant l'état et servant les clients. - **Tâche** : Des invites planifiées via cron ou déclenchées par des commandes de surveillance. - **Compte** : Des maisons de credentials nommées pour que les agents gèrent différentes connexions. L'installation nécessite tmux, git et au moins un CLI d'agent pris en charge sur Linux, macOS ou WSL2. Il peut être installé via un script shell ou construit à partir de la source avec Go. L'outil prend également en charge l'exécution de sessions dans des conteneurs ou sur des machines distantes via SSH.