HeartBeat 2.0

Your agent follows up on its own: timed check-ins, recurring checks and watchers that wake it in the same chat when something changes. You (with /pulse) or your agent (with the pulse tool) arm follow-ups at a time, recurring checks, a check-in after a long silence, or deterministic watchers on a file, process, URL, read-only command or Hermes event (kanban, subagent, API error, reactions). A wake is a turn in the same messaging DM that armed it, on that chat's own model: no side model, cron session or subagent. Watchers decide without a model call; the agent answers each wake with a structured verdict (notify or stay silent, never a typed sentinel); a no-op governor slows, then pauses pointless wakes and asks once. Every guardrail is a user setting (quiet hours, daily caps, unanswered mute, floors, lifetimes) that the agent works inside and can never widen. A one-time reminder you ask for in chat bypasses the unanswered mute and daily caps; HeartBeat 2.0 grants that only in a turn that carries your message. Arming returns a one-line receipt saying when the wake will really fire, and a wake that could never fire before it expires is refused. It delivers to messaging-gateway DMs only and needs plugins.entries.heartbeat2.allow_gateway_injection: true. Ships the plugin skill `heartbeat2:heartbeat2-report-problem`, which drafts a bug report and files it with the GitHub CLI only after the user approves the exact text.

Good to know before installing

Wakes and watchers run full turns on the conversation's own model, billed like any message, at your conversation's context size, with the conversation's normal tools and approval prompts; the agent can arm wakes and watchers itself unless you set agent_can_create to ask_first or no; command watchers run allowlisted read-only commands (default gh pr view/checks, gh run view/list, git ls-remote/status/log) without an approval prompt, with no shell, a sanitized environment (no provider keys, GH_TOKEN or GITHUB_TOKEN) and the process group killed after 30 s, can use your stored git/gh credentials, and `git ls-remote <url>` / `gh -R` can contact any host your machine can reach; URL watchers make the GET requests you or the agent configured, without URL credentials, cookies, auth headers or proxies, always refuse cloud-metadata addresses and refuse private or local addresses unless url_allow_private is on; file watchers refuse paths Hermes blocks from reading; notes, summaries and event payloads are stored in plaintext in the profile's plugin-data; no telemetry.

From the plugin's catalog listing.

How to install

  1. Install it. Hermes asks for any API keys it needs, then asks whether to turn it on.
    hermes plugins install heartbeat2
  2. Said no? Turn it on later:
    hermes plugins enable heartbeat2
  3. Restart Hermes so it loads the plugin.

Some plugins also need a sign-in or settings: see Full setup & settings. Memory plugins ask whether to become your memory provider instead. Steps follow the official plugins guide (opens in a new tab).

Category
Automation & multi-agent
Maintained by
100yenadmin (Community)
Needs
No API keys declared
Adds tools
pulse
Works on
linux, macos
Needs Hermes
0.21.6 or newer
Version
0.2.1
In the catalog
2026-10-13, updated 2026-10-20
GitHub stars
9

Full setup & settings ↗Source code ↗

More in automation & multi-agent

All automation & multi-agent plugins

New Hermes Agent updates every day on X. Follow @HermesWatcher

← All plugins