Hermes Agent 的 Desktop App(Hermes Desktop)原理其实很简单:它是一个 Electron 包装的 GUI 前端客户端,本质上是 Hermes Agent 的“图形化控制面板 + 安装助手”,不替换核心 Agent,而是让 CLI 操作变得友好。
核心原理与架构
技术栈(Electron + React)
- 使用Electron 39作为桌面壳(跨平台:Windows/macOS/Linux)。
- 前端用React 19 + TypeScript + Tailwind CSS + Vite构建界面。
- 本地数据存储用better-sqlite3 + FTS5(全文搜索),用于缓存会话、历史等。
与 Hermes Agent 的通信方式
- 本地模式(最常见):
- 桌面 App 负责调用官方 Hermes 安装脚本,把 Hermes 安装到
~/.hermes目录。 - 通过本地 HTTP SSE(Server-Sent Events)流通信:
http://127.0.0.1:8642(Hermes 默认端口)。 - 桌面端实时解析流式输出,渲染工具调用进度、Markdown、token 用量等。
- 桌面 App 负责调用官方 Hermes 安装脚本,把 Hermes 安装到
- 远程模式:
- 连接远程 Hermes 实例(输入 URL + API Key)。
- 同样使用 SSE 流协议。
- 本地模式(最常见):
工作流程(首次启动)
- 检查本地是否安装 Hermes → 未安装则自动运行安装脚本(处理 Python、uv、Git 等依赖)。
- 配置 LLM Provider(OpenAI、Anthropic、Grok、Ollama 等)。
- 进入主界面:聊天、Sessions、Skills、Memory、Tools、Gateway 等。
关键特点
- 不是独立 Agent:核心逻辑(工具调用、自进化学习闭环、技能生成、持久化记忆)全部由Hermes Agent(Nous Research 主项目)负责。Desktop 只负责界面 + 管理。
- 直接操作底层文件:部分版本(如 dodo-reach 的 Swift 原生版)甚至通过 SSH 直接访问
~/.hermes目录下的文件(Memory、Skills、State.db 等),避免中间层。 - 降低门槛:把原本需要敲命令的操作(安装、配模型、管理技能/记忆/定时任务、多平台 Gateway)全部图形化。
简单总结:
Hermes Desktop = Electron GUI 前端 + Hermes Agent 后端(通过本地 SSE 或远程 API 通信)。
它解决的主要痛点就是Hermes Agent 本身很强,但 CLI 对普通用户不友好,Desktop 把它变成了一个真正的“桌面 AI 工作台”。如果你想深入了解,可以去看它的 GitHub:fathah/hermes-desktop。
夜雨聆风