效率与协作 hermes-agentself-hostedweb-uisse-streamingsession-managementcron-schedulingworkspace-files

Hermes Web UI

在浏览器或手机中使用自托管 Hermes Agent 的完整操作界面。

FollowAgents 评估 · FARS-2.1
不推荐
51/ 100 五分制 2.6 / 5
1 2 3 4 5 6
按维度查看评分与理由
1信任安全8 / 29 · 1.4/5

证据显示:密码认证默认关闭,但提供可选密码、passkey、OIDC;有安全头、SRI、20MB限制;危险shell命令有批准卡;附件存储在workspace外;依赖仅pyyaml和cryptography,但未提供依赖漏洞扫描或锁定。扣分:未提供最小权限原则的明确说明,如进程权限、文件系统访问范围;用户确认机制仅针对shell命令,其他操作如文件删除、配置更改可能无确认;数据流透明度有限,未说明数据如何传输至外部服务;敏感数据处理如API密钥存储方式未明确;依赖安全未提供漏洞扫描或锁定;外部效果如cron任务、消息发送未明确限制;回滚机制未提及;来源归属仅通过README和pyproject,但发布者未验证。

2可靠稳定9 / 14 · 3.2/5

证据显示:README和代码注释一致,功能描述详细;依赖列表明确,但未提供版本锁定;失败消息如TTS和Office预览返回503并提示安装。扣分:自洽性良好但未提供运行时验证;依赖可用性未提供锁定或镜像;失败消息虽存在但未覆盖所有场景。

3适用触发12 / 18 · 3.3/5

证据显示:面向自托管用户,支持多种部署方式(本地、Docker、Nix);能力边界明确,如不支持原生Windows;触发精度高,如环境变量和命令参数明确;环境适配良好,支持Linux/macOS/WSL2。扣分:受众和场景描述充分但未提供具体用例;能力边界虽明确但未提供完整限制列表;触发精度高但未提供所有配置的详细说明;环境适配良好但未提供所有平台的测试证据。

4规范维护10 / 18 · 2.8/5

证据显示:README结构清晰,包含目录、快速开始、功能、配置等;安装说明详细,包括bootstrap.py、start.sh、ctl.sh;命名稳定,如HERMES_WEBUI_*环境变量;示例和FAQ通过docs目录提供;已知限制在README中提及(如Windows不支持);许可证为MIT;版本和变更日志未提供明确文件,但pyproject使用setuptools-scm;维护责任通过GitHub issues和贡献者列表体现。扣分:信息架构良好但未提供完整文档索引;安装说明详细但未提供所有平台;命名稳定但未提供版本历史;示例和FAQ未提供具体内容;已知限制未全面;许可证明确;版本和变更日志未提供;维护责任未明确。

5有效结果9 / 13 · 3.5/5

证据显示:输出可用性高,提供多种导出格式(Markdown、JSON);边际价值高,提供CLI parity和Web UI;成本效益良好,依赖少,无构建步骤。扣分:输出可用性未提供实际输出示例;边际价值未提供对比数据;成本效益未提供性能或资源使用数据。

6证据核验3 / 8 · 1.9/5

证据显示:README中的功能声明有截图和文档支持;跨来源验证有限,仅依赖README和代码;事实和推断分离不明确。扣分:声明可追溯性不足,未提供具体测试结果;跨来源验证不足,未提供第三方验证;事实和推断分离不明确,README中混合了事实和营销语言。

证据充分度: 评估于 2026年8月9日 审查版本 0b839f7ef8e7
上游仓库在本次评估后已有新提交;当前评分仍对应所示审查版本,可能尚未覆盖最新改动。
源码中未见的安全控制:回滚或恢复路径
使用前请注意
  • 密码认证默认关闭,若部署在非localhost环境需显式启用并配置强密码。
  • 依赖未锁定版本,建议使用虚拟环境并定期更新。
  • 未提供回滚机制,升级前应备份状态目录。
  • 发布者未验证,使用前应审查代码。
查看完整评分方法 →

这个 Agent 能做什么,适合哪些场景?

