Skip to main content

Hermes Mobile Plugin

version CI MIT platforms python

The server-side half of Hermes Mobile: one plugin that turns your running Hermes Agent into a phone-ready hub — QR pairing, voice, files, and server management. No extra daemon, no cloud relay: everything is mounted on the gateway you already run (default port 8642).

You install Hermes Agent from the official site, then this one plugin. That's the whole server-side setup.

What you get

Pairing screen

Settings in the app after scanning the QR: server URL + key configured, connection live.

Capability What it means for you
QR pairing install prints/opens a QR with URL + API key; the app scans it (camera or gallery) and configures + tests the connection itself.
Voice on-device Speech-to-text (Whisper) and text-to-speech routes on the gateway, so the phone mic/speaker work with zero extra services.
File transfer Upload attachments from the phone, download anything the agent creates — the chat shows real file cards, previewable in-app.
Context meter Live token usage / context window per session, straight from server truth.
Slash commands The app's / menu is built from your actual server commands, not a hardcoded list.
Update from your phone About screen checks and applies hermes update on the server — restart included.
Keep-awake control Toggle the Termux/system wake lock remotely so long runs aren't killed.
24/7 supervisor Optional watchdog auto-restarts the gateway if it ever dies, and survives reboots of the app.
Crash reports The app pushes its crash dumps here (~/.hermes/mobile-logs/diag/) so issues are diagnosable without cables.
Swarm-ready Turns started with the app's Swarm toggle carry their own orchestration directives — no extra server setup.

Nothing is re-implemented: STT/TTS reuse Hermes Agent's own provider chain, sessions/models are read from the agent's API. The plugin adds routes, not forks.

Install

Download the latest release → (every release ships a pure-Python py3-none-any wheel + sdist with SHA256SUMS checksums, built and version-verified by CI)

Into the same Python environment your Hermes Agent runs in (its venv):

pip install git+https://github.com/tawaresachin/hermes-mobile-plugin@v0.0.12
# or from the release page: pip install hermes_mobile_plugin-<ver>-py3-none-any.whl
hermes-mobile-plugin install      # registers plugin + generates the QR

The plugin is pure Python — the one wheel runs unchanged on Windows, macOS, Linux and Termux (native deps resolve per-OS from PyPI at install time). Not on PyPI; GitHub Releases is the release channel, which matches how Hermes Agent itself updates from git.

install copies the plugin into the Hermes home your agent actually resolves (~/.hermes on Linux/Termux, XDG dirs on macOS, %LOCALAPPDATA%\hermes on Windows) and (re)starts the gateway. Then grab the Hermes Mobile APK, open Settings → Connect with QR, and scan. LAN, Tailscale, or any tunnel — the QR carries the address your phone can actually reach.

CLI

hermes-mobile-plugin install      # set up + show QR
hermes-mobile-plugin qr           # regenerate the QR (--no-browser)
hermes-mobile-plugin status       # supervisor + gateway health
hermes-mobile-plugin supervisor --start|--stop|—daemon 24/7 watchdog

HTTP routes (all Bearer-key protected)

Mounted on the api_server platform; the mobile app is the client.

Route Purpose
POST /api/audio/transcribe · POST /api/audio/speak STT / TTS
POST /api/audio/upload · GET /api/audio/download/{sid}/{name} attachments both ways
GET /api/mobile/file fetch agent-created files for MEDIA cards
GET /api/mobile/commands · POST /api/mobile/command/resolve slash-command menu
GET /api/mobile/context-usage · GET /api/mobile/context-window context meter
GET /api/mobile/update/check · POST /update/apply · GET /update/version server self-update
GET /api/system/status · POST /api/system/awake host status, keep-awake
POST /api/diag/log · GET /api/audio/health crash reports, liveness

Cross-platform

Runs wherever Hermes Agent runs — Windows, macOS, Linux, Termux/Android — with per-platform handling for process detachment, single-instance locks, launcher lookup (hermes.exe included), and keep-awake (termux-wake-lock / caffeine / powershell), degrading honestly when a mechanism doesn't exist. 53 tests cover the platform seams and the scripted-install paths.

Termux note: the shell installer skips pip there (it can trigger NDK toolchain builds); Hermes Agent's own Termux environment must provide pyyaml, qrcode and aiohttp — the standard agent install does.

Development

git clone https://github.com/tawaresachin/hermes-mobile-plugin.git
cd hermes-mobile-plugin
pip install -e ".[dev]"
PYTHONPATH=src pytest            # 53 tests

CI (.github/workflows/ci.yml) runs the suite on ubuntu/macos/windows on every push, plus sandboxed end-to-end dry-runs of install.sh (Linux + macOS, including the Termux skip-pip path) and install.bat (Windows, fake venv + redirected home). Version tags additionally build the wheel, verify the bundled manifest matches the tag, and attach it to the release.

Releases are tagged v<version>; plugin.yaml is the single source of the version string (PLUGIN_VERSION derives from it — packaging metadata can't drift).

License

MIT © 2026 Sachin Taware

Metadata

Release files for hermes-mobile-plugin 0.0.15

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for hermes-mobile-plugin 0.0.15
File Size Uploaded
hermes_mobile_plugin-0.0.15.tar.gz 58.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for hermes-mobile-plugin 0.0.15
File Interpreter ABI Platform
hermes_mobile_plugin-0.0.15-py3-none-any.whl Python 3 none any Details

Total release size: 114.2 kB

Release files / hermes_mobile_plugin-0.0.15.tar.gz

Download URL hermes_mobile_plugin-0.0.15.tar.gz
Size 58.8 kB
Tags Source
SHA-256 checksum
How to use checksums
b1955bb502ba1a90b1ed0e85c32abac02a5694f2cec5b2d786cdbf8010107c35
BLAKE2b-256 checksum
How to use checksums
ea31c22e925b76d72268d0c3adb55bca155ec5f42bab06a81af88b4f1581ea88
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 27, 2026.

Transparency log

Release files / hermes_mobile_plugin-0.0.15-py3-none-any.whl

Download URL hermes_mobile_plugin-0.0.15-py3-none-any.whl
Size 55.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
79eaa077786d0201a7cbfb2b992e962f740c7a66ea26d58a2145832466e64e98
BLAKE2b-256 checksum
How to use checksums
f1d75499b2c7839f8d7690cf36f162e07b40c87ca3a5740ece50cba02929a3d4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 27, 2026.

Transparency log

Release history Release notifications | RSS feed

0.0.36

2 release files

0.0.35

2 release files

0.0.34

2 release files

0.0.33

2 release files

0.0.32

2 release files

0.0.31

2 release files

0.0.28

2 release files

0.0.26

2 release files

0.0.24

2 release files

0.0.23

2 release files

0.0.22

2 release files

0.0.21

2 release files

0.0.20

2 release files

0.0.19

2 release files

0.0.18

2 release files

0.0.17

2 release files

0.0.16

2 release files

This release

0.0.15 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page