Skip to main content

Hermes Agent v0.13.0 发布说明

发布日期:2026 年 5 月 7 日
官方标签:v2026.5.7
与上一版对比:v2026.4.30...v2026.5.7

本页基于官方 GitHub 发布说明做了结构化中文整理,便于快速浏览。

一句话概览

官方将本次更新命名为 「The Tenacity Release(韧性版本)」,核心主题是:

Hermes Agent 现在能把开始的事情做完。

重点变化:

  • Kanban 正式上线 —— 以持久化多代理协作板的形式提供,自带心跳检测、任务 reclaim、僵尸 worker 检测、未完成退出自动 block、按任务重试上限、幻觉恢复机制等可靠性保障。
  • /goal 持久目标 —— 让代理在多轮对话中始终锁定目标,Ralph loop 从此成为一等原语。
  • Checkpoints v2 —— 彻底重写状态持久化,引入真正的剪枝机制,消除孤儿 shadow 仓库。
  • 会话耐受性大幅提升 —— Gateway 重启、/update 升级、源文件 reload 之后,会话自动续上,不再丢失上下文。
  • Cron 新增 no_agent 看门狗模式 —— 可完全跳过 Agent,只跑脚本。
  • 集中安全加固 —— 关闭 8 个 P0 漏洞:脱敏默认开启、Discord 角色授权按 guild 范围限制、WhatsApp 默认拒绝陌生人、auth.json 与 MCP OAuth 关闭 TOCTOU 竞态窗口。
  • Google Chat 成为第 20 个平台,Provider 升级为可插拔架构,7 国语言 i18n 落地(中、日、德、西、法、乌、土)。

规模数据(自 v0.12.0 起):864 次提交 · 588 个合并 PR · 829 个文件变更 · 128,366 行新增 · 282 个 issue 关闭(含 13 个 P0、36 个 P1) · 295 位社区贡献者

我应该升级吗?

如果你属于以下任一场景,建议优先升级 v0.13.0

  1. 希望 AI 团队真正把活干完 —— 开启 Kanban,配置心跳 / reclaim / 重试预算 / 幻觉门,多代理并行执行,自动认领与移交任务。
  2. 需要 /goal 做长任务 —— Ralph loop 此次作为一等原语实现,跨轮对话锁定目标、始终不偏离。
  3. 以前常被 Gateway 重启 / /update 弄丢上下文 —— 本次会话耐受性大幅加强,重启后自动续接。
  4. Docker / Compose 部署用户 —— 官方镜像现在拒绝以 root 身份运行 gateway,node_modules 归属 hermes 用户,HERMES_DASHBOARD=1 可一键启动 dashboard。
  5. 关注安全 —— 本次集中关闭 8 个 P0:脱敏默认开启、Discord guild 范围授权、WhatsApp 拒绝陌生人、auth.json + MCP OAuth 关闭 TOCTOU 竞态、SSRF 下限、cron 扫描 prompt injection、hermes debug share 上传脱敏。强烈建议升级
  6. 国内 IM 用户 —— QQBot 终于有了与 Telegram / Discord 一致的原生审批键盘;微信消息按内容指纹去重;飞书可配置接入策略。
  7. 需要本地 / 替代搜索 —— SearXNG 原生搜索专用后端上线,Web 工具按能力拆分后端。
  8. 远程 / 多端 IDE 协作 —— ACP /steer + /queue 可在 Zed / VS Code / JetBrains 中直接干预运行中的代理。
  9. 开发 plugin / 自定义 provider —— Provider 升级为可插拔架构,配合 transform_llm_output hook,第三方 provider 与内容过滤器可直接接入。
  10. 多语言用户 —— CLI / gateway 静态消息支持 7 种语言,文档站新增简体中文 locale。

所有用户 都建议在测试后升级:本次关闭了 282 个 issue,包含 13 个 P0 和 36 个 P1,集中在 Kanban、会话耐受、安全、流式、工具调用等关键路径。

重点亮点

多代理 Kanban:让 AI 团队真正把活干完

  • 持久化多 Profile 协作板:创建一个看板,将任务分发上去,多个 Hermes worker 自动认领、移交、关闭。
  • 可靠性保障:心跳检测 / reclaim / 僵尸检测 / 重试预算 / 幻觉门——杜绝 worker「假装做完」的现象。
  • 一次安装,多个看板:原生支持 multi-project 设计。
  • 主要 PR:#17805#19653#20232#20332#21330#21183#21214

/goal 持久目标:代理不再忘记任务

通过 /goal 命令将代理锁定到一个目标上,跨轮对话始终不偏离。Ralph loop 从此升级为一等原语,并严格遵循配置中设置的回合预算。

主要 PR:#18262#18275#21287

video_analyze:原生视频理解

