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

Bienvenido de Nuevo a la Fiesta de la Automatización

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

Hermes tutorial

Bienvenido de Nuevo a la Fiesta de la Automatización

En el Tutorial 20, construimos un bot de resumen diario que se presenta contigo cada mañana. ¿Bonito, verdad? Bueno, hoy subimos de nivel. El sistema cron de Hermes puede hacer mucho más que solo decir “buenos días”. Hablamos de vigilantes de sitios web, resúmenes semanales, monitores de GitHub e incluso pipelines de datos, todo funcionando en piloto automático.

¿La mejor parte? No necesitas ser programador para configurarlos. Solo necesitas saber qué quieres automatizar, y Hermes se encarga del trabajo pesado.

La Regla de Oro: Prompts Autocontenidos

Antes de sumergirnos en los patrones, hay un concepto que absolutamente necesitas entender: los trabajos cron se ejecutan en sesiones de agente nuevas. Eso significa que tu agente tiene cero memoria de tu chat actual. Nada de “recuerda lo que hablamos ayer” — nada de eso.

Así que cada prompt que escribas debe ser completamente autocontenido. Incluye todo lo que el agente necesita saber: los comandos a ejecutar, las fuentes a revisar, el formato que quieres. Escríbelo todo.

Piénsalo como escribir instrucciones para un pasante muy inteligente que acaba de llegar. No le dirías “haz eso que discutimos”. Le dirías “esto es exactamente lo que tienes que hacer, paso a paso”.

Patrón 1: Monitor de Cambios en Sitios Web

¿Quieres saber el momento exacto en que un competidor cambia su página de precios? ¿O cuando tu blog favorito se actualiza? Este patrón vigila una URL y solo te molesta cuando algo realmente cambia.

El truco es el parámetro --script. Un script de Python se ejecuta antes de cada ejecución, hace el trabajo mecánico (obtener, comparar), y su salida se convierte en contexto para el agente. El agente entonces decide: ¿es este cambio interesante?

Aquí está el script que hace el trabajo pesado:

# ~/.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")

Luego configura el trabajo 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

Consejo profesional: ¿Notas la instrucción [SILENT]? Ese es tu marcador de silencio. Cuando el agente responde solo con [SILENT], Hermes sabe que no debe molestarte. Nada de spam durante tus horas libres.

Patrón 2: Informe Semanal

Este es perfecto para mantenerte al día en tu industria. Se ejecuta cada lunes a las 9 AM y compila un resumen de múltiples fuentes.

/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

El 0 9 * * 1 es sintaxis cron estándar: minuto 0, hora 9, cualquier día del mes, cualquier mes, lunes (1). Fácil una vez que lo sabes.

Patrón 3: Vigilante de Repositorios de GitHub

Mantén un ojo en cualquier repositorio sin tener que refrescar la página cada cinco minutos.

/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

¿Notas cómo el prompt incluye los comandos gh exactos? Eso es la regla de autocontención en acción. El agente no recordará cómo hiciste esto la última vez — tienes que decírselo cada vez.

Patrón 4: Pipeline de Recolección de Datos

Este es para los amantes de los datos. Recopila precios, métricas o cualquier dato de API a intervalos regulares, guárdalos en archivos y deja que el agente detecte tendencias.

El script se encarga de la recolección (sin desperdiciar tokens de LLM en la obtención), y el agente se encarga del análisis. Combínalos para un poderoso sistema de detección de tendencias.

Alternativas de Cero Tokens

¿No necesitas el LLM en absoluto? Dos opciones:

  1. Trabajos cron solo con script: Si tu script ya produce el mensaje exacto (alertas de memoria, advertencias de disco, heartbeats), omite el agente por completo. Solo pídele a Hermes que lo configure — la herramienta cronjob sabe cuándo usar no_agent=True.

  2. Disparo único desde un script en ejecución: Usa hermes send para enviar stdout o un archivo directamente a Telegram, Discord o Slack. Perfecto para pasos de CI, hooks post-commit o scripts de despliegue.

Conclusión

Ya tienes los patrones. Ahora ve a automatizar algo aburrido. Tu yo del futuro te lo agradecerá.

Para la referencia completa de funciones, consulta la documentación de Tareas Programadas (Cron). Y recuerda: prompts autocontenidos, [SILENT] para el silencio, y scripts para el trabajo mecánico. Ese es todo el juego.

📖 Documentación oficial

Este artículo se basa en la documentación oficial de Hermes Agent :Docs oficiales › guides/automate-with-cron