Find your next open-source project

Search by name, purpose, or keyword — or paste a GitHub repository URL

majorminorlabs/hermes-voice

Productivity & Utilities

Connects Home Assistant Assist voice satellites to a Hermes Agent profile for hands-free conversation.

431
21
Python
MIT
1 day old

What it does

Hermes Voice adds a Home Assistant conversation agent that forwards each Assist turn to a Hermes Agent profile and streams the reply back as speech. It is aimed at people who already run Home Assistant and Hermes and want to talk to one of their agent profiles through a voice satellite, including a repurposed Amazon Echo Dot running echo-dot-assist.

The integration keeps conversation history on the Hermes side: it sends only the new user message with a stable X-Hermes-Session-Id header, so the profile's SOUL.md and long-term memory apply. Session handling can be per_conversation (a new session after 5 minutes of silence) or per_device (one session per device until it has been idle for idle_reset_minutes, default 30). Replies are streamed and lightly cleaned for speech, and short fallback lines replace raw error text.

The repository also includes a Hermes setup skill, a hand-written voice profile guide, and a reproducible pipeline for training a "Hey Hermes" microWakeWord model.

Quick start

The recommended path lets your own Hermes agent do the setup. Install the skill from the repo:

hermes skills install majorminorlabs/hermes-voice/skill/hermes-voice-setup

Then ask the agent to use the hermes-voice-setup skill to build a voice assistant. It asks a few questions, shows a --dry-run of each step, and runs the profile, Home Assistant, speech and verification scripts. The documented command sequence is:

voice_profile.py --profile voice --create --write-soul --tools safe --reasoning low --service
ha_setup.py --profile voice --docker --config-dir ~/hermes-voice/ha-config --set-default
speech_setup.py --docker --data-dir ~/hermes-voice/speech --set-default --internal-url http://<LAN-IP>:8123 --piper-voice en_US-ryan-high
verify.py --recall

The --tools value controls what Hermes may do when spoken to: safe (web search, memory), home (adds Home Assistant control), full (terminal, files, code), or a custom list. See the voice profile guide for the permission options. Finally, set up the Echo with echo-dot-assist and switch it to the "Hey Hermes" wake word following the device guide.

Manual installation is also supported: prepare a voice profile and its API server, add the repository to HACS as an Integration (or unzip the release into <config>/custom_components/), add the Hermes Voice integration with gateway URL and profile API_SERVER_KEY, then select the new conversation entity in the Assist pipeline. Details are in the manual install steps.

Constraints

  • The integration needs Home Assistant 2026.10 or newer, the version it was tested against.
  • A Hermes Agent install with a working model provider is required, along with a voice satellite. Only the Echo Dot 2nd gen via echo-dot-assist is documented as tested end to end; other Echo models and other Assist satellites are expected to work but are untested here.
  • The Docker one-machine setup in the docs is written around Docker Desktop on macOS; native Docker on Linux requires reachable addresses for the Home Assistant container.
  • Rate limits are shared when the voice profile uses the same provider login as the main agent; on 429, timeout or connection errors the integration speaks a fallback line rather than error text.
  • Memory is scoped per profile, not per speaker, so anything said may be remembered for everyone using that device.
  • The bundled hey_hermes.tflite wake word model is non-commercial use only, while the code is MIT-licensed.
  • In v0.1, Hermes gets no Home Assistant device-control tools unless the profile is given the Home Assistant MCP server.

HotRepo's take

Hermes Voice appears in HotRepo's new-project list for the Python board on 2026-11-05, with 105 stars and 7 forks gained in a roughly 14-hour window starting that morning. That is a single observation rather than a trend, and the project has no recorded GitHub daily rank yet. What the data does support is a narrow infrastructure project: it adds only the missing conversation agent, setup skill, profile docs and wake word model on top of Hermes, Home Assistant Assist and echo-dot-assist, rather than reimplementing any of them. The README is explicit about latency (about 3.5 s per plain turn, mostly model time) and about the one tested Echo device, which makes it a reasonable fit for existing Hermes and Home Assistant users and a risky choice for anyone expecting a turnkey voice assistant.

Written by AI from the project's README, updated . The project's own docs are the source of truth.

Hacker News