Hermes — Wednesday’s executor runtime + command plane

Category: hermes Where it works: powers Telegram + IRC (chat channels) · commandable from Claude Code Source: ~/.hermes/ (gateway), _infra/scripts/hermes_run_dispatch.py, _infra/mcp/servers/hermes/

Personal scope

This Nevermore/Hermes system is private, personal, passion-driven, and noncommercial. It is not published or commercialized, and this guide does not authorize selling, productizing, or sharing any workspace material externally.

What it is

Hermes is one of Wednesday’s bodies — the executor runtime (on whatever model Hermes is currently configured to) that runs the Telegram + IRC channels and has its own toolset (web/X search, computer-use, honcho memory, the wednesday-* skills). Wednesday is the brain; Hermes is the executor she summons. (Rework 2026-05-29: “Wednesday possesses Hermes”.)

How to trigger / use it

You mostly use Hermes by just chatting on Telegram (or IRC) — that’s Wednesday-on-Hermes. Memory + skills are live there.

Wednesday (from Claude Code) commands Hermes via the command plane:

  • hermes_run(task, skill?, profile?) — full-toolset Hermes agent; returns a STRUCTURED result with the tool_calls it made. The profile parameter is retained only for API compatibility; omit it while structured profile routes remain unavailable.
  • hermes_skill_invoke, hermes_mcp_call (proxy a Hermes MCP tool), hermes_send (deliver a message as Wednesday to a channel), hermes_status.
  • Or from a shell: python3 _infra/scripts/hermes_run_dispatch.py --task "…" --json.
  • Doctrine: skill command-hermes (sk-265).

Key controls (ops — Wednesday uses these)

commandwhat it does
hermes gateway statusis the gateway up + health
hermes status / hermes dumpfull stack snapshot
hermes send --to telegram '…'push a message as Wednesday
hermes curator status/runthe native skill-curator (creates/prunes Hermes skills)
hermes kanban swarm "<goal>" --worker … --verifier … --synthesizer …multi-agent fan-out (workers → verifier → synthesizer)
hermes proxy statusthe OpenAI-compat proxy (:8645)
hermes profile listlists profile configuration directories; it does not prove structured HTTP routing

Practical examples

  1. Heavy task off your desktop — Wednesday: hermes_run("search the vault for X and summarize") → a Hermes agent runs it with full tools, returns the result + which tools it used.
  2. Notify you — Wednesday: hermes_send("telegram", "backup done") → you get a Telegram ping (no agent loop).
  3. Swarmhermes kanban swarm "research 3 options" → parallel workers → verifier → synthesizer (see the swarm verb above).

Notes / limits

Structured profile routing is currently unavailable. Profile directories such as researcher, coder, or batch may exist, but the installed gateway returns HTTP 404 for /p/<profile>/v1/runs. The client is configured to fail closed for any named-profile request; it never falls back to the unprefixed default route. Use the unprefixed structured route for Hermes; use a native runtime agent for foreground role isolation.

Hermes runs on whatever model it is currently configured to, not Claude; do not infer a separate cheap lane. MCP set trimmed to honcho + obsidian (200-tool cap). The hermes MCP server is Claude-Code-only (Hermes commanding itself = circular). Session commands (boot/close/handoff) → see Wednesday-Session-Lifecycle.md. WhatsApp lane retired 2026-05-29.