Skip to content

Messaging gateways

Hermes can talk to you on 20+ platforms while running on your local machine or a remote server. The agent stays put; you reach it from your phone.

Supported platforms

Telegram, Discord, Slack, WhatsApp, Signal, Matrix, Email, SMS, Microsoft Teams, and more.

Typical setup: Telegram + local Hermes

This is the pattern I use: Hermes + Ollama on my laptop, Telegram bot for mobile access.

bash
hermes gateway setup        # interactive wizard, pick Telegram

Paste your bot token when prompted. Then run the gateway:

bash
hermes gateway run          # foreground (simplest)
hermes gateway install      # install as a background service (launchd/systemd)
hermes gateway start        # start the installed service
hermes gateway status       # check it's alive
hermes gateway restart      # after config changes

Hermes runs a gateway process that bridges Telegram messages to the local agent.

Architecture

text
Phone (Telegram)


Hermes Gateway  ←── runs on your machine/server


Hermes Agent + Ollama (local)

Your messages go to your machine. The model runs locally. Responses come back to Telegram.

Offline considerations

  • The model inference is offline.
  • Telegram needs internet for message delivery (phone ↔ your machine).
  • If you want 100% air-gapped, use CLI only.

For most "local agent, mobile access" setups, Telegram + local Ollama is the sweet spot.

Cleaner replies on your phone

By default the gateway can show tool calls and reasoning inline, which is noisy on mobile. Control how much shows with display.tool_progress:

yaml
display:
  tool_progress: "off"   # off | new | all | verbose

off sends only the final answer; new shows brief one-liners as tools run. For messaging, off or new is usually what you want. Restart the gateway after changing it.

Voice mode

Hermes supports real-time voice on CLI, Telegram, and Discord. Requires a TTS provider (can be local with the right setup) and adds complexity. Start with text; add voice later.

Security

  • Restrict who can talk to your bot (allowlist user IDs, or DM pairing so the first user claims access).
  • Keep approvals.mode: manual for shell access via messaging. Note sudo can't prompt over a gateway, so avoid it there.
  • Don't expose the gateway port to the public internet without auth.

Real use case

I send a Telegram message: "build the hermes docs and tell me if it passes." Hermes runs npm run build locally, reads the output, and replies on Telegram. I never open the laptop.

See Daily briefings via Telegram for a full workflow.

Next: Real use cases.

Personal learning notes on Hermes Agent. Not affiliated with Nous Research. Verify against official docs.