14 KiB
本项目处于活跃开发阶段。 功能可能会发生变化,某些功能也可能会失效。如果您遇到问题或有好的想法,请 提交 Issue。欢迎贡献代码!
语言
- English:
README.md - 简体中文:
README.zh-CN.md - 日本語:
README.ja-JP.md
Hermes Desktop 是一款原生的桌面应用程序,用于安装、配置并与 Hermes Agent 进行聊天——这是一款具备工具调用、多平台消息传递和闭环学习能力的自我进化的 AI 助手。
无需手动管理命令行界面 (CLI),该应用可在一个统一界面中引导您完成安装、提供商设置以及日常使用。它使用官方的 Hermes 安装脚本,将 Hermes 存储在 ~/.hermes 目录下,并为您提供涵盖聊天、会话、配置、记忆、技能、工具、计划任务、消息网关等功能的图形界面。
安装
Windows
Windows 用户注意: 安装程序未进行代码签名。首次启动时 Windows SmartScreen 会弹出警告——请点击“更多信息” → “仍要运行”。
WSL 用户注意: 如果安装程序停滞在
Switching to root user to install dependencies...,这说明 Playwright 正在等待输入 sudo 密码,但在没有 TTY 的情况下无法读取。请在安装期间授予无密码的 sudo 权限,完成后再恢复:echo "$USER ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/hermes-install # …重新运行安装程序;完成后执行: sudo rm /etc/sudoers.d/hermes-install详情请见 #109。
Fedora (RPM)
sudo dnf install ./hermes-desktop-<version>.rpm
Fedora 用户注意:
.rpm包没有 GPG 签名。如果您的系统强制检查签名,请在安装命令后添加--nogpgcheck。.rpm构建不支持自动更新(这是electron-updater的限制);若要更新,请重新安装新的.rpm包。
预览
聊天 (Chat)![]() |
配置 (Profiles)![]() |
模型 (Models)![]() |
提供商 (Providers)![]() |
工具 (Tools)![]() |
技能 (Skills)![]() |
计划任务 (Schedules)![]() |
网关 (Gateway)![]() |
人格 (Persona)![]() |
看板 (Kanban)![]() |
办公室 (Office)![]() |
设置 (Settings)![]() |
功能特性
- 向导式初次安装:带有进度跟踪和依赖解析的 Hermes Agent 引导安装。
- 本地或远程后端:可在本地
127.0.0.1:8642运行 Hermes,或通过 URL 和 API 密钥将桌面应用连接到远程的 Hermes API 服务器。 - 多提供商支持:OpenRouter, Anthropic, OpenAI, Google (Gemini), xAI (Grok), Nous Portal, Qwen, MiniMax, Hugging Face, Groq, 以及本地兼容 OpenAI 格式的端点 (LM Studio, Ollama, vLLM, llama.cpp)。
- 流式聊天界面:具有 SSE 流式传输、工具进度指示、Markdown 渲染和语法高亮。
- Token 使用情况追踪:在聊天底部显示实时的 Prompt/补全 Token 计数及预估费用,并可通过
/usage斜杠命令查看。 - 22 个斜杠命令:
/new,/clear,/fast,/web,/image,/browse,/code,/shell,/usage,/help,/tools,/skills,/model,/memory,/persona,/version,/compact,/compress,/undo,/retry,/debug,/status等等。 - 会话管理:全文检索 (SQLite FTS5)、按日期分组的历史记录、在会话之间继续聊天或搜索。
- 配置切换 (Profile):创建、删除并切换不同的 Hermes 环境,配置完全隔离。
- 14 种工具集:网络、浏览器、终端、文件、代码执行、视觉识别、图像生成、语音合成 (TTS)、技能、记忆、会话搜索、澄清询问、委托调度、混合专家模型 (MoA) 和任务规划。
- 记忆系统:查看/编辑记忆条目和用户资料记忆,追踪容量,并发现不同的记忆提供商(如 Honcho, Hindsight, Mem0, RetainDB, Supermemory, ByteRover)。
- 人格编辑器:编辑并重置您的代理 (Agent) 的
SOUL.md人格设定。 - 已保存模型:跨不同提供商对模型配置进行增删改查。
- 计划任务:支持 15 种推送目标的 Cron 任务构建器(分钟、小时、每日、每周、自定义 Cron)。
- 16 个消息网关:Telegram, Discord, Slack, WhatsApp, Signal, Matrix/Element, Mattermost, Email (IMAP/SMTP), SMS (Twilio & Vonage), iMessage (BlueBubbles), 钉钉 (DingTalk), 飞书 (Feishu/Lark), 企业微信 (WeCom), 微信 (WeChat iLink Bot), Webhooks 和 Home Assistant。
- Hermes 办公室 (Claw3d):具有开发服务器和适配器管理功能的可视化 3D 界面。
- 备份、导入与诊断导出:可在设置面板中完成完整的数据备份/恢复,并进行系统诊断。
- 日志查看器:直接在设置界面中查看网关和代理的运行日志。
- 自动更新:通过
electron-updater检查并安装更新。 - 国际化 (i18n):预置英文语言环境,涵盖所有界面,并已为社区翻译做好框架准备。
- 测试套件:涵盖 SSE 解析器、IPC 处理程序、预加载 API、安装程序工具以及常数验证的 Vitest 测试用例。
运行原理
在首次启动时,应用会:
- 询问您是希望在本地运行 Hermes,还是连接到远程的 Hermes API 服务器。
- 本地模式: 检查
~/.hermes目录下是否已安装 Hermes;如果未安装,则运行官方 Hermes 安装脚本并解决依赖关系 (Git, uv, Python 3.11+)。 - 远程模式: 提示输入远程 API URL 和 API 密钥,验证连接,并跳过本地安装。
- 提示输入 API 提供商或本地模型端点。
- 将提供商配置和 API 密钥保存至 Hermes 配置文件。
- 设置完成后启动主工作区。
在本地模式下,聊天请求会通过带有 SSE 流的 http://127.0.0.1:8642 发送。在远程模式下,应用程序通过相同的流协议与您配置的远程 URL 进行通信。桌面应用会实时解析数据流,并在接收时渲染工具进度、Markdown 内容以及 token 消耗。
界面说明
| 界面 (Screen) | 描述 (Description) |
|---|---|
| 聊天 (Chat) | 支持斜杠命令、工具进度展示和 token 跟踪的流式对话界面 |
| 会话 (Sessions) | 浏览、搜索并恢复过去的对话 |
| 代理 (Agents) | 创建、删除和在不同的 Hermes 配置 (Profile) 之间切换 |
| 技能 (Skills) | 浏览、安装并管理内置及已安装的技能 |
| 模型 (Models) | 管理并保存各个提供商的模型配置 |
| 记忆 (Memory) | 查看/编辑记忆条目、用户配置,并配置记忆提供商 |
| 灵魂 (Soul) | 编辑当前活动配置的代理人格设定 (SOUL.md) |
| 工具 (Tools) | 启用或禁用特定的工具集 |
| 计划 (Schedules) | 创建并管理定时任务及推送目标 |
| 网关 (Gateway) | 配置和控制各类消息平台集成 |
| 办公室 (Office) | Claw3d 可视化界面设置及管理 |
| 设置 (Settings) | 提供商配置、凭证池、备份/导入、日志查看器、网络设置、主题 |
支持的提供商
大语言模型 (LLM) 提供商
| 提供商 (Provider) | 备注说明 (Notes) |
|---|---|
| OpenRouter | 通过单一 API 访问 200+ 种模型 (推荐使用) |
| Anthropic | 直接访问 Claude 模型 |
| OpenAI | 直接访问 GPT 模型 |
| Google (Gemini) | Google AI Studio |
| xAI (Grok) | Grok 模型 |
| Nous Portal | 提供免费额度 |
| Qwen (通义千问) | QwenAI 模型 |
| MiniMax | 包含全球与中国区端点 |
| Hugging Face | 通过 HF Inference 访问 20+ 开源模型 |
| Groq | 快速推理 (支持语音/STT) |
| 本地/自定义 (Local/Custom) | 任何兼容 OpenAI 格式的端点 |
内置以下本地模型预设:LM Studio, Ollama, vLLM, llama.cpp。
消息平台
Telegram, Discord, Slack, WhatsApp, Signal, Matrix/Element, Mattermost, 电子邮件 (IMAP/SMTP), 短信 (Twilio & Vonage), iMessage (BlueBubbles), 钉钉 (DingTalk), 飞书 (Feishu/Lark), 企业微信 (WeCom), 微信 (WeChat iLink Bot), Webhooks 和 Home Assistant。
工具集成
Exa Search, Parallel API, Tavily, Firecrawl, FAL.ai (图像生成), Honcho, Browserbase, Weights & Biases 和 Tinker。
开发
前置要求
- Node.js 和 npm
- 能够运行 Hermes 安装程序的类 Unix Shell 环境
- 首次运行安装 Hermes 时需要网络连接
安装依赖
npm install
在开发模式下启动应用
npm run dev
运行检查
npm run lint
npm run typecheck
运行测试
npm run test
npm run test:watch
构建桌面应用
npm run build
各平台打包命令:
npm run build:mac
npm run build:win
npm run build:linux
npm run build:rpm # 仅适用于 Fedora/RHEL 的 .rpm 格式
首次运行设置
当应用首次打开时,它会自动检测是否存在已安装的 Hermes 实例,或者提供帮您进行自动安装的选项。
UI 中支持的设置路径:
OpenRouterAnthropicOpenAI- 通过兼容 OpenAI API 基础 URL 接入的
本地大语言模型 (Local LLM)
内置预设包含:
- LM Studio
- Ollama
- vLLM
- llama.cpp
Hermes 的相关文件统一管理于以下目录:
~/.hermes~/.hermes/.env~/.hermes/config.yaml~/.hermes/hermes-agent~/.hermes/profiles/— 命名配置文件目录~/.hermes/state.db— 会话历史数据库~/.hermes/cron/jobs.json— 计划任务
技术栈
- Electron 39 — 跨平台桌面外壳
- React 19 — UI 框架
- TypeScript 5.9 — 跨主进程和渲染进程的类型安全
- Tailwind CSS 4 — 实用优先的样式库
- Vite 7 + electron-vite — 快速开发服务器及构建工具
- better-sqlite3 — 带有 FTS5 全文搜索功能的本地会话存储
- i18next — 国际化框架
- Vitest — 测试运行器
注意事项
- 此桌面应用依赖上游的 Hermes Agent 项目来处理代理行为和工具执行。
- 内置安装程序会通过带有
--skip-setup参数的方式运行官方 Hermes 安装脚本,然后在 GUI 界面中完成提供商相关的配置。 - 本地模型提供商不需要 API 密钥,但您必须确保兼容的服务器已经在运行中。
- 在网络受限的环境下,支持配置备用的 npm 镜像源路由。
参与贡献
欢迎大家参与贡献!查看 参与贡献指南 (Contributing Guide) 以开始。如果您不知从何入手,可以看一看 开启的 Issues。发现了 Bug 或是对功能有新的需求? 提交一个 Issue。
相关项目
如果想了解核心代理功能、详细文档及命令行 (CLI) 的工作流程,请查阅主仓库 Hermes Agent:












