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

Script-Only Cron Jobs: Automate Without Burning Tokens

Script-Only Cron Jobs — easy-to-understand guide based on official docs

guide-cron-script-only

Trabajos Cron Solo con Scripts: Automatiza Sin Gastar Tokens

Si ya has estado jugando con los trabajos cron de Hermes, ya sabes lo potentes que son. Pero aquí va una pregunta: ¿y si no necesitas que un LLM piense—solo necesitas que algo se ejecute en un horario y te diga qué pasó?

Ahí es donde entran los trabajos cron solo con scripts. Piénsalos como tu capa de automatización sin florituras: mismo programador, misma entrega, cero tokens de LLM gastados.

¿Cuándo Deberías Usar Trabajos Cron Solo con Scripts?

Los trabajos solo con scripts brillan cuando el propio script ya produce el mensaje exacto que quieres ver. Sin necesidad de razonamiento, sin resúmenes. Solo salida pura y determinista.

Estos son los casos de uso clásicos:

  • Alertas de memoria – tu script revisa el uso de RAM y muestra “Memoria al 92%”
  • Avisos de espacio en disco – misma idea, métrica diferente
  • Heartbeats – tu servicio sigue vivo, aquí está la prueba
  • Cualquier monitoreo donde el script sepa la respuesta – si está roto, dilo; si está bien, quédate callado

¿Lo bonito? Obtienes la fiabilidad de un script con el poder de entrega de Hermes. Sin costos de tokens, sin latencia, sin demora de “déjame pensar en esto”.

Cómo Configurar Uno

¿La forma más fácil? Solo pídele a Hermes en el chat. La herramienta cronjob es lo suficientemente inteligente como para saber cuándo usar no_agent=True. Escribirá el script por ti y configurará todo.

Pero si quieres hacerlo manualmente, este es el patrón:

/cron add "every 1h" "Este prompt no se usará" --script ~/.hermes/scripts/my-check.py --name "Mi monitor" --deliver telegram

Espera, ese prompt se ve raro. Déjame explicarlo.

El Script Es el Que Habla

Con los trabajos cron solo con scripts, la salida estándar del script se convierte en el mensaje. Sin LLM en medio. Así que tu script necesita generar exactamente lo que quieres que se entregue.

Aquí tienes un ejemplo simple:

#!/usr/bin/env python3
import shutil

total, used, free = shutil.disk_usage("/")
percent = used / total * 100

if percent > 90:
    print(f"⚠️ Disco al {percent:.1f}% — ¡limpia ya!")
else:
    print("[SILENT]")

¿Ves ese [SILENT] al final? Ese es el marcador mágico de silencio. Cuando Hermes ve [SILENT] en la salida, no envía nada. Tu script decide qué vale la pena molestarte.

El Truco de [SILENT]

Esta es la función estrella para scripts de monitoreo. En lugar de recibir notificaciones cada hora con “todo bien”, solo escuchas de Hermes cuando algo realmente necesita atención.

La lógica de tu script:

  • ¿Problema detectado? Imprime el mensaje de alerta
  • ¿Todo en orden? Imprime [SILENT]

Hermes se encarga del resto. Sin notificaciones durante horas tranquilas, sin fatiga de notificaciones, sin “¿por qué vibra mi teléfono a las 3 AM por un servidor sano?”

Solo con Scripts vs. hermes send

Hay otra opción de cero tokens que vale la pena conocer: hermes send. Úsalo cuando tengas un script que ya se está ejecutando en algún lugar—un paso de CI, un hook post-commit, un script de despliegue—y solo quieras canalizar la salida a Telegram o Discord.

./mi-script-de-despliegue.sh | hermes send --channel telegram

¿La diferencia? Los trabajos cron solo con scripts son para verificaciones recurrentes y programadas. hermes send es para momentos únicos cuando tu script decide que es hora de hablar.

Ejemplo del Mundo Real: Monitor de Cambios en un Sitio Web

Pongámoslo todo junto. Aquí tienes un script que vigila una página web y solo habla cuando algo cambia:

import hashlib, json, os, urllib.request

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

content = urllib.request.urlopen(URL, 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}, f)

if prev_hash and prev_hash != current_hash:
    print(f"CAMBIO DETECTADO en {URL}")
    print(f"Hash anterior: {prev_hash}")
    print(f"Hash actual: {current_hash}")
    print(f"\nPrimeros 2000 caracteres:\n{content[:2000]}")
else:
    print("[SILENT]")

Configúralo con:

/cron add "every 1h" "sin usar" --script ~/.hermes/scripts/watch-site.py --name "Monitor de precios" --deliver telegram

El script obtiene la página, compara los hashes y solo habla cuando algo es diferente. Sin tokens de LLM, sin ruido, solo automatización pura.

La Conclusión

Los trabajos cron solo con scripts son tu caballo de batalla de automatización de cero tokens. Son perfectos para:

  • Verificaciones deterministas donde la respuesta es binaria
  • Monitoreo de alta frecuencia donde los costos de LLM se acumularían
  • Cualquier cosa donde confíes en el criterio del script sobre la interpretación de un LLM

¿Y la mejor parte? No tienes que elegir entre trabajos solo con scripts y trabajos con LLM. Mézclalos en el mismo flujo de trabajo. Usa scripts para las verificaciones mecánicas, y deja que el LLM maneje lo interesante—como resumir por qué ese cambio en el sitio web importa.

¿Quieres profundizar más? Echa un vistazo a la documentación completa de cron o al tutorial del bot de resumen diario para ver el lado impulsado por LLM de las cosas.

📖 Documentación oficial

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