kaishi00/hermes-conduit

▲ 7 stars today★ 182⑂ 36

Conduit — native SwiftUI iOS client for Hermes Agent

About kaishi00/hermes-conduit

kaishi00/hermes-conduit is an open-source project on GitHub, mainly written in Swift. Conduit — native SwiftUI iOS client for Hermes Agent It currently holds 182 stars and 36 forks with 0 open issues, and was last pushed on an unknown date (repository created unknown).

Project Overview

AI Homed tracks it on the Today's Trending board, currently at rank #50 with 7 new stars today.

GitHub Repository Details

Repository kaishi00/hermes-conduit · default branch - · size 0 KB · watchers 0 · source: GitHub REST API and repository README

README

Hermes Conduit

A native iOS client for Hermes Agent. Free, no ads, no tracking.

App Store Website Ko-fi

What it does

Conduit connects directly to your self-hosted Hermes dashboard. Same sessions, same profiles, same capabilities as the desktop client. No relay service, no extra processes, no middleman.

Start a conversation on desktop, pick it up on your phone. The session list is the same because it is the same database.

Features

Chat

Voice Agents and control Sign-in, notifications, platform

Requirements

Connecting

1. Make sure your Hermes dashboard is running. If you are not sure, ask your agent: is the dashboard running? 2. Find your dashboard address. It is usually http://your-server-ip:9119. 3. Open Conduit and enter that address on the login screen. 4. Log in with your dashboard credentials.

Note: Conduit connects to the native Hermes dashboard, not the WebUI. The default port is 9119.

If your server is not on your local network, use Tailscale or a reverse proxy to reach it from your phone. Plain HTTP over Tailscale (MagicDNS .ts.net domains and 100.64.0.0/10 tailnet IPs) is supported — the traffic is already WireGuard-encrypted.

If the dashboard is behind Cloudflare Access, enable the optional service token on the login screen or in Settings > Connection > Gateway. Conduit stores the client secret in Keychain (scoped to the gateway origin), and injects both Access headers into native authentication requests, WebSocket handshakes, and all in-page WebKit fetches via a document-start user script. Credentials are bound to the gateway URL and cleared when switching to a different host.

Native OAuth limitation: service-token headers cannot be attached to the system Safari navigation that opens /auth/native/authorize. Native OAuth therefore requires that browser authorization route to be reachable through an interactive Cloudflare policy or without a service-token challenge. The token exchange, refresh, REST, and WebSocket-ticket requests still use the configured service-token headers. A service-token-only challenge in front of the authorize route cannot be bypassed by Conduit and must not silently fall back to embedded Google OAuth.

Push Notifications

Push notifications require a small relay service because iOS does not allow apps to maintain persistent background connections. The relay source is in the hermes-conduit-notifier plugin and the push relay server.

To set up push notifications, install the notifier plugin on your Hermes instance:

hermes plugins install kaishi00/hermes-conduit-notifier --enable
hermes gateway restart

Then follow the in-app pairing flow under Settings > Notifications.

The app uses a shared relay by default (push.milim.dev) so notifications work out of the box with no extra setup. If you prefer to run your own relay, enter its URL under Settings > Notifications > Push relay.

Building from source

git clone https://github.com/kaishi00/hermes-conduit.git
cd hermes-conduit
brew install xcodegen
xcodegen generate
open Conduit.xcodeproj

Select your team in Signing & Capabilities, then build and run on your device.

Requirements:

Releasing

See the iOS release workflow for the TestFlight and App Store release process.

Architecture

Conduit is pure SwiftUI targeting iOS 17+. The project uses xcodegen for Xcode project generation from project.yml.

The app connects to the Hermes dashboard WebSocket endpoint (/api/ws) after authenticating through the dashboard login page. All RPC calls route through the dashboard, same as the desktop client. The gateway is never contacted directly.

Key files:

Privacy

Conduit does not collect, transmit, or store your data on any third-party server. All communication goes directly between the app and your own Hermes instance. The only external connection is the optional push relay, which you control and can self-host.

No analytics. No telemetry. No ad frameworks.

Support

License

MIT

The live voice orb uses the shader from Liquid Orb Editor by LerSent001 (MIT); its notice is in Conduit/Views/LiquidOrb/LiquidOrb.metal.

Disclaimer

Hermes Conduit is an independent project and is not affiliated with or endorsed by Nous Research.

GitHub Stars & Activity

182Stars
36Forks
0Open issues
SwiftLanguage

GitHub Popularity

GitHub stars182
Forks36
Open issues0
Primary languageSwift
License-
Stars gained today7
Created-
Last pushed-

Trending History

Daily boardrank #50 · ▲ 7 stars

Related AI Projects

1

manaflow-ai / cmux

Swift★ 27,636⑂ 2,443▲ 28 stars
→
2

obra / superpowers

Shell★ 295,608⑂ 26,396▲ 404 stars
→
3

mattpocock / skills

Shell★ 276,960⑂ 23,203▲ 979 stars
→
4

affaan-m / ECC

JavaScript★ 273,528⑂ 40,814▲ 761 stars
→
5

NousResearch / hermes-agent

Python★ 251,407⑂ 0
→
6

deepseek-ai / deepseek-harness

TypeScript★ 243,959⑂ 0
→
7

n8n-io / n8n

TypeScript★ 206,724⑂ 0
→
8

firecrawl / firecrawl

TypeScript★ 188,854⑂ 0
→

More AI Rankings