Releases: Diabloluo/hermes-hud
Release list
Hermes HUD Desktop Alpha 0.1.0 — Your local window into Hermes
Hermes HUD Desktop Alpha 0.1.0 — Your local window into Hermes
Native macOS app · Apple Silicon (arm64) only · local-first, read-only
Hermes HUD Desktop puts Hermes right on your desktop — a real macOS app
that discovers your Hermes Agent, connects to your Dashboard, and brings
everything into one window:
- 📍 Agent Timeline — what your agent did, in order (sessions, skills, tools, incidents).
- 📊 Skill Analytics — which skills actually ran, success rates, coverage truth.
- 💰 Cost Intelligence — honest estimated-cost view: pricing coverage and attribution-aware windows.
- 🖥 Health, sessions, cron, channels, errors & incidents — the full HUD.
Requirements
- Hermes Agent ≥ 0.19.0 with the Hermes HUD plugin ≥ 1.1.1 (API schema = 1 — the first official HUD release providing this contract).
- macOS Apple Silicon (arm64) only.
- The Desktop app is a window into your existing Hermes setup — it does not install Hermes Agent.
Signed & notarized
- Signed with Developer ID (
Developer ID Application: wen luo (R49V6YUC3X)). - Apple notarized and stapled — Gatekeeper accepts it with no "Open Anyway" / right-click bypass.
Local-first & read-only
- Desktop observability data stays local; the Desktop app sends no outbound telemetry.
- Hermes core data is read-only.
- The HUD page has zero native capability (no shell, no filesystem, no arbitrary commands).
- Web HUD remains fully supported — Desktop is an additional surface, not a replacement.
Automatic
- Discovers Hermes on your machine.
- Connects to an already-running Dashboard, or safely starts the local Dashboard for you (never a second instance, fixed safe command).
- Menu-bar tray: Open / Retry / Quit.
Alpha notes
-
No auto-updater yet — this is an early Alpha; please report issues.
-
Known limitation (multi-user Macs): the Dashboard listens on localhost, which is a machine-local boundary, not a per-macOS-user boundary. In this Alpha, another local account on the same Mac may be able to reach an already-running Dashboard. Do not treat untrusted local macOS accounts as isolated from HUD data.
-
The Desktop release source archive is a provenance snapshot; the supported HUD plugin is v1.1.1 or later and is versioned separately.
Install
Download Hermes-HUD-Desktop-0.1.0-macOS-arm64.dmg, double-click, drag Hermes HUD into Applications, launch. No Terminal required.
Full instructions: docs/desktop/INSTALL_MACOS.md
Hermes HUD v1.1.1 — Desktop Compatibility Patch
Desktop Compatibility Patch
- Adds the public HUD API schema contract required by Hermes HUD Desktop:
api_schema_version=1+plugin_versionemitted by/healthand/settings; WS envelope carriesschema_version=1. - No breaking change to existing HUD users (legacy health/snapshot fields fully preserved).
- Desktop users should use HUD v1.1.1 or later — the first official HUD release providing API schema 1.
Install (pin the tag, no floating main):
git clone --branch v1.1.1 --depth 1 https://github.com/Diabloluo/hermes-hud ~/.hermes/plugins/hermes-hudv1.1.0 remains as historical fact (unchanged).
Hermes HUD v1.1.0 — Observability gets serious
Hermes HUD v1.1.0 — Observability gets serious
Local-first, read-only observability platform for Hermes Agent.
📍 Agent Timeline
What did the agent do, in order. A unified event model (sessions · skills · tools · incidents) with stable pagination, idempotent collection, and a watermark commit point — observed truth only, never guessed events.
📊 Skill Analytics
From static inventory to observable objects: registered vs observed runs, success rates (null when there is no evidence — never fake 0%), duration, and an honest runtime-coverage model (observed / inventory_only / unavailable).
💰 Cost Intelligence
One canonical cost surface built on Hermes' recorded usage rows, with honest semantics:
- estimated cost — never presented as provider invoices
- pricing coverage — known vs unknown pricing provenance is reported, not hidden
- attribution-aware time windows — cumulative usage rows attributed by last activity;
Allis lifetime-cumulative, windowed ranges are explicitly not exact
💬 Discussions
The repository now has Discussions — welcome, show us your setup, and tell us what HUD should observe next.
✅ Fresh-install CI
Every install-relevant change is now automatically verified on a clean macOS runner: Python 3.13 + Hermes ≥ 0.19.0, clone the exact commit under test, enable, start, HTTP smoke, and precise cleanup.
Install (pinned to this release tag — not floating main):
git clone --branch v1.1.0 --depth 1 https://github.com/Diabloluo/hermes-hud ~/.hermes/plugins/hermes-hud
python3 ~/.hermes/plugins/hermes-hud/scripts/enable_dashboard_plugin.py enableDocs: README · INSTALL.md · First 5 minutes · Changelog
Support: macOS tested · Linux expected (community testing welcome) · Windows experimental.
Hermes HUD v1.0.2
[1.0.2] - 2026-08-23
Fixed
- Fresh-install activation instructions for Dashboard plugins.
hermes plugins enable/disablemanages native plugins only; Dashboard plugins (manifest.json +
plugin_api.py) are activated via theplugins.enabledallowlist. Added
scripts/enable_dashboard_plugin.py(read → merge → write back via the Hermes
config CLI, idempotent, FAIL CLOSED on unreadable config) and corrected the
install/uninstall instructions in README / FAQ / CONTRIBUTING. The previous
hermes plugins enable hermes-hudinstruction failed with
"Plugin not installed or bundled". - Runtime timezone regression causing
CST is not defined.collect_dbreferenced
the removed module-levelCSTconstant after the v1.0.1 timezone refactor; now uses
get_hud_timezone()(HUD_TIMEZONE > system local tz > UTC). Added regression tests
that fail on v1.0.1 and pass on 1.0.2.
Verification
- pytest: 97 passed, 0 failed(6 种 config 格式 × enable/disable/幂等/语义保持 + 3 项 FAIL CLOSED + CST 回归 3 项)
- Fresh install from GitHub(HERMES_HOME 全新隔离):clone → enable → dashboard 200 → 插件发现 → /hud 渲染 → snapshot API → Token/Cost → CST error 0 → disable 保留其他插件
- enable/disable with pre-existing plugins:
[alpha, beta] → +hermes-hud → 还原,无关配置语义不变
Hermes HUD v1.0.1
[1.0.1] - 2026-08-23
Security
- 重构脱敏器(
hud/redaction.py):模式规则(Bearer / JWT / sk-* / Telegram bot token / 长 hex / base64)先行整体替换,杜绝"先匹配掉 Bearer 字样却把真正 token 留在后面"的截断泄漏;支持 JSON quoted keys("token":"xxx")、URL userinfo、Cookie/Authorization 整行兜底。 - 日志指纹改为脱敏后生成:
fingerprint()内部先redact_line再归一化,raw secret 不进入 fingerprint / incident / telemetry / WebSocket / REST。 - 新增统一隐私工具:
sanitize_path()(用户名与中间目录脱敏)、sanitize_cmdline()、redact_obj()(dict 敏感键整体替换);应用于 session cwd、skill dir、dashboard cmdline、launchd ProgramArguments、cron deliver/script。 hud_alert.py只从.env加载通知所需的 allowlisted 凭据(6 个变量),不再批量注入进程环境。
Correctness
- 修复 Token/费用口径:辅助调用只统计
session_model_usage.task != ''(task=''是主会话重复记账);API calls 改用数据库api_call_count累计,不再每行 +1。 - 修复告警恢复状态机:恢复通知至少一个渠道成功才置 recovered;全部失败保持
pending_recovery并下轮重试;push item 直接携带 fingerprint。 - Cron 事故指纹稳定化:
cron:<id>:fail(不再随失败次数产生fail-3/fail-4/...)。 - 事故计数语义修正:新增
observations与state_changes字段;旧 telemetry.db 自动平滑迁移(无需删库)。 idle_seconds改为基于最近活动(MAX(messages.timestamp)),无可靠数据时为 null。- 时区公共化:
HUD_TIMEZONE> 系统本地时区 > UTC。
Performance
- Snapshot 共享缓存 + 单飞锁:REST 与 WebSocket 共用同一份快照(实测 2 客户端 10 分钟:600 请求 → 300 次 collector)。
- telemetry 落盘限频:每 60 秒最多一次。
- 自动 retention:
maintenance()每天最多一次(指标 30 天 / 已恢复事故 90 天),meta 表持久化。
Compatibility
- launchd 检测使用当前 UID(
gui/<os.getuid()>);非 macOS 平台not_applicable。 - 安装/卸载改用官方增量命令
hermes plugins enable/disable hermes-hud。 - 支持范围:Tested: macOS;Linux: expected / community testing welcome;Windows: experimental。
Verification
- pytest: 84 passed, 0 failed(隔离环境,零真实数据/网络)
- secret leakage: 0(API / telemetry / alerts_state / fingerprint)
- usage 手工对账:exact match
- 10 分钟 1 REST + 1 WS 性能测试:PASS(600 请求 → 300 collector,10 telemetry 周期)
- 3 页面并发:PASS(telemetry 写入不倍增)
- DB lock errors: 0
- GitGuardian: 0 findings(无 ignore 豁免)
Hermes HUD v1.0.0
Hermes HUD v1.0.0
本地实时监控指挥中心 —— Hermes Agent Dashboard 插件(11 个中文 Tab)。
功能
- ◉ 指挥中心:健康分 / Gateway / 渠道 / Token 费用 / 30+ 项健康检查 / 事故时间线
- ⚡ 实时活动:活跃会话 + 2 秒增量事件流 + 最近工具调用
- ¥ Token·费用:按模型 / 辅助任务归集,费用标估算口径,主辅不重复计数
- ☰ 对话记录 / 🧠 记忆 / ⚒ 技能 / ⏱ 定时任务 / ⇄ 渠道 / ⚠ 错误·事故 / ▤ 系统·存储 / ⚙ 设置
- 📣 主动推送告警(Telegram + 飞书):新事故 / 升级 / 恢复自动推送,防抖去重
- 🔒 只读安全边界:不读 .env / 无外部遥测 / state.db 全程只读 / 日志脱敏
安装
git clone https://github.com/Diabloluo/hermes-hud ~/.hermes/plugins/hermes-hud
hermes config set plugins.enabled '["hermes-hud"]'
# 构建 web UI 后: hermes dashboard --host 127.0.0.1 --port 9119 --no-open兼容
Hermes v0.20+,macOS / Linux / Windows。详见 README。