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

Porta il Tuo Gioco con Cron a un Nuovo Livello: 5 Pattern di Automazione da Usare Subito

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

guide-cron-troubleshooting

Porta il Tuo Gioco con Cron a un Nuovo Livello: 5 Pattern di Automazione da Usare Subito

Hai configurato il tuo primo job cron con Hermes Agent e sei già dipendente. Ma sapevi che puoi fare molto di più? Il tutorial del bot per il briefing quotidiano è solo l’inizio. Esploriamo cinque pattern di automazione reali che ti semplificheranno la vita.

La Regola d’Oro: Prompt Autocontenuti

Prima di addentrarci, ecco la cosa più importante da ricordare: i job cron vengono eseguiti in sessioni agente nuove di zecca. Il tuo agente non ha alcuna memoria della chat corrente. Quindi ogni prompt deve essere completamente autocontenuto — includi tutto ciò di cui l’agente ha bisogno, dal contesto ai comandi esatti.

Salta l’LLM Quando Non Ti Serve

Non ogni automazione ha bisogno di un modello linguistico. Hai due opzioni a zero token:

  • Watchdog ricorrente: Se il tuo script produce già il messaggio esatto (come avvisi di memoria o heartbeat), usa i job cron solo-script. Basta chiedere a Hermes in chat — lo strumento cronjob sa quando usare no_agent=True e scrive lo script per te.
  • One-shot da uno script in esecuzione: Per step di CI o hook di deploy, usa hermes send per inviare l’output direttamente a Telegram o Discord senza alcuna configurazione cron.

Pattern 1: Monitoraggio Modifiche Sito Web

Vuoi sapere quando cambia una pagina prezzi o quando un concorrente aggiorna il proprio sito? Questo pattern usa uno script Python per il lavoro meccanico, e l’agente gestisce il ragionamento.

Per prima cosa, crea il tuo script di monitoraggio:

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")

Ora configura il job 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

Consiglio da pro: Il trucco [SILENT] è oro puro. Quando non è cambiato nulla, l’agente risponde solo con [SILENT], e la consegna cron lo tratta come marcatore di silenzio. Ricevi notifiche solo quando qualcosa succede davvero — niente spam nelle ore tranquille.


Pattern 2: Report Settimanale

Compila informazioni da più fonti in un riepilogo formattato. Questo viene eseguito ogni lunedì alle 9:00:

/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

Dalla CLI, appare così:

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

Il 0 9 * * 1 è un’espressione cron standard: le 9:00 di ogni lunedì.


Pattern 3: Osservatore Repository GitHub

Tieni d’occhio qualsiasi repo per nuove issue, PR o release:

/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

Attenzione: Noti come il prompt includa i comandi gh esatti? È intenzionale. L’agente cron non ha alcuna cronologia di conversazione — scrivi tutto per esteso. (La memoria persistente viene caricata, quindi le preferenze durature salvate in MEMORY.md vengono ereditate, ma non fare affidamento su questo per dettagli critici del job.)


Pattern 4: Pipeline di Raccolta Dati

Raccogli dati a intervalli regolari, salvali in file e rileva tendenze nel tempo. Questo combina uno script per la raccolta con l’agente per l’analisi:

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']}")

Poi configura un job cron che esegue lo script e chiede all’agente di analizzare i dati raccolti per individuare tendenze.


Pattern 5: Il Watchdog Solo-Script

Per avvisi in cui lo script produce già il messaggio esatto, salta completamente l’LLM:

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

Lo strumento cronjob seleziona automaticamente no_agent=True quando ha senso, e scrive lo script per te.


Pronto ad Automatizzare?

Questi pattern sono solo punti di partenza. Mescolali e abbinali — usa gli script per il lavoro meccanico, gli agenti per il ragionamento e [SILENT] per mantenere pulite le notifiche. Per il riferimento completo alle funzionalità, consulta la documentazione su Attività Pianificate (Cron). Buona automazione!

📖 Documentazione ufficiale

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