Hermes Web UI 是 Hermes Agent 的轻量级浏览器界面,以 Python 标准库 HTTP 服务端和原生 JavaScript 前端实现,无需构建步骤、框架或打包器。它提供三栏布局:会话与导航、流式聊天,以及工作区文件浏览,并把模型、配置档和工作区选择放在输入区底部。WebUI 默认在进程内运行 Hermes Agent,直接读取 HERMES_HOME 配置和既有模型配置,而非将聊天请求转发给外部 Hermes API 服务。它可管理会话、项目、标签、定时任务、技能、记忆、配置档和工作区文件,并可通过 SSH 隧道、Tailscale、Docker 或 Nix/NixOS 部署访问。适合已运行 Hermes Agent、希望从桌面浏览器或手机持续使用同一 Agent 状态的人;采用时应将 WebUI 与 Hermes Agent 一同升级,因为当前运行时仍直接依赖 Agent 内部模块和状态布局。

启动 bootstrap.py、start.sh 或 ctl.sh 后,server.py 提供 HTTP 路由、认证中间件和 /health 健康检查;api/streaming.py 通过 SSE 调用 run_agent 并支持取消和压缩。前端的 messages.js 发送消息、接收增量输出并恢复会话,sessions.js 管理会话 CRUD、搜索、导入导出及 CLI state.db 会话桥接,workspace.js 可浏览、预览、创建、编辑、重命名、删除和下载工作区文件。api/routes.py 处理 GET 与 POST 路由,api/auth.py 可启用密码、签名 Cookie、通行密钥和 OIDC,api/profiles.py 切换 Hermes 配置档,面板可操作 cron 任务、技能、MEMORY.md 与 USER.md。聊天中会显示工具调用卡、子 Agent 委派卡、Mermaid 图、推理块和上下文用量;对危险 shell 命令可显示批准卡。

  1. 已在家用服务器或 VM 上运行 Hermes Agent 的用户,希望通过 SSH 隧道在笔记本浏览器中查看同一批会话、记忆和工作区。
  2. 需要在手机上使用 Agent 的个人用户,可配合 Tailscale、HERMES_WEBUI_HOST=0.0.0.0 和 HERMES_WEBUI_PASSWORD 访问 WebUI。
  3. 需要长期组织 Agent 工作的研究者或开发者,可用项目、标签、置顶、归档、全文搜索和 Markdown/JSON 导出管理会话。
  4. 让 Hermes 在离线时运行 cron 工作的用户,可在 Tasks 面板创建、编辑、执行、暂停或删除定时任务,并查看运行历史和完成提醒。
  5. 需要让 Agent 处理本地项目文件的用户,可在右侧工作区面板预览代码、Markdown、图片与 Git 状态,并直接进行文件操作。
  6. 维护多个模型或环境配置的用户,可创建、克隆和切换 Hermes 配置档,并在每个会话中保留创建时的配置档记录。

这个 Agent 有哪些优点和局限?

优点
  • 默认进程内使用既有 Hermes Agent、HERMES_HOME 和模型配置,不需要另建聊天 API 服务或重新录入会话状态。
  • 把流式聊天、会话组织、cron、技能、记忆、配置档和可编辑的工作区文件浏览整合在同一个自托管界面中。
  • 使用 SSE 流式传输并具备自动重连、队列发送、取消、历史消息编辑和重试等长任务交互能力。
  • 提供 bootstrap、守护脚本、Docker Compose、双/三容器方案,以及 Nix flake 和 NixOS 服务模块。
  • 支持多家 Hermes API 提供商,并明确列出 OpenAI、Anthropic、Google、DeepSeek、Nous Portal、OpenRouter、MiniMax、Xiaomi MiMo 与 Z.AI。
