v0.12.0

Hermes Agent v0.12.0 — The Curator Release(策展人版本)


概览

v0.12.0 — The Curator Release(策展人版本),2026 年 4 月 30 日发布。1,096 次提交 · 550 个合并 PR · 1,270 个文件变更 · 217,776 行新增 · 213 位社区贡献者

这个版本回答了一个每个长期使用 Agent 的用户最终都会面对的问题:谁来维护 Agent 的知识库?答案就是 Agent 自己。一个常驻后台的自治 Curator 按 7 天周期给你的技能库打分、合并、清理——完全不需要人工干预。自我改进回路(每次对话后决定保存什么的核心引擎)从自由式判断重写为基于评分卡的分级打分。四个新推理 Provider 落地,消息平台达到 19 个(含首个以插件形式发布的 Teams 适配器),ComfyUI v5 和 TouchDesigner-MCP 从可选升级为默认内建,Spotify 和 Google Meet 获得原生集成,TUI 冷启动时间砍了一半多。


重磅功能

1. 自治 Curator——让 Agent 自己维护自己

用了几个月之后,你的技能库里难免会堆满重复项、废弃草稿和用过一次就不再碰的技能。Curator 就是一个后台 Agent,帮你自动处理这些问题。

工作机制:

  • 跑在 Gateway 的 cron 定时器上,默认7 天一个周期
  • 给技能库里的每个技能打分,评估使用频率和相关性
  • 合并重叠的技能,聚合成统一条目
  • 清理不再被使用的废弃技能
  • 通过模型 + 启发式算法,将被归档的技能分类为“已合并”或“已清理”
  • 每轮运行后写入 logs/curator/run.jsonREPORT.md 报告
# 查看 Curator 状态——按使用次数排序
hermes curator status
# 输出:最常用 vs. 最少用的技能、最近合并记录、每轮报告

内置保护机制:

  • 内建技能和 Hub 技能受到纵深防御锁定——Curator 不会动它们
  • 已固定的技能受到保护,不允许修改
  • skill_manage 拒绝写入已固定的技能
  • 外部目录技能保持原样

统一管理入口:

# hermes.config.yaml
auxiliary:
  curator:
    provider: openrouter
    model: deepseek-v4-flash  # 便宜的辅助模型正合适
    enabled: true

curator:
  cycle_days: 7
  max_prunes_per_run: 20
  min_skill_age_days: 3  # 保护刚创建不久的技能

hermes modelauxiliary.curator 下选择 Curator 使用的模型,在 Dashboard 中管理。建议用一个便宜的辅助模型(如 DeepSeek V4 Flash)——500 个技能的库里跑一轮 7 天周期,花费通常还不如一次编码对话。

2. 自我改进回路——评分卡重写

自我改进回路是 Hermes 的核心学习引擎:每轮对话结束后,一个后台 review fork 决定要保存或更新哪些记忆和技能。v0.12 从头到尾重写了这个系统。

改动要点:

  • 基于评分卡的分类打分,取代了“这个该不该更新?“式的自由问答——防止模型对明显该改的东西反而犹豫不决
  • 倾向活跃更新——优先更新 Agent 刚刚加载的那个技能,而不是新建重复项
  • 处理子文件——技能内的 references/templates/ 目录能正确追踪和更新
  • 正确继承运行时——Provider、模型、凭证现在真的会从父进程传给 review fork 了
  • 工具集裁剪——review fork 只能使用 memory + skills 工具;没有 shell,没有 web,不会扩散
  • 干净关闭——Memory provider 在 review 后正常退出
  • 干净上下文——之前轮次的工具消息被排除在 review 摘要之外,fork 看到的是干净的视野

这些改动让自我改进回路变得更可预测、更准确、也安全得多。Agent 不会再意外修改范围以外的文件,也不会继承上轮对话的过期凭证。

3. LM Studio——升级为一级 Provider

LM Studio 从自定义端点别名升级为完整的原生 Provider:

# 专用认证,一级设置流程
hermes setup --provider lmstudio

# 从运行中的 LM Studio 实例实时列出模型
hermes model --provider lmstudio

现在拥有专用认证、hermes doctor 健康检查、reasoning transport 支持,以及实时的 /models 列表。把 Hermes 指向你本地的 LM Studio 实例,它会自动发现可用模型。

