Hermes CLI 近期更新:后台监控、全量换肤、模型补全
记录 Hermes CLI 最近一轮比较值得写进博客的改动:watch_patterns 实时监控、CLI 颜色全面皮肤化,以及 gpt-5.4 / gpt-5.4-mini 在模型列表中的补全。
这次把 Hermes CLI 最近几处我觉得真正影响使用体验的改动,整理成一篇短更新。
它们不是那种“看起来改了很多、实际很难感知”的调整,而是会直接影响日常使用节奏的东西:
- 后台任务终于能在运行过程中主动提醒;
- CLI 的视觉系统终于做到全链路 skin-aware;
- ChatGPT OAuth / OpenAI Codex 这条线路里,模型列表补上了 gpt-5.4 和 gpt-5.4-mini。
1. 后台进程监控:不是只等结束,而是中途就能提醒
之前的后台任务通知更偏向于“任务跑完以后告诉你结果”。
这对于一次性命令当然够用,但对于以下场景就不太顺手:
npm run dev想等服务真正启动完成;- 长时间测试想在出现
ERROR/FAIL时第一时间知道; - 日志流里已经出现关键提示,但进程还没退出。
这次增加了 watch_patterns 之后,后台进程可以在匹配到指定输出时立刻回推通知。
例如:
terminal(
command="npm run dev",
background=True,
watch_patterns=["ERROR", "WARN", "listening on port"]
)
这类通知和原本的 notify_on_complete 不冲突:
- 任务完成时,仍然会有 completion 通知;
- 任务运行中如果命中了 watch pattern,也会触发一条系统消息。
换句话说,CLI 对后台任务的感知从“只会等结果”升级成了“会在关键节点打断告诉你”。
这对 agent 工作流很重要,因为很多开发任务的关键时刻其实都发生在进程尚未结束之前。
这次实现里我比较喜欢的点
不是简单做一个字符串匹配就结束,而是把工程上的边界也补上了:
- 做了 rate limit,避免高频日志把通知刷爆;
- 持续过载会自动停用 watching,避免反噬主交互;
- CLI 空闲时和 agent 正在运行时,都会统一 drain 这些事件;
- 事件格式统一,不再把 completion / watch match 分两套逻辑处理。
这意味着它不只是“功能加上了”,而是已经朝着可长期维护的交互机制迈了一步。
2. CLI 颜色全量皮肤化:终于不是“换皮一半”了
另一个我很喜欢的改动,是 CLI 颜色系统被继续往前推了一大步。
以前虽然已经有 skin / theme 的概念,但总会残留一些硬编码颜色:
- 某些响应框边框还是固定金色;
- 某些状态提示没有完全跟着皮肤切换;
- 切到别的 skin 时,整体视觉会有“80% 生效,20% 出戏”的感觉。
这次的重点不是单纯换几个颜色值,而是把 CLI 里关键显示路径都接到了 skin engine:
- 响应框边框颜色;
- banner / accent / dim 等展示色;
- session resume 提示;
- status line;
/reasoning、/fast、voice mode 等命令反馈;/skin切换后的 ANSI 缓存刷新。
这个方向非常对,因为皮肤系统最怕“概念存在,但落地不彻底”。
一旦还有大量硬编码颜色残留,用户会立刻感觉到:
- 主题不统一;
- 视觉品牌不稳定;
- 自定义 skin 很难做到真正有辨识度。
现在这轮调整之后,CLI 的主题能力终于更像一个完整系统,而不是零散的样式补丁。
3. 模型列表补全:gpt-5.4 / gpt-5.4-mini 终于出现
第三个改动没有前两个那么“显眼”,但对实际使用同样重要。
之前 OpenAI Codex 这条 curated model list 里,缺了 gpt-5.4 和 gpt-5.4-mini。结果就是:
- 底层其实已经支持;
- 某些默认模型配置里也已经有;
- 但 Telegram / Discord / CLI 某些模型选择入口里看不到它们。
这种问题最烦的地方就在于:功能像是有了,但入口又像没开。
这次补完之后,至少在模型选择体验上更一致了。对于依赖 ChatGPT OAuth / OpenAI Codex 路线的用户来说,这属于那种不会写进宣传页,但会明显减少困惑的修复。
我对这三处改动的判断
如果把这轮更新放在一起看,我会把它理解为同一个方向上的推进:
1)CLI 更像“实时协作界面”了
后台进程 watch 机制的价值,不只是多一个参数,而是让 agent 和用户都能更早接收到关键状态变化。
2)CLI 更像“可定制产品”了
skin-aware 的覆盖面越完整,CLI 就越能摆脱“开发工具默认长一个样”的局限。
3)CLI 更像“可依赖入口”了
模型列表补全这类修复,虽然不 flashy,但决定了用户到底能不能顺畅找到应该出现的东西。
接下来我会继续关注什么
这几类改动之后,我更关心的是后续能不能继续往下面几个方向推进:
- 后台任务通知是否还能进一步结构化;
- 皮肤系统是否能把更多细节(比如 diff、tool 输出、状态反馈)继续统一;
- 模型选择和 provider 路由是否还能进一步减少“支持了但找不到”的情况。
对一个 agent CLI 来说,真正的体验差异往往不来自某个大功能,而来自这些细节级交互是否持续变顺。
这次这几处修改,我觉得就是这种“看起来不夸张,但会持续提高可用性”的更新。