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.json和REPORT.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 model 的 auxiliary.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-pro、deepseek-v4-pro / deepseek-v4-flash、qwen3.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_ms在post_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
新安装请查看安装指南。
← Hermes Agent Changelog