Mobile AI agent for Android — a Flet port of Hermes Agent
Hermes Mobile can connect to a full Hermes Agent backend running hermes serve. This gives your phone access to a more powerful agent with additional tools, models, and session persistence.
The mobile client uses the same JSON-RPC WebSocket protocol as Hermes Desktop:
GET /api/status — discover the backend version and authentication providers/api/ws — open a streaming connectionhermes serve is running on a machine your phone can reach (see Connection methods above)https://vps.tailnet.ts.net:9119https://your-vps.com:9119http://192.168.1.42:9119| Feature | Local Mode | Remote Mode |
|---|---|---|
| Models | 7 providers, configured on-device | Backend’s full provider list |
| Tools | 41 mobile handlers | Backend’s tool set (50+) |
| Memory | SQLite on-device | Backend’s memory provider |
| Sessions | Local only | Resumable across devices |
| Petdex | Local hint only | Full pet gallery from backend |
| Skills | Local skills directory | Backend’s skill manager |
“Connection refused” — check that hermes serve is running and the port is reachable. Try curl http://<host>:9119/api/status from your phone’s browser.
“HTTPS required” — the backend URL must use https:// for non-local hosts. If you’re on Tailscale and the backend doesn’t have a TLS certificate, use a Tailscale Serve or Funnel.
Auth failure — check your Hermes username/password. These are the credentials you set during hermes setup, not your API keys.
You can connect to hermes serve any way your phone can reach the host:
Tailscale (recommended for private VPS)
https://vps.tailnet.ts.net:9119
Zero config — your phone joins the tailnet and gets a private IP. HTTPS via Tailscale’s built-in TLS certificates.
Direct URL (public VPS with HTTPS)
https://plfy.online:9119
Works like any website. Make sure your firewall allows the port and you have a valid TLS certificate (Let’s Encrypt, Caddy, or nginx reverse proxy).
Local network (development or LAN)
http://192.168.1.42:9119
Plain HTTP is accepted automatically for private addresses. Useful when testing against a laptop on the same Wi-Fi.
Tunnel (ngrok / Cloudflare Tunnel)
https://hermes.ngrok.app
No open ports, no static IP — just point the tunnel at localhost:9119.
Good for testing behind NAT or CGNAT.