以下是您要求的英文文章的中文翻译,已按照保留原文结构、技术术语不翻译、代码块保持原样等要求处理。
nesquena / hermes-webui
Hermes Web UI
Hermes Agent 是一个复杂的自主智能体,它驻留在你的服务器上,通过终端或即时通讯应用访问,能够记住所学内容,并且运行时间越长能力越强。Hermes WebUI 是一个轻量级、深色主题的 Web 应用界面,运行在你的浏览器中,用于控制 Hermes Agent。它与 CLI 体验完全一致——你在终端中能做的所有操作,都能在这个 UI 中完成。无需构建步骤,无需框架,无需打包工具。仅需 Python 和原生 JavaScript。
布局:三面板结构。左侧边栏用于会话和导航,中央区域用于聊天,右侧区域用于工作区文件浏览。模型、配置文件和 workspace 控件位于 composer 底部栏中——在编辑消息时始终可见。一个圆形上下文环可让你一目了然地查看 token 使用情况。所有设置和会话工具都位于 Hermes 控制中心(侧边栏底部的启动器)。
- 支持浅色模式,并拥有完整的配置文件支持
- 自定义你的设置,配置密码
- 工作区文件浏览器,支持内联预览
- 会话项目、标签和工具调用卡片
这让你能够通过便捷的 Web UI 获得与 Hermes CLI 几乎 1:1 一致的功能体验,并且你可以通过 SSH 隧道从你的 Hermes 设置中安全地访问它。只需一条命令即可启动,再一条命令即可通过 SSH 隧道在你的电脑上访问。Web UI 的每一个部分都使用你现有的 Hermes agent 和现有模型,无需任何额外设置。
目录
- [为什么选择 Hermes](#为什么选择-hermes) — 它是什么以及如何比较
- [快速开始](#快速开始) — clone + bootstrap.py / start.sh / ctl.sh
- [功能特性](#功能特性) — 聊天、会话、工作区、语音、配置文件、安全、主题、面板、移动端
- [配置与访问](#配置与访问) — 自动发现、覆盖配置、远程/Tailscale/手机、手动启动
- [Docker](#docker) — 单容器和多容器部署
- [运行测试](#运行测试)
- [架构](#架构) — 后端/前端布局、状态目录
- [文档](#文档) — 完整文档索引
- [贡献者](#贡献者)
为什么选择 Hermes
大多数 AI 工具在每个会话后都会重置。它们不知道你是谁,你之前做了什么,或者你的项目遵循什么约定。你每次都要重新解释自己。Hermes 能够跨会话保留上下文,在你离线时运行定时任务,并且运行时间越长,对你的环境就越了解。它使用你现有的 Hermes agent 设置和现有模型,无需额外配置即可启动。
它与其他智能体工具的不同之处在于:
- 持久化记忆 — 用户配置文件、agent 笔记,以及一个保存可重用流程的技能系统;Hermes 学习你的环境,无需重新学习
- 自托管调度 — 在你离线时触发的 cron 任务,并将结果发送到 Telegram、Discord、Slack、Signal、电子邮件等
- 10+ 即时通讯平台 — 终端中可用的同一个 agent,也能在手机上访问
- 自我改进的技能 — Hermes 根据经验自动编写并保存自己的技能;无需浏览市场,无需安装插件
- 提供商无关 — 支持 OpenAI、Anthropic、Google、DeepSeek、OpenRouter 等
- 编排其他 agent — 可以生成 Claude Code 或 Codex 来处理繁重的编码任务,并将结果带回自己的记忆
- 自托管 — 你的对话、你的记忆、你的硬件
与同类工具的对比(领域正在积极变化——完整分析请参见 docs/why-hermes.md)
| 特性 | OpenClaw | Claude Code | Codex CLI | OpenCode | Hermes | |---|---|---|---|---|---| | 持久化记忆(自动) | 是 | 部分† | 部分 | 部分 | 是 | | 定时任务(自托管) | 是 | 否‡ | 否 | 否 | 是 | | 即时通讯访问 | 是(15+ 平台) | 部分(Telegram/Discord 预览) | 否 | 否 | 是(10+) | | Web UI(自托管) | 仅仪表盘 | 否 | 否 | 是 | 是 | | 自我改进技能 | 部分 | 否 | 否 | 否 | 是 | | Python / ML 生态 | 否(Node.js) | 否 | 否 | 否 | 是 | | 提供商无关 | 是 | 否(仅 Claude) | 是 | 是 | 是 | | 开源 | 是(MIT) | 否 | 是 | 是 | 是 |
† Claude Code 拥有 CLAUDE.md / MEMORY.md 项目上下文和滚动自动记忆,但没有完整的自动跨会话回忆功能 ‡ Claude Code 拥有云端管理的调度(Anthropic 基础设施)和会话范围的 /loop;没有自托管的 cron
最接近的竞争对手是 OpenClaw——两者都是始终在线、自托管、开源的 agent,具备记忆、cron 和即时通讯功能。主要区别在于:Hermes 将自动编写和保存自己的技能作为核心行为(OpenClaw 的技能系统以社区市场为中心);Hermes 在更新中更稳定(OpenClaw 有记录的发布回归问题,且 ClawHub 曾发生过涉及恶意技能的安全事件);并且 Hermes 原生运行在 Python 生态系统中。完整的并排比较请参见 docs/why-hermes.md。
快速开始
运行仓库的 bootstrap:
git clone https://github.com/nesquena/hermes-webui.git hermes-webui
cd hermes-webui
python3 bootstrap.py
或者继续使用 shell 启动器:
./start.sh
对于自托管的 VM 或 homelab 安装,ctl.sh 封装了常见的守护进程生命周期命令,无需使用 fuser 或 pkill:
./ctl.sh start # 后台守护进程,PID 位于 ~/.hermes/webui.pid
./ctl.sh status # PID、运行时间、绑定的主机/端口、日志路径、/health
./ctl.sh logs --lines 100 # 查看 ~/.hermes/webui.log 的末尾
./ctl.sh restart
./ctl.sh stop
ctl.sh start 在守护进程包装器后面以前台/无浏览器模式运行 bootstrap,将日志写入 ~/.hermes/webui.log,并遵循 .env 以及内联覆盖配置,例如 HERMES_WEBUI_HOST=0.0.0.0 ./ctl.sh start。
高级功能:动态回忆预填充与 Gateway 支持的聊天
两个可选的、自托管部署功能——将动态会话回忆预填充附加到浏览器轮次(Joplin/Obsidian/Notion/llm-wiki 路由器),以及通过正在运行的 Hermes Gateway 路由浏览器聊天——已在 docs/advanced-chat-setup.md 中记录。大多数用户不需要这些功能。
bootstrap 将执行以下操作:
- 检测 Hermes Agent,如果缺失,则尝试官方安装程序(
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash)。 - 查找或创建一个包含 WebUI 依赖项的 Python 环境。
- 启动 Web 服务器并等待
/health就绪。 - 打开浏览器,除非你传递了
--no-browser参数。 - 将你带入 WebUI 内的首次运行引导向导。
此 bootstrap 目前不支持原生 Windows。