Hermes HUD UI:给 AI Agent 装一块浏览器仪表盘

lxiol
📝
Hermes HUD UI 将 Hermes Agent 的状态数据可视化到浏览器,17 个 Tab 实时监控记忆、会话、成本、Cron 等全部维度,三个礼拜迭代七个版本。

原文链接:https://mp.weixin.qq.com/s/Xu7sTjcgt6M0hx1ZG2IIkA

Hermes HUD UI 将 Hermes Agent 的状态数据可视化到浏览器,17 个 Tab 实时监控记忆、会话、成本、Cron 等全部维度,三个礼拜迭代七个版本。

Hermes HUD UI[1] 把 Hermes Agent 的全部状态数据读出来,摊开到一个浏览器仪表盘里。记忆、会话、成本、定时任务、sudo 审批日志——17 个 Tab,WebSocket 实时刷新,开箱即用。

我一开始以为这只是个简陋的状态查看器。翻完源码后发现,它在读写安全、实时性能和 CLI 适配上做了不少取舍,值得展开看看。

Hermes HUD UI 的 Dashboard 和 Token Costs 面板,展示 Agent 身份信息、记忆容量、每日活跃趋势和按模型拆分的费用估算

项目卡片

  • 项目:hermes-hudui[2]
  • 状态:v0.7.0 / 1285 Star / 三周从 0.1 到 0.7,七个版本
  • 一句话判断:如果你在用 Hermes Agent,这是目前最完整的可视化监控方案;没用 Hermes 则不需要关注

它解决什么问题

Hermes 是 NousResearch 的开源 AI Agent 框架,12 万+ Star,核心卖点是持久记忆——Agent 在会话之间记住用户偏好、项目上下文和纠错历史。所有数据存在 ~/.hermes/ 下:MEMORY.md 是记忆文件,state.db 是 SQLite 会话库,config.yaml 是配置,jobs.json 管定时任务。

问题是,这些数据分散在不同格式里,CLI 只能逐个查,想看全局得自己拼。Hermes HUD UI 把它们全部读出来,按职责分到 17 个面板:

  • Dashboard — 身份、记忆容量、服务健康、工具使用、日活趋势
  • Memory — Agent 记忆和用户画像,支持行内编辑
  • Sessions — 历史会话,支持全文搜索和会话回放
  • Chat — 直接在浏览器里和 Agent 对话,流式输出
  • Token Costs — 按模型拆分 USD 费用估算
  • Patterns — 任务聚类、每小时活跃热力图、重复 Prompt 检测
  • Sudo — sudo 命令历史和审批记录
  • Providers / Gateway / Model Info — OAuth 状态、网关控制、模型能力

整体架构:底层 ~/.hermes/ 数据文件通过 FastAPI collectors 采集,经 REST API 和 WebSocket 传递到 React 前端展示

快速上手

前置条件:Python 3.11+、Node.js 18+,以及一个已经在运行的 Hermes Agent。

1
2
3
4
5
`git clone https://github.com/joeynyc/hermes-hudui.git
cd hermes-hudui
./install.sh
source venv/bin/activate
hermes-hudui`

打开 http://localhost:3001。如果本地还没有 Hermes 数据目录,仪表盘会是空的——它只做展示,不生成数据。先跑几轮 Hermes Agent,数据自然就来了。

也可以自定义端口和数据路径:

1
`hermes-hudui --port 8080 --hermes-dir /path/to/hermes`

Profiles 面板展示 Agent 的多个配置档案,包括模型、Provider、Soul 摘要和工具集

工程上值得说的几个点

读不写,写也安全。 大部分 Tab 是只读的。写操作集中在三个地方:Memory 编辑、Cron 任务创建、Profile 编辑,全部用 fcntl.flock 加文件锁 + tempfile.mkstemp 原子写入,和 Hermes Agent 自身的 MemoryStore 锁模式一致。这类项目我一般先看失败处理——它的做法是同一把锁、同样的原子写入路径,没有另起一套。

