Hermes Agent
Give your Hermes agent a phone number.
Our voice gateway installs on your Hermes host and connects to the Hermes API server through a small local shim. Your persona and memory files come with it, so callers talk to the agent you already built.
One small bridge. The rest is configuration.
The gateway speaks the Responses API, and so does Hermes. The one difference is memory: the gateway keeps a call's turns together with a session header, while Hermes threads a conversation through a field in the request body.
The shim copies one into the other. Your agent remembers the whole call, and different callers stay separate. The installer sets it up for you.
- Connects toThe Hermes API server on 127.0.0.1:8642, through the shim on 127.0.0.1:8788
- PersonaSOUL.md, USER.md and MEMORY.md, copied in and re-synced every 15 minutes when installed with sudo
- Runs onLinux with systemd, installed with root access. The shim needs Node.js on the host
- CallsInbound on your number, outbound through the Voice API
- NetworkNo inbound ports. The gateway connects out through an encrypted tunnel
Setup. Two settings and one command.
- 1
Turn on the API server
Enable it and set a key in Hermes's environment, then restart Hermes and check its health.
- 2
Get an install token
Create one in your dashboard. It works once and expires after 15 minutes.
- 3
Run the installer
It finds Hermes on port 8642, reads its key, and installs the gateway and the shim as services.
- 4
Choose a voice and call it
Pick a voice and a local number in the dashboard, then call your agent.
In Hermes's environment (for example ~/.hermes/.env), then restart Hermes:
API_SERVER_ENABLED=true
API_SERVER_KEY=<a-long-secret>
# defaults are fine:
# API_SERVER_HOST=127.0.0.1
# API_SERVER_PORT=8642
Check it's up. The response should include "status":"ok".
curl -s http://127.0.0.1:8642/v1/health
Then run the installer on the same host. It detects Hermes on its own; the profile flag makes the choice explicit.
curl -sSL https://api.talktomyagent.io/install.sh \
| bash -s -- --token <YOUR_TOKEN> \
--agent-profile hermes --accept-license
On a call. Your agent, by voice.
Speaks as your persona
Your SOUL.md identity and memory files shape how the voice agent talks and what it knows.
Remembers the call
Every turn is threaded into the same Hermes conversation, so context holds from hello to goodbye.
Uses Hermes when it matters
On your own calls and on outbound calls, when something needs your agent, the gateway asks Hermes and speaks the reply. Public callers never reach Hermes.
Outbound calls
Place calls through the Voice API, and the same Hermes agent holds the conversation.
Recordings and transcripts
On by default, each with its own switch. Recordings play in your dashboard; transcripts come through the API and webhooks.
99 languages
The agent answers in the language the caller speaks.
Questions. Specific answers.
Why does Hermes need a shim?
The gateway identifies a call with an x-openclaw-session-key header. Hermes ignores unknown headers and threads a conversation through the conversation field in the request body. The shim, a dependency-free Node.js process on 127.0.0.1:8788, copies the key into that field and forwards the request to Hermes on port 8642. Without it, the agent would forget each turn.
How is this different from OpenClaw?
The voice experience is the same; the wiring differs. OpenClaw is connected directly. Hermes goes through the shim. Knowledge base search and CRM caller capture are OpenClaw features and are off on Hermes; you can build the equivalent as Hermes skills.
What stays on my machine, and what leaves it?
Hermes, its tools and its data stay on your machine, and it keeps using the model you configured. The call itself leaves: our carrier connects it, an encrypted tunnel carries it to your gateway, and Google's realtime voice model does the listening and speaking. That model receives the call audio and the context it needs to answer: your persona files, the agent's instructions, and what Hermes returns.
Does it work on macOS?
Not with Hermes yet. The Hermes profile is Linux only. On macOS the installer supports OpenClaw.
Do I have to write any code?
No. You set two values in Hermes's environment and run the installer. It creates the gateway and the shim, copies your persona files and, with sudo, schedules the re-sync.
Put your agent on the phone.
Turn on the Hermes API server, get an install token and run one command. Want a hand with your setup? Tell us what you run.