hermes-desktop
Electron + React 构建的 AI Agent 桌面前端,让开源 Hermes Agen
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
Electron + React 构建的 AI Agent 桌面前端,让开源 Hermes Agen
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。

图1:Hermes One 聊天界面,支持多模型切换与工具调用
你是否有这样的经历:在终端里配置完 AI 工具的环境变量,又要切到浏览器打开另一个对话界面;Copilot 的建议用着顺手,但想让它自动化处理邮件、Slack 消息时却无从下手;好不容易装好了开源 AI Agent,却发现每次启动都要手动敲一长串命令。大多数 AI 工具停留在「对话」层面,缺乏与本地文件系统、工作流程、第三方服务的深度整合能力——它们是旁观者,而非参与者。
Hermes Desktop(产品名 Hermes One)试图解决这个问题。这是一个由 Nous Research 团队推出的开源桌面应用,为 Hermes Agent 提供图形化前端。它用 Electron + React 构建,把 AI 助手从终端里「请」出来,变成一个可以在桌面上随时唤起、深度定制的本地智能中枢。
目前该项目在 GitHub 上已积累超过 12,000 颗星,是当前最受关注的开源 AI 桌面应用之一。
Hermes Agent 本身是一个自改进型 AI 助手,支持工具调用、多平台消息、记忆系统和工作回路闭循环。官方提供 CLI 安装方式,但管理配置、管理多组 API Key、切换不同模型 Profile,这些操作对非技术用户并不友好。
Hermes Desktop 的核心思路是:不取代 Hermes Agent,而是给它做一个好用的「外壳」。
它用 Electron 的多进程架构实现了严格的安全隔离:主进程负责系统交互和子进程管理,渲染进程(Web 技术栈)负责 UI,通过 preload 脚本的安全通道暴露受控 API。这种架构在保持现代 UI 开发体验的同时,继承了 Electron 应用的成熟安全范式。
项目的安装流程做了高度自动化:用户下载对应平台的安装包(Windows NSIS/macOS DMG/Linux AppImage/deb/rpm),安装程序会自动处理 Hermes Agent 的安装、环境检测和首次配置引导。如果遇到 Playwright 依赖等系统级组件,Windows 用户会收到 UAC 提示,WSL 用户需要注意 sudo 权限配置。

图2:多模型服务商配置界面,支持 OpenAI、Anthropic、Ollama 等主流 API
从源码结构来看,Hermes Desktop 采用标准的 Electron + Vite(electron-vite)架构,目录分为四个核心模块:
| 模块 | 职责 |
|---|---|
src/main/ | 主进程:Hermes 子进程管理、WebSocket 通信、配置读写、IPC 处理器(85个文件) |
src/renderer/ | 渲染进程:React UI 组件、i18n 多语言、Three.js 3D 效果 |
src/preload/ | 安全桥接层:暴露给渲染进程的安全 API |
src/shared/ | 共享类型与工具:Chat 流解析、i18n 国际化、Attachments 处理 |
src/main/hermes.ts 是项目的核心枢纽(文件超过 50KB),负责:
child_process 模块启动/停止 Hermes Agent,支持多 Profile 并发运行(每个 Profile 绑定独立端口)ws 库维护与 Hermes Agent 的长连接,解析 SSE 格式的流式响应,支持推理过程(reasoning text)实时展示src/main/config.ts 动态读写 ~/.hermes/ 下的配置文件,支持 API Key 管理、服务商切换、模型参数调整前端使用 React 18 + TypeScript 构建,包含完整的国际化和 3D 视觉效果:
src/shared/i18n/locales/ 下按功能模块组织翻译文件项目使用 lat.md 维护架构知识图谱,这是一个将 Markdown 文件链接与源码交叉引用的工具。开发者在 lat.md/ 目录下用 Wiki 链接记录设计决策,源码中通过 // @lat: 注释绑定到对应章节,实现架构文档与代码的同步更新。
Hermes Desktop 远不止一个「聊天界面」,它提供了完整的多模态 AI 工作环境:
支持 OpenAI、Anthropic、Ollama、本地模型等多种服务商,可在同一个 Profile 下切换不同模型,也支持会话级别的模型覆盖。
支持创建多个独立 Profile,每个 Profile 有独立的配置、API Keys、会话历史和记忆数据,适合在同一设备上区分工作/个人场景。
集成 Hermes Agent 的记忆能力,支持持久化存储上下文信息,让 AI 在多轮对话中保持长期记忆。
通过 .agents/skills/ 目录管理 AI Agent 的技能集,当前内置 TypeScript Expert、lat-md、electron-pro 等专家技能。
内置看板视图,支持任务管理和 AI 辅助的任务分解与执行追踪。
支持连接 Slack、Discord、邮件等平台,让 AI 能够直接在你的工作沟通渠道中收发消息。
内置 cronjob 管理,支持设置定时执行的 AI 任务。
支持 Model Context Protocol,可接入第三方工具服务扩展 AI 能力边界。

