Skip to content

Features

Hermes-Relay ships in two flavors — Google Play (easy install, conservative scope) and Sideload (manual install, full feature set). Chat, profiles, voice, relay pairing, terminal/TUI relay, media, notification companion, sessions, and diagnostics are available across both. The Device Control channel — where the agent reads or controls your phone — is sideload-only.

A Sideload only badge on a feature row means the feature is compiled out of the Google Play APK and is only available in the sideload build. See the Release tracks page for the full breakdown and a decision guide.

Chat & Communication

FeatureDescription
Direct API ConnectionHTTP/SSE streaming to Hermes API Server
Voice ModeReal-time voice conversation — sphere listens, agent speaks back via your server's configured TTS/STT providers
Markdown RenderingFull markdown with syntax-highlighted code blocks
Reasoning DisplayCollapsible extended-thinking blocks
ConnectionsPair with multiple Hermes servers — one-tap switch from the top-bar chip
ProfilesAuto-discovered upstream agent directories — overlay model + SOUL on chat turns
PersonalitiesDynamic from GET /api/config — picker, agent name on bubbles
Command PaletteSearchable command browser — 29 gateway commands, personalities, 90+ skills
Slash CommandsInline autocomplete as you type /
QR Code PairingScan hermes-pair QR to auto-configure connection
Token TrackingPer-message usage and cost
Tool ProgressConfigurable display — Off, Compact, or Detailed

Bridge Core

Available on both tracks:

FeatureDescriptionTrack
Relay pairing and statusQR/manual pairing, relay session grants, endpoint health, and diagnosticsBoth
Terminal/TUI relayRemote shell and Hermes TUI access through paired relay sessionsBoth
Notification companionOptional Android Notification Access forwards posted-notification metadata to your relayBoth
Media handoffRelay-registered media appears in chat and can be shared through Android-native flowsBoth

Device Control Sideload only

Reading the screen

FeatureDescriptionTrack
Read what's on screenAgent sees the active window so it can answer "what does this say?"Sideload only
Multi-window readSees system overlays, popups, and the notification shade — not just the foregrounded appSideload only
Filtered node search"Find every clickable labelled 'Save'" — precise accessibility-tree queries instead of guessingSideload only
Per-node property lookupsStable node IDs that can be handed back to tap/scroll, plus full property bags for resolutionSideload only
Screen change detectionCheap screen-hash + diff so the agent can wait for a screen to actually change without pollingSideload only
Real-time UI event streamLive accessibility-event stream for "wait until this loads" and "notice when a dialog opens" waitsSideload only

Acting on the phone

FeatureDescriptionTrack
Tap, type, swipe, scrollCore UI actions with destructive-verb confirmationSideload only
Long-pressContext menus, text selection, widget rearranging — by coordinate or node IDSideload only
DragRearrange icons, pull notification shade, drag map pins — point A → point B over a durationSideload only
Smarter tap fallbacksThree-tier cascade handles apps that wrap labels in non-clickable parentsSideload only
Clipboard bridgeRead and write the system clipboard from the agent sideSideload only
System media controlPlay / pause / next / previous / volume on whichever app is playingSideload only
Macro batchingRun a sequence of actions as one workflow without a round-trip per stepSideload only
Raw Intent escape hatchSend a direct Android Intent or broadcast for apps that expose deep-link actionsSideload only
Gesture reliability under idleShort-lived wake-lock keeps gestures landing on dim/idle screensSideload only
Per-app playbooksBundled android skill with reusable flows for common appsSideload only
Voice → bridge intent routing"Text Sam I'll be 10 min late" — fully hands-freeSideload only
Vision-driven navigation (android_navigate)Agent looks at the screen and figures out what to tap on its ownSideload only
Workflow recordingShow the agent something once, ask it to repeat the workflow laterSideload only

Phone utilities Sideload only

FeatureDescription
Direct SMSSend text messages via SmsManager with send-result confirmation — no dialer bounce
File and media sharingShare images, PDFs, audio, video, generated files, and captions through Android's native share sheet
MMS attachment handoffOpen the messaging app with recipient, text, and attachments prepared for user-mediated send
Contact searchLook up a phone number by contact name for voice intents like "text Mom"
One-tap dialingPlace a call directly from the sideload build
Location awarenessGPS last-known-location read for "where am I?" and location-scoped commands

Google Play builds do not include AccessibilityService-backed screen reading or phone-control code. Direct Device Control probes fail closed with 403 device_control_sideload_only.

Device Control Safety Rails Sideload only

FeatureDescription
Per-app blocklistBanking, password managers, and work email default-blocked from bridge actions
Confirmation on destructive verbs"Send", "pay", "delete", "transfer" always prompt before acting
Auto-disable on idleBridge turns itself off after a configurable idle period; re-enable requires biometric
Activity logEvery command logged with timestamp, result, and screenshot thumbnail
Persistent notificationOne-tap kill switch in the system tray whenever bridge is on

Session Management

FeatureDescription
Session drawerCreate, switch, rename, delete sessions
Auto-titlesSessions titled from first message
Message historyLoads from server on session switch
PersistenceLast session resumes on app restart

Analytics

FeatureDescription
Stats for NerdsTTFT, completion times, token usage, health latency, stream rates
Canvas bar chartsPurple gradient charts in Settings

UX Polish

FeatureDescription
Animated splash screenScale + overshoot + fade animation, hold-while-loading
Chat empty stateLogo + suggestion chips
Animated streaming dotsPulsing 3-dot indicator during streaming
Haptic feedbackOn send, copy, stream complete, error
App context promptToggleable system message for mobile context

Security

FeatureDescription
Android Keystore session storageStrongBox-preferred, TEE fallback
TOFU cert pinningTrust-on-first-use SHA-256 SPKI fingerprints
Bearer token authOptional API key authentication
Per-channel grantsTime-bound access for terminal, bridge, TUI, and voice channels

Choose your track

Hermes-Relay ships as two distinct APKs from the same source tree. Pick whichever fits — or install both side-by-side, they coexist on the device.

Feature
Google PlayEasy install. Conservative scope.
SideloadManual install. Full feature set.
Comparison of features available in the Google Play and Sideload release tracks of Hermes-Relay.
FeatureGoogle PlaySideload
Chat & voice
Chat with your agent
Direct streaming chat over the Hermes API. No middleman.
IncludedIncluded
Hermes Chat + Voice Output
Stable voice mode: Android records speech, Hermes owns the chat/tool turn, and the relay renders the answer aloud.
IncludedIncluded
Realtime Agent
Opt-in provider-native realtime voice with Hermes-brokered tools, confirmations, profiles, and transcript state.
Experimental in both tracks; provider secrets and Hermes tools stay on the relay.
IncludedIncluded
Profiles, personalities, sessions
Full session browser, profile picker, agent/personality context, and per-profile voice defaults.
IncludedIncluded
Bridge Core
Relay pairing and status
Pair by QR/manual code, manage relay sessions, grants, endpoint health, and connection diagnostics.
IncludedIncluded
Terminal/TUI relay
Use paired relay sessions for terminal and Hermes TUI access to the host.
IncludedIncluded
Notification triage
Optional Android Notification Access forwards posted-notification metadata to your paired relay.
IncludedIncluded
Media handoff
Relay-registered media renders in chat and can be shared through Android-native flows.
IncludedIncluded
Sideload Device Control
Read what is on your screen
Agent can inspect the accessibility tree so it can answer "what does this say?"
Google Play has no AccessibilityService or screen-reading surface. Install sideload for Device Control.
Not in this trackIncluded
Tap, type, and swipe (with confirmation)
Agent can perform UI actions on your behalf.
Google Play command probes fail closed with device_control_sideload_only before any AccessibilityService-dependent code can run.
Not in this trackIncluded
Reply to messages from voice
"Text Sam I will be 10 min late" — fully hands-free.
Voice-routed bridge intents are sideload-only.
Not in this trackIncluded
Vision-driven navigation
Agent looks at the screen and figures out what to tap on its own.
Vision-driven UI navigation requires the unrestricted accessibility surface and is sideload-only.
Not in this trackIncluded
Workflow recording (future)
Show the agent something once, ask it to repeat the workflow later.
Not in this trackIncluded
Device Control safety rails
App blocklist
Banking, password managers, and work email default-blocked from bridge actions.
Not needed on Google Play because Device Control is absent from that artifact.
Not in this trackIncluded
Confirmation on destructive verbs
"Send", "pay", "delete", "transfer" — always prompt before acting.
Not in this trackIncluded
Auto-disable + activity log
Bridge turns itself off when idle. Every action is logged with a thumbnail.
Not in this trackIncluded
Install & updates
One-tap install
Install from the Play Store with no special permissions.
Sideload requires enabling "Install unknown apps" for your browser the first time.
IncludedNot in this track
Automatic updates
Get new versions without thinking about it.
Sideload updates are a manual download from GitHub Releases.
IncludedLimited

Both tracks build from the same Kotlin source tree. Tier 3, 4, and 6 features are compiled out of the Google Play APK at build time via Gradle product flavors — they are not present in the binary, not just hidden behind a switch.

For the full decision guide and install instructions for each, see Release tracks.

Coming Soon

FeatureStatus
Push NotificationsFuture — Agent-initiated alerts
Memory ViewerFuture — View/edit agent memories
Cross-device handoffFuture — Hand a task from phone to desktop terminal session