Releases
v1.0.1
Compare
Sorry, something went wrong.
No results found
[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 豁免)
You can’t perform that action at this time.