Agent stack build plans · № 6 · 1 of 6
What you get
Not a dashboard. A colleague who happens to live in your walls and knows the house rules.
The finished build has no UI of its own. Home Assistant keeps its dashboards; Hermes shows up as a Telegram contact who occasionally does things and occasionally asks first. The mock below is a plausible Wednesday evening — sensor events on the left (arriving over HA’s WebSocket), agent decisions on the right (tool calls, silence, or a message to you).
Static mock — this is what the gateway session log amounts to, tidied up. Entity ids are examples.
What’s real in that mock
- The left column is Hermes’s Home Assistant gateway
platform: state-change events over WebSocket, filtered by
watch_domains/watch_entities, with acooldown_secondsthrottle (default 30). No polling loop — the agent is told when something happens. - The right column is only ever four tools —
ha_list_entities,ha_get_state,ha_list_services,ha_call_service— plus messages out through any gateway platform (Telegram here). - The reasons under each action come from
~/.hermes/memories/MEMORY.md— a deliberately tiny (2,200-character) distilled model of your household, not a log. - The 23:30 row is the part you build: a nightly cron job
you create with
hermes cron createthat reviews the day’s events and folds new patterns into memory. Hermes supplies the scheduler, the session search, and the memory tool; the convention is yours — architecture names the seam, the prompts build it. - The asking-first behaviour is Hermes approvals
(
approvals.mode) plus your house policy, not a hardcoded feature — setup covers it.
The honest pitch: for the first week this is a slightly needy housemate who asks about everything. By week three, the memory has maybe fifteen terse rules in it, and the messages drop to one or two a day that are actually worth getting.