All plugins

waiting-on-you

One list of the questions your Hermes bots are waiting on you to answer. /waiting and hermes waiting scan profile session stores, keep only replies that end by asking you something (English and Indonesian), merge the same question asked by several bots, and drop an item once you reply in that chat or dismiss it. Disclosure — opens state.db (sessions, messages) with SQLite mode=ro and PRAGMA query_only and shows the text of matching bot replies: every profile on this machine for the terminal command and CLI/TUI/Desktop, but only the chat's own profile for /waiting in a messaging chat unless the owner turns on all_profiles_in_chat (off by default). Writes only plugin-data/waiting-on-you/dismissed.json in the active profile. No network calls, no model calls, no shell commands, no credentials, no background processes, no tools or hooks.

irsan-dimyatiToolsv0.2.0Updated 32 minutes ago

About

One list of the questions your Hermes bots are waiting on you to answer. /waiting and hermes waiting scan profile session stores, keep only replies that end by asking you something (English and Indonesian), merge the same question asked by several bots, and drop an item once you reply in that chat or dismiss it. Disclosure — opens state.db (sessions, messages) with SQLite mode=ro and PRAGMA query_only and shows the text of matching bot replies: every profile on this machine for the terminal command and CLI/TUI/Desktop, but only the chat's own profile for /waiting in a messaging chat unless the owner turns on all_profiles_in_chat (off by default). Writes only plugin-data/waiting-on-you/dismissed.json in the active profile. No network calls, no model calls, no shell commands, no credentials, no background processes, no tools or hooks.

waiting-on-you

One list of the questions your Hermes bots are waiting on you to answer.

When several bots are running (Bot Mode profiles, or a gateway with many chats), each one ends some of its replies with a question for you: "Should I merge PR 6528 now?", "Mau aku jalankan sekarang?", "Still waiting on you: whitelist X, yes or no?". Those questions end up spread across a dozen chats. Some get buried under newer messages, and work stops until you happen to scroll back.

waiting-on-you reads every profile's session store read-only and gives you one list:

$ hermes waiting
4 waiting on you, from 4 bot(s), oldest first:

[a1b2c3d4]   1d  ops-bot (+security-bot)
       Should I merge PR 6528 now, or hold it until the evening window?
[e5f6a7b8]   1d  security-bot
       Still waiting on you: whitelist api.example.io in SEC-018, yes or no?
[c9d0e1f2]  12h  data-bot
       Let me know if I can run it with --maximum_bytes_billed=50000000000.
[3a4b5c6d]   5h  research-bot
       Keputusanmu: tambahkan B ke watchlist dengan trigger 'weights released'?

Answer in that bot's chat, or `/waiting dismiss <id>`.

What it does

  • Covers every bot. It scans state.db of the root profile and of every profile under profiles/. In Hermes these are opened with mode=ro and PRAGMA query_only.
  • Finds real asks only. It looks only at the final reply of a turn that you started, and only at the last few prose lines. Questions in the middle of a report, ? inside URLs, code blocks, and replies to other bots, cron runs or tool notifications are skipped. Subagent sessions are skipped too.
  • Understands English and Indonesian. Besides ?, it recognises phrases such as should I, do you want, let me know, waiting on you, your call, mau aku, boleh saya, nunggu keputusanmu, menunggu persetujuan, tinggal kamu bilang.
  • Merges duplicates across bots. When two bots ask about the same thing, the list shows one item with both names. Two asks count as the same thing when they share an identifier (PR 6528, SEC-018, AB#123, kanban t_…) or when at least 60% of their words overlap.
  • Clears answered asks. An item stays open until you send a real message in that chat, or until the same bot asks a newer question there.
  • Shows age. The list is ordered oldest first, so the item that has blocked work longest comes first.

Use

| In a session | In a terminal | |
|---|---|---|
| /waiting | hermes waiting | open asks, last 14 days |
| /waiting all | hermes waiting --all | include the ones you answered |
| /waiting days 3 | hermes waiting --days 3 | change the window |
| /waiting json | hermes waiting --json | for scripts |
| /waiting dismiss <id> | hermes waiting --dismiss <id> | hide one you handled elsewhere |

Install:

hermes plugins install irsan-dimyati/hermes-waiting-on-you
hermes plugins enable waiting-on-you

Who sees what

Hermes keeps profiles separate on purpose, so the plugin limits what each surface shows:

| Where you run it | What it lists |
|---|---|
| hermes waiting in a terminal, or /waiting in the CLI, TUI or Desktop | Every profile on this machine. These surfaces are reachable only by the machine's owner. |
| /waiting in a messaging chat (Telegram, Discord, Slack, …, or any platform it doesn't recognise) | Only the profile that chat belongs to. In a group chat or on a shared bot, nobody admitted to it can see what another profile's bot asked its owner. |

To list every profile in messaging chats as well, the owner turns on all_profiles_in_chat. It is off by default; set it in the Desktop Plugins tab or with hermes config set plugins.entries.waiting-on-you.settings.all_profiles_in_chat true.

Disclosure

  • Reads outside its own data. The plugin reads, in read-only mode, state.db (sessions and messages) of every Hermes profile on the machine for the terminal and local surfaces, and of the chat's own profile for messaging chats (see Who sees what). It shows the text of bot replies that end in a question, which may include content from those conversations. Turning on all_profiles_in_chat exposes every profile's asks to anyone in your messaging chats.
  • Writes only its own file. The one file it writes is plugin-data/waiting-on-you/dismissed.json, in the active profile.
  • No network, no model calls, no shell commands, no background processes, no credentials. It registers no tools and no hooks, and nothing runs during chats.
  • Heuristic. Detection is pattern based. It can miss an ask phrased without a question mark or a known phrase. It can also list a rhetorical question at the end of a reply. If you answer a bot somewhere else (another chat, or in person), use dismiss.

Develop

python -m pytest -q          # synthetic multi-bot home, no real data
python demo/make_home.py /tmp/demo-home && HERMES_HOME=/tmp/demo-home hermes waiting
hermes plugins validate . --install-deps

The tests build a throwaway Hermes home with four made-up bots (demo/make_home.py). They check extraction (English, Indonesian, false positives), resolution, cross-bot merging, the time window and dismissals. They check that every state.db is byte-identical before and after a scan. They also check that a messaging chat sees only its own profile unless the owner setting is on.

License

MIT

README from the reviewed commit ca1fb1a; it updates when the author re-pins.

Developer Mode

Explore built-in Hermes toolsets and actions.

HermesAgent

Developer?

Create a Hermes extension for Desktop or agent workflows.

Developer Section