4. 四个新推理 Provider

Provider 详情
GMI Cloud 一级 API-key Provider,与 Arcee/Kilocode/Xiaomi 同级
Azure AI Foundry 自动检测,企业部署完整对接
MiniMax OAuth PKCE 浏览器流程,完整 OAuth 集成
Tencent Tokenhub 腾讯模型生态的新 Provider

模型目录也新增了 gpt-5.5 / gpt-5.5-prodeepseek-v4-pro / deepseek-v4-flashqwen3.6-plus,还有远程模型目录清单——以后 OpenRouter 和 Nous Portal 上新模型时,不需要等 Hermes 发版就能直接显示。

5. 可插拔 Gateway + Microsoft Teams(第 19 个平台)

Gateway 现在是一个插件宿主——消息平台适配器可以作为即插即用的插件发布在核心代码库之外。Microsoft Teams 是首个以这种方式发布的平台。

# 平台 类型
18 腾讯元宝 原生适配器,支持文字 + 媒体发送
19 Microsoft Teams 首个以插件形式发布的平台适配器

Gateway 插件架构:

  • pre_gateway_dispatch 钩子——在消息发送前拦截
  • pre_approval_request / post_approval_response 钩子——自定义审批流程
  • duration_mspost_tool_call 上——每次工具调用的性能追踪

6. 原生 Spotify 集成

七个工具,基于 PKCE OAuth,带交互式设置向导:

# 交互式设置
hermes spotify setup
# 引导你完成 OAuth 授权,然后内建技能就绪
工具 功能
播放/暂停 控制任意设备上的播放
搜索 查找曲目、专辑、歌手、歌单
队列 管理播放队列
歌单 创建和管理歌单
设备 在可用设备之间切换

hermes tools 中可见,支持 cron 用法——让音乐自动化融入你的一切。

7. Google Meet 插件

加入会议、转录对话、语音回应、会后跟进——全部作为一个内建插件:

# 加入会议
hermes meet join https://meet.google.com/xxx-xxxx-xxx
# 开启字幕、生成转录文字、可语音回应、发送会后跟进

基于 Realtime OpenAI transport,搭配 Node bot server。整个流程打包为一个插件——不需要任何外部服务。

8. ComfyUI v5 & TouchDesigner-MCP——升级为默认内建

ComfyUI v5 从可选升级为内建,附带官方 CLI + REST + 硬件门控的本地安装。Hermes 现在可以直接生成图像、管理工作流、控制 ComfyUI。

TouchDesigner-MCP 现默认内建,并大幅扩展:

  • GLSL 着色器生成和操作
  • 后期特效管线配置
  • 音频响应式设置
  • 几何节点编程
  • 9 份新的参考文档,覆盖高级技术

这些集成让 Hermes 在编码和消息能力之外,成为真正的创意制作工具。

9. 技能生态扩展

技能 描述
Humanizer 去掉生成文本中的 AI 味——让输出更自然
claude-design HTML artifact 技能,与其他设计工具做区分
design-md Google 的 DESIGN.md 规范技能
airtable Airtable 数据库集成,API key 从 .env 读取
pretext 基于 @chenglou/pretext 的创意浏览器演示
spike + sketch 一次性实验 + HTML 原型

技能使用体验改进:

# 直接从 URL 安装技能
hermes skills install https://example.com/skill.tar.gz

# 不重启重载技能
/reload-skills

# 列出技能并显示启用/禁用状态
hermes skills list

10. hermes -z——单次执行模式

非交互式运行 Hermes,适合脚本和自动化场景:

# 单条 prompt,获取结果,退出
hermes -z "总结这个代码库"

# 指定模型和 Provider
hermes -z "评审这个 PR diff" --model gpt-5.5 --provider openrouter

# 使用环境变量
HERMES_INFERENCE_MODEL=claude-sonnet-4 hermes -z "解释这个错误"

非常适合 CI/CD 流水线、git hooks,以及任何需要一次性 Agent 调用的自动化场景。

11. Web Dashboard——模型标签页

