AI / Automation

Hermes Agent Cron: Auto Daily Digest to Discord (2026)

Hermes Agent cron scheduler delivering automated daily digest to Discord on Mac

You do not need a separate scraper repo to chase trends. Hermes Agent (NousResearch/hermes-agent, MIT) ships a built-in cron scheduler that turns plain-language instructions into recurring agent runs, then delivers the final answer to Discord (or Telegram, Slack, and others) without hand-writing five-field cron syntax.

Note: ProxyMac publishes Mac hosting guides; Hermes Agent is vendor-neutral. Commands below match Hermes cron documentation as of May 2026.

Why Hermes cron beats manual trend hunting

Developers and indie hackers lose hours refreshing GitHub Trending, Hacker News, and overseas tech blogs—then still miss a monetizable angle until a competitor ships it.

Hermes closes that loop on a Mac or small always-on host:

  • Natural-language scheduling — say “every day at 3am” instead of memorizing cron expressions.
  • Gateway delivery — the agent’s final response routes to discord, discord:#your-channel, or origin without calling send_message in the prompt.
  • Skills on schedules — attach blogwatcher or custom skills so the job inherits a repeatable workflow.
  • Silent monitoring — successful runs can reply [SILENT] when nothing is new; failures still alert you.

If Hermes is not installed yet, complete Hermes Agent Mac setup first. For repo-local tools during digest generation, see Hermes MCP on Mac.

Quotable definition: Hermes cron is a gateway-backed scheduler that stores jobs in ~/.hermes/cron/jobs.json, ticks every 60 seconds, runs each due job in a fresh agent session, and delivers stdout or the model’s final message to configured chat platforms.

Architecture: scheduler, agent session, Discord delivery

ComponentPath / commandRole
Gateway daemonhermes gateway startTicks scheduler, bridges Discord
Job store~/.hermes/cron/jobs.jsonSchedules, prompts, delivery targets
Scheduler tickEvery 60sLoads due jobs, file lock .tick.lock
Agent runFresh AIAgent session per jobWeb search, terminal, skills—normal tool list
Deliverydeliver="discord:#intel"Wraps output unless cron.wrap_response: false
Local audit~/.hermes/cron/output/Saved even when delivery succeeds

External reference: Hermes messaging gateway for Discord bot tokens and home channel configuration.

Important constraint: Cron-run sessions cannot create nested cron jobs—Hermes disables cron management tools inside cron executions to prevent runaway loops.

Unlike a one-shot chat, each cron tick spawns a fresh agent session with the normal static tool list—web search, terminal, and optional MCP tools—so your 8am Discord message is generated from live sources, not a stale clipboard summary.

Seven-step runbook: 3am scan, 8am Discord brief

Step 1 — Install Hermes and verify the CLI

curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash

source ~/.zshrc then hermes doctor — must report Python 3.11 venv and PATH to ~/.local/bin/hermes.

Step 2 — Configure a model for unattended runs

Cron uses whatever provider hermes model selected. For hands-off OAuth: hermes setup --portal. Or set OpenRouter / OpenAI keys in ~/.hermes/config.yaml. Verify with hermes model and hermes portal status when using Nous Portal.

Step 3 — Wire Discord through the gateway

Run hermes gateway setup, add your Discord bot token and allowlist your user ID. Set DISCORD_HOME_CHANNEL=#daily-brief in .env. Test with hermes gateway start; for production use hermes gateway install as a user service.

Step 4 — Create the cron job in plain language

In the Hermes TUI or Discord DM, paste a schedule like: every day at 3:00 AM scan GitHub Trending and tech news; at 8:00 AM send a 5-bullet digest to discord:#daily-brief under 400 words. CLI equivalent:

hermes cron create "every day at 3:00" "Scan GitHub Trending; list 5 monetizable opportunities." --name morning-opportunity-scan

hermes cron edit morning-opportunity-scan --schedule "every day at 8:00" --deliver "discord:#daily-brief"

Step 5 — Attach skills for repeatable sourcing

hermes cron create "every day at 7:30" "Check configured feeds; summarize anything new." --skill blogwatcher --deliver "discord:#daily-brief" --name feed-prefetch

Step 6 — Verify schedule and force a test run

hermes cron list, hermes cron status, hermes cron run morning-opportunity-scan. Check ~/.hermes/cron/output/. Set cron.wrap_response: false in config to drop the wrapper header on Discord.

Step 7 — Keep the gateway alive (Mac mini or VPS)

Laptop sleep stops the scheduler. Disable sleep on a Mac mini and run hermes gateway install, or move the gateway to a $5 VPS. Use hermes cron pause <job> before travel. Light hosting note: an always-on Mac avoids missed 3am ticks; optional ProxyMac rental, not a Hermes requirement.

Example prompts you can paste today

GitHub + overseas tech (EN brief): Daily at 08:00 summarize GitHub Trending, Hacker News, and TechCrunch AI—exactly 5 opportunity bullets with sources to discord:#daily-brief. If nothing notable, reply [SILENT].

CN-friendly sources: 每天 8:00 抓取 GitHub Trending、Hacker News、The Verge AI,中文 5 条可执行商机,发到 discord:#daily-brief,无新内容则 [SILENT]

Watchdog without LLM tokens (--no-agent): hermes cron create "every 5m" --no-agent --script disk-watchdog.sh --deliver discord --name disk-watchdog — scripts live in ~/.hermes/scripts/.

Troubleshooting

Jobs never fire at the scheduled time

Symptom: hermes cron list shows the job, but no output at 3am.

Fix: Confirm gateway is running. Scheduler ticks only inside the gateway. Run hermes cron tick manually. Check next_run_at in ~/.hermes/cron/jobs.json.

Discord stays silent but local output exists

Symptom: Files under ~/.hermes/cron/output/; Discord channel empty.

Fix: Verify DISCORD_HOME_CHANNEL or deliver="discord:#channel". Ensure bot post permission. Remember [SILENT] suppresses successful deliveries—remove it while debugging.

FAQ

Do I need to write Python crawlers?+
Usually no. The agent uses built-in web and terminal tools. For strict RSS pipelines, attach blogwatcher or add MCP tools per the MCP Mac guide.
Can one sentence in chat create the whole schedule?+
Yes. Hermes maps natural language to cronjob(action="create", ...). Edit with hermes cron edit <name> --schedule "every 4h".
How is this different from Zapier or Make?+
Zapier connects fixed APIs; Hermes runs a full LLM agent with tools each tick—better for summarization and judgment, with higher per-run cost. Use [SILENT] and narrower prompts to control spend.
Will cron jobs spam my phone at night?+
Only when delivery targets your connected platforms and the run is not [SILENT]. Pause with hermes cron pause <job_id> or mute the Discord channel overnight.
How do I update Hermes without breaking schedules?+
Run hermes update, then hermes doctor. Jobs persist in ~/.hermes/cron/jobs.json; restart the gateway after updates.

Need an always-on Mac?

A Mac mini or small VPS keeps the Hermes gateway ticking at 3am—optional ProxyMac hosting for 24/7 cron without sleep.