图3:内置看板视图,支持任务管理和 AI 辅助追踪
| 平台 | 安装方式 | 注意事项 |
|---|---|---|
| Windows | NSIS 安装包 / Portable | 未签名,SmartScreen 会报警,点「更多信息→仍要运行」即可 |
| macOS | DMG 安装包 | 需要启用开发者签名验证(Gatekeeper) |
| Linux | AppImage / deb / rpm | RPM 未 GPG 签名,Fedora 需加 --nogpgcheck |
| 开发者 | npm install && npm run dev | 需要 Node.js >= 18 |
git clone https://github.com/fathah/hermes-desktop
cd hermes-desktop
npm install
npm run dev # 开发模式
npm run build # 构建生产包
npm run build:win # Windows 构建
npm run build:linux # Linux 构建
CI/CD 使用 GitHub Actions,在每次 PR 和 main 分支推送时运行 TypeScript 类型检查和 vitest 单元测试,确保代码质量。
作为一个快速发展中的项目,Hermes Desktop 也面临一些现实挑战:
安装门槛存在摩擦:Windows 用户首次安装需要绕过 SmartScreen 警告,WSL 用户在 Playwright 依赖安装时可能遇到 sudo TTY 问题。虽然文档中有说明,但对普通用户仍可能造成困惑。
Electron 的体积与性能:打包后的应用包含完整的 Chromium 运行时,Windows 安装包在 200MB 以上。每次启动需要初始化 Electron 主进程和渲染进程,冷启动时间约 3-5 秒。
远程模式的 API Key 安全:SSH 远程模式下,API Key 需要通过配置文件传递,虽然支持加密存储,但在共享工作环境中的最佳实践仍需用户自行把握。
多 Profile 的资源占用:每个 Profile 启动独立的 Hermes Agent 子进程,如果同时运行多个 Profile,内存占用会线性增长。
Hermes Desktop 的出现,反映了 AI Agent 从「云端对话」向「本地深度集成」演进的趋势。通过 Electron + Hermes Agent 的组合,它验证了一种可行性:开源社区可以在不依赖大厂平台的前提下,构建功能完整的本地 AI 工作站。
项目背后是 Nous Research 团队在 AI Agent 基础设施上的持续投入。Hermes Agent 的工具调用框架、记忆系统和自改进回路,在桌面应用的加持下获得了更好的可访问性。这种「CLI 核心 + GUI 外壳」的架构模式,也为其他开源 AI 工具的桌面化提供了参考路径。
截至目前,GitHub Stars 突破 12,000、持续活跃的 issue 讨论和社区赞助,表明市场对桌面 AI Agent 工具确实存在真实需求。随着 AI 模型能力的持续提升和本地推理效率的优化,这类工具的价值空间有望进一步扩大。
Hermes Desktop 是一款功能完善的 AI Agent 桌面前端,基于 Electron + React + TypeScript 构建,为开源 Hermes Agent 提供图形化管理和深度工作流集成能力。它通过多进程安全架构、多 Profile 管理、Messaging Gateway、Kanban 等功能,将 AI 助手从终端里解放出来,变成真正的桌面级生产力工具。虽然安装过程有少量摩擦、Electron 架构带来一定的体积和资源开销,但其开源透明、扩展性强的特点,使其成为当前最值得关注的开源 AI 桌面应用之一。