Connect Hermes to SimpleX Chat
SimpleX Chat offers a privacy-oriented messaging path without relying on a stable public user identifier. Hermes connects to a local simplex-chat daemon, so the daemon lifecycle, contact authorization, and session mapping must be verified together.
Official documentation: https://hermes-agent.nousresearch.com/docs/user-guide/messaging/simplex
Establish the local daemon
Install the supported SimpleX Chat CLI, start its daemon mode, and confirm the Hermes host can reach it. Keep the daemon bound as narrowly as practical. Back up the SimpleX profile according to its own recovery guidance; recreating an identity can change contact relationships and authorization assumptions.
Authorize contacts with DM pairing or a narrow list of contact IDs or known display names. Pairing is usually safer than maintaining names that may collide or change. For groups, require a mention unless every message is intentionally agent-facing.
Setup checklist
- Install the supported
simplex-chatbinary. - Start the daemon and verify its local control endpoint.
- Run
hermes gateway setupand select SimpleX. - Choose DM pairing or a narrow contact allowlist.
- Decide how group messages trigger the agent.
- Configure an explicit home target for cron delivery.
- Test attachment limits and supported media types.
- Document profile backup and restart procedures.
Keep privacy claims precise
A privacy-focused transport does not make every agent workflow private. The selected model provider, tools, logs, generated files, and notification sinks may process or retain content elsewhere. Explain that boundary to users and route sensitive workflows through an appropriate model and storage policy.
Attachments deserve separate controls. Verify where downloaded files are stored, how long they remain, which tools can open them, and whether outbound artifacts preserve private metadata.
Common pitfalls
- Treating the local daemon as maintenance-free.
- Relying on a display name when pairing is available.
- Assuming private transport means a cloud model never sees the message.
- Letting group chatter wake the agent continuously.
- Sending cron reports to the last active contact instead of a fixed target.
- Backing up messages but not the identity material needed to restore relationships.
Verification steps
- Start the daemon and gateway from a clean state and confirm both are healthy.
- Pair one test contact and verify an unpaired contact cannot issue normal requests.
- Send direct and group messages and confirm session separation.
- Transfer a harmless attachment in both directions and inspect the final file.
- Trigger a test scheduled delivery to the configured home target.
- Restart the daemon and gateway, then repeat a direct-message test.
- Review logs and local storage for unexpected message content, stale attachments, or overbroad contact authorization.
