Get started
One command on the computer that runs Hermes, then a QR code scan on your phone. Plan on about five minutes.
-
Before you begin
- Hermes Agent installed and working on your Mac, Linux or Windows computer. If you haven't set it up yet, follow the Hermes Agent docs first.
- To use it away from home (recommended): install Tailscale on both the computer and your phone, and sign in to the same account on both. The personal plan is free.
- Without Tailscale, the phone can reach Hermes on the same Wi-Fi, through a relay you host (no app on the phone, no open ports at home), or through your own HTTPS URL. See networking options.
-
Run the installer on your computer
Open a terminal on the computer running Hermes and paste the command for your system.
In Terminal:
curl -fsSL https://raw.githubusercontent.com/michaeldimuro/hermes-mobile/main/install/install.sh | bashThe dashboard runs as a launchd agent, and the installer builds
~/Applications/Hermes.app(see step 2).In a terminal:
curl -fsSL https://raw.githubusercontent.com/michaeldimuro/hermes-mobile/main/install/install.sh | bashThe dashboard runs as a systemd user service.
In PowerShell:
irm https://raw.githubusercontent.com/michaeldimuro/hermes-mobile/main/install/install.ps1 | iexThe dashboard runs as a Scheduled Task that starts when you sign in.
What the installer does
- Installs the hermes-mobile plugin into Hermes.
- Runs the Hermes dashboard as a service that starts at boot (launchd on macOS, a systemd user service on Linux, a logon Scheduled Task on Windows), protected by a generated password.
- Makes it reachable from your phone: Tailscale Serve (HTTPS) by default when Tailscale is installed, otherwise your local network.
- Sets up the push-notification relay.
- On macOS, builds
~/Applications/Hermes.app. - Prints your connection details and opens your pairing page.
It is safe to run again at any time; re-running upgrades everything in place.
--uninstallremoves everything it added.Options
On macOS and Linux, pass flags after
bash -s --:curl -fsSL https://raw.githubusercontent.com/michaeldimuro/hermes-mobile/main/install/install.sh | bash -s -- --voice --onepasswordOn Windows, set environment variables first, in the same PowerShell window:
$env:HERMES_MOBILE_NETWORK="lan" irm https://raw.githubusercontent.com/michaeldimuro/hermes-mobile/main/install/install.ps1 | iexInstaller options macOS / Linux flag Windows variable What it does --network tailscale--network lan--network relay--network https://your.urlHERMES_MOBILE_NETWORKHow the phone reaches Hermes. --relay-url https://relay.example.com--relay-token <secret>HERMES_MOBILE_RELAY_URLHERMES_MOBILE_RELAY_TOKENWith relay: your self-hosted relay and its secret. No VPN on the phone and no open ports at home. Run your own relay.--voiceHERMES_MOBILE_VOICE=1Set up ElevenLabs voice for every bot. Needs ELEVENLABS_API_KEYin~/.hermes/.env.--onepasswordHERMES_MOBILE_ONEPASSWORD=1Give every bot headless 1Password access with a service-account token. You'll be asked to paste it; the input is hidden. --real-browser <bot>HERMES_MOBILE_REAL_BROWSER=<bot>Let that bot use a copy of your real Chrome profile in a visible window, for Google SSO and similar. Opt-in: it shares your cookies with that bot. --no-pushHERMES_MOBILE_PUSH=0Skip the notification relay. --pairHERMES_MOBILE_PAIR=1Only show the pairing page again. --uninstallHERMES_MOBILE_UNINSTALL=1Remove everything the installer added. -
macOS only: grant Full Disk Access
Scripts your bots run otherwise trigger prompts like "python3 would like to access data from other apps", and nobody is there to click Allow while you're away. The installer's Hermes.app launcher runs Hermes, so granting it access once covers everything Hermes starts.
- Open System Settings → Privacy & Security → Full Disk Access.
- Click +, then go to your home folder → Applications → Hermes, and click Open.
- Make sure the switch next to Hermes is on.
Coming back after a reboot, unattended. Hermes starts when you log in. If the Mac must recover from a power cut or update with nobody at the keyboard, turn on automatic login, which requires FileVault to be off. That's a real trade-off: anyone with physical access to the Mac gets in and the disk isn't encrypted. Only do it if the Mac is somewhere you trust.
Full Disk Access means anything Hermes runs can read your files. See Security.
-
Install the app
iPhone
TestFlight and App Store Coming soon
A public download isn't available yet. This section will link to it when it is.
For now, build it yourself with a free Expo account: build Hermes Mobile yourself.
Android
Build it yourself with the same guide: build Hermes Mobile yourself.
-
Pair your phone
At the end of the install, your pairing page opens in the computer's browser with a QR code. Scan it with your phone's Camera app and Hermes Mobile opens, already connected.
Prefer typing? Open the app's Connect screen and enter the URL, username and password the installer printed.
Need the pairing page again later? Re-run the installer with
--pair(Windows:HERMES_MOBILE_PAIR=1). -
Optional extras
- Voice mode: add
ELEVENLABS_API_KEY=...to~/.hermes/.env, re-run the installer with--voice, then choose each bot's voice in the app. - Screen share for sign-ins: works automatically once the plugin is installed. For Google sign-ins, re-run with
--real-browser <bot>for the bot that needs it. - 1Password: re-run with
--onepasswordand paste a service-account token so every bot can read secrets without prompts. - Push notifications: turn them on in the app under Settings → Notifications.
Something not working? See Troubleshooting.
- Voice mode: add