实时但省 CPU。watchfiles 监听 ~/.hermes/ 变化,通过 WebSocket 广播 data_changed 事件,前端收到后自动刷新。关键细节:state.db 被排除在监听之外。早期版本 300ms 轮询整个 ~/.hermes/ 目录,包括几百 MB 的 SQLite 主库,直接把 CPU 打满(issue #22)。后来改到 2 秒轮询并过滤 DB 文件,问题解决。

Chat 是 CLI 子进程的包装器。 浏览器里的 Chat 功能不自己实现推理——每次发消息都启动 hermes chat -q "message" -Q --source tool 子进程,从 stdout 读流式输出,从 stderr 提取 session_id,再回 state.db 查工具调用和推理过程。标记 --source tool 让 HUD 产生的会话不在 Sessions Tab 里出现。这个设计简单粗暴,但绕开了自己管理推理状态的全部复杂度。

Token 费用是估算。 token_costs.py 里硬编码了 30+ 个模型的定价(覆盖 Claude、GPT、Gemini、DeepSeek、Grok 等主流系列),优先使用 state.dbactual_cost_usd 字段,没有则按 token 数 × 单价估算。未知模型按 Claude Opus 定价兜底——不算精准,但比完全没概念强。

补充一句:Hermes HUD UI 是同作者 hermes-hud[3](终端 TUI 版)的浏览器重写。两者读同一个 ~/.hermes/ 目录,可以同时运行。Web 版多出按模型拆分的 Token 成本、命令面板(Ctrl+K)、实时聊天和四套主题切换;TUI 版胜在 SSH 远程也能看。

要注意什么

只适用于 Hermes Agent。 这不是通用 Agent 监控工具,所有 collector 都硬编码了 Hermes 的数据格式(MEMORY.md\n§\n 分隔符、state.db 的表结构、config.yaml 的字段)。如果你不用 Hermes,这个项目和你无关。

默认绑定 127.0.0.1。 写操作端点(POST /api/cronPUT /api/profiles/{name}/edit)本质上是 RCE 级别的——它们会调用 hermes CLI 或直接写配置文件。v0.4 起默认绑定 localhost,CHANGELOG 明确标注了安全提示。如果暴露到公网,等于把 Agent 的全部操作权限交出去。

定价表需要手动维护。 模型定价是硬编码的 Python 字典,新模型上线需要手动添加,否则按兜底价格估算。这不是 API 调用,不会自动同步。

项目非常新。 2026 年 4 月 9 日创建,三个礼拜发布七个版本,节奏快但历史短。API 可能在 Hermes 上游更新时需要跟进调整。

谁适合用

日常用 Hermes Agent 跑任务、想回答”这个月花了多少钱””记忆快满了没有””定时任务跑没跑成功”这类问题的用户。如果只是偶尔聊天,CLI 输出就够了。

如果这篇对你有用,建议点个关注。我会持续把 GitHub 上值得用的 AI 工具拆成「最短上手闭环 + 坑点清单 + 可复用配置」,让你少走弯路。

引用链接

[1]Hermes HUD UI: https://github.com/joeynyc/hermes-hudui

[2]hermes-hudui: https://github.com/joeynyc/hermes-hudui

[3]hermes-hud: https://github.com/joeynyc/hermes-hud


💬 本文评论区已开启,但暂无读者留言。

本文转载自微信公众号,如有侵权请联系删除。

  • 标题: Hermes HUD UI:给 AI Agent 装一块浏览器仪表盘
  • 作者: lxiol
  • 创建于 : 2026-05-08 19:34:19
  • 更新于 : 2026-05-12 16:07:03
  • 链接: https://blog.lxiol.cn/2026/05/08/Hermes-HUD-UI给-AI-Agent-装一块浏览器仪表盘/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
目录
Hermes HUD UI:给 AI Agent 装一块浏览器仪表盘