Source: raw/reddit-1ulucuw.md — r/hermesagent “Hermex is now open-source” (OP u/uzairansar, score 70, 30 comments, posted 2026-07-02). Repo: https://github.com/uzairansaruzi/hermex (MIT license; stats below verified via a direct repo fetch on 2026-07-02, not taken on faith from the announcement post alone). · raw/reddit-1v4cl63.md — a second, unrelated iOS client (“Hermes Mobile”) announced 2026-07-23; see the disambiguation section below.

Hermex is a native SwiftUI iPhone app for controlling a self-hosted Hermes agent, open-sourced 2026-07-02 by GitHub user uzairansaruzi (posted to Reddit by the same person as u/uzairansar). The author frames it as “a mobile cockpit for an AI agent that lives on a machine you control” — the app is a pure client that points at a hermes-webui server the user already runs, so agent computation and data stay on hardware the user controls. It is an independent, unofficial client, not affiliated with the upstream hermes-webui project, and it closes a real gap in this wiki’s Hermes client-app coverage: none of Hermes Console, Herm-TUI, Hermes Desktop (dodo-reach SSH client), or Hermes Desktop (official Nous app) is a native mobile client. ^[the “closes a gap” framing is this wiki’s comparative judgment against the existing client-app cluster, not a claim made in the source]

Key Takeaways

  • Native SwiftUI, not a web wrapper. Swift is 98.4% of the codebase; targets iOS 18+; requires Xcode 26+ to build locally; dependencies resolved via Swift Package Manager.
  • MIT-licensed, and adoption moved fast. 39 stars / 9 forks at first ingest (2026-07-02); 912 stars on a re-fetch 2026-07-24 — a ~23x increase in three weeks, still actively pushed (last commit same day). Both figures come from direct GitHub API fetches rather than the announcement post. The “genuinely early” caveat in the original ingest no longer holds: this is now the most-starred client in the topic’s client-surface cluster.
  • Independent, self-hosted-only client. Requires the user to already be running their own hermes-webui server — Hermex has no server component of its own and is explicitly not affiliated with or endorsed by the upstream hermes-webui project.
  • Feature set: real-time streaming chat, session management/browsing, model/provider switching, task scheduling, skill browsing, workspace file exploration, agent memory and usage analytics, file/image attachments.
  • Operationally more mature than a weekend prototype. The repo ships documentation for dev workflow, a security policy, TestFlight operations, and contract testing against upstream hermes-webui — the last of these signals the author is actively tracking compatibility drift against the server project rather than assuming a fixed API surface.
  • First native mobile client tracked in this topic. Existing hermes-agent client-app coverage was an Obsidian plugin, a terminal TUI, and two desktop apps (one third-party SSH client, one official Nous app) — no phone client until this one.

Not the only one — “Hermes Mobile” (goncharik), public beta 2026-07-23

This is a different app by a different author. Three weeks after Hermex opened up, a second open-source native iOS Hermes client — Hermes Mobile — entered public TestFlight beta, announced in raw/reddit-1v4cl63.md (a low-engagement r/hermesagent post: 15 score, 14 comments, OP u/fan7as7ic_7, “SHOWCASE” flair, 2026-07-23). Repo metadata and README were fetched directly on 2026-07-24 (ai-research/hermes-mobile-goncharik-repo-2026-07-24.md), so the table below is verified against the source rather than the announcement — but neither app has been hands-on tested here.

HermexHermes Mobile
Authoruzairansaruzi (u/uzairansar)goncharik (u/fan7as7ic_7)
Repogithub.com/uzairansaruzi/hermexgithub.com/goncharik/hermes-mobile
Stars (2026-07-24)91212 (created 2026-06-09, 8 open issues)
Announced2026-07-02 (open-sourced)2026-07-23 (public beta)
DistributionTestFlight ops documented in-repoopen TestFlight beta (testflight.apple.com/join/SyHGvf9n)
Connects toa self-hosted hermes-webui servera self-hosted, authenticated Hermes instance (gated basic auth, or static token on loopback/--insecure)
Shapefull mobile cockpit — chat, model/provider switching, scheduling, skills, files, analyticsreachability surface — session browse/resume, live tool activity, approval & clarify prompts, push
Architecturenative SwiftUInative SwiftUI + The Composable Architecture; “no agent logic on the phone”
Build depsXcode 26+, SPMXcode 26+, Tuist
LicenseMIT (verified)MIT (verified 2026-07-24)

The interesting difference is the product thesis, not the feature list. Hermex is a phone-sized version of the whole agent console. Hermes Mobile is explicitly a reachability and approval surface: the author’s stated motivation is that Telegram broke down once he had several concurrent sessions and longer-running work, while remaining good at bringing him back when something happens. So the app optimizes for exactly that moment — get notified, open the session, see what the agent is doing right now, answer the approval or clarify prompt, leave. ^[the cockpit-vs-approval-surface framing is this wiki’s comparison of the two announcements, not a claim either author makes]

The README is broader than the announcement suggested. The Reddit post lists four bullets, which reads as a thin notification client; the repo README documents considerably more — profile switching with per-profile scoped session lists (and creating custom profiles with an optional SOUL.md from the app), a color-coded context-usage pill mirroring the Hermes TUI thresholds with an input/output/compaction/cost breakdown, voice dictation transcribed by your own agent, file/photo/PDF attachments, and live-state restoration of an in-progress turn across backgrounding and cold relaunch. The “reachability surface” framing above is about its design center, not a ceiling on its feature list.

The push architecture is the part worth reading. The stated path is Hermes Agent → local plugin → stateless gateway → APNs → Hermes Mobile, and the author claims the notifications carry no conversation text, command details, tool output, files, or credentials — the payload is a wake-up signal, and the app then fetches the full session directly from the user’s own Hermes instance. That design keeps a third-party relay (needed because APNs requires one) from ever seeing agent content, which is the obvious objection to putting a self-hosted agent behind a push service. He also published a technical postmortem on the push architecture and its integration failures: honcharenko.me/posts/hermes-mobile-public-beta-push-notifications/ (not fetched or verified here).

For the general question of which remote-control surface to pick, see Pocket Access to Always-On Agents — Hermes Mobile is a data point for the “companion app beats chat channel once you have concurrent sessions” side of that argument.

Update (2026-07-29): A third, app-less community path onto the phone — a Siri-to-Hermes voice bridge (per raw/reddit-1v8uc1n.md, r/hermesagent, u/Taiko3615, score 32): an iOS Shortcut (“Hey Siri, Be Smart”) records audio into a dedicated iCloud folder, a Hermes WatchPaths watchdog on the user’s Mac mini picks up each new file, and the agent carries the exchange on in a private Slack conversation — voice recognition included, built because the poster (EU) lacks the latest Siri upgrade. The shortcut is shared in the stub (icloud.com/shortcuts/40b8c0f16f7b45a2a387e9646ccbb506). A shortcut-plus-watchdog alternative voice path, distinct from both native clients above.

Two more mobile paths (2026-08-05 addition)

The mobile-companion space around Hermes now has at least four entries. Two new ones landed in the 2026-08-04/05 window, both community-built:

hermes-mobile-pwa (willscott) — the no-compile path. Source: raw/reddit-1vfg7z5.md (r/hermesagent, score 22/30 comments). A progressive web app rather than a native build: runs in the phone browser and can be added to the home screen, so there is nothing to compile, sign, or sideload. The author’s stated motivation is exactly that — an existing native repo looked good but they “wasn’t really interested in building/compiling a native mobile app just to check in from my phone” — and they built it by pointing Hermes at that repo and asking for a browser-based equivalent. Repo published at github.com/willscott-v2/hermes-mobile-pwa. Should work on Android and other mobile browsers; tested on iPhone only at time of posting. Early.

HermesCall (aptonline) — voice-first, not chat-first. Source: raw/reddit-1vg39kf.md (r/hermesagent, score 22/20 comments). A proof-of-concept native iOS app in 100% Swift whose interface is a phone call to your agent rather than a chat window. Built explicitly on top of “the changes in the latest release of Hermes (0.20.0)” — see the Herald release, whose streaming conversational voice with barge-in is what makes this shape possible. Design notes: half-duplex (you interrupt manually to barge in), TTS stays on device via PiperTTS so only the text transcript is pulled in and processed, and the Tailscale IP is used as the “phone number.” Not on GitHub at time of posting — the author offered to publish if there is interest.

The interesting split across the four: native-vs-PWA is a packaging choice, but chat-vs-call is an interaction-model choice, and v0.20.0’s voice work is what opened the second axis.

Conduit — the first one to ship on the App Store (2026-08-07 addition)

