v0.17.0

Hermes Agent v0.17.0 — The Reach Release(触达版本)


概览

v0.17.0 — The Reach Release(触达版本),2026 年 6 月 19 日发布。~1,475 次提交 · ~800 个合并 PR · 1,693 个文件变更 · 235,390 行新增 · 50,730 行删除 · 300+ 个 issue 关闭 · 245 位社区贡献者

v0.16.0 把 Hermes 搬到了你的桌面上,v0.17.0 要展示的是这份触达能走多远——延伸到更多能和它对话的地方、更深入你已经在用的那些工具,以及覆盖那些为团队跑 Hermes 的人。两个全新的消息通道到位(iMessage 通过 Photon,Raft Agent 网络),桌面端大幅深化,子 Agent 现在可以在后台跑,图片生成学会了编辑,Cursor 的 Composer 模型通过你的 xAI Grok 订阅就能用。Dashboard 迎来了完整的 Profile 构建器和安全登录,Skills Hub 彻底重做,memory 工具新增了原子批量操作。Curator 不再在日常运行上烧辅助模型预算。再加上一轮安全加固,300+ issue 一次清光。


重磅功能

1. iMessage 通过 Photon Spectrum — 不需要 Mac 中继了

Hermes 现在通过 Photon 的托管号码池直接接入 iMessage。不需要找台 Mac 放角落里跑中继,也不用伺候 BlueBubbles 桥接器。

# 用设备码 OAuth 认证
hermes photon login

# Hermes 已经在 iMessage 上了 — gRPC 原生通道(无 webhook)
# 支持 Markdown 渲染、emoji 反应、通过 spectrum-ts 发送媒体

