HERMES DESKTOP

文档 Telegram License: MIT 下载 Stars 下载量

> **本项目处于活跃开发阶段。** 功能可能会发生变化,某些功能也可能会失效。如果您遇到问题或有好的想法,请 [提交 Issue](https://github.com/fathah/hermes-desktop/issues)。欢迎贡献代码! ## 语言 - English: `README.md` - 简体中文: `README.zh-CN.md` - 日本語: `README.ja-JP.md` Hermes Desktop 是一款原生的桌面应用程序,用于安装、配置并与 [Hermes Agent](https://github.com/NousResearch/hermes-agent) 进行聊天——这是一款具备工具调用、多平台消息传递和闭环学习能力的自我进化的 AI 助手。 无需手动管理命令行界面 (CLI),该应用可在一个统一界面中引导您完成安装、提供商设置以及日常使用。它使用官方的 Hermes 安装脚本,将 Hermes 存储在 `~/.hermes` 目录下,并为您提供涵盖聊天、会话、配置、记忆、技能、工具、计划任务、消息网关等功能的图形界面。 ## 安装 Download Now ### Windows > **Windows 用户注意:** 安装程序未进行代码签名。首次启动时 Windows SmartScreen 会弹出警告——请点击“更多信息” → “仍要运行”。 > **WSL 用户注意:** 如果安装程序停滞在 `Switching to root user to install dependencies...`,这说明 Playwright 正在等待输入 sudo 密码,但在没有 TTY 的情况下无法读取。请在安装期间授予无密码的 sudo 权限,完成后再恢复: > > ```bash > echo "$USER ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/hermes-install > # …重新运行安装程序;完成后执行: > sudo rm /etc/sudoers.d/hermes-install > ``` > > 详情请见 [#109](https://github.com/fathah/hermes-desktop/issues/109)。 ### Fedora (RPM) ```bash sudo dnf install ./hermes-desktop-.rpm ``` > **Fedora 用户注意:** `.rpm` 包没有 GPG 签名。如果您的系统强制检查签名,请在安装命令后添加 `--nogpgcheck`。`.rpm` 构建不支持自动更新(这是 `electron-updater` 的限制);若要更新,请重新安装新的 `.rpm` 包。 ## 预览
聊天 (Chat)
Chat
配置 (Profiles)
Profiles
模型 (Models)
Models
提供商 (Providers)
Providers
工具 (Tools)
Tools
技能 (Skills)
Skills
计划任务 (Schedules)
Schedules
网关 (Gateway)
Gateway
人格 (Persona)
Persona
看板 (Kanban)
Kanban
办公室 (Office)
Office
设置 (Settings)
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 测试用例。 ## 运行原理 在首次启动时,应用会: 1. 询问您是希望在**本地**运行 Hermes,还是连接到**远程**的 Hermes API 服务器。 2. **本地模式:** 检查 `~/.hermes` 目录下是否已安装 Hermes;如果未安装,则运行官方 Hermes 安装脚本并解决依赖关系 (Git, uv, Python 3.11+)。 3. **远程模式:** 提示输入远程 API URL 和 API 密钥,验证连接,并跳过本地安装。 4. 提示输入 API 提供商或本地模型端点。 5. 将提供商配置和 API 密钥保存至 Hermes 配置文件。 6. 设置完成后启动主工作区。 在本地模式下,聊天请求会通过带有 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 时需要网络连接 ### 安装依赖 ```bash npm install ``` ### 在开发模式下启动应用 ```bash npm run dev ``` ### 运行检查 ```bash npm run lint npm run typecheck ``` ### 运行测试 ```bash npm run test npm run test:watch ``` ### 构建桌面应用 ```bash npm run build ``` 各平台打包命令: ```bash npm run build:mac npm run build:win npm run build:linux npm run build:rpm # 仅适用于 Fedora/RHEL 的 .rpm 格式 ``` ## 首次运行设置 当应用首次打开时,它会自动检测是否存在已安装的 Hermes 实例,或者提供帮您进行自动安装的选项。 UI 中支持的设置路径: - `OpenRouter` - `Anthropic` - `OpenAI` - 通过兼容 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)](CONTRIBUTING.md) 以开始。如果您不知从何入手,可以看一看 [开启的 Issues](https://github.com/fathah/hermes-desktop/issues)。发现了 Bug 或是对功能有新的需求? [提交一个 Issue](https://github.com/fathah/hermes-desktop/issues/new)。 ## 相关项目 如果想了解核心代理功能、详细文档及命令行 (CLI) 的工作流程,请查阅主仓库 Hermes Agent: - https://github.com/NousResearch/hermes-agent