Hermes Agent Mobile · Android

Run your Hermes agent from your phone.

HAM is a native Android app — Kotlin and Material 3 — for the Hermes agent you already run, self-hosted or on Hermes Cloud. Live token streaming, turn-complete notifications, two voice modes, and a three-pane workspace that unfolds on your Fold or tablet.

Sign in with Nous and connect to a Hermes Cloud instance, or point it at your own server over LAN, VPN, or an HTTPS reverse proxy. Free and open source (MIT) — built entirely on the official Hermes interfaces, with no server changes, forks, or plugins required.

Independent, unofficial project. HAM is a third-party, open-source community app. It is not affiliated with, endorsed by, or an official product of Nous Research. “Hermes” and “Nous” are used only to describe the interfaces HAM connects to.

A live HAM agent session: session title, a terminal tool card, a collapsible Thinking block, streamed markdown, and an inline-rendered image artifact, with the mic/voice composer below.
What it does

A phone-native window into the whole agent.

Everything HAM shows comes straight from your server's live and stored metadata — observed, never taken over.

Live streaming

Watch turns stream token-by-token over a direct WebSocket, with tool activity, code blocks, and reasoning rendered inline as they happen.

🔔

Push notifications

Fire off a task and lock your phone — HAM notifies you the moment a turn finishes or the agent needs you, with the reply and an Open session tap that drops you right back in. Long agent runs no longer need you watching the screen.

🎙

Two voice modes

App-owned dictation into the composer with a stop control, plus screen-off, hands-free voice conversation with playback and barge-in over a foreground mic service.

Approvals & prompts

Respond to tool approvals, clarify questions, and secret prompts from the phone. Parked requests return correctly after a reconnect.

Sessions & projects

Browse stored sessions, switch between them, and organize by project — with durable stored IDs kept cleanly separate from live runtime sessions.

Artifacts & host files

Open artifacts and browse host files the agent produced, with images and documents rendered natively.

Share into Hermes

Share images, PDFs, and text from any Android app straight into a session — staged in the composer for review, never auto-sent.

Adaptive & foldable-first

One app that responds to the window in front of you: compact phone UI, medium layouts, and an expanded three-pane workspace for unfolded folds and tablets — no device-name hacks.

Operational controls

Manage cron jobs, inspect background processes, and drive session and runtime controls with observer and controller roles kept explicit.

🔒

Private by design

Credentials and trust are scoped per server origin and stored with Android Keystore-backed encryption. WebSocket tickets are single-use, in-memory values. No telemetry.

Free & open source

The entire app is MIT-licensed on GitHub — audit every line, build it yourself, or contribute. No paywall, no telemetry, no lock-in; you own your data and your server.

In the app

Captured on a real device.

Real captures from a live session on device — no mockups, no staged data.

01

Home & Sessions

Stored sessions and quick compose, organized by project.

02

Chat

Live session with tool timeline, code & markdown, reasoning.

03

Projects

Group sessions by project and switch between them.

04

Settings

Server connection, model, reasoning effort, and voice.

Even when the app is closed

It taps you on the shoulder.

HAM posts a system notification the instant a turn completes or the agent needs a decision — the reply is right there, and Open session takes you straight back to the conversation. Kick off a long run, lock the phone, and get on with your day.

A live HAM agent session: terminal tool card, collapsible Thinking block, streamed markdown, an inline-rendered image artifact, and the voice composer.
A live session, streaming
The Android notification shade showing HAM's 'Hermes finished' notification with the assistant's reply text and an Open session action.
The turn-complete notification
Expanded mode

One screen. The whole workspace.

Unfold HAM or open it on a tablet and the layout earns the space: project navigation on the left, sessions in the middle, and the live agent workspace on the right. Browse, switch, and work without losing the conversation.

Project rail Session list Live workspace
HAM running on an unfolded Samsung Fold in a three-pane layout with project navigation, a session list, and a live agent workspace.
Live HAM session in expanded mode on an unfolded Samsung Fold

Within those, in context: voice dictation & conversation, tool/clarify/secret prompts, artifacts & host files, cron jobs, and background processes.

Connecting

Two ways to connect.

Either sign in to a managed Hermes Cloud instance, or point HAM at your own self-hosted server. Both authenticate the same way — Sign in with Nous.