基于 gRPC 原生通道,不依赖 webhook,支持 Markdown 渲染、emoji 反应和媒体发送。定位是 BlueBubbles 的继任者:免费上手,什么都不用自己搭。如果你的朋友家人活在蓝色气泡里,Hermes 现在也在里面了。(#32348, #42582, #44713)

2. Raft — Hermes 加入 Agent 网络

新增了一个内置的 Raft 平台适配器,让 Hermes 通过 wake-channel 桥接作为外部 Agent 接入 Raft。设置 RAFT_PROFILE,跑起桥接,Raft 就能唤醒 Hermes 处理消息——采用隐私优先的合约设计,wake 负载只携带元数据(事件 ID、时间戳),绝不包含消息正文。(#48210)

export RAFT_PROFILE=my-hermes-agent
hermes raft bridge

3. 桌面端大幅进化,已经是正经的生产力工具了

v0.16.0 推出了桌面端,v0.17.0 用几十个 PR 把它真正深化了。现在可以当主力用了。

可自定义快捷键原生系统通知,每种通知都能独立开关。

子 Agent 实时观察窗:

当你把任务委派出去,一个专用窗格会实时流式展示子 Agent
的活动——工具调用、输出、进度。你可以在不切换上下文的情况
下观察它在干什么。

Composer 模型选择器,支持每个模型独立预设——在 GUI 中列出 hermes model 看到的所有 provider/模型组合。自动 RTL/双向文本方向。可调节尺寸的 VS Code 风格终端面板。每个线程独立保留 Composer 草稿。

可以直接安装 VS Code Marketplace 上的任意主题到应用中——每个 Profile 单独指定。窗口透明度滑块。统一 Overlay 设计体系。

桌面端其他亮点:

  • Mac 风格的会话切换器(^Tab / ^1-9)
  • Composer 中方向键回放历史 + 队列编辑
  • 从审批栏内嵌展开完整命令
  • 流式输出自动跟随到底 + 一键跳底部按钮
  • 侧边栏一级 cron 任务入口
  • 按 worktree 分组侧边栏
  • 悬停展开折叠侧边栏
  • 侧边栏按消息来源分文件夹
  • 桌面宠物 — 弹出浮窗 + 通知
  • 日语 + 繁体中文语言切换
  • 状态栏“重启 Gateway”操作按钮

远程 Gateway 改进:

  • 远程媒体中继 — 首次支持通过网络附加图片/PDF 并展示 Agent 生成的图片
  • 通过 file.attach 远程附加文件
  • 客户端 + 后端版本按钮,带远程更新流程
  • 浏览远程后端文件
  • 睡眠/唤醒后恢复聊天,自动验证过期远程后端

4. 后台/异步子 Agent — 任务甩出去,你继续干活

delegate_task(background=true) 把子 Agent 派到后台去跑,立刻返回一个句柄。它在那折腾的时候,你和模型继续工作,结果是作为新的一轮消息自动回到对话中的。

# 后台委派 — 非阻塞
/delegate_task "把整个竞品格局调研一遍" --background

# 你继续干活。子 Agent 搞完后,结果作为新一轮消息自动回来。

不用再傻等着漫长的调研或构建步骤跑完。甩出去接着干活。(#40946, #46968)

5. 图片编辑 — 不只是生成,还能改图

image_generate 现在可以对已有图片进行编辑和变换,不只是从零生成。传入一张已有图片加一段 prompt——它会路由到后端所有支持的图片 Provider 的 edit 端点。

# 编辑已有图片
image_generate --source logo.png --prompt "Make this logo blue and add a gradient background"

# "去掉背景"、"把这张草图转成渲染图" — 一个工具全搞定

video_generate 同一套工具、同一种模式。(#48705)

6. 自动化蓝图 — 安排定时任务不用学 Cron 了

按名字选一个自动化模板,Hermes 会问你它需要什么——不用写 cron 表达式,不用敲 slot=value。一份蓝图定义在所有界面上都能原生渲染:Dashboard 里是表单,CLI/TUI/聊天里是 slash 命令,跟 Agent 聊天的过程,文档目录里的一条记录。

# 告别 cron
/hermes automation create "每天早上 8 点给我新闻简报"
# Hermes 会问:要哪些来源?什么格式?有没有过滤条件?
# 搞定。全程没出现过 "0 8 * * *"。

“每天早上 8 点新闻简报”变成一个通过回答问题就能搞定的事,而不是靠背 cron 语法。(#41309)

7. Cursor 的 Composer 模型 — 用你的 xAI Grok 订阅直接跑

grok-composer-2.5-fast 现在出现在 xAI OAuth 模型选择器里了,上下文窗口确认为完整 200k。Composer 是 Cursor 背后那套快速编码模型——如果你有 xAI Grok 订阅,现在可以直接通过 OAuth 让 Hermes 走它,不需要额外 API key。

/hermes model:xai/grok-composer-2.5-fast

你的 Grok 订阅,Hermes 的 Agent 循环,Composer 的编码速度。(#47908)

8. Dashboard 完整 Profile 构建器

在浏览器里就能搭完一个 Hermes Profile——选模型、挑 Skills、挂 MCP 服务器——不用手改 config.yaml。Dashboard 把多 Profile 管理统一成了机器级的全局视图,配全局 Profile 切换器。(#39084, #44007)

9. Skills Hub 浏览体验大换血

Dashboard 的 Skills Hub 从头重做了:已连接的 Hub、Featured 精选区、安装前完整预览 Skill、每个 Skill 都跑安全扫描。从受信源(OpenAI、Anthropic、HuggingFace、NVIDIA)浏览和安装 Skill 现在是真的“逛”的体验,不是平铺列表了。外加 Skills 页面的 SKILL.md 编辑器,cron 弹窗里的附加 Skill 选择器。(#40384, #43398)

10. Memory 工具 — 原子批量操作

memory 工具新增了 operations 数组,一次性把一批 add/replace/remove 操作原子地应用到最终字符预算内。模型可以腾出空间并添加新条目,一次调用搞定——即便单纯 add 会溢出预算也能处理。

{
  "operations": [
    { "action": "remove", "key": "old-deprecated-fact" },
    { "action": "add", "key": "new-important-fact", "value": "..." },
    { "action": "replace", "key": "updated-fact", "value": "..." }
  ]
}

以前要小心翼翼多轮来回的操作,现在一行可靠调用全搞定了。(#48507)

11. WhatsApp Business Cloud API 官方支持

除了现有的 Baileys 桥接,Hermes 现在也能走 官方 WhatsApp Business Cloud API 了——Meta 第一方托管、零桥接进程方案。填入你的 Business API 凭据,Hermes 就通过官方渠道接入 WhatsApp,不用跑扫码桥接进程一直保活。(#44331, #43921)

12. Telegram 富文本消息 — Bot API 10.1

Telegram 回复现在通过 Bot API 10.1 渲染为真正的富文本消息:更好的格式、更清晰的长消息处理、原生标记语言而非拍平文本。默认开启,可选择关闭。另外还有可选的上线/离线 Bot 状态指示。(#44829, #45584)

13. Curator 成本优化 — 日常运行零 Token 消耗

Skill Curator 现在默认只清理过期 Skill,不再跑那个烧钱的大模型整合流程了,除非你主动打开(curator.consolidate: truehermes curator run --consolidate)。确定性非活跃清理继续免费跑,那个耗辅助模型 token 的“建顶层 Skill”分支默认关闭了。日常后台管理的成本:零 token。(#47840)


God-File 重构 — 代码质量大扫除

这个版本完成了 Hermes 历史上规模最大的重构之一,把三个单体巨型文件拆成了聚焦的小模块:

文件 重构前 重构后 拆出了什么
cli.py main() 3,297 行 954 行 28 个子命令解析器 → hermes_cli/subcommands/;32 个 slash 命令处理器 → CLICommandsMixin;18 个模型流程向导函数 → model_setup_flows;Agent 构建集群 → CLIAgentSetupMixin
gateway/run.py 19,157 行 15,870 行 42 个 slash 命令处理器 → GatewaySlashCommandsMixin;授权集群 → GatewayAuthorizationMixin;看板监视器循环 → GatewayKanbanWatchersMixin
run_agent.py 轮次循环 Prologue 提取为 TurnContext;循环尾部拆为 finalize_turn;重试循环恢复标志统一为 TurnRetryState

新增内置工具与命令

工具 / 命令 描述 用法
/version 显示当前 Hermes 版本 /version
/billing 交互式终端账单视图(TUI + CLI) /billing
image_generate(编辑) 跨所有后端的图生图编辑 image_generate --source img.png --prompt "make it blue"
memory(批量操作) 在字符预算内原子执行 add/replace/remove 数组 见重磅功能第 10 节的 JSON 示例
search_files(压缩返回) 无损压缩 — 每个结果占更少 token,匹配结果不变 search_files --pattern "*.py"
read_file(文档提取) .ipynb/.docx/.xlsx 提取为文本 read_file notebook.ipynb
file.attach 远程 Gateway 文件附件 file.attach ./report.pdf
自动化蓝图 基于命名模板、告别 cron 语法的定时任务 hermes automation create "每日简报"
write_approval 布尔开关,替代 memory/skill 写入的三态 write_mode Config: write_approval: true
session:compress 会话压缩时的插件生命周期事件 插件钩子
Plugins Hub(TUI) 交互式启用/禁用覆盖层 TUI 覆盖层

Provider 与模型支持

  • 新模型z-ai/glm-5.2(验证 1M 上下文),anthropic/claude-fable-5laguna-m.1 + nemotron-3-ultra,xAI Composer 2.5 进 OAuth 选择器
  • 模型选择器:Refresh-Models 控件刷新过期缓存;Nous 推荐模型持久化到磁盘;更新时从 checkout 填充磁盘模型目录缓存;MiniMax-M3 报告真实 1M 上下文
  • Anthropic 自适应模型:默认使用现代 thinking 契约;永远不发送 reasoning 字段;将 reasoning_effort 路由到 verbosity;选择高成本选项时要求确认
  • 认证改进:从池中自动检测 OpenRouter 凭据;保持 Codex OAuth 池账号相互独立;跨 Profile 解析 xAI OAuth;尊重 model.default_headers 自定义 Provider
  • Bedrock:当 IAM 拒绝流式变体时回退到非流式 InvokeModel
  • Ollama:默认 max_tokens=65536;将模型拒答映射为 content_filter

核心架构改进

Agent 循环 & 工具:

  • search_files 无损压缩返回 — 每个结果更少 token,匹配结果不变
  • 移除 Agent 可直接调用的 send_message 工具(整合)
  • CLI/TUI/桌面端/ACP 统一的编码上下文姿态
  • 上下文文件处理:可配置截断上限 + 警告;根据模型窗口自动缩放
  • 压缩:压缩摘要中支持时间锚定;对 Codex OAuth 上的 gpt-5.5 将触发阈值提高到 85%
  • 自适应中间件(供 NeMo-Relay 观测遥测消费);支持对话中途方向调整

会话、状态 & 多 Agent:

  • 可选最大会话数上限;CLI 退出时清空会话
  • ACP 会话来源元数据,用于压缩轮换
  • 委派:按端点身份解析自定义端点子 Agent 池;移除默认 wall-clock 超时
  • Kanban:kanban_create 可配置自动订阅;嵌入式调度器机器级全局单例锁;固定分配 worker 的 Profile 工具集
  • Memory:可配置 Hindsight 保留观察范围;OpenViking 设置体验;Honcho Gateway 级身份树;Supermemory 会话级 ingest

消息平台

新通道:

  • iMessage 通过 Photon Spectrum — 设备码 OAuth、gRPC 原生、无 webhook
  • WhatsApp Business Cloud API — 官方方案,零桥接进程
  • SimpleX — 群组、原生附件、文本批处理、自动接受
  • Raft — 内置平台插件,带活动钩子

Gateway 核心 & 渲染:

  • 终端工具调用在 Markdown 平台上渲染为原生 bash 代码块
  • 可选在 LLM 上下文中附带消息时间戳
  • 可配置 tool_progress_grouping

各平台改进:

平台 改进
Telegram Bot API 10.1 富文本消息(始终开启);上线/离线状态指示;长流式回复不再被截断;进度编辑使用 MarkdownV2
Discord role_authorized 传播以支持 DISCORD_ALLOWED_ROLES;从运行时 Gateway 任务退出中恢复;回复后停止打字
Slack reply_in_thread=false 时限定顶层频道消息范围;线程内审批体验;视频附件可供 Agent 使用;register_slack_action_handler 插件 API
Signal/Email/Teams 文档附件正确分类;包含已回复的媒体
WhatsApp 重启过期桥接进程
Matrix 房间上下文隔离
QQbot CPU 空转修复
微信 限流熔断器

CLI、TUI 与安装

  • /version slash 命令;/billing 交互式终端账单
  • 状态栏显示距离上次 Agent 最终回复的时间
  • 已解决的 approved/clarify 提示持久化保留在滚动缓冲区
  • 锁定 hermes worktree 防止并发进程冲突
  • 从任意来源克隆 Profile
  • 首次接触时可选的引导式 Profile 构建路径
  • 可配置的按平台系统提示词
  • 可配置的后台 memory/skill 通知
  • TUI:交互式 Plugins Hub 启用/禁用覆盖层;终端标题栏显示会话名称;超长审批命令折行而非截断
  • TTS:Gemini 角色提示词 + 音频标签;xAI 自动语音标签 + 速度/流式;Piper speaker_id;Telegram OGG 自动 TTS

工具系统、Skills 与 MCP

  • 图生图编辑image_generate 跨所有后端支持;自动缩放到 Provider 尺寸限制
  • MCP:官方 Unreal Engine 5.8 MCP 服务器入库;询问处理器 — MCP 服务器可在工具调用中途弹出确认(支付/OAuth),在任何拥有会话的界面上显示;在轮次之间暴露延迟连接的 MCP 工具;为短 TTL HTTP 会话发送 keepalive ping;拦截疑似数据外泄/可疑的 stdio 配置;对 tools/list 做能力门控
  • Skillssimplify-code Skill(并行 3 Agent 代码审查与清理),支持按风险等级分层应用;查找并对比用户修改过的内置 Skill;可选支付类 Skill(Stripe Link、MPP、Projects);实时按源展示浏览进度
  • Plugins:支持从仓库子目录安装;在 hermes plugins install 中接受粘贴浏览器里的 GitHub URL;session:compress 生命周期事件 + Agent 上下文中提供 thread_id/chat_type
  • Memory/Skill 写入审批开关(默认关闭)— 布尔型 write_approval 替代三态 write_mode

Fleet、Relay 与自动化

  • 托管作用域 — 管理员固定、用户不可变的配置与密钥,来自 root 拥有的 /etc/hermes
  • 一个 Gateway 进程多路复用所有 Profile(可选开启)
  • 可插拔 CronScheduler + Chronos 托管 cron Provider(scale-to-zero)
  • Gateway-Gateway Relay(阶段 0-3):Relay 适配器 + 能力描述符、Connector⇄Gateway 通道认证 + 签名 HTTP 入站、仅 WS 入站、托管启动自配置客户端

Docker、Nix 与安装器

Docker:

  • s6:直接检测 supervisor 用于 Gateway 重启;注册 Profile Gateway 不自动启动;清理过期日志锁
  • 优化镜像大小(.dockerignore、去掉 dev 依赖、分离层);预装 matrix 依赖;supervised gateway 使用 --replace;加固托管安装目录

Nix:

  • 冷 npm build 修复 + auto-fix-lockfiles 工作流
  • 通过 importNpmLock 实现无哈希 npm 依赖
  • Electron 40.10.2 pin 后刷新 npmDepsHash

安装器:

  • autostash 前清理未合并的 git index
  • 安装方法标记限定到代码树范围

Windows

  • Dashboard /chat 标签页通过 ConPTY(win_pty_bridge
  • uv 安装时解析 PowerShell 主机而非裸 powershell
  • 按绝对路径解析 powershell.exe,防止桌面端安装卡住
  • 修复过期 winget 注册 + 刷新/合并 PATH
  • 重建 venv 前先 kill hermes,释放 _bcrypt.pyd
  • env 过期时从注册表读取 HERMES_HOME
  • JOB-breakaway 监视器可靠性 + status --deep 探测
  • 子进程输出解码为 UTF-8

安全与可靠性

  • 自有策略 Gateway 适配器故障即关闭
  • Slack/飞书/Discord 上审批按钮认证在未设置白名单时故障即关闭
  • 在请求调试转储中脱敏密钥;从公共状态中隐藏主机元数据
  • 在探测前拦截疑似外泄/可疑 MCP stdio 配置
  • 封堵 shell 转义黑名单绕过 + 缺少审批模块时故障即关闭
  • 启动 cua-driver MCP 前清理 operator 环境
  • 为 cron 任务脚本子进程消毒环境变量
  • TodoStore 内容长度/数量加限制
  • 扫描 REST cron 提示词,与 Agent 工具保持一致性
  • 升级 urllib3 和 PyJWT 清除 CVE
  • Langfuse 脱敏 base64 数据 URI

Notable Bug Fixes

  • URL 非 ASCII 组件做百分号编码
  • 清理 FTS5 查询中的 : 避免冒号搜索静默返回空
  • 通过崩溃恢复持久化保留多模态用户内容
  • Provider 同步前拍平多模态内容
  • 真正的 Nous 429 时重新进入重试循环,让回退守卫运行
  • 将 Nous tags 限定到 Nous 辅助调用
  • Cron:不在无 Skill 任务中严格扫描脚本注入输出
  • Cron:将按任务指定的 Provider “custom” 解析为 providers.custom
  • Cron:容器重启时修复 cron 所有权

(本窗口关闭了 300+ issue — 完整的按领域修复列表太多,不逐一列举了。)


本窗口内回滚

  • html-artifact Skill + 草图/架构图/概念图折叠 (#48899) — 已回滚 (#49053)
  • Cron 按任务 Profile 支持已回滚 (#43956)
  • Nix patchPhase 变通方案已回滚 (#42151)

升级

hermes update

全新安装请参考安装指南


GitHub 完整更新日志

← 版本发布