🤖HermesBlog
Hermes Feature Guides · Teil 178/9/2026

Level Up Your Cron Game: 5 Automation Patterns You Can Use Today

Cron Troubleshooting Guide — easy-to-understand guide based on official docs

guide-cron-troubleshooting

Bring dein Cron-Spiel aufs nächste Level: 5 Automatisierungs-Patterns, die du heute nutzen kannst

Du hast also deinen ersten Cron-Job mit Hermes Agent eingerichtet und bist begeistert. Aber wusstest du, dass du noch so viel mehr machen kannst? Das Tutorial für den täglichen Briefing-Bot ist nur der Anfang. Lass uns fünf praxisnahe Automatisierungs-Patterns erkunden, die dein Leben einfacher machen.

Die goldene Regel: In sich geschlossene Prompts

Bevor wir loslegen, hier das Wichtigste, das du dir merken solltest: Cron-Jobs laufen in frischen Agent-Sitzungen. Dein Agent hat null Erinnerung an deinen aktuellen Chat. Jeder Prompt muss also vollständig in sich geschlossen sein – inklusive allem, was der Agent wissen muss, vom Kontext bis zu den genauen Befehlen.

Überspringe das LLM, wenn du es nicht brauchst

Nicht jede Automatisierung braucht ein Sprachmodell. Du hast zwei Optionen mit null Token:

  • Wiederkehrender Watchdog: Wenn dein Skript bereits die exakte Nachricht produziert (wie Speicher-Warnungen oder Heartbeats), nutze reine Skript-Cron-Jobs. Frag einfach Hermes im Chat – das cronjob-Tool weiß, wann no_agent=True verwendet werden muss, und schreibt das Skript für dich.
  • Einmalig aus einem laufenden Skript: Für CI-Schritte oder Deploy-Hooks nutze hermes send, um die Ausgabe direkt an Telegram oder Discord zu pipen – ganz ohne Cron-Setup.

Pattern 1: Website-Änderungs-Monitor

Du willst wissen, wann sich eine Preisseite ändert oder ein Konkurrent seine Website aktualisiert? Dieses Pattern nutzt ein Python-Skript für die mechanische Arbeit, während der Agent die Schlussfolgerungen übernimmt.

Erstelle zuerst dein Überwachungsskript:

mkdir -p ~/.hermes/scripts
import hashlib, json, os, urllib.request

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

# Fetch current content
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()

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

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

# Output for the agent
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")

Jetzt richtest du den Cron-Job ein:

/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

Profi-Tipp: Der [SILENT]-Trick ist Gold wert. Wenn sich nichts geändert hat, antwortet der Agent nur mit [SILENT], und die Cron-Zustellung behandelt das als Ruhe-Marker. Du wirst nur benachrichtigt, wenn tatsächlich etwas passiert – kein Spam in ruhigen Stunden.


Pattern 2: Wochenbericht

Sammle Informationen aus mehreren Quellen und fasse sie in einer formatierten Übersicht zusammen. Das läuft jeden Montag um 9 Uhr:

/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

Über die CLI sieht das so aus:

hermes cron create "0 9 * * 1" \
  "Generate a weekly report covering the top AI news, trending ML GitHub repos, and most-discussed HN posts. Format with sections, include links, keep under 500 words." \
  --name "Weekly AI digest" \
  --deliver telegram

0 9 * * 1 ist ein standardmäßiger Cron-Ausdruck: 9:00 Uhr jeden Montag.


Pattern 3: GitHub-Repository-Watcher

Behalte jedes Repo im Auge – für neue Issues, PRs oder Releases:

/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

Warnung: Beachte, dass der Prompt die exakten gh-Befehle enthält? Das ist Absicht. Der Cron-Agent hat keinen Gesprächsverlauf – schreibe also alles aus. (Persistent Memory wird geladen, dauerhafte Präferenzen aus MEMORY.md werden also übernommen, aber verlass dich bei kritischen Job-Details nicht darauf.)


Pattern 4: Datensammel-Pipeline

Sammle Daten in regelmäßigen Abständen, speichere sie in Dateien und erkenne Trends über die Zeit. Das kombiniert ein Skript für die Sammlung mit dem Agenten für die Analyse:

import json, os, urllib.request
from datetime import datetime

DATA_DIR = os.path.expanduser("~/.hermes/data/prices")
os.makedirs(DATA_DIR, exist_ok=True)

# Fetch current data (example: crypto prices)
url = "https://api.coingecko.com/api/v3/simple/price?ids=bitcoin,ethereum&vs_currencies=usd"
data = json.loads(urllib.request.urlopen(url, timeout=30).read())

# Append to history file
entry = {"timestamp": datetime.now().isoformat(), "prices": data}
history_file = os.path.join(DATA_DIR, "history.jsonl")
with open(history_file, "a") as f:
    f.write(json.dumps(entry) + "\n")

print(f"Collected prices at {entry['timestamp']}: BTC ${data['bitcoin']['usd']}, ETH ${data['ethereum']['usd']}")

Richte dann einen Cron-Job ein, der das Skript ausführt und den Agenten bittet, die gesammelten Daten auf Trends zu analysieren.


Pattern 5: Der reine Skript-Watchdog

Für Warnmeldungen, bei denen das Skript bereits die exakte Nachricht produziert, überspringe das LLM komplett:

/cron add "every 5m" --script ~/.hermes/scripts/check-disk.py --no-agent --deliver slack

Das cronjob-Tool wählt automatisch no_agent=True, wenn es sinnvoll ist, und schreibt das Skript für dich.


Bereit zu automatisieren?

Diese Patterns sind nur Ausgangspunkte. Kombiniere sie – nutze Skripte für mechanische Arbeit, Agenten für Schlussfolgerungen und [SILENT], um deine Benachrichtigungen sauber zu halten. Die vollständige Feature-Referenz findest du in der Dokumentation zu Geplante Aufgaben (Cron). Viel Spaß beim Automatisieren!

📖 Offizielle Dokumentation

この記事は Hermes Agent のOffizielle Dokumentationに基づいています:Offizielle Dokumentation › guides/automate-with-cron