Option A — Hermes Cloud preview

Deploy an always-on agent from the Nous Portal — no server, no DevOps. Then in HAM: enter your Cloud instance's origin on the Connect screen and tap Sign in with Nous. That's it; the endpoints are already live, so there's no dashboard to install.

Option B — Self-hosted: paste one prompt

Running your own Hermes on a VPS or homelab box? HAM connects to its web dashboard (the /api/* and WebSocket surface on port 9119), which most installs don't run by default. Copy the prompt below into your running agent (CLI, Telegram, or Discord) and it does the server-side setup, then hands you the connection details.

1

Copy

Tap copy to put the setup prompt on your clipboard.

2

Paste into Hermes

Paste it into your agent. It installs the dashboard extra, wires up Nous Portal auth, and binds the dashboard to a reachable address.

3

Connect in HAM

Your agent replies with the origin to enter on HAM's Connect screen. Tap sign in and approve it in the Nous Portal.

Setup prompt — paste into your agent
Set up the Hermes web dashboard so I can connect the HAM Android app. Follow these steps and don't invent any values — ask me if you need a decision.

1. Install the dashboard extra if it isn't already: from the hermes-agent directory, run `uv pip install -e ".[web]"`.
2. Wire up Nous Portal authentication for the dashboard (`hermes setup --portal`). HAM signs in through the Nous Portal, so the dashboard must advertise the native_pkce auth flow — a username/password/basic setup will NOT work.
3. Start the dashboard bound to an address my phone can reach, on port 9119: `hermes dashboard --host 0.0.0.0 --port 9119 --no-open`. Keep it running across reboots (systemd or tmux).
4. Tell me the best origin to reach it from my phone — my LAN IP, a VPN address (Tailscale etc.), or a reverse-proxy domain over HTTPS.
5. Verify GET /api/status shows auth_required: true and "native_pkce" in auth_flows. If it doesn't, fix it before finishing.

Then reply with ONLY:
Origin (e.g. http://192.168.x.x:9119 or https://your-domain):
native_pkce present (yes/no):

Already run hermes dashboard with Nous Portal auth for the desktop app? Then you're set — just make sure it's bound to an address your phone can reach (not 127.0.0.1) and go straight to HAM's Connect screen.

Good to know

Questions, answered.

What's Hermes?

Hermes is Nous Research's open agent framework — an AI agent with terminal, browser, file, and scheduling tools that runs on your own machine or in Hermes Cloud. HAM is a phone-native window into that agent.

Is HAM an official Nous product?

No. HAM is an independent, third-party open-source app built by the community against Hermes' public interfaces. It is not affiliated with, endorsed by, or maintained by Nous Research, and it is not an official Nous or Hermes product. The names “Hermes” and “Nous” refer only to the agent framework and sign-in HAM connects to.

How do I install the APK?

Download it, tap the file, and allow installs from your browser when Android asks. On first launch, enter your server origin and sign in with Nous. Verify the download first with apksigner verify --verbose if you like — releases are signed in CI.

Why these permissions?

Microphone — only while you're actively dictating or in a voice conversation you started. Notifications — turn-complete and needs-attention alerts. A foreground service keeps voice and long tasks alive with a visible, stoppable notification. That's it; there's no location, contacts, or ad SDK.

Where does my data go?

Straight between your phone and your Hermes server — nowhere else. No telemetry, no analytics, no third-party servers. Credentials are stored with Android Keystore-backed encryption, scoped per server. See the privacy policy.

Is it on the Play Store?

Not yet — the listing is in progress. Until then the signed APK on GitHub Releases is the official build. Note the sideload APK and a future Play install are signed differently and won't upgrade over each other.

Can I contribute?

Please do — the whole app is MIT-licensed. Issues, PRs, and feature ideas are welcome on GitHub. Kotlin, Jetpack Compose, Material 3, built against the official hermes serve interfaces.

Get HAM

Sideload the APK straight from GitHub.

A native Android APK you install directly — free and open source under the MIT license. Read every line, build it yourself, or contribute. The Play Store listing is in progress.

Android 10+ (API 29) Open source · MIT No telemetry Self-hosted server

Releases are built and signed in CI. Verify the APK signature with apksigner verify before installing.

HAM app icon Download latest APK All releases View source on GitHub