局限
  • 当前直接导入 Hermes Agent 模块并读取其状态布局;版本错配可能造成导入或行为漂移,文档要求两者一起升级或固定版本。
  • 必须已有 Hermes Agent、可用 Python 环境和已配置的模型提供商;系统 Python 可能缺少 openai、httpx 等 Agent 依赖。
  • 默认仅绑定 localhost;通过 Tailscale 或直接暴露网络端口时需要配置 HERMES_WEBUI_HOST,并建议或要求设置密码认证。
  • 双容器部署中,从 WebUI 触发的工具运行在 WebUI 容器而不是 Agent 容器;缺少 git、node 等工具时需要改用单容器或扩展镜像。
  • 原生 Windows bootstrap 不受支持;社区原生 Windows 方案还存在 POSIX 路径显示和依赖 bash 的 Agent 工具可能不可用等限制。

如何安装或部署这个 Agent?

先完成 Hermes Agent 的配置,并通过 Hermes 配置设置可用的模型提供商。然后执行:

git clone https://github.com/nesquena/hermes-webui.git hermes-webui
cd hermes-webui
python3 bootstrap.py

bootstrap.py 会检测 Hermes Agent;若缺失会尝试官方安装器,创建或查找 WebUI 依赖所需的 Python 环境,启动服务器并等待 /health,随后打开浏览器。原生 Windows 尚不支持此 bootstrap;可使用 Linux、macOS 或 WSL2。也可使用 ./start.sh 启动;测试运行器支持 Python 3.11、3.12 和 3.13。

如何使用这个 Agent?

首次启动后,在浏览器完成引导;若模型提供商尚未配置,引导会要求使用 hermes model 完成配置。默认服务绑定 127.0.0.1:8787,聊天直接使用当前 HERMES_HOME 的 Hermes Agent 配置。在聊天输入区发送消息,使用 /help、/model <name>、/workspace <name>、/new、/usage 或 /theme 等命令;通过 Control Center 管理导入导出、偏好设置和系统选项。远程访问可在服务器上保持默认绑定并执行 ssh -N -L 8787:127.0.0.1:8787 user@host,然后打开本机 http://127.0.0.1:8787。若以 ./ctl.sh start 作为守护进程启动,可用 ./ctl.sh status、./ctl.sh logs --lines 100 和 ./ctl.sh stop 运维。

这个 Agent 与同类方案有什么区别?

仓库将 Hermes 与 OpenClaw、Claude Code、Codex CLI 和 OpenCode 对比。其定位差异是:Hermes 提供自动跨会话记忆、自托管 cron、10 多种消息平台接入及自我保存技能;该仓库为这些 Hermes 能力提供自托管 Web UI。与 Claude Code 或 Codex CLI 相比,WebUI 的聊天界面还可呈现子 Agent 委派活动;README 同时说明 Hermes 可编排 Claude Code 或 Codex 处理重型编码任务。

常见问题

它会把聊天转发到一个外部 Hermes API 服务吗?
默认不会。WebUI 在进程内运行 Hermes Agent,直接读取 HERMES_HOME 配置;HERMES_API_URL 仅用于 Tasks/cron 健康探针。可通过 HERMES_WEBUI_CHAT_BACKEND=gateway 改为 Gateway 支持的聊天路径。
可以使用哪些模型提供商?
它使用 Hermes API provider 配置,README 明确列出 OpenAI、Anthropic、Google、DeepSeek、Nous Portal、OpenRouter、MiniMax、Xiaomi MiMo 和 Z.AI,也支持添加自定义 OpenAI 兼容提供商。
远程或手机访问如何保护?
默认监听 127.0.0.1。远程使用可通过 SSH 隧道,或在 Tailscale 网络中设置 HERMES_WEBUI_HOST=0.0.0.0 并设置 HERMES_WEBUI_PASSWORD;还可选择密码、通行密钥或原生 OIDC。
会话和文件保存在哪里?
默认状态目录为 ~/.hermes/webui/,保存会话、工作区、设置、项目和 last_workspace;可用 HERMES_WEBUI_STATE_DIR 覆盖。附件默认存放在 ~/.hermes/webui/attachments/<session_id>/,而非活动工作区。
Docker 多容器方式适合开发工具工作流吗?
需审慎评估。文档明确指出双容器方案中工具在 WebUI 容器执行,因此若该容器没有 git、node 或其他所需工具,应使用单容器、扩展 Dockerfile 或采用其他方案。

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents