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

Hermes Desktop Compared: Official Electron App vs Independent GUI vs Native SSH Client

Forum topic · 小凯 · 2026-06-07

Summary

Hermes Agent is Nous Research's open-source AI agent framework built around a self-learning loop, but its core interface is a terminal. This article compares three MIT-licensed desktop clients (data as of June 4, 2026): the official apps/desktop, an Electron wrapper sharing all state with the CLI via ~/.hermes; fathah/hermes-desktop, an independent Electron 39 + React 19 rewrite offering 22 slash commands, 16 message gateways, 14 tool integrations, a memory GUI, a cron builder, and a 3D office view, with DeepSeek as a first-class provider; and dodo-reach/hermes-desktop, a native Swift Mac app connecting purely over SSH where the remote host is the single source of truth. The piece analyzes architectural philosophy (same-source vs independent vs native), state management, model access strategies, and security trust boundaries, concluding with recommendations: choose the official app for CLI parity, fathah's for the fullest GUI, and dodo-reach's for minimal-intervention, security-sensitive Mac workflows.

Hermes Desktop Compared: Official Electron App vs Independent GUI vs Native SSH Client

> Sources: READMEs, configs, and source code of the three projects plus public GitHub data, captured June 4, 2026 > 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 Nous Research's open-source AI agent framework, centered on a self-learning loop — the agent creates skills from experience, improves them in use, proactively persists knowledge, searches its own conversation history, and builds cross-session user profiles.

Core capabilities:

  • True terminal interface (TUI: multi-line editing, slash-command completion, streaming tool output)
  • Multi-platform messaging (Telegram, Discord, Slack, WhatsApp, Signal, Email, CLI)
  • Closed-loop learning (FTS5 session search + LLM summaries + Honcho user modeling)
  • Scheduled tasks (cron, natural-language config, unattended runs)
  • Parallel sub-agents (isolated sub-agents, Python script tool calls)
  • Runs anywhere (local, Docker, SSH, Singularity, Modal, Daytona — a $5 VPS works)
  • 300+ models (Nous Portal, OpenRouter, OpenAI, Anthropic, Kimi, MiniMax, DeepSeek, etc.)
  • But Hermes' core interface is a terminal. For non-technical users, installation, API key management, and session/skill management are barriers — which is why three desktop clients exist.

    2. Comparison Table

    | Dimension | Official apps/desktop | fathah/hermes-desktop | dodo-reach/hermes-desktop | |:---|:---|:---|:---| | Positioning | Same-source wrapper: Electron shell around the TUI | Independent full-featured GUI management console | Native Mac workspace, direct SSH | | Stack | Electron + Hermes TUI backend reuse | Electron 39 + React 19 + TypeScript 5.9 | Native Swift, Universal macOS app | | Platforms | Mac, Windows, Linux | Mac, Windows, Linux | Mac only | | Stars | 180k (main repo) | 10k+ | 1.8k+ | | Slash commands | Built into Hermes | 22 | None (host-native) | | Message gateways | Built into Hermes | 16 | None (SSH passthrough) | | Toolset | Built into Hermes | 14 | None (host config) | | Memory system | Shared with Hermes | Independent GUI management | Reads remote session store | | 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, choose one | Remote SSH only | | Connection | Local process + SSE stream | HTTP SSE stream or remote API | Direct SSH to host | | State storage | Shared ~/.hermes | ~/.hermes or remote | Host is the single source of truth | | DeepSeek | Manual setup in settings; onboarding pushes Nous Portal | First-class provider, out of the box | Follows host config | | Philosophy | Same-source seamlessness, zero extra layers | The most complete GUI enhancement | Restrained, no added layers | | Best for | Users wanting "exact CLI parity" | Users wanting to manage everything via GUI | Users wanting a native Mac SSH experience |

    3. Official apps/desktop: Same-Source, Zero Extra Layers

    3.1 Core Design

    The official desktop app is not a rewrite but a wrapper — an Electron shell running Hermes' own terminal backend. This means:

  • Config, keys, sessions, skills, long-term memory — all shared with the CLI/TUI
  • Sessions created in the TUI appear in the desktop app; settings changed in the app apply to the TUI
  • No duplicated state, no sync issues, no "the desktop app lost my CLI data"
  • 3.2 Connectivity

  • Local mode: auto-detects ~/.hermes; runs the official installer if missing
  • Remote mode: enter a remote API server URL and API key
  • Protocol: SSE streaming at http://127.0.0.1:8642
  • 3.3 Model Support

    Onboarding presents a curated short list topped by the first-party paid Nous Portal. Inside the app under Providers → API Keys, DeepSeek, Qwen, Zhipu, Kimi, and MiniMax can all be configured manually.

    Verdict: DeepSeek works, but the official app wants you to try Nous Portal first.

    4. fathah/hermes-desktop: An Independently Rewritten Full GUI Console

    4.1 Core Design

    Not a wrapper — an independent rewrite. fathah extracted Hermes' capabilities into a complete GUI console built with Electron + React.

    4.2 Feature List (the most comprehensive)

    | Category | Count | Details | |:---|:---|:---| | Slash commands | 22 | Quick commands invoked in chat | | Message gateways | 16 | Telegram, Discord, Slack, WhatsApp, Signal, Matrix, Mattermost, Email, SMS, iMessage, DingTalk, Lark, WeCom, WeChat, Webhook, Home Assistant | | Tools | 14 | Exa Search, Tavily, Firecrawl, FAL.ai image gen, Browserbase, W&B, etc. | | Memory | Standalone GUI | Cross-session memory management, 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
  • 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 Modes

    Local or remote, choose one:

  • Local: auto-installs Hermes Agent into ~/.hermes
  • Remote: enter a remote URL + API key, skipping local installation
  • 4.5 DeepSeek Strategy

    First-class provider, out of the box. No digging through settings, no manual key entry — it's in the default list.

    4.6 Release Velocity

    21 releases within a month and a half of launch — near-daily updates. v0.4.3 alone had 47k downloads; nearly 250k total.

    5. dodo-reach/hermes-desktop: Native Swift, Direct SSH, Maximum Restraint

    5.1 Core Design

    The most restrained version. No wrapping, no rewriting — a native Mac surface for Hermes' SSH workflow. Its stated 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 only via SSH
  • Reads no local files; all state comes from the remote host
  • 5.3 Feature Views

    Eight views, all reading from the remote host:

    | View | Function | |:---|:---| | Sessions | Search remote session store, view transcripts, pin sessions, resume TUI chat | | Workflows | Save reusable prompt presets; run in a new Terminal tab | | Kanban | Read upstream Hermes kanban workspace | | Files | Edit remote Hermes files and selected text files with conflict checks before saving | | Cron Jobs | Browse/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 from the remote session store, kanban from upstream Hermes, cron jobs from the remote scheduler, files and skills edited on-host with conflict checks. The Mac stores only: connection configs, pinned sessions, bookmarked files, and workflow presets.

    5.5 Security Model

  • No local Hermes state mirror
  • No extra backend to trust
  • No host, profile, file, session, or kanban content sent to any third party
  • Update checks only hit GitHub Releases for version numbers
  • Currently ad-hoc signed, not Apple-notarized — first launch requires right-click → Open
  • 5.6 DeepSeek Strategy

    Follows host config. Whatever models are configured on the host are what the desktop app sees.

    5.7 Relationship to the Official Web Dashboard

    The official web dashboard handles browser-based management (config, API keys, logs, analytics, web chat). dodo-reach positions itself as complementary:

    Browser for management; Mac app for direct host work.

    6. Deep-Dive: Key Differences

    6.1 Architecture Philosophy: Same-Source vs Independent vs Native

    | Version | Philosophy | Cost | |:---|:---|:---| | Official | Same-source: no second version created | Features limited to native Hermes capabilities; GUI is just a TUI wrapper | | fathah | Independent: build the best GUI | Possible state-sync risk; separate codebase to maintain | | dodo-reach | Native: minimal intervention | Mac only; features entirely dependent on host capabilities |

    6.2 State Management: Shared vs Independent vs Remote

    | Version | Where state lives | Risk | |:---|:---|:---| | Official | Shared ~/.hermes | Zero risk, fully consistent | | fathah | ~/.hermes or remote | Possible state divergence when switching local/remote | | dodo-reach | Host only | No local-state risk, but requires working SSH |

    6.3 Model Access: Guided vs Open vs Follow

    | Version | DeepSeek access | Strategy | |:---|:---|:---| | Official | Manual in settings | Guided — pushes Nous Portal first, but supports any compatible endpoint | | fathah | First-class, out of the box | Open — 11 default LLM providers plus any OpenAI-compatible endpoint | | dodo-reach | Follows host config | Configure DeepSeek on the host and the app inherits it |

    6.4 Security: Trust Boundaries

    | Version | Trusts | Doesn't trust | |:---|:---|:---| | Official | Local Hermes process | No extra layers | | fathah | Electron + local/remote API | fathah's code and remote servers (in remote mode) | | dodo-reach | SSH connection + host | No intermediary layers; no local mirror |

    dodo-reach's security model is the most conservative: the host is the single source of truth; the local app only displays. Even if the desktop app is compromised, an attacker can only reach the host via SSH — there is no locally cached session data to steal, because none exists.

    7. How to Choose?

    "Exact CLI parity"

    → Official apps/desktop. Same-source wrapper, zero extra layers, fully shared config/sessions/skills. Ideal for users already comfortable with Hermes CLI.

    "The fullest GUI experience"

    → fathah/hermes-desktop. 22 slash commands, 16 gateways, 14 tools, 3D office, standalone memory management, GUI cron builder. Most features, fastest iteration, most downloads. Ideal for users who never want to touch a terminal.

    "Native Mac + minimalist security"

    → dodo-reach/hermes-desktop. Native Swift, direct SSH, host-only truth, no extra layers to trust. Ideal for security-sensitive scenarios, Mac users, and developers who value restraint. Only limitation: Mac-only.

    On DeepSeek

    All three support DeepSeek, via different paths:
  • Official: App → Providers → API Keys, enter key manually (onboarding pushes Nous Portal)
  • fathah: Out of the box, DeepSeek is in the default provider list
  • dodo-reach: Configure on the host; the desktop app inherits automatically
  • Bottom line: for out-of-the-box third-party models → fathah; fine with an extra step → official or dodo-reach.

    8. An Observation: The Fragmentation of the Hermes Ecosystem

    With 180k stars, the core Hermes Agent framework clearly enjoys strong recognition. But the coexistence of three desktop clients reveals something:

    > One agent backend can support entirely different frontend philosophies.

  • The official team chose same-source: no second version, consistency preserved
  • fathah chose enhancement: build the best GUI, exceeding native features
  • dodo-reach chose restraint: minimal intervention, the host is the single source of truth
  • None is wrong — they serve different users: terminal users → official; GUI users → fathah; security/minimalist users → dodo-reach.

    Better still, all three are MIT-licensed, so they can learn from each other, reuse code, or even merge in the future. That's the beauty of open-source ecosystems: 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 dive, 2026-05-18

Tags

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

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