Hermes Voice
Intro
Hermes Voice is an open-source bridge (MIT; wake-word model has a separate non-commercial notice) that lets you talk to a Hermes Agent profile out loud through Home Assistant Assist, typically on a voice satellite such as an Amazon Echo running echo-dot-assist. Repo: https://github.com/majorminorlabs/hermes-voice (created 2026-11-05; radar ~224★, GitHub API later reported 225).
What the repo adds:
custom_components/hermes_voice— Home Assistant conversation agent that forwards each turn to a Hermes profile with a stableX-Hermes-Session-Id, streams replies for earlier speech, and cleans text for TTS;skill/hermes-voice-setup— a Hermes skill so your agent can prepare a voice profile and install/configure HA + hermes_voice;wakeword/— training pipeline plus a bundled “hey hermes” microWakeWord model;- Docs for a dedicated voice profile (SOUL.md, tools, thinking effort, separate provider).
Pipeline sketch: Echo (wake word / mic / speaker) → HA Assist (STT → hermes_voice conversation → TTS) → Hermes Agent profile API (/v1/chat/completions).
Explain
Problem
Hermes Agent already has profiles, memory, and tools, but everyday voice satellites speak Home Assistant’s Assist language. Hermes Voice is the missing conversation-agent piece—not a full smart-home stack rewrite.
Design choices
- One HA entry per Hermes profile, selected by gateway URL (standalone port or multiplexed
/p/<profile>/v1); - Session modes:
per_conversation(default) orper_devicewith idle reset; Hermes keeps history via the session header; - Adds a short “answer briefly, for speech” system message (configurable); personality stays the profile’s SOUL.md / memory;
- v0.1 does not grant Home Assistant device control via this integration—give the profile HA’s MCP server if you need that;
- Documented latency ~3.5 s for plain turns in testing (mostly model time); streaming can speak a working phrase while tools run.
Limits
- Device flashing (echo-dot-assist) can brick hardware—follow device recovery notes;
- Shared provider logins share rate limits; memory is per profile, not per speaker;
- Wake-word model tested on limited hardware; requires Home Assistant 2026.10+ (version tested).
Usage
Who it's for
- Hermes Agent users who want hands-free voice on Assist satellites (Echo via echo-dot-assist, or other Assist devices);
- Home Assistant tinkerers connecting a Hermes profile as the conversation backend.
Getting started
- Read https://github.com/majorminorlabs/hermes-voice and
docs/voice-profile.md; - Quick path:
hermes skills install majorminorlabs/hermes-voice/skill/hermes-voice-setup, then ask the agent to run the voice setup skill (or use the documentedvoice_profile.py/ha_setup.py/speech_setup.pyscripts); - Manual path: HACS custom repository → install Hermes Voice → add the integration with gateway URL +
API_SERVER_KEY→ set the Assist pipeline’s conversation agent to the new entity (plus STT/TTS such as Wyoming Whisper + Piper); - Point the Echo (or other satellite) at that pipeline and switch the wake word to “Hey Hermes” if using the bundled model.
Advertisement