全新的模型标签页,提供丰富的按模型分析数据。直接从浏览器配置主模型和辅助模型:

  • 每个模型的使用统计
  • 费用追踪和趋势
  • 从 Dashboard 切换主模型和辅助模型
  • Dashboard 聊天标签页,xterm.js + JSON-RPC 侧车

12. 性能——冷启动快 57%

TUI 可见冷启动时间通过以下手段砍掉一半以上:

  • 延迟 Agent 初始化——不需要时不启动完整 Agent
  • 延迟导入——OpenAI、Anthropic、Firecrawl 和 account_usage 按需加载
  • mtime 缓存 load_config()——配置没变就不重读
  • 缓存 get_tool_definitions()——TTL 缓存的 check 函数结果
  • 预编译危险命令模式——正则编译在启动时完成,而非每次调用

额外性能工作:缓存 Ink 文本测量结果跨 Yoga flex 重排、稳定长会话滚动、延迟填充虚拟历史高度。

13. 原生多模态图片路由

图片现在基于模型实际的视觉能力来路由,而不是 Provider 的默认设置。模型支持视觉,图片就正常发送;不支持,就优雅处理。再也不用猜哪个 Provider 支持图片了——系统自己检查。

14. Gateway 媒体一致性

Telegram、Discord、Slack、Mattermost、Email 和 Signal 上原生支持多图发送。集中式音频路由,支持 FLAC 格式,Telegram 文档回退。Gateway 现在在所有支持的平台上统一处理富媒体。


新增内建工具 & 命令

工具 / 命令 描述 用法
hermes curator 技能库维护后台代理 hermes curator status
hermes -z 非交互式单次执行 hermes -z "<prompt>" --model gpt-5.5
hermes update --check 更新前预检 hermes update --check
hermes fallback 管理回退 Provider 链 hermes fallback list
/busy 忙碌输入模式(steer/queue) /busy steer
/btw /background 的别名 /btw <task>
/reload-skills 不重启重载技能 /reload-skills
/reload TUI 中热重载 .env /reload
/mouse 切换鼠标模式(WSL2 幽灵鼠标修复) /mouse
pre_gateway_dispatch 消息发送前插件钩子 插件 API
pre_approval_request / post_approval_response 审批流程钩子 插件 API

TUI——重大升级

TUI 在多个方面追上并超过了经典 CLI:

  • LaTeX 渲染——数学表达式原生渲染
  • 可插拔忙碌指示器样式——自定义加载动画
  • 可选自动恢复上次会话
  • /resume 选择器删除会话,按 d
  • 逐行滚动,支持修改过的鼠标滚轮
  • 队列编辑——ctrl-x 删除排队消息,esc 取消
  • 扩展的亮色终端自动检测,支持 HERMES_TUI_THEME 环境变量
  • 语音模式与 CLI 平齐——VAD 循环 + TTS + 崩溃取证
  • 输入框中按 ? 弹出迷你帮助菜单
  • 详情手风琴按区域可见性
  • ConPTY 主动禁用鼠标 + /mouse 切换(WSL2 幽灵鼠标修复)

TTS——可插拔 Provider 注册表

文字转语音现在是可插拔系统:

# hermes.config.yaml
tts:
  providers:
    piper:           # 本地 TTS——不需要联网
      voice: en_US-lessac-medium
    openai:          # 云端 TTS
      voice: alloy

Piper 作为原生本地 TTS Provider 发布,满足了社区长期以来的离线语音需求。选择你的 Provider,自由切换,Hermes 处理剩下的一切。


改进

核心 Agent & 架构

  • 可配置 prompt cache TTL——prompt_caching.cache_ttl(默认 5 分钟,可选 1 小时),适合缓存保持热度的突发会话,节省费用
  • Delegate child_timeout_seconds 默认值提升到 600 秒,支持更长的子 Agent 任务
  • 诊断转储:子 Agent 超时且 0 次 API 调用时输出诊断信息,帮助排查静默失败
  • Gateway 在压缩/上下文长度配置变更时清除缓存 Agent——不会有过期 Agent
  • 可选运行时元数据页脚——在最终回复中显示模型/Provider 信息
  • /fast 白名单扩展到所有 OpenAI + Anthropic 模型
  • auxiliary.extra_body.reasoning 转换为 Codex Responses API

