À propos du projet

agent-runner est un outil de supervision permettant de maintenir en fonctionnement continu des CLI de codage autonomes. Il redémarre les processus d'agent après chaque cycle et fournit des préréglages pour Claude Code, aider, gemini, codewhale, kimi et pi, tout en prenant en charge n'importe quelle CLI à argument d'invite via une configuration personnalisée. L'outil est organisé autour d'un modèle à trois couches : le Round (une invocation d'agent), la Loop (une boucle de redémarrage avec capture de signaux) et le Witness (un moniteur avec 14 détecteurs et arrêt automatique). Il fournit 15 défenses nommées structurées comme des données, notamment des budgets de temps par cycle, l'isolation des groupes de processus, l'idempotence de l'orphelin stash, les stashes verrouillés par SHA, la classification par différence d'ensembles et les vérifications de démarrage. Chaque défense documente l'incident historique qu'elle traite et dispose d'un test invariant. Le composant moniteur exécute 14 détecteurs sur les journaux locaux du projet supervisé, couvrant des problèmes tels que les taux de temporisation, les cycles bloqués, les chaînes orphelines, les avertissements et la croissance du disque, la pression mémoire, les échecs réseau, la limitation de débit et les anomalies répétitives. Deux détecteurs peuvent arrêter automatiquement le service lorsque la poursuite serait nuisible : les échecs OAuth qui épuisent le quota API et les conditions critiques de disque. Un frein doux optionnel peut plafonner l'utilisation de la mémoire sous pression soutenue. agent-runner expose 17 verbes de commande pour la gestion du cycle de vie (init, install, start, stop, restart, kill, upgrade, migrate) et l'observation (peek, watch, monitor, events, status, doctor). Il prend en charge les unités utilisateur systemd pour les processus serve et monitor, les fenêtres planifiées run/pause, la sortie JSON pour les consommateurs en aval et le relais d'événements à distance via des connexions SSH gérées tout en conservant la détection sur l'hôte. Le projet comprend une documentation complète couvrant le démarrage rapide, la référence des commandes, le schéma de configuration, le dépannage opérateur et l'architecture. Il est uniquement POSIX (Linux, macOS), testé avec Python 3.11+ sur x86_64 et aarch64, et sous licence Apache 2.0.