localhost on its own. OpenHome Local Link, the openhome local gateway from the OpenHome CLI, runs on your PC and provides that connection. It routes each request to whichever local handler is available, including Hermes when it’s installed and configured. No separate bridge script or client app to install.
For the lighter-weight terminal alternatives, see Connect to OpenClaw and Local Connect.
What you can build
- A voice front-end for your Hermes Agent’s tools, memory, and skills
- Hands-free system queries (disk usage, running processes, file lookups)
- Conversational research and Q&A with follow-up questions
- Voice-driven developer workflows backed by Hermes’ tool calls
- Any task your Hermes install can already do, now spoken
How it works
The integration has two pieces:The Ability (main.py)
- Trigger: you say the wake phrase (e.g. “hermes”). OpenHome activates the Ability.
- Connection check: the Ability pings Local Link to confirm it’s connected, then runs a discovery call to confirm
hermesis one of the detected handlers. - Confirmation on destructive requests: a request containing
rm -rf,sudo,kill,killall, orpkillis confirmed with you before it’s sent. - Forward to Hermes: the request is sent over Local Link with
exec_local_command(), and the reply is spoken back. - Conversation loop: after the first answer it keeps listening, so you can ask follow-up questions without repeating the wake word.
- Exit: saying an exit word (“stop”, “that’s all”, “goodbye”, “never mind”) ends the session and hands control back to your normal OpenHome assistant.
OpenHome Local Link
Local Link is theopenhome local gateway running on your computer. It routes each incoming request to a local handler:
- local-link: a raw shell executor. Always available.
- hermes: used when Hermes is installed and configured.
- openclaw: used when OpenClaw is installed and its gateway is running.
hermes.
Setup
1. Install Hermes
Install the Hermes Agent from Nous Research and configure it with an LLM API key (Anthropic, OpenAI, etc.) as described in the project’s README. Local Link drives Hermes over ACP (Agent Client Protocol), so the ACP extra needs to be installed too:2. Install and log in to the OpenHome CLI
Local Link ships with the OpenHome CLI. Install it with the one-line installer, or from the repo if you need Python 3.10+ directly:3. Start OpenHome Local Link
Run the gateway on the same machine where Hermes is installed, and keep it running:openhome local run runs it in the foreground for debugging. start and run accept --client-id (device name, default laptop), --role (default agent), and --timeout (per-request seconds, default 30). Give each device a distinct --client-id if you run more than one.
4. Install the Hermes Ability
Add the ready-made Hermes template from the Marketplace:1
Open the Marketplace
Dashboard → Marketplace.
2
Add the Hermes template
Find the Hermes ability template and add it to your account.
3
Review or tweak (optional)
Open it in the Live Editor if you want to review or customize the code.
4
Set trigger words
Set Trigger Words, e.g.
hermes, ask hermes, hey hermes.5
Enable it
Enable the Ability on your agent.
To edit the Ability later, use the OpenHome Live Editor, no re-upload needed.
Using it
Say the wake word, with or without a question:“Hermes.” “Sending your inquiry to Hermes, one moment.” “What’s my disk usage and the biggest folders in my home directory?” “Your main drive is about 72 percent full, with roughly 64 gigabytes free. The largest folders are Videos and Projects, each around 28 gigabytes.” “What time is it?” “It’s 1:42 in the afternoon.” “That’s all, thanks.” “Exiting now.”You don’t repeat the wake word for follow-ups, the loop keeps listening until you signal you’re done.
Troubleshooting
"OpenHome Local Link isn't connected" (spoken)
"OpenHome Local Link isn't connected" (spoken)
The gateway isn’t running. Start it with
openhome local start, then check openhome local status. If you’re logged out, run openhome login first."Hermes isn't available on your computer" (spoken)
"Hermes isn't available on your computer" (spoken)
Local Link is connected but didn’t detect the Hermes handler, this means its ACP interface isn’t available. Install the ACP extra from your Hermes checkout:
cd ~/.hermes/hermes-agent && uv pip install -e '.[acp]', then restart the gateway: openhome local stop && openhome local start.Requests time out or lose the connection
Requests time out or lose the connection
Hermes requests already get an automatic 120-second floor, ACP turns with tool calls commonly run 40s or more, so this is rarely a plain timeout issue. Watch
openhome local logs for what actually happened. Raise --timeout further only if you’re seeing genuinely longer turns.Tool calls hang waiting for approval
Tool calls hang waiting for approval
Local Link’s ACP integration currently denies tool-call approval requests by default as a fail-safe (voice-based approval is planned). Don’t configure Hermes itself to auto-approve tool calls to work around this, that would bypass Local Link’s approval layer entirely. If a workflow needs tool calls, run Hermes directly outside of Local Link for now.
Won't connect to OpenHome
Won't connect to OpenHome
Wrong or expired API key. Re-run
openhome login with a fresh key from Dashboard → Settings → API Keys.Multiple devices
Multiple devices
Give each gateway a distinct
--client-id when running openhome local start.Security & privacy
- The Ability confirms destructive-looking requests (
rm -rf,sudo,kill) before sending them, but that’s a safety net, not a guarantee. - Auto-approving Hermes tool calls removes the manual approval step, enable it knowingly.
- Treat your OpenHome API key as a secret. If it has ever been pasted somewhere public, rotate it in the dashboard.
- Anyone with access to your OpenHome account can reach Hermes through your gateway while it’s running.
Architecture
hermes acp process when it starts and holds it open for as long as it’s running, every request reuses that same process and session rather than starting Hermes fresh each time. That’s what makes follow-up questions retain context and keeps replies fast: the plugin/config/skill load cost is paid once at startup, not on every turn.
Resources
- Hermes Agent (Nous Research): github.com/nousresearch/hermes-agent
- Hermes template on GitHub: openhome-dev/abilities/templates/hermes
- OpenHome CLI: Install and command reference
- Lighter alternatives: Connect to OpenClaw · Local Connect