压缩

  • 在主模型上重试摘要,遇到未知错误再放弃
  • 通知用户配置的辅助模型失败时,即使主模型回退成功
  • /compress 包裹在 _busy_command 中,压缩期间禁止输入

会话 & 记忆

  • 三元组 FTS5 索引支持中日韩搜索,含修复 + 迁移
  • tool_name + tool_calls 加入 FTS5 索引,支持搜索工具历史
  • 启动时自动清理孤立检查点
  • Memory provider 在会话 ID 中途轮换时收到通知
  • 原子文件写入时保留符号链接

消息平台

平台 改进
Telegram 群组/论坛聊天白名单;Markdown 表格渲染;原生多图
Discord 可选工具集 + ID 注入 + 工具拆分
Slack 每个 Gateway 命令注册为原生斜杠命令;strict_mention 配置;channel_skill_bindings
Signal 原生 Markdown 格式化(bodyRanges、引用回复、Reaction);多图
飞书/Mattermost/Email 原生多图发送

Cron

  • 尊重 hermes tools 配置,cron 平台遵从工具限制
  • 按任务的 workdir——感知项目的 cron 运行
  • context_from 字段——串联 cron 任务输出

浏览器

  • CDP 管理器——对话框检测 + 响应 + 跨源 iframe 求值
  • 对 LAN/localhost URL 自动启动本地 Chromium,当云端 Provider 已配置时

代码执行

  • Vercel Sandbox 后端用于 execute_code / terminal
  • 折叠子 Agent task_id 到共享容器
  • Docker:以宿主机用户身份运行容器,避免 root 拥有的绑定挂载

可观测性

  • 内建 Langfuse 可观测性插件——追踪每一次工具调用、模型请求和 Agent 决策
  • 内建 hermes-achievements 插件——扫描完整会话历史,检测里程碑

安全 & 可靠性

  • Secret 脱敏默认关闭——解决了长期以来伪密钥形状的子字符串在工具输出中破坏 patch 和 API payload 的问题。需要时通过 redaction.enabled: true 开启
  • 所有用户注入的标记中 [SYSTEM:[IMPORTANT:——规避 Azure 内容过滤器的误判
  • 不可恢复命令的硬性阻止列表——某些破坏性命令直接阻断
  • 统一的 mask_secret 辅助函数——代码库中统一的密钥遮蔽
  • 定时清理过期的 paste.rs 上传
  • 原子文件写入时保留符号链接
  • 通过打开 /dev/tty 来探测,而不是仅仅检查文件存在

重点 Bug 修复

本窗口落地了 360 个 fix: PR。选出重点:

  • 后台 review fork 正确继承父进程的实时运行时——Provider/模型/凭证现在正确传递(之前 fork 用的是过期配置)
  • 流式 reasoning 在 assistant 轮次中持久化(之前在 DeepSeek/Kimi 上会丢失)
  • 跨 Provider reasoning 隔离——DeepSeek/Kimi 的 reasoning 内容不再泄漏到其他 Provider 的历史中
  • croniter 提升为核心依赖——修复 cron 调度失败
  • 压缩恢复——先在主模型上重试再放弃;辅助模型失败时通知用户
  • FTS5 搜索——tool_name + tool_calls 索引,含修复 + 迁移
  • Vision 缓存使用 HERMES_HOME 而不是 cwd
  • MCP definitions 引用重写为 $defs——修复 Provider 侧 400 错误
  • Azure 内容过滤器兼容性——重命名系统标记以避开 Azure 内容过滤器标记
  • Discord 工具 limit 参数:在 min() 调用前转为 int
  • ACP 图片 prompt 广告和转发

绝大多数修复集中在所有主流 Provider 的流式、压缩和工具调用路径上——DeepSeek、Kimi、Moonshot、GLM、Qwen、MiniMax、Gemini、Anthropic 和 OpenAI。


移除 / 回滚

  • Kanban 多 Profile 协作面板——落地后回滚,重新设计
  • computer-use cua-driver——准备性 PR 落地后回滚
  • BOOT.md 内建钩子已移除——取而代之的是钩子教程,教你如何自己构建
  • /provider + /plan 斜杠命令已移除
  • flush_memories 彻底移除

升级

hermes update

新安装请查看安装指南


GitHub 完整 Changelog

← Hermes Agent Changelog