Back home

Hermes Voice

github 0.56
Visit source

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 stable X-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) or per_device with 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

  1. Read https://github.com/majorminorlabs/hermes-voice and docs/voice-profile.md;
  2. 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 documented voice_profile.py / ha_setup.py / speech_setup.py scripts);
  3. 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);
  4. Point the Echo (or other satellite) at that pipeline and switch the wake word to “Hey Hermes” if using the bundled model.

Advertisement