新增 video_analyze 工具,支持 Gemini 等多模态模型的原生视频理解(@alt-glitch,#19301)。

语音克隆

xAI Custom Voices 作为 TTS provider 正式上线,支持声音克隆(@alt-glitch,#18776)。

7 国语言 i18n

Gateway 静态消息与 CLI 提示现已支持 7 个语言环境:中文(zh)、日文(ja)、德文(de)、西班牙文(es)、法文(fr)、乌克兰文(uk)、土耳其文(tr)。文档站也新增了 zh-Hans 简体中文 locale。

主要 PR:#20231#20329#20467#20474#20430#20431

Google Chat:第 20 个消息平台

新增 Google Chat 集成。同时引入通用平台插件 hookenv_enablement_fn / cron_deliver_env_var),第三方适配器无需修改核心代码即可接入——IRC 与 Teams 已率先迁移至新架构。

主要 PR:#21306#21331

会话能扛重启

Gateway 中途重启、/update 升级后重启、源文件 reload——重新拉起后会话自动续接,保留待处理提示、home-channel 线程路由、缓存的活跃会话路由与 assistant 元数据。

主要 PR:#21192

安全加固:集中关闭 8 个 P0

  • 脱敏默认开启(v0.12.0 临时改为关闭,本次回归默认)。
  • Discord 角色授权按 guild 范围限制(修复 CVSS 8.1 的跨 guild DM 绕过漏洞)。
  • WhatsApp 默认拒绝陌生人,且永不在 self-chat 中回复。
  • auth.json 与 MCP OAuth 关闭 TOCTOU 竞态窗口
  • 浏览器强制 cloud-metadata SSRF 下限
  • Cron 扫描组装后的完整 prompt(含 skill 内容),防范 prompt injection
  • hermes debug share 上传时再次脱敏
  • .env / auth.json / state.db 恢复为 0600 权限

主要 PR:#21193#21241#21291#21176#21194#21228#21350#19318

Checkpoints v2:彻底重写状态持久化

采用单存储架构,引入真正的剪枝机制与磁盘护栏,彻底消除孤儿 shadow 仓库#20709)。

代理写完后自动 lint

write_filepatch 之后自动执行 post-write delta lint,在进程内校验 Python / JSON / YAML / TOML 语法。语法错误在写入时即刻暴露,而非等到下游消费时才报错(#20191)。

Cron no_agent 模式:纯脚本看门狗

Cron 任务现在可以完全跳过 Agent,仅执行脚本。脚本无输出则静默,有输出则原文投递(#19709)。

全平台 allowlist

allowed_channels / allowed_chats / allowed_rooms 配置已覆盖 Slack、Telegram、Mattermost、Matrix、钉钉#21251)。

Provider 升级为可插拔架构

通过 ProviderProfile ABC 与 plugins/model-providers/ 目录,第三方 provider 可作为插件直接接入,无需修改核心代码(#20324)。list_picker_providers 支持按已有凭证过滤可选 provider。

API Server:每会话独立长期记忆

新增 X-Hermes-Session-Key header,为记忆 provider 提供稳定的会话 ID,实现按会话隔离的长期记忆(#20199)。

MCP 全面加强

  • 支持 SSE 传输 + OAuth 转发
  • stale-pipe 失败按 session-expired 自动重试
  • 图像类工具结果以 MEDIA tag 暴露,不再被丢弃
  • 长生命周期等待加入 keepalive 机制

主要 PR:#21227#21323#21289#21328#20209

Curator 新增子命令

hermes curator archiveprunelist-archived 上线。手动执行 hermes curator run 改为同步模式——不再需要轮询日志查看结果(#20200#21236#21216)。

ACP:/steer/queue

在 Zed / VS Code / JetBrains 中可实时干预正在执行的代理,或排队后续任务。同时实现会话原子持久化、reasoning 元数据跨重启保留(@HenkDz,#18114#20279#20296#20433)。

TUI 打磨

  • /model 选择器全面重写,对齐 hermes model 行为,支持 inline 鉴权(@austinpickett,#18117)。
  • 启动 banner 各部分可折叠——skills、system prompt、MCP(@kshitijk4poor,#20625)。
  • 状态栏显示 context compression 计数#21218)。

Dashboard 成长

  • Plugins 页面:管理插件、启用 / 禁用、查看鉴权状态(@austinpickett,#18095)。
  • Profiles 管理页面(@vincez-hms-coder,#16419)。
  • 分析表格列支持交互式排序#18192)。
  • default-large 18px 内置主题#20820)。
  • 支持 X-Forwarded-Prefix 反向代理部署#21296)。
  • Docker 中通过 HERMES_DASHBOARD=1 启动 dashboard 副进程(@benbarclay,#19540)。

SearXNG + Web 工具拆分

SearXNG 作为原生搜索专用后端上线;Web 工具支持按能力(搜索 / 抽取 / 浏览)选择不同后端(@kshitijk4poor,#20823#20061#20841)。

OpenRouter 响应缓存

对支持缓存的模型暴露显式 cache control(@kshitijk4poor,#19132)。

[[as_document]]:技能媒体路由指令

技能可强制 gateway 将输出作为文档投递,前提是目标平台支持(#21210)。

transform_llm_output 插件 hook

新增生命周期 hook,插件可在 LLM 输出进入对话之前对其进行重塑或过滤,适用于上下文压缩器与内容过滤器(#21235)。

Nous OAuth 跨 profile 共享

通过共享 token store 实现登录一次,所有 profile 自动继承会话#19712)。

QQBot:原生审批键盘

与 Telegram / Discord 的审批体验对齐:支持分块上传、引用附件、原生 inline 审批键盘#21342#21353)。

6 个新 optional skill

  • Shopify(Admin + Storefront GraphQL)(#18116)。
  • here.now#18170)。
  • shop-app:个人购物助手(#20702)。
  • Anthropic financial-services bundle 移植(#21180)。
  • kanban-video-orchestrator(@SHL0MS,#19281)。
  • searxng-search(@kshitijk4poor,#20841)。

新模型

  • deepseek/deepseek-v4-pro 加入 OpenRouter + Nous Portal(#20495)。
  • x-ai/grok-4.3 加入 OpenRouter + Nous Portal(#20497)。
  • openrouter/owl-alpha(free 层)加入 curated 列表(#18071)。
  • tencent/hy3-preview OpenRouter 付费路径(@Contentment003111,#21077)。
  • Arcee Trinity Large Thinking:温度 + 压缩 override(#20473)。

100 条新启动 tip

随机 tip banner 新增 100 条,覆盖 cron / kanban / curator / 插件 / 冷门 flag 等主题(#20168)。

多代理 Kanban(持久化)

协作板核心

  • 持久化多 Profile 协作板#17805 在 revert 后重新实现,原生支持多 Profile 架构。
  • 多项目看板:一次安装即可运行多个 kanban(#19653#19679)。
  • 跨 Profile 共享:board、workspace 与 worker 日志可在多个 profile 间共享(#19378)。
  • 幻觉门 + 恢复 UX:防止 worker 自创卡片后虚假报告完成(#20232)。
  • 通用诊断引擎:为任务 distress signal 提供统一的诊断能力(#20332)。
  • 每任务 max_retries 覆写:支持按任务单独设置重试上限(#21330)。
  • inline-create 标题改为多行 textarea#21243)。

Kanban Dashboard

  • Inline create 表单新增 workspace kind 与 path 输入(#19679)。
  • 每平台的 home-channel 通知独立开关(#19864)。
  • home-channel 开关对比度增强,新增 drop → running 操作(#19916)。
  • Dashboard API 不再允许直接将状态切换为 running#19705)。
  • Dashboard board pin 优先于服务端 current file(#21230)。
  • Dashboard event-stream 取消时按正常关闭处理(#21222)。
  • Dashboard board 按所选 tenant 过滤(#21349)。
  • 所有主题下 code/pre 样式修复,不再串色(#21247)。
  • Dashboard 内 <code> 背景色重置(#20687)。
  • 保留 dashboard 完成摘要,新增 kanban 编辑功能(#20195)。
  • 修复 failure-column 重命名引发的脆弱性问题(#20855)。

Worker 生命周期与可靠性

  • 心跳 + reclaim + 僵尸检测 + 重试上限#21183)。
  • 未完成退出的 worker 自动 block,修复关停竞态(#21214)。
  • darwin 平台僵尸 worker 检测#20188)。
  • 统一失败计数:spawn / timeout / crash 三种场景共用同一套计数器(#20410)。
  • Destructive 工具调用强制任务所有权检查:worker 不得操作不属于自己任务的文件(#19713)。
  • 从 KANBAN_GUIDANCE 中移除 worker 身份声明(#19427)。
  • 跳过分配给非 profile 通道的任务(#20165)。
  • on-disk assignee 枚举包含 default profile(#20170)。
  • 忽略陈旧的 current board 指针(#20183)。
  • 自定义 root 部署下 profile 发现时忽略 HERMES_HOME(#19020)。
  • 允许 orchestrator profile 通过 toolsets 配置看到 kanban 工具(#19606)。

批量 Salvage(历史 PR 抢救合并)

  • Tier-1:metadata 测试、max_spawn 配置、run-id 生命周期守护(#20440)。
  • Tier-2:doctor、started_at、parent-guard、latest_summary、selects、linked-children(#20448)。

文档

  • 参考文档中补充 multi-board 说明(#19704)。
  • 文档化 /kanban slash 命令(#19584)。
  • 文档化推荐的交接 evidence metadata(#20415)。
  • 修复 orchestrator + worker 技能配置说明(#20958#20960)。

持久目标、Checkpoints 与会话耐受

/goal:跨轮持久目标(Ralph loop)

  • /goal 命令实现跨轮持久目标(#18262)。
  • 新增功能文档页:Persistent Goals (/goal)(#18275)。
  • 修复:正确读取并遵循配置中的 goal 回合预算(#21287)。

Checkpoints v2

  • 单存储重写 + 真正的剪枝 + 磁盘护栏#20709)。

会话耐受性

  • Gateway 重启后会话自动恢复#21192)。
  • 待处理 update 提示跨重启保留#20160)。
  • 重启通知保留 home-channel thread 路由#19271)。
  • 从已缓存的活跃会话源保留 thread 路由#21206)。
  • 会话分叉时保留 assistant metadata#18222)。
  • /update 进度与提示保留 thread 路由#18193)。
  • 合并队列事件时保留 document 类型#18215)。

安全与可靠性

安全加固(8 个 P0 关闭)

  • 脱敏默认开启#21193)。
  • Discord:DISCORD_ALLOWED_ROLES 按发起 guild 范围限制,修复 CVSS 8.1 漏洞(#21241)。
  • WhatsApp:默认拒绝陌生人,永不在 self-chat 中回复#21291)。
  • MCP OAuth:保存凭证时关闭 TOCTOU 竞态窗口#21176)。
  • hermes_cli/auth.py:凭证写入关闭 TOCTOU 竞态#21194)。
  • 浏览器:混合路由强制 cloud-metadata SSRF 下限#21228)。
  • hermes debug share:上传时再次脱敏#19318)。
  • Cron:扫描组装后的 prompt(含 skill 内容),防范 prompt injection#21350)。
  • .env / auth.json / state.db 恢复为 0600 权限#19699)。
  • Dashboard 插件脚本的 SRI integrity 校验#21277)。
  • Meet node server 绑定 localhost,token 文件限定 owner 可读#19597)。
  • 敏感写检测扩展到 shell RC 文件与凭证文件#19282)。
  • YOLO 模式 env 解析加固,防止 quoted-bool 字符串被误解析(#18214)。
  • CI 引入 OSV-Scanner + Dependabot(仅限 github-actions)(#20037)。

可靠性:关键 Bug 修复

  • CLI 启动崩溃 Invalid key 'c-S-c'(P0,prompt_toolkit 不支持 Shift 修饰键)(#19895#19919)。
  • CLOSE_WAIT 文件描述符泄漏审计:涵盖 httpx keepalive、WhatsApp aiohttp 泄漏、飞书清理(#18766)。
  • 缺少 OPENROUTER_API_KEY 时不再以空 key 创建 AIAgent:fallback provider 现在被正确启用。
  • 后台 review + curator 受保护,不再覆写 bundled / hub 技能(#20194)。
  • TUI 压缩 continuation:清理元数据不全的幽灵会话
  • hermes mcp add 不再静默拉起 chat 而不注册 MCP server#21204)。
  • 后台 review fork 正确继承 provider / model / 凭证(接续 v0.12.0 #16099 的工作)。
  • Docker 后端:入站文档将 host 路径映射为容器路径#21184)。
  • Matrix gateway:高速模型下 auto-redaction 与消息投递的竞态修复
  • Telegram:活跃会话期间 /new 无响应的问题修复

消息平台(Gateway)

新平台

  • Google Chat(第 20 个平台) + 通用 env_enablement_fn / cron_deliver_env_var 平台插件 hook(IRC 与 Teams 已迁移至新架构)(#21306#21331)。

跨平台通用

  • 全平台 allowlistallowed_channels / allowed_chats / allowed_rooms 配置覆盖 Slack、Telegram、Mattermost、Matrix、钉钉(#21251)。
  • 每平台 gateway_restart_notification 独立开关#20892)。
  • busy_ack_enabled:抑制忙碌 ack 消息(#18194)。
  • Slash 命令系统通知 TTL 到期后自动删除#18266)。
  • opt-in 清理临时进度气泡#21186)。
  • [[as_document]] 指令:技能媒体路由#21210)。
  • hermes gateway list:跨 profile 状态查询#21225)。
  • 重启后自动恢复中断会话#21192)。
  • 原子重启标记 + Windows 运行时锁偏移#18179)。
  • config.yaml 优先于 .env:agent / display / timezone 设置以 config.yaml 为准(#18764)。
  • 源文件被修改后自动重启(#18409)。
  • 陈旧代码检查改用 git HEAD SHA,不再依赖文件 mtime(#19740)。
  • 关停与重启流程卫生修复:drain timeout、false-fatal、success log 全面梳理(#18761)。
  • env reload 后保留 max_turns(#21240)。
  • gateway 进程扫描排除祖先 PID(#19586)。
  • quick-command 别名分发移至内建之前(#19588)。
  • gateway status 显示其他 profile 状态,避免误解(#19582)。
  • Telegram / Discord slash 命令纳入 external_dirs 技能(#18741)。
  • disabled / optional 技能按 frontmatter slug 匹配,不再按目录名(#18753)。
  • 从 SessionDB 读取 /status token 总数(#18206)。
  • snapshot 回调在 agent 绑定后生成(#18219)。
  • /new/reset 后重新注入 topic 绑定的技能(#18205)。
  • 原生图像挂起路径按会话隔离(#18202)。
  • new / resume / branch 时清理已排队的 reload skills 提示(#19431)。
  • Telegram 菜单隐藏需要必填参数的命令(#19400)。
  • 将顶层 require_mention 桥接到 Telegram 配置(#19429)。
  • 抑制重复语音转录(#19428)。
  • 服务未安装时给出友好提示(#19707)。
  • 会话信息 header 从 custom_providers 读取 context_length(#19708)。
  • systemd unit 保留 WSL interop PATH(#19867)。
  • 处理计划内服务停止(#19936)。
  • 保留与系统 DNS 一致的 DoH 已确认 Telegram IP(#20175)。
  • Discord + Telegram 从 config.yaml 加载 reply_to_mode#20171)。
  • 容忍格式错误的 HERMES_HUMAN_DELAY_* 环境变量(#20217)。
  • thread 确定性驱逐时保留最新条目(#20285)。
  • 仅安装系统 scope unit 时不再让 setup wizard 走入死胡同(#20905)。
  • 等待 systemd 重启就绪 + 加固 Discord slash 同步(#20949)。
  • 避免重复的 Responses 历史记录(#21185)。
  • bootstrap 失败暴露至 stderr(#21278)。
  • log agent task 失败不再静默丢失 usage 数据(#21274)。
  • runtime-status 写入失败时启用 rate-limit log(#21285)。
  • 每次 fallback 重启前执行 reset-failed,避免 gateway 卡死(#21371)。
  • Telegram 保留 thread_id=1 用于论坛 General 输入指示(#21390)。
  • 批量关键修复:session resume、/new 竞态、HA WebSocket scheme(#19182)。

Telegram

  • DM 用户管理多会话 topic#19206)。

Discord

  • 消息删除 action#21197)。
  • free_response_channels 可覆盖 DISCORD_IGNORE_NO_MENTION#19629)。

Slack

  • 修复临时 slash-command ack、私聊通知投递、format_message 问题(#18198)。

WhatsApp

  • 从 env override 加载 WhatsApp home channel(#18190)。

飞书

  • 可配置的机器人接入与 mention 策略#18208)。
  • markdown 表格强制 text 模式(#20275)。

Matrix + Email

  • /sethome 在 Matrix 与 Email 上跨重启持久化(#18272)。

Teams

  • 新增 sidebar 与群聊回退的 threading 文档及实现(#20042)。

微信

  • 按内容指纹去重微信消息(#19742)。

QQBot

  • SDK 改动 in-tree 移植:分块上传、审批键盘、引用附件(#21342)。
  • 通过 inline 键盘连接原生工具审批 UX#21353)。

核心代理与架构

Provider 与模型支持

可插拔 Provider

  • ProviderProfile ABC + plugins/model-providers/:推理 provider 升级为可插拔表面(#20324)。
  • list_picker_providers:按凭证过滤的 provider 选择器(#20298)。
  • 删除 /provider,统一为 /model#20358)。
  • CLI 与插件共享 Hermes dotenv loader#20281)。
  • Nous OAuth 跨 profile 共享 token store#19712)。

新模型

  • deepseek/deepseek-v4-pro 加入 OpenRouter + Nous Portal(#20495)。
  • x-ai/grok-4.3 加入 OpenRouter + Nous Portal(#20497)。
  • openrouter/owl-alpha(free 层)加入 curated 列表(#18071)。
  • tencent/hy3-preview OpenRouter 付费路径(@Contentment003111,#21077)。
  • Arcee Trinity Large Thinking:温度 + 压缩 override(#20473)。
  • x-ai/grok-4.20-beta 重命名为 x-ai/grok-4.20#19640)。
  • Vercel AI Gateway 在 provider picker 中降到底部(#18112)。

Provider 配置

  • OpenRouter 响应缓存支持#19132)。
  • image_gen.model 从 config.yaml 生效#21273)。
  • delegate provider 解析时尊重运行时默认模型(#17587)。
  • provider picker 中避免 Bedrock 凭证探测(#18998)。
  • cron 执行时丢弃陈旧的 env-var provider override(#19627)。
  • auxiliary curator 的 api_key / base_url 进入运行时解析(#19421)。

代理循环与对话

  • video_analyze:原生视频理解工具#19301)。
  • CLI + TUI 状态栏显示 context 压缩计数#21218)。
  • get_tool_definitions quiet_mode 缓存隔离 + 去重 LCM 注入#17889)。
  • warning-first 工具调用循环护栏(#18227)。
  • 从 orphan tool-tail 打破永久空响应循环(#21385)。
  • ContextVars 正确传递给并发的 tool worker 线程(#18123)。
  • CLI / TUI / gateway 均暴露自我改进 review 摘要(#18073)。
  • execute_code 并发 hermes_tools RPC 调用串行化(#17894#17902)。
  • 压缩 token 估算纳入 system prompt + 工具 schema(#18265)。

压缩

  • dedup pass 跳过非字符串工具内容,避免 AttributeError(#19398)。
  • 会话重置时复位 _summary_failure_cooldown_until#19622)。
  • 超时错误也触发 fallback(#19665)。
  • _prune_old_tool_results 边界方向修复(#19725)。
  • 为内容过滤软化 summary prompt(#21302)。

Delegate

  • _build_child_agent 继承父 fallback_chain(#19601)。
  • 守护 config.yaml 中 delegation: null 的情况(#19662)。
  • 仅设 delegation.base_url 而未设 delegation.api_key 时,继承父 api_key(#19741)。
  • 交集前展开复合 toolset(#21300)。
  • 修正 ACP 文档——Claude Code CLI 并无 --acp flag(#21201)。

会话与记忆

  • Hindsight:探测 update_mode='append' API,实现跨进程去重#20222)。

Curator

  • hermes curator archiveprune 子命令#20200)。
  • hermes curator list-archived#21236)。
  • 手动 hermes curator run 改为同步执行#21216)。
  • state 中保留 last_report_path#18169)。
  • 合并后改写 cron job 的技能引用(#18253)。
  • 首次运行前增加延迟 + --dry-run 预览(#18389)。
  • 删除时 absorbed_into 权威化 + 回滚时恢复 cron 技能链(#18731)。
  • 避免子串匹配导致的假阳性合并(#19573)。
  • 仅给后台 review 沉淀打 agent-created 标记(#19621)。
  • 按 frontmatter name 保护 hub 技能(#20194)。

工具系统

文件工具

  • write_file + patch 后自动执行 post-write delta lint:进程内 Python / JSON / YAML / TOML 语法校验(#20191)。

Cron

  • no_agent 模式:纯脚本 cron job(看门狗模式)#19709)。
  • context_from 串接文档#20394)。
  • non-dict origin 视为缺失而非让 tick 崩溃(#19283)。
  • cron job 加载技能时增加使用计数(#19433)。
  • 恢复 next_run_at 为 null 的 job(#19576)。
  • prerun 脚本无输出时跳过 AI 调用(#19628)。
  • job 执行时展开 config.yaml 引用(#19872)。
  • 串行化 get_due_jobs 写入,防止并行状态损坏(#19874)。
  • 构造 cron AIAgent 前先初始化 MCP server(#21354)。

MCP

  • 支持 SSE 传输#21227)。
  • SSE 传输上转发 OAuth + 提高 sse_read_timeout#21323)。
  • stale-pipe 失败按 session-expired 重试#21289)。
  • 图像类工具结果以 MEDIA tag 暴露,不再被丢弃#21328)。
  • _wait_for_lifecycle_event 周期性 keepalive#20209)。
  • 终止会话上重连(#19380)。
  • AnyUrl 导入与 mcp 依赖解耦(#19695)。
  • mcp add --command 修复不同的 argparse dest 问题(#21204)。
  • MCP 发现前清除陈旧线程中断(#21276)。
  • MCP 调用错误中报告配置的 timeout(#21281)。
  • str(exc) 为空时错误信息补充异常类型(#21292)。
  • MCPServerTask.run 中显式重抛 CancelledError(#21318)。
  • mcp_serve 中防御性强转数值参数(#21329)。
  • utility stub 按 server 通告的能力门控(#21347)。

浏览器

  • 允许显式 CDP override,无需 local agent-browser(#19670)。
  • root + AppArmor userns 限制时注入 --no-sandbox#19747)。
  • 收紧 Lightpanda fallback 边界情况(#20672)。

Web 工具

  • 按能力选择后端——搜索 / 抽取拆分#20061)。
  • SearXNG 原生搜索专用后端#20823)。

审批 / 工具门控

  • 会话清理时唤醒被 block 的 gateway 审批(#18171)。
  • YOLO 模式 env 解析加固,防止 quoted-bool 字符串误解析(#18214)。
  • 敏感写检测扩展到 shell RC 文件与凭证文件(#19282)。

插件系统

  • transform_llm_output 插件 hook#21235)。
  • 平台插件 hook 文档env_enablement_fn + cron_deliver_env_var#21331)。
  • 可插拔表面覆盖度完善:model-provider 指南、完整插件地图、opt-in 修复(#20749)。
  • 插件作者缺口填补:image-gen provider 指南 + 发布 skill tap(#20800)。

技能生态

新 Optional Skill

  • Shopify:Admin + Storefront GraphQL(#18116)。
  • here.now#18170)。
  • shop-app:个人购物助手(#20702)。
  • Anthropic financial-services bundle 移植(#21180)。
  • kanban-video-orchestrator#19281)。
  • searxng-search:optional skill + Web Search + Extract 文档页(#20841#20844)。

Skill UX

  • Linear 技能新增 Documents 支持 + Python 助手脚本#20752)。
  • Obsidian 技能现代化,改用 file 工具(#20413)。
  • 自定义工具创建默认走插件#19755)。
  • skill_commands 缓存:平台 scope 变化时自动重扫#18739)。
  • skill_commands 缓存增加重扫路径#21181)。
  • extract_skill_conditions 中非 dict metadata 的回归测试(#18213)。
  • 说明如何还原 bundled 技能(#20404)。
  • 文档化 hermes skills reset 子命令(#20395)。
  • himalaya v1.2.0 的 folder.aliases 语法说明(#19882)。
  • 将代理指向 hermes-agent 技能,文档站同步更新(#20390)。

CLI 与用户体验

CLI

  • /new 接受可选 session 名参数#19637)。
  • 100 条新 CLI 启动 tip#20168)。
  • display.language 静态消息翻译(zh / ja / de / es)(#20231)。
  • 法语(fr)locale#20329)。
  • 乌克兰语(uk)locale#20467)。
  • 土耳其语(tr)locale#20474)。
  • 窗口大小调整后恢复 classic CLI 输出(#20444)。
  • TUI 绝对路径补全修复(#19930)。
  • 修复惰性会话创建的回归问题(#20363)。
  • 本地后端 CLI 始终使用启动目录(#19334)。
  • 移除已废弃的 c-S-c 键绑定(#19919)。

TUI(Ink)

  • /model picker 全面重写,对齐 hermes model 行为 + inline 鉴权(#18117)。
  • 启动 banner 各部分可折叠——skills、system prompt、MCP(#20625)。
  • 状态栏显示 context 压缩计数#21218)。
  • focused selector 减少 overlay 渲染抖动(#20393)。
  • 恢复语音 push-to-talk 一致性(#20897)。
  • kanban 按钮修复(#18358)。

Dashboard

  • Plugins 页面:管理插件、启用 / 禁用、查看鉴权状态(#18095)。
  • Profiles 管理页面#16419)。
  • 分析表格列支持交互式排序#18192)。
  • default-large 18px 内置主题#20820)。
  • 支持 X-Forwarded-Prefix 反向代理部署#21296)。
  • Docker 中通过 HERMES_DASHBOARD=1 启动 dashboard 副进程#19540)。
  • Dashboard 主题 layout shift 修复(#17232)。
  • gateway model picker current context 修复(#20513)。

升级与 Setup

  • hermes update --yes/-y 跳过交互提示#18261)。
  • 升级后需手动重启 profile 的 gateway#18178)。

Profile

  • --no-skills flag 创建空 profile#20986)。

语音、图像与媒体

  • xAI Custom Voices:语音克隆#18776)。
  • Achievements:解锁徽章时的分享卡渲染#19657)。
  • gateway 启动时刷新 systemd unit(不仅限于 start / restart)(#19684)。

API Server 与远程访问

  • X-Hermes-Session-Key header:为长期记忆提供稳定的会话级隔离(#20199)。

ACP 适配器(VS Code / Zed / JetBrains)

  • /steer/queue slash 命令#18114)。
  • WSL 会话翻译 Windows cwd(#18233)。
  • 在空闲会话上将 /steer 作为普通 prompt 执行(#18258)。
  • 将 Zed 的 thoughts 路由至 reasoning,打磨 tool / context 渲染(#19139)。
  • 通过 replace_messages 实现原子会话持久化(#20279)。
  • 会话持久化中保留 assistant reasoning 元数据(#20296)。
  • 更新 ACP Client 扩展的 VS Code 配置文档(#20433)。

Docker

  • HERMES_DASHBOARD=1 启动 dashboard 副进程#19540)。
  • 官方镜像拒绝以 root 身份运行 gateway#21250)。
  • 运行时 node_modules chown 至 hermes 用户#21267)。
  • 构建上下文排除 compose / profile 运行时 state(#19626)。
  • CI:不取消重叠构建,守护 :latest 标签(#20890)。
  • Dockerfile 契约测试对齐简化后的 TUI 流程(#21174)。
  • 文档:连接本地推理服务(vLLM、Ollama)(#20407)。
  • 文档:API_SERVER_* 环境变量说明(#20409)。
  • 文档:Docker 终端后端为单一持久容器(#20003)。

重要 Bug 修复

Agent

  • 修复惰性会话创建的回归(#20363)。
  • ContextVars 正确传递给并发的 tool worker 线程(#18123)。
  • warning-first 工具调用循环护栏(#18227)。
  • CLI / TUI / gateway 均暴露自我改进 review 摘要(#18073)。

Gateway 流式

  • StreamingConfig bool 与数值类型强转加固(#16463)。

Model

  • provider picker 中避免 Bedrock 凭证探测(#18998)。

Doctor

  • 本地未安装 agent-browser 时检查全局安装(#19671)。
  • kimi-coding-cn provider 校验回归修复(#19734)。

Update

  • 在真实 stream 上 patch isatty,修复 xdist-flaky --yes 测试(#21175)。
  • restart-mock 感知 post-update 幸存清扫(#21177)。

Auth

  • ACP 保留 assistant reasoning 元数据(#20296)。

Redact

  • 增加 code_file 参数,跳过 ENV / JSON 模式的假阳性(#19715)。

Email

  • quoted-relative file-drop 路径与工具邮件路径上的 Date header 修复(#19646)。

测试

  • ACP:MCP E2E mock 接受 prompt 持久化 kwargs(#18047)。
  • Toolsets:post-#17805 toolset 断言中纳入 kanban(#18122)。
  • Agent:max-iterations summary 消息脱敏覆盖(#19580)。
  • run_agent:_coerce_number-inf / nan 回归覆盖(#19703)。

文档

重大新增文档

  • llms.txt + llms-full.txt:面向 AI agent 友好的文档摄入格式(#18276)。
  • User Stories 与 Use Cases 拼贴页#18282)。
  • Persistent Goals (/goal) 功能页#18275)。
  • Windows(WSL2)指南扩展:文件系统、网络、服务、常见坑(#20748)。
  • 中文(zh-CN)README 翻译#20431)。
  • zh-Hans Docusaurus locale + Tool Gateway / image-gen / WSL quickstart 翻译(#20430)。
  • Tool Gateway 文档重构:先讲它做什么,配置说明移至末尾(#20827)。
  • Quickstart:Onchain AI Garage Hermes 视频教程合集(#20192)。
  • Open WebUI bootstrap 脚本#20427)。
  • 本地 Ollama 配置指南#20426)。
  • Google Gemini 指南#20401)。
  • /model 自定义模型别名#20475)。
  • Together / Groq / Perplexity 通过 custom_providers 的 cookbook#20400)。
  • 豆包语音集成示例(TTS + STT)(#20418)。
  • WSL-to-Windows Chrome MCP 桥#20428)。
  • Hermes 技能文档同步:slash 命令 + durable-systems(#20390)。
  • AGENTS.md:curator / cron / 委派 / toolset + 修复插件树(#20226)。
  • Bedrock quickstart 入口 + fallback 注释 + 部署链接#20397)。

文档打磨

  • 将膨胀的技能树折叠为单一 Skills 节点(#18259)。
  • 澄清 session_search 副模型文档(#19593)。
  • Open WebUI Quick Setup 缺口补全(#19654)。
  • 自定义工具创建默认走插件(#19755)。
  • 澄清 Telegram 群聊故障排查(#20416)。
  • Codex OAuth 鉴权前置条件说明(#20417)。
  • Discord Server Members Intent + SSRC 映射漂移 + /voice join slash Choice(#20411)。
  • 文档化 ctx.dispatch_tool()#20391)。
  • 文档化 hermes webhook subscribe --deliver-only#20392)。
  • 文档化 hermes import 参考(#20396)。
  • 文档化各 provider 的 TTS max_text_length 上限(#20389)。
  • 澄清支持的 prompt 自定义表面(#20383)。
  • 修正 web_extract summarizer timeout 注释(#20381)。
  • 修复 fallback provider 配置路径(#20382)。
  • 修正误导性 RL install-extras 说明(#21213)。
  • 澄清 API server 工具执行的本地性(#21223)。
  • 改用 .venv 以匹配 AGENTS.md 与 scripts/run_tests.sh(#21334)。
  • 将工具发现与测试 runner 与 AGENTS.md 对齐(#20791)。
  • 统一终端后端数量与命名在文档和代码中的表述(#20402)。
  • 刷新过时的平台数量(#20403)。

贡献者

核心

  • @teknium1:salvage、triage、review、feature 开发与发布管理。

主要社区贡献者(按合入 PR 数排序)

  • @kshitijk4poor21 个 PR · SearXNG 原生搜索后端、按能力选择后端、TUI 启动 banner 折叠、Slack 临时 ack 与格式修复、Lightpanda fallback 加固、searxng-search optional skill、自定义工具默认走插件、kanban failure-column 修复
  • @alt-glitch13 个 PR · video_analyze 工具、xAI Custom Voices(语音克隆)、本地后端 CLI 启动目录修复、惰性会话创建回归修复、gateway 启动时刷新 systemd unit
  • @OutThisLife9 个 PR · TUI 性能优化(overlay 渲染抖动减少)、语音 push-to-talk 一致性恢复
  • @helix4u6 个 PR · 窗口大小变化后恢复 classic CLI 输出、TUI 绝对路径补全、gateway model picker current-context 修复、Bedrock 凭证探测规避、kanban 文档修复
  • @ethernet80233 个 PR · Docker CI:不取消重叠构建、:latest 标签守护
  • @benbarclay3 个 PR · Docker:通过 HERMES_DASHBOARD=1 启动 dashboard 副进程
  • @austinpickett3 个 PR · Dashboard Plugins 页面、TUI /model picker 重写(含 inline 鉴权)、kanban 按钮修复
  • @sprmn24 — 2 个 PR
  • @asheriif — 2 个 PR
  • @xxxigm2 个 PR · 贡献者文档:.venv 偏好、测试 runner 与 AGENTS.md 对齐
  • @stephenschoettler — ACP MCP E2E mock kwargs
  • @vincez-hms-coder — Dashboard Profiles 管理页面
  • @cdanis — Contributor
  • @briandevans — Toolsets 测试:kanban 断言
  • @heyitsaamir — Contributor

其他贡献

除上述贡献者外,还有一长串 salvage / co-author / docs / 单次修复贡献者,完整名单请参阅官方发布页

自 v0.12.0 以来共有 **295 位社区贡献者(含 co-author)**参与——仅一周时间。