Tâches planifiées et boucles d’Hermes
Le cron en langage naturel, les chiens de garde sans agent, et la boucle qui vit dans une session
Hermes planifie le travail de deux façons. Les tâches cron vivent hors d’une session : la passerelle bat toutes les soixante secondes, exécute les tâches dues dans des sessions d’agent neuves et livre le résultat. Les boucles vivent à l’intérieur d’une session : une invite relancée à une cadence donnée dans la conversation où vous êtes. Les deux se créent en langage clair, et la documentation est inhabituellement soigneuse sur ce qui se passe quand une tâche échoue, ne livre rien, ou est mal configurée.
Cron : ce qu’il fait
- Des tâches ponctuelles ou récurrentes, créées depuis la discussion, la ligne de commande, ou en le demandant en une phrase, avec zéro, une ou plusieurs compétences attachées.
- Une livraison vers la discussion d’origine, vers des fichiers locaux, vers une plateforme ou un canal nommés, ou en éventail vers chaque canal principal connecté.
- Un ordre de résolution du modèle : l’épinglage propre à la tâche, puis une valeur par défaut pour la flotte cron, puis la valeur globale, figée à la création pour que changer votre modèle de discussion ne déplace jamais la flotte.
- Les sessions lancées par cron ne peuvent pas créer d’autres tâches cron, pour empêcher les boucles de planification incontrôlées.
Avant de construire la moindre machinerie d’agent, le planificateur valide la tâche : la clé du fournisseur se résout, les compétences attachées ont ce qu’il leur faut, les cibles de livraison ont des identifiants. Une tâche défaillante est marquée bloquée, une seule alerte part, et aucun appel au modèle n’est fait, si bien qu’une tâche mal configurée ne dépense jamais de jetons. L’exécution et la livraison sont suivies séparément : une exécution réussie dont la sortie n’a jamais atteint la cible est un échec de livraison avec sa raison, jamais un simple ok.
Les sessions lancées par cron ne peuvent pas créer récursivement d’autres tâches cron. Hermes désactive les outils de gestion de cron à l’intérieur des exécutions cron pour empêcher les boucles de planification incontrôlées.
Le mode sans agent
Pour les chiens de garde, les alertes de disque et de mémoire, les battements de cœur et les vérifications d’intégration continue, une tâche peut exécuter un script à heure fixe sans aucun modèle : la sortie standard est livrée telle quelle, une sortie vide est un battement silencieux, et une sortie non nulle ou un dépassement de délai livre une alerte d’erreur pour qu’un chien de garde cassé ne puisse pas échouer en silence. Vous pouvez décrire le chien de garde dans la discussion et l’agent écrit le script et la tâche.
Les boucles : à l’intérieur de la session
- Une boucle relance une invite ou une commande slash à une cadence donnée dans la session en cours ; chaque réveil est un vrai tour contre l’état actuel.
- Intervalle fixe quand une horloge extérieure rythme le travail ; auto-cadencée, en s’espaçant tant que les réponses ne changent plus, quand c’est le travail qui donne le rythme.
- Elle se termine quand l’agent déclare avoir fini, après un plafond d’exécutions, quand une condition jugée est atteinte, quand vous l’arrêtez, ou à un budget de garde de cent battements par défaut.
- Un travail sans surveillance qui doit survivre à un terminal fermé relève de cron, pas d’une boucle.
Sous systemd
Chaque tâche due est confiée à un processus de travail dans une portée utilisateur transitoire, pour qu’un redémarrage de la passerelle en cours de tâche ne la tue pas, à condition que l’utilisateur de la passerelle ait une session de connexion avec persistance activée ; sinon cron se dégrade en simple processus externe. Chaque tentative est consignée dans un registre local avec un état terminal, et une tentative abandonnée est marquée inconnue plutôt que relancée. Les automatisations OpenClaw est la réponse d’OpenClaw aux mêmes problèmes, pour comparaison.
Sur Diali
La passerelle, le service et la session persistante sont à nous ; les définitions de tâches, les cibles de livraison et les épinglages de modèle sont à vous, en langage clair depuis n’importe quel canal. Hermes hébergé sur Diali est la version hébergée ; Hermes vs OpenClaw compare la planification des deux moteurs avec le reste.
- Cron vit hors de la session ; les boucles vivent à l’intérieur.
- Une tâche mal configurée est bloquée avant de dépenser un jeton.
- L’échec de livraison est un état à part entière, jamais un simple ok.
Arrêtez de lire, construisez le vôtre
Configurez un agent, choisissez un canal, et faites-le travailler dans l’application que vous gardez déjà ouverte.
