Rechercher

Commence à saisir pour chercher.

    Sur cette page

    Introduction

    Le systeme de cron de Hermes Agent permet d'executer des taches de maniere planifiee, avec ou sans LLM. Vous pouvez programmer un rapport quotidien, une veille concurrentielle, une surveillance de serveur ou un simple script de monitoring, et recevoir le resultat directement sur Telegram, Discord ou toute autre plateforme de messagerie configuree.

    Cette page est le guide de reference pour la creation, la gestion et le depannage des taches planifiees. Pour une vue d'ensemble des trois mecanismes d'automatisation (cron, webhooks, kanban), consultez la page Automatiser avec Hermes Agent.

    Question couverte

    q-101: Comment creer une tache planifiee avec Hermes Agent ?

    Hermes Agent propose trois interfaces equivalentes pour creer une tache planifiee.

    1. Commande CLI hermes cron create

    Commande ou exempleBASH
    hermes cron create "every 2h" "Verifier l'etat du serveur et alerter si anomalie"
    hermes cron create "0 9 * * *" "Resume les taches planifiees pour aujourd'hui" --name "rapport-matin"
    hermes cron create "every 1h" "Resume les nouveaux articles" --skill blogwatcher

    2. Outil cronjob en session

    Dans une session Hermes, l'agent peut utiliser l'outil cronjob pour creer, lister, modifier ou supprimer des crons. C'est la methode recommandee quand vous voulez que l'agent configure lui-meme ses propres taches planifiees.

    Commande ou exemplePYTHON
    cronjob(
        action="create",
        schedule="0 9 * * *",
        prompt="Genere un rapport des taches terminees aujourd'hui",
        name="rapport-quotidien",
    )

    3. Slash command /cron

    Commande ou exempleTEXT
    /cron add 30m "Rappelle-moi de verifier le build"
    /cron add "every 2h" "Verifier l'etat du serveur"
    /cron add "every 1h" "Resume les nouveaux articles" --skill blogwatcher

    Formats d'horaire acceptes

    Format Exemple Description
    Duree relative "30m", "2h", "90s" Execution unique apres le delai
    Phrase naturelle "every monday 9am", "every 6 hours" Planification recurrente en langage naturel
    Cron 5 champs "0 9 * * *" Expression cron classique (chaque jour a 9h00)
    Timestamp ISO "2026-08-01T14:00:00Z" Execution unique a une date precise

    Options par job

    Option Description
    --name Nom du cron (utilisable comme reference a la place de l'ID)
    --skill Skill a charger pour ce cron (option repetable)
    --model / --provider Surcharger le modele pour ce cron specifique
    --script Script de pre-traitement, ou job complet avec --no-agent
    --workdir Repertoire de travail avec son AGENTS.md
    --deliver Plateforme de livraison du resultat (telegram, discord, etc.)

    Mode agentique vs mode script sans agent

    Mode agentique (par defaut) : le prompt est envoye a un LLM qui raisonne, utilise des outils et produit une reponse. Cout LLM (tokens) mais flexibilite maximale.

    Commande ou exempleBASH
    hermes cron create "0 8 * * 1" "Analyse les annonces des concurrents cette semaine" --name "veille-concurrents"

    Mode script sans agent (no_agent=True) : un script shell ou Python est execute directement, sans LLM. Le stdout est livre tel quel. Zero cout LLM.

    Commande ou exempleBASH
    hermes cron create "0 * * * *" --script "check-disk.sh" --no-agent --deliver "telegram:-100123456789" --name "check-disque"

    Pour que le script soit le job entier (pas un pre-traitement), utilisez l'option CLI --no-agent. Dans l'outil cronjob, l'equivalent est no_agent=True.

    Gestion du cycle de vie

    Commande ou exempleBASH
    hermes cron list              # Lister tous les crons
    hermes cron edit <nom>        # Modifier un cron
    hermes cron pause <nom>       # Mettre en pause
    hermes cron resume <nom>      # Reprendre
    hermes cron run <nom>         # Executer manuellement maintenant
    hermes cron remove <nom>      # Supprimer
    hermes cron status            # Statut du scheduler
    hermes cron runs <nom>        # Historique durable des executions
    hermes cron tick              # Declencher un tick manuel

    Livraison des resultats

    Les crons peuvent livrer leurs resultats sur une ou plusieurs plateformes :

    Commande ou exempleBASH
    hermes cron create "0 8 * * *" "Resume les taches du jour" \
      --deliver "telegram:-100123456789,discord:123456789012345678"

    Plateformes supportees : Telegram, Discord, Slack, WhatsApp, iMessage, Signal, Matrix, Teams, Email, et GitHub comment.

    Chainage de jobs avec context_from

    Commande ou exempleBASH
    # Job A : collecte les donnees
    hermes cron create "0 6 * * *" "Extrais les metriques et sauvegarde dans ~/data/metrics.json" --name "collecte"
    
    # Job B : cree via l'outil cronjob avec context_from=["<job-id-collecte>"]

    Le chainage context_from est expose par l'outil cronjob. Il injecte la derniere sortie terminee du job A au demarrage du job B; il n'attend pas un job A lance au meme tick.

    Modele et provider des crons

    Resolution a l'execution : per-job pin > cron.model dans config.yaml > defaut global de hermes model.

    Commande ou exempleBASH
    hermes config set cron.model <nom>
    hermes cron create "every 1d" "Tache quotidienne" --model anthropic/claude-sonnet-4

    Les crons non epingles suivent le modele global par defaut, mais un garde-fou de derive (cron.model_drift_guard, actif par defaut) empeche un job non epingle d'heriter silencieusement un changement de modele global. Si le modele global change, le job echoue ferme et vous alerte.

    Securite

    • Les sessions cron sont non interactives : pas d'approbation de commandes dangereuses
    • approvals.cron_mode: deny (defaut) bloque les commandes dangereuses en contexte cron
    • Les crons ne peuvent pas creer d'autres crons (prevention des boucles de planification)
    • Chaque execution s'ouvre dans une session agent fraiche
    • Le delai des scripts est configurable separement; il vaut une heure par defaut
    • Fichier .tick.lock empeche les executions dupliquees

    Sources

    Liens internes proposes

    Sources structurées

    Preuves et limites

    Architecture, corpus officiel et observations publiques sont ingérés au build. Une validation humaine reste nécessaire pour les affirmations publiées.