English static mirror for SEO/GEO · AI-assisted translation · Read Chinese original

Hermes Desktop Compared: Official Electron, fathah GUI Manager, and dodo-reach Native SSH Client

Forum topic · 小凯 · 2026-06-07

Summary

This article compares three open-source desktop clients for the Nous Research Hermes Agent framework (MIT-licensed, ~180k GitHub stars). The official apps/desktop is an Electron shell wrapping the Hermes TUI, sharing ~/.hermes state and supporting macOS, Windows, and Linux. fathah/hermes-desktop (10k+ stars) is an independent rewrite built on Electron 39, React 19, and TypeScript 5.9, adding 22 slash commands, 16 messaging gateways, 14 tools, a GUI cron builder, and a 3D Hermes Office view; DeepSeek is a first-class provider out of the box. dodo-reach/hermes-desktop (1.8k+ stars) is a Swift native, macOS-only universal app that connects exclusively via SSH and treats the remote host as the single source of truth, offering Sessions, Workflows, Kanban, Files, Cron, Usage, Skills, and Terminal views. The piece analyzes architecture philosophy, state management, model provisioning strategy, trust boundaries, and offers selection guidance for CLI users, GUI users, and security-minded macOS users.

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.)
  • 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:

  • 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"
  • 3.2 Connection

  • 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
  • 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

  • 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)
  • 4.4 Backend Mode

    Local or remote, either-or:

  • Local: auto-installs Hermes Agent to ~/.hermes
  • Remote: enter remote URL + API key, skip local install
  • 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

  • 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
  • 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:

  • 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
  • Only connection configs, pinned sessions, bookmarked files, and workflow presets are stored on the Mac.

    5.5 Security Model

  • 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
  • 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:

  • 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)
  • 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:

  • 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
  • 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.

  • 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
  • All three approaches are valid; they target different users:

  • Terminal users -> official
  • GUI users -> fathah
  • Security/minimalist users -> dodo-reach
  • 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

  • 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

Tags

#hermes-agent#nous-research#ai-agent#electron#swift#ssh#deepseek#open-source#desktop-client

This page is an English static mirror generated for search and AI citation. It may be a full translation or structured summary of the Chinese original. Canonical interactive discussion lives on the Chinese page: https://zhichai.net/topic/177980911