Source: raw/reddit-1vi2nft.md (r/hermesagent, u/kaishi00, score 26/41 comments, Showcase flair).

The distribution milestone this space had been missing. Every prior entry — Hermex included — required cloning a repo and building in Xcode, sideloading, or adding a PWA to the home screen. Conduit is live on the App Store: free, no ads, 8MB, iOS 17+, native SwiftUI, iPhone and iPad. The author reports four Apple review rejections before approval, which is the friction that had kept this category at repo-and-Xcode.

The architectural difference is no relay. Conduit connects directly to your Hermes dashboard and gateway — the same path the desktop app uses — rather than standing up an intermediary service. The author’s framing: “No extra relay service to run alongside your stack, no second process to keep alive, no middleman hop introducing failure points.”

The consequence is shared state, not just a second window. Because it talks to the same dashboard, it is the same database: same sessions, same profiles and per-profile settings, same scheduled jobs, same capability toggles, same connectors. Start a conversation on desktop, pick it up on your phone mid-turn, steer it, return to desktop later. That is a materially different proposition from a mobile chat client that opens its own session.

Reported near-parity with the desktop client:

  • Streaming chat with full Markdown (code blocks, math, Mermaid, task lists)
  • Tool-call inspection, reasoning traces, delegated-agent progress
  • Voice mode with push-to-talk, on-device STT, server-side Whisper
  • Image / PDF / text attachments, or paste an image into the composer
  • Model switching, reasoning effort, token-usage ring
  • Toggle skills, tools and MCP servers from a Capabilities tab
  • View and trigger scheduled jobs; monitor connectors and gateway logs
  • Multi-profile support
  • Session branching
  • Push notifications for approvals, completed turns, failures, and background tasks

That last item is the one that changes the operating model rather than the interface: an unattended agent that needs an approval can now reach you, instead of blocking until you next look. Compare the human-gate throughput problem in Cairn — a co-sign requirement is only workable if the human is reachable.

Limitations, stated by the author: everything routes to your own gateway, with no hosted backend; authentication is dashboard username/password only — Cloud/Portal OAuth is not implemented, so self-hosted instances only.

App Store: https://apps.apple.com/us/app/hermes-conduit/id6790977764

The category now has five entries and three distinct axes: native vs PWA (packaging), chat vs call (interaction model), and — new with Conduit — own-session vs shared-session (state model). Shared-session is the one that makes a phone client an extension of the desktop agent rather than a second front end onto it.

Try It

  1. Clone the repo: git clone https://github.com/uzairansaruzi/hermex.
  2. Open the project in Xcode 26+ (required — the repo targets iOS 18+ and won’t build on older Xcode). Let Swift Package Manager resolve dependencies on first build.
  3. Have a self-hosted hermes-webui server already running and reachable — Hermex is a client only, it does not stand one up for you.
  4. Point the app at that server’s address and confirm real-time chat streams correctly before relying on it for session management or task scheduling.
  5. Read the repo’s security policy and dev-workflow docs before distributing it further (e.g. via TestFlight) or connecting it to a production agent.
  6. Check the repo’s contract tests against your installed hermes-webui version — the author’s own testing setup suggests version drift between client and server is a known risk area.

Open Questions

  • No hands-on wiki verification yet. This article is sourced entirely from the announcement post plus a repo-metadata fetch (license, stars, forks, language mix) — not from actually running the app. Day-to-day reliability, streaming performance, and UI quality are unverified here.
  • hermes-webui version compatibility matrix. The source doesn’t specify which hermes-webui versions are supported; the repo’s own contract-testing setup implies this is tracked upstream but the specifics weren’t captured in the raw source.
  • Distribution plans. TestFlight is mentioned as part of the repo’s documented ops, but whether there’s an open TestFlight beta or App Store plans isn’t specified in the source. (Note: the other client, Hermes Mobile, does have an open TestFlight link — that says nothing about Hermex’s plans.)
  • Hermes Mobile is entirely unverified here. Its repo, license, star count, activity level, and actual behavior have not been checked — the section above is a single announcement post. If it proves substantive on a follow-up pass it likely deserves its own article rather than a subsection of the Hermex page.
  • Do the two clients target the same server surface? Hermex points at hermes-webui; Hermes Mobile says “your authenticated Hermes instance” plus a local plugin for push. Whether those are the same API or two different integration points is not established by either source.