Script-Only Cron Jobs Without LLM Cost

Not every scheduled task needs a model. If a script can determine the exact message, Hermes no-agent mode runs the script on schedule and routes non-empty output without making an inference call.

Official documentation: https://hermes-agent.nousresearch.com/docs/guides/cron-script-only

Good no-agent jobs

  • Disk, memory, certificate, or endpoint threshold checks.
  • Backup completion markers.
  • Deterministic counts and status summaries.
  • Fixed reminders whose wording never changes.
  • File-arrival or process-health watchdogs.

Use an agent-driven cron job when the output requires judgment: selecting important items, summarizing prose, combining sources, or drafting an audience-aware response.

Script contract checklist

  • [ ] Put the script under ~/.hermes/scripts/.
  • [ ] Use a supported script type and explicit dependencies.
  • [ ] Exit zero with empty stdout when nothing needs attention.
  • [ ] Print only the message that should be delivered.
  • [ ] Return non-zero on genuine script failure so it does not fail silently.
  • [ ] Set a timeout appropriate to the check.
  • [ ] Avoid credentials and private payloads in stdout or stderr.
  • [ ] Test once manually before enabling the recurring schedule.

Choose the scheduler boundary

Hermes no-agent cron is appropriate when the Hermes scheduler is healthy and the monitored system is external. For a watchdog whose purpose is to detect that Hermes itself is down, use an independent OS scheduler that can call an external alert endpoint or signed webhook. A monitor should not depend entirely on the component it is meant to monitor.

Quiet-channel design

A healthy watchdog should usually say nothing. Empty stdout creates a silent tick, while non-empty stdout is delivered. This supports frequent checks without flooding a channel. Include enough context in alerts to act: what failed, where, when, and which verification command or URL should be checked next.

Pitfalls

  • Paying for an LLM every minute to evaluate a numeric threshold.
  • Printing routine success messages that create alert fatigue.
  • Swallowing non-zero errors and making a broken monitor appear healthy.
  • Depending on an in-gateway scheduler to detect gateway failure.
  • Writing scripts outside the allowed scripts directory.
  • Including unstable host details or secrets in delivered output.

Verification steps

  • Run the script in a healthy state and confirm stdout is empty.
  • Simulate the threshold and confirm one concise alert is printed.
  • Simulate a script error and confirm the job reports failure.
  • Trigger the cron job manually.
  • Verify the destination receives the alert once.
  • Restore the healthy state and confirm the next run stays silent.