Hermes Desktop Compared: Official Electron vs Independent GUI Manager vs Native SSH Client
> Sources: READMEs, configs, and source code of all three projects plus public GitHub data, snapshot 2026-06-04 > Official: https://github.com/NousResearch/hermes-agent (~180k stars) > fathah: https://github.com/fathah/hermes-desktop (10k+ stars) > dodo-reach: https://github.com/dodo-reach/hermes-desktop (1.8k+ stars) > License: All three are MIT open-source
---
1. What is Hermes Agent
Hermes Agent is an AI agent framework open-sourced by Nous Research, featuring a self-learning loop: agents create skills from experience, refine skills during use, persist knowledge proactively, search their own conversation history, and build cross-session user profiles.
Core capabilities:
- Real terminal interface (TUI) with multi-line editing, slash command completion, and streamed tool output
- Multi-platform messaging (Telegram, Discord, Slack, WhatsApp, Signal, Email, CLI)
- Closed-loop learning (FTS5 session search + LLM summarization + Honcho user modeling)
- Scheduled tasks (cron-based, configurable in natural language, unattended execution)
- Sub-agent parallelism (isolated sub-agents, Python scripts calling tools)
- Runs anywhere (local, Docker, SSH, Singularity, Modal, Daytona; works on a $5 VPS)
- 300+ models (Nous Portal, OpenRouter, OpenAI, Anthropic, Kimi, MiniMax, DeepSeek, etc.)
- Configs, keys, sessions, skills, and long-term memory are fully shared with the CLI/TUI
- Sessions created in the TUI appear in the desktop client; settings changed in the desktop client apply in the TUI
- No duplicate state, no sync issues, no "desktop lost CLI data"
- Local mode: auto-detect
~/.hermes; runs the official installer if missing - Remote mode: enter remote API server URL and API key
- Transport: SSE streaming at
http://127.0.0.1:8642 - Electron 39 (cross-platform desktop shell)
- React 19 + TypeScript 5.9
- Tailwind CSS 4
- Vite 7 + electron-vite
- better-sqlite3 (local session storage)
- FTS5 (full-text search, millisecond retrieval)
- Local: auto-installs Hermes Agent to
~/.hermes - Remote: enter remote URL + API key, skip local install
- Native Swift
- Universal macOS app (Apple Silicon + Intel)
- Connects to the host exclusively via SSH
- Reads no local files; all state comes from the remote host
- Sessions come from remote session storage
- Kanban from upstream Hermes Kanban
- Cron jobs from the remote scheduler
- Files and skills are edited on the host with conflict checks before save
- No local Hermes state mirror
- No extra backend to trust
- Host, profile, file, session, and kanban contents are never sent to any third party
- Update checks only call GitHub Releases for the latest version number
- Current build is ad-hoc signed and not Apple-notarized; first launch requires right-click -> Open
- Web dashboard: browser-based management (config, API keys, logs, analytics, web chat)
- dodo-reach Desktop: native macOS workstation (direct host operations, SSH terminal, local workflow presets)
- Official: open app -> Providers -> API Keys, manually enter DeepSeek key (onboarding pushes Nous Portal first)
- fathah: works out of the box; DeepSeek is in the default provider list
- dodo-reach: configure DeepSeek on the host and the desktop inherits it automatically
- Official chose same-origin: never create a second version, keep consistency
- fathah chose enhancement: build the best GUI, go beyond native features
- dodo-reach chose restraint: minimum intervention, host as single source of truth
- Terminal users -> official
- GUI users -> fathah
- Security/minimalist users -> dodo-reach
- NousResearch/hermes-agent README, GitHub, 2026
- fathah/hermes-desktop README, GitHub, 2026
- dodo-reach/hermes-desktop README, GitHub, 2026
- The Decoder: Nous Research releases Hermes Desktop, 2026-06-03
- CSDN: Hermes Desktop deep analysis, 2026-05-18
Hermes's core interface, however, is the terminal. For non-technical users, installation, API key management, and session/skill handling are real barriers. That is why three desktop clients emerged.
---
2. Three-Way Comparison Table
| Dimension | Official apps/desktop | fathah/hermes-desktop | dodo-reach/hermes-desktop |
|:---|:---|:---|:---|
| Positioning | Same-origin wrapper: Electron shell around the TUI | Independent GUI management console, fully rewritten | Native macOS workstation, direct SSH |
| Stack | Electron + reuses Hermes TUI backend | Electron 39 + React 19 + TypeScript 5.9 | Native Swift, Universal macOS app |
| Platforms | macOS, Windows, Linux | macOS, Windows, Linux | macOS only |
| Stars | ~180k (main repo) | 10k+ | 1.8k+ |
| Slash commands | Built into Hermes | 22 | None (uses host-native commands) |
| Messaging gateways | Built into Hermes | 16 | None (SSH passthrough) |
| Tools | Built into Hermes | 14 | None (uses host config) |
| Memory system | Shared with Hermes | Independent GUI management | Reads remote session storage |
| Scheduled tasks | Hermes cron | GUI cron builder | Reads remote scheduler state |
| 3D view | No | Hermes Office 3D | No |
| Backend mode | Local (shared Hermes config) | Local or remote, either-or | Remote SSH only |
| Connection | Local process + SSE stream | HTTP SSE or remote API | Direct SSH to host |
| State storage | ~/.hermes shared | ~/.hermes or remote | Host is the single source of truth |
| DeepSeek | Manual config; onboarding pushes Nous Portal | First-class provider, out of the box | Follows host config |
| Philosophy | Same-origin, zero extra layers | Most feature-complete GUI enhancement | Minimal, no extra layers |
| Best for | Users wanting full CLI parity | Users wanting graphical management of everything | macOS users who want native SSH experience |
---
3. Official apps/desktop: Same-Origin, Zero Extra Layers
3.1 Core Design
The official desktop client is a wrapper, not a rewrite. It only adds an Electron shell while running the Hermes terminal interface backend internally. This means:
3.2 Connection
3.3 Model Strategy
The official onboarding presents a curated short list, prominently pushing its own paid Nous Portal. Inside the app under Providers -> API Keys, however, DeepSeek, Tongyi Qianwen, Zhipu, Kimi, and MiniMax can all be entered manually.
Conclusion: DeepSeek works, but the official preference is for users to try Nous Portal first.
---
4. fathah/hermes-desktop: Independent Full-Feature GUI Console
4.1 Core Design
This is an independent rewrite, not a wrapper. fathah decomposed Hermes's capabilities and built a complete GUI console with Electron + React.
4.2 Feature Inventory (the most comprehensive)
| Category | Count | Details | |:---|:---|:---| | Slash commands | 22 | In-chat shortcuts | | Messaging gateways | 16 | Telegram, Discord, Slack, WhatsApp, Signal, Matrix, Mattermost, Email, SMS, iMessage, DingTalk, Feishu, WeCom, WeChat, Webhook, Home Assistant | | Tools | 14 | Exa Search, Tavily, Firecrawl, FAL.ai image generation, Browserbase, W&B, etc. | | Memory system | Independent GUI | Cross-session memory management with visual knowledge base | | Scheduled tasks | GUI builder | 15 delivery targets, natural-language config | | 3D view | Hermes Office | 3D workspace visualization |
4.3 Tech Stack
4.4 Backend Mode
Local or remote, either-or:
4.5 DeepSeek Strategy
First-class provider, out of the box. No need to dig through settings or manually enter a key; DeepSeek is in the default list.
4.6 Release Velocity
21 releases within 1.5 months of launch, nearly daily updates. v0.4.3 alone reached 47k downloads; total downloads approach 250k.
---
5. dodo-reach/hermes-desktop: Swift Native, SSH Direct, Minimal
5.1 Core Design
This is the most restrained version. No wrapper, no rewrite; it provides a native macOS surface for Hermes's SSH workflow.
Core philosophy: > "No browser wrapper. No gateway API. No daemon on the host. No local mirror. No extra sync layer slowly drifting away from the machine that actually matters."
5.2 Tech Stack
5.3 Views
Eight views, all reading from the remote host:
| View | Function | |:---|:---| | Sessions | Search remote session storage, view transcripts, pin important sessions, resume TUI chat | | Workflows | Save reusable prompt presets, executed in new Terminal tabs at runtime | | Kanban | Read upstream Hermes Kanban workspace | | Files | Edit remote Hermes files and selected text files with conflict check before save | | Cron Jobs | Browse and manage remote scheduler state; create/edit/pause/resume/delete | | Usage | Token totals, top sessions, top models, recent trends, profile distribution | | Skills | Discover remote SKILL.md files, read metadata, create/edit skills | | Terminal | Built-in SSH terminal with tabs, theme presets, color controls |
5.4 Host as Single Source of Truth
All state lives on the remote host:
Only connection configs, pinned sessions, bookmarked files, and workflow presets are stored on the Mac.
5.5 Security Model
5.6 DeepSeek Strategy
Follows host config. Whatever models are configured on the host appear in the desktop client. No separate provider setup is needed.
5.7 Relationship with the Official Web Dashboard
The official project also ships a web dashboard (browser-side management). dodo-reach positions itself as complementary:
Boundary: browser for management, Mac app for direct host work.
---
6. Deep-Dive Key Differences
6.1 Architecture Philosophy: Same-Origin vs Independent vs Native
| Version | Philosophy | Cost | |:---|:---|:---| | Official | Same-origin: never create a second version | Features limited to native Hermes capability; GUI is just a TUI wrapper | | fathah | Independent: build the best GUI | Possible state-sync risk; must maintain a separate codebase | | dodo-reach | Native: minimum intervention | macOS-only; features entirely depend on host capability |
6.2 State Management: Shared vs Independent vs Remote
| Version | Where state lives | Risk |
|:---|:---|:---|
| Official | ~/.hermes shared | Zero risk, full consistency |
| fathah | ~/.hermes or remote | Possible state divergence when switching local/remote |
| dodo-reach | Host only | No local state risk, but requires stable SSH |
6.3 Model Provisioning: Onboarding vs Open vs Follow
| Version | DeepSeek access | Strategy | |:---|:---|:---| | Official | Manual config in settings | Onboarding prioritizes Nous Portal but any compatible endpoint works | | fathah | First-class provider, out of the box | Open strategy; 11 LLM providers by default plus any OpenAI-compatible endpoint | | dodo-reach | Follows host config | Configure DeepSeek on the host and the desktop inherits it |
6.4 Security: Trust Boundaries
| Version | Trusts | Does not trust | |:---|:---|:---| | Official | Hermes local process | No extra layer | | fathah | Electron + local/remote API | fathah's code and remote server (if remote mode) | | dodo-reach | SSH connection + host | Any middleware; creates no local mirror |
dodo-reach's security model is the most conservative: host is the single source of truth, the local side only renders. Even if the desktop client is compromised, the attacker can only reach the host through SSH and cannot steal locally cached session data, because none exists.
---
7. Which One to Choose?
If you want full CLI parity
-> Official apps/desktop
Reason: same-origin wrapper, zero extra layers, fully shared config/sessions/skills. Everything you do in the TUI works identically in the desktop client. Best for users already familiar with Hermes CLI who do not want to learn a new interface.
If you want the most complete GUI experience
-> fathah/hermes-desktop
Reason: 22 slash commands, 16 messaging gateways, 14 tools, 3D office, independent memory management, GUI cron builder. Most features, fastest iteration, largest downloads. Best for users who want graphical management of everything without touching the terminal.
If you want a native macOS experience plus minimalist security
-> dodo-reach/hermes-desktop
Reason: native Swift, direct SSH, host as single source of truth, no extra layer to trust. Best for security-sensitive scenarios, macOS users, and developers who appreciate restrained aesthetics. The only limitation is macOS-only.
On DeepSeek
All three support DeepSeek, but with different paths:
Conclusion: out-of-the-box third-party models -> fathah; an extra configuration step is acceptable -> official or dodo-reach.
---
8. One Observation: Fragmentation in the Hermes Ecosystem
Hermes Agent's main repo at ~180k stars shows extremely high recognition of the core framework. But the coexistence of three desktop clients reveals a phenomenon:
> The same agent backend can support entirely different frontend philosophies.
All three approaches are valid; they target different users:
Even better, all three are MIT open-source and can learn from each other, share code, or even merge in the future. That is the charm of open source: one core framework, N frontend implementations, and users pick by need.
---
References