hermes-pwa
v0.1.2-beta
Published
Installable mobile PWA control plane for the self-hosted Hermes Agent
Maintainers
Readme
📱 Hermes Mobile (unofficial)
Your Hermes Agent instance — on your phone.
A plugin for the Hermes Agent Dashboard — the web UI. You install it like any other Dashboard plugin; it adds a Mobile tab and serves an installable, phone-native PWA from it. No separate app to host, no second login. Chat, approve actions, and watch your agent work from your phone, over your own private network.
🧪 Beta —
0.1.2-beta. Usable, and I run it daily, but expect rough edges. Please report anything that breaks — especially on iOS.
👋 Hey — a quick honest note
I built this for myself. Driving Hermes from Telegram on my phone worked, but it was painful for longer chats, approvals, and checking what the agent was doing. I wanted a small phone cockpit for my own Hermes instance, so I built one.
This is a solo, spare-time project, built over about a week of evenings with heavy help from AI coding tools. It's not polished enterprise software, and it's not affiliated with Nous Research. But I use it daily, and if it helps someone else, good.
Issues, ideas, and PRs are welcome.
✨ What you can do
- 💬 Chat with your main Hermes agent — replies stream in live.
- ✅ Approve or reject high-impact agent actions, right from your phone.
- 📥 Activity inbox — watch running tasks, delegations, and cron jobs.
- 🗂️ Projects & kanban — browse boards and steer tasks.
- 🧠 Agents & system — see profiles, workers, and live status.
- 📲 Install to home screen on iOS Safari and Android Chrome.
📸 Screenshots
Installed as a Hermes Dashboard plugin → opened from the Mobile tab → added to the phone home screen.
🔌 How it works
Hermes Mobile ships as a Hermes Dashboard plugin, not a separate web service. It runs on the same origin as your Dashboard, so:
- 🔑 No new accounts, no API keys, no secrets in the client — it reuses your existing Dashboard session.
- 🔒 Same auth, same network boundary as Hermes itself — nothing new exposed.
- 🛰️ Designed for private access over Tailscale (HTTPS via Tailscale Serve).
Install it, open the Mobile tab in your Dashboard, and add it to your home screen.
🚀 Install
Requires a running Hermes Dashboard, and HTTPS in production (Tailscale Serve recommended).
Option A — Hermes Dashboard plugin (recommended)
hermes plugins install stasstepv/hermes-pwa
hermes plugins enable hermes-pwaOption B — npm installer
npx hermes-pwa installOption C — just ask your Hermes agent
Don't want to touch the CLI? Tell the agent in chat:
Install the Hermes Dashboard plugin from
https://github.com/stasstepv/hermes-pwaand enable it.
It runs the install for you — then continue below.
Then restart the Dashboard, open the Mobile tab, and follow the on-screen instructions to install on your phone. Sign in with your existing Dashboard credentials — that's it.
📖 Full guides: Install · Tailscale setup · Rollback & reinstall
🔐 Security & privacy
This client can drive a powerful agent, so privacy is taken seriously:
- No credentials or API keys are ever stored in the PWA.
- Reuses your existing Dashboard session cookie (same-origin auth) — nothing persisted.
- High-impact actions always require explicit confirmation.
- No telemetry, no third-party trackers, nothing phones home.
Read the full Security & Privacy statement.
🗺️ Roadmap
Things I want to improve when I have time:
- 🛡️ Resilience to upstream API changes (version probe, contract tests).
- ⚡ Performance: code-splitting, lighter bundle, smoother long chats.
- 💬 Chat behavior: clearer message states, better system-message display, and cleaner long conversations.
- 🔄 Smarter in-app updates.
- 📱 A real native build (iOS / Android via Capacitor) — if people want it.
- ✨ More polish across every screen.
No timeline promises. Contributions help.
🤝 Contributing
I built this alone but would welcome help. Bug reports, ideas, design tweaks, PRs — all welcome.
Start with CONTRIBUTING.md (it covers the dev setup, quality gates, and one important rule: this is a clean-room client — we never copy upstream code).
New here? Good first areas: docs, accessibility, tests, and small cleanups.
🛠️ Development
npm install
npm run typecheck && npm run lint && npm test
npm run build && npm run verify:pwaSee ARCHITECTURE.md and CODING_RULES.md for the engineering guide.
💛 Acknowledgements
Built over about a week of evenings, with AI help at each stage:
- Claude Design — design prototype, taking visual cues from the Hermes desktop app.
- KiloCode — initial code prototype.
- KimiCode — implementing the design.
- Claude Code — audits and reviews.
- Codex — bug and gap fixes.
The foundation is Hermes Agent by Nous Research, the platform that makes this possible. This is an independent, unofficial client — see NOTICE for attribution and trademark details.
Thanks to everyone who tried early versions and gave feedback.
⚖️ Unofficial status & license
Hermes Mobile is an independent, community-built, unofficial client. It is not affiliated with, endorsed by, sponsored by, or supported by Nous Research. "Hermes" and related marks belong to their respective owners and are used here only to describe interoperability. See NOTICE for full attribution and trademark details.
Released under the MIT License © 2026 Stanislav Stepchenko.
