🤖HermesBlog
Hermes Official Tutorials · Partie 218/9/2026

Bienvenue à la Fête de l'Automatisation

Tutorial 21: Scheduled Tasks (Cron) — easy-to-understand guide based on official docs

Hermes tutorial

Bienvenue à la Fête de l’Automatisation

Dans le tutoriel 20, nous avons construit un bot de briefing quotidien qui prend de vos nouvelles chaque matin. Sympa, non ? Eh bien, aujourd’hui, on passe au niveau supérieur. Le système cron d’Hermes peut faire bien plus que simplement dire « bonjour ». On parle de surveillants de sites web, de résumés hebdomadaires, de moniteurs GitHub, et même de pipelines de données — le tout en pilote automatique.

Le meilleur dans tout ça ? Pas besoin d’être programmeur pour les configurer. Il suffit de savoir ce que vous voulez automatiser, et Hermes s’occupe du travail de fond.

La Règle d’Or : Des Prompts Autonomes

Avant de plonger dans les modèles, il y a un concept que vous devez absolument comprendre : les tâches cron s’exécutent dans des sessions d’agent vierges. Cela signifie que votre agent n’a aucun souvenir de votre conversation actuelle. Pas de « souviens-toi de ce dont on a parlé hier » — rien de tout ça.

Chaque prompt que vous écrivez doit donc être complètement autonome. Incluez tout ce dont l’agent a besoin : les commandes à exécuter, les sources à vérifier, le format souhaité. Épelez tout.

Pensez-y comme à la rédaction d’instructions pour un stagiaire très intelligent qui vient d’arriver. Vous ne diriez pas « fais ce truc dont on a parlé ». Vous diriez « voici exactement quoi faire, étape par étape ».

Modèle 1 : Moniteur de Changement de Site Web

Vous voulez savoir dès que votre concurrent modifie sa page de tarifs ? Ou quand votre blog préféré publie un nouvel article ? Ce modèle surveille une URL et ne vous dérange que lorsqu’un changement se produit réellement.

L’astuce réside dans le paramètre --script. Un script Python s’exécute avant chaque exécution, effectue le travail mécanique (récupération, comparaison), et sa sortie devient le contexte pour l’agent. L’agent décide ensuite : ce changement est-il intéressant ?

Voici le script qui fait le travail de fond :

# ~/.hermes/scripts/watch-site.py
import hashlib, json, os, urllib.request

URL = "https://example.com/pricing"
STATE_FILE = os.path.expanduser("~/.hermes/scripts/.watch-site-state.json")

req = urllib.request.Request(URL, headers={"User-Agent": "Hermes-Monitor/1.0"})
content = urllib.request.urlopen(req, timeout=30).read().decode()
current_hash = hashlib.sha256(content.encode()).hexdigest()

prev_hash = None
if os.path.exists(STATE_FILE):
    with open(STATE_FILE) as f:
        prev_hash = json.load(f).get("hash")

with open(STATE_FILE, "w") as f:
    json.dump({"hash": current_hash, "url": URL}, f)

if prev_hash and prev_hash != current_hash:
    print(f"CHANGE DETECTED on {URL}")
    print(f"Previous hash: {prev_hash}")
    print(f"Current hash: {current_hash}")
    print(f"\nCurrent content (first 2000 chars):\n{content[:2000]}")
else:
    print("NO_CHANGE")

Ensuite, configurez la tâche cron :

/cron add "every 1h" "If the script output says CHANGE DETECTED, summarize what changed on the page and why it might matter. If it says NO_CHANGE, respond with just [SILENT]." --script ~/.hermes/scripts/watch-site.py --name "Pricing monitor" --deliver telegram

Astuce de pro : Vous remarquez l’instruction [SILENT] ? C’est votre marqueur de silence. Lorsque l’agent répond avec uniquement [SILENT], Hermes sait qu’il ne doit pas vous déranger. Pas de spam pendant vos heures de repos.

Modèle 2 : Rapport Hebdomadaire

Celui-ci est parfait pour rester à la pointe de votre secteur. Il s’exécute tous les lundis à 9h et compile un résumé à partir de multiples sources.

/cron add "0 9 * * 1" "Generate a weekly report covering:

1. Search the web for the top 5 AI news stories from the past week
2. Search GitHub for trending repositories in the 'machine-learning' topic
3. Check Hacker News for the most discussed AI/ML posts

Format as a clean summary with sections for each source. Include links.
Keep it under 500 words — highlight only what matters." --name "Weekly AI digest" --deliver telegram

Le 0 9 * * 1 est la syntaxe cron standard : minute 0, heure 9, n’importe quel jour du mois, n’importe quel mois, lundi (1). Facile une fois qu’on le sait.

Modèle 3 : Surveillant de Dépôt GitHub

Gardez un œil sur n’importe quel dépôt sans avoir à rafraîchir la page toutes les cinq minutes.

/cron add "every 6h" "Check the GitHub repository NousResearch/hermes-agent for:
- New issues opened in the last 6 hours
- New PRs opened or merged in the last 6 hours
- Any new releases

Use the terminal to run gh commands:
  gh issue list --repo NousResearch/hermes-agent --state open --json number,title,author,createdAt --limit 10
  gh pr list --repo NousResearch/hermes-agent --state all --json number,title,author,createdAt,mergedAt --limit 10

Filter to only items from the last 6 hours. If nothing new, respond with [SILENT].
Otherwise, provide a concise summary of the activity." --name "Repo watcher" --deliver discord

Remarquez comment le prompt inclut les commandes gh exactes ? C’est la règle de l’autonomie en action. L’agent ne se souviendra pas de comment vous avez fait la dernière fois — vous devez le lui dire à chaque fois.

Modèle 4 : Pipeline de Collecte de Données

Celui-ci est pour les passionnés de données. Collectez des prix, des métriques, ou n’importe quelles données d’API à intervalles réguliers, sauvegardez-les dans des fichiers, et laissez l’agent repérer les tendances.

Le script gère la collecte (pas de tokens LLM gaspillés pour la récupération), et l’agent gère l’analyse. Combinez-les pour un puissant système de détection de tendances.

Alternatives Zéro-Token

Pas besoin du LLM du tout ? Deux options :

  1. Tâches cron script-only : Si votre script produit déjà le message exact (alertes mémoire, avertissements de disque, heartbeats), contournez complètement l’agent. Demandez simplement à Hermes de le configurer — l’outil cronjob sait quand utiliser no_agent=True.

  2. Envoi unique depuis un script en cours d’exécution : Utilisez hermes send pour rediriger stdout ou un fichier directement vers Telegram, Discord, ou Slack. Parfait pour les étapes CI, les hooks post-commit, ou les scripts de déploiement.

Pour Conclure

Vous avez les modèles. Maintenant, allez automatiser quelque chose d’ennuyeux. Vous vous remercierez plus tard.

Pour la référence complète des fonctionnalités, consultez la documentation sur les Tâches Planifiées (Cron). Et rappelez-vous : des prompts autonomes, [SILENT] pour le silence, et des scripts pour le travail mécanique. C’est tout le jeu.

📖 Documentation officielle

Cet article est basé sur la documentation officielle de Hermes Agent :Docs officiels › guides/automate-with-cron