@@ -5,9 +5,6 @@ Native macOS app for Hermes over SSH.
55Hermes Desktop gives you the parts of Hermes that matter most on a Mac:
66sessions, memories, and a real terminal. In one clean place.
77
8- <img width =" 1301 " height =" 802 " alt =" Screenshot 2026-04-09 alle 14 04 22 " src =" https://github.com/user-attachments/assets/42c91c5f-51f4-4c6d-b43b-61948ec552c1 " />
9-
10-
118It stays deliberately simple:
129
1310- connects directly over SSH
@@ -41,13 +38,15 @@ Works with:
4138
4239You need only a few things:
4340
41+ - an Apple Silicon Mac for the current public release build
4442- macOS 14 or newer
45- - SSH access that already works from Terminal
43+ - SSH access that already works from Terminal without password prompts
44+ - the SSH host key already accepted once in Terminal for that target
4645- ` python3 ` available on the Hermes host
4746- Hermes data under the remote user's ` ~/.hermes `
4847
4948Simple rule:
50- if this works in Terminal, the app is usually ready to work too:
49+ if this works in Terminal without asking for a password , the app is usually ready to work too:
5150
5251``` bash
5352ssh your-host
@@ -60,12 +59,15 @@ ssh your-host
60593 . Drag ` HermesDesktop.app ` into ` Applications ` .
61604 . Open it.
6261
62+ The current public build is Apple Silicon only and not notarized yet.
63+
6364If macOS blocks the first launch, right click the app and choose ` Open ` once.
65+ If needed, use ` Privacy & Security ` -> ` Open Anyway ` .
6466
6567## Connect Your Hermes Host
6668
6769Open the app, go to ` Connections ` , create a profile, then click ` Test ` and
68- ` Connect ` .
70+ ` Use Host ` .
6971
7072You have two valid ways to fill the connection:
7173
@@ -128,10 +130,10 @@ Hermes Desktop still connects over SSH and never reads those files directly.
128130It checks that:
129131
130132- the SSH target is reachable
131- - authentication works
133+ - authentication works without interactive prompts
132134- ` python3 ` is available in the remote SSH environment used by the app
133135
134- If ` Test ` passes, ` Connect ` should be on solid ground.
136+ If ` Test ` passes, ` Use Host ` should be on solid ground.
135137
136138## What You Will See In The App
137139
@@ -153,6 +155,40 @@ Hermes Desktop keeps that direct path visible and usable: real SSH, real
153155terminal, real remote files. It does not try to hide Hermes behind a separate
154156gateway layer or turn it into something else.
155157
158+ ## FAQ
159+
160+ ### Why can't I browse every file the agent creates on the host?
161+
162+ On purpose. Hermes Desktop is not trying to become a remote file manager or a
163+ full remote IDE. We wanted the app to stay focused on the Hermes flow that
164+ matters most on Mac: sessions, memories, and terminal work.
165+
166+ If you need full filesystem access, there are already better tools for it:
167+ your normal SSH shell, SFTP apps, or remote editors. Keeping the in-app file
168+ surface narrow also avoids encouraging people to casually open arbitrary
169+ agent-generated files they have not reviewed yet. It is a product choice first,
170+ and a safer default second, not a hard security boundary.
171+
172+ ### Why do I still need SSH working in Terminal first?
173+
174+ Because the app does not replace SSH. It depends on the same connection path
175+ your Mac already uses. If Terminal still needs passwords, host key
176+ confirmation, or other interactive fixes, the app will usually hit the same
177+ wall.
178+
179+ ### Why doesn't the app mirror Hermes files onto my Mac?
180+
181+ Because the remote Hermes host stays the source of truth. Once the app starts
182+ caching or syncing copies locally, you introduce stale state, conflict
183+ handling, and harder-to-explain behavior. The current design keeps reads and
184+ edits attached to the real remote files.
185+
186+ ### Why are sessions read from ` ~/.hermes/state.db ` first?
187+
188+ Because that is the canonical Hermes session store. Reading it gives the app
189+ the same view Hermes itself uses. ` ~/.hermes/sessions/*.jsonl ` exists as a
190+ fallback only when the SQLite store is not available.
191+
156192## Roadmap
157193
158194This is the current direction for the next waves of work:
@@ -167,13 +203,16 @@ This is the current direction for the next waves of work:
167203
168204## Build From Source
169205
170- For local development:
206+ For local development, the supported path in this repo is to build the app
207+ bundle directly:
171208
172209``` bash
173- swift run HermesDesktop
210+ ./scripts/build-macos-app.sh
174211```
175212
176- To build the Mac app bundle:
213+ Then open ` dist/HermesDesktop.app ` .
214+
215+ To create the Mac app bundle again:
177216
178217``` bash
179218./scripts/build-macos-app.sh
@@ -187,4 +226,4 @@ To create the GitHub Releases archive:
187226
188227Release artifact:
189228
190- - ` dist/HermesDesktop.app.zip `
229+ - ` dist/HermesDesktop.app.zip ` for Apple Silicon Macs
0 commit comments