# Hermes Agent v0.19.0 (v2026.7.20)
**发布日期:** 2026年7月20日
**自 v0.18.0 以来的变化:** 约 2,245 次提交 · 约 1,065 个合并 PR · 约 2,465 个文件变更 · 约 300,000 行新增 · 约 36,000 行删除 · **约 3,300 个 issue 关闭** · **450+ 社区贡献者**
> **"水银"版本。** 赫尔墨斯是信使之神,而这个版本我们让他跑得飞快。首次交互的首 Token 延迟在所有平台上降低了约 **80%**,推理流式输出默认开启,桌面应用经过约 20 个 PR 的速度改造(流式 Markdown 渲染快 14 倍、虚拟化差异比较、流畅的会话切换),TUI 采用增量方式渲染 Markdown。在这条速度主轴周围:您现在可以**在不离开终端的情况下管理 Nous 订阅**,将 **Bitwarden 和 1Password** 直接接入 Hermes,让**智能审批**默认帮您判断被标记的命令,**实时观察您的子代理工作**,并且借助可靠的投递账本,已完成的回复能够**在网关崩溃后依然幸存**。此版本还整合了 v0.18.1 和 v0.18.2 基础架构补丁标签中的所有内容——这些窗口在此有完整记录。
---
## ✨ 亮点
- **Hermes 大幅提速——首 Token 时间缩短至原来的几分之一**——冷启动时的"正在初始化代理…"过去在您的首次交互到达模型之前需要约 4.3 秒;现在缩短至约 0.9 秒,减少了约 80%,这一改进适用于 CLI、网关、TUI、桌面和定时任务。第二轮优化针对您*看到*的内容:推理模型现在默认流式输出其思考过程(无需再盯着旋转圈等待 30 秒),并且回复框逐 Token 绘制,而非逐行。如果 Hermes 此前给您一种回答问题前需要深呼吸的感觉,那么这种呼吸已经消失。([#59332](https://github.com/NousResearch/hermes-agent/pull/59332)、[#59389](https://github.com/NousResearch/hermes-agent/pull/59389) — @teknium1)
- **桌面应用速度浪潮——20+ 个针对性性能 PR**——长回复在 Markdown 分割器上的 CPU 消耗现在是之前的 1/14;巨大的差异对比冻结了审查面板,直到我们将其虚拟化;切换会话不再导致布局抖动。流式输出不再每 Token 重新渲染侧边栏和每个工具行;配置文件后端在悬停意图时预预热;启动时隐藏的面板在空闲时挂载,而非在冷启动关键路径上。最终效果:即使面对巨大会话记录和忙碌的代理,桌面应用在负载下也感觉像原生应用。([#67154](https://github.com/NousResearch/hermes-agent/pull/67154)、[#67818](https://github.com/NousResearch/hermes-agent/pull/67818)、[#65898](https://github.com/NousResearch/hermes-agent/pull/65898)、[#66033](https://github.com/NousResearch/hermes-agent/pull/66033)、[#66747](https://github.com/NousResearch/hermes-agent/pull/66747)、[#67742](https://github.com/NousResearch/hermes-agent/pull/67742) 及更多 — @OutThisLife)
- **从终端管理您的 Nous 套餐——`/subscription` 和 `/topup`**——更改订阅过去需要访问计费网站。现在 `/subscription` 直接在 TUI 或经典 CLI 中打开一个完整流程:查看您的套餐和剩余额度,预览升级的确切费用("支付 $46.30 并立即升级")或降级生效时间,并可应用更改——附带计划变更横幅和撤销功能。桌面应用也新增了匹配的计费设置选项卡。您的钱包无需离开键盘。([#51639](https://github.com/NousResearch/hermes-agent/pull/51639)、[#61054](https://github.com/NousResearch/hermes-agent/pull/61054)、[#61067](https://github.com/NousResearch/hermes-agent/pull/61067) — @alt-glitch)
- **智能审批现已成为默认设置**——当 Hermes 想要执行一条被标记的命令时,LLM 审核员现在会独立评估,而不是要求您逐一批准——并且每次裁决仅针对该特定命令,因此后续匹配相同模式的命令会得到自己独立的审核。结合新的**用户定义的拒绝规则**(即使在 yolo 模式下也能阻止命令)和 `/deny <reason>`(告诉代理您*为何*拒绝,以便其修正方向),日常审批疲劳大幅降低,同时不放弃控制权。([#62661](https://github.com/NousResearch/hermes-agent/pull/62661)、[#59164](https://github.com/NousResearch/hermes-agent/pull/59164)、[#54518](https://github.com/NousResearch/hermes-agent/pull/54518) — @teknium1)
- **将您的密码管理器接入 Hermes——Bitwarden 和 1Password 秘密源**——API 密钥不再需要存放到明文 `.env` 文件中。新的可插拔 `SecretSource` 接口允许 Hermes 在加载时从 Bitwarden 和 1Password(`op://` 引用)获取机密,支持同时启用多个保险库、确定性优先级、冲突警告以及每个变量的来源追踪。这整合了 11 个竞品社区 PR 到一个统一编排的接口中——未来的保险库提供商可作为插件直接接入。([#59498](https://github.com/NousResearch/hermes-agent/pull/59498) — @teknium1,1Password 提供商由 @hwrdprkns 提供)
- **观看您的子代理工作——实时日志 + 持久的后台委派**——`delegate_task` 调度现在返回实时日志文件,您可以在子代理启动时使用 `tail -f` 查看:每个工具调用、结果和流式回复,每个子代理一个人工可读的日志。并且后台委派完成现在具有**持久性**——如果进程中途重启,结果会恢复并通过所有权检查的账本交付,而不是消失。您可以派出一个舰队,实时观察任何工作节点,并且永远不会丢失结果。([#67479](https://github.com/NousResearch/hermes-agent/pull/67479)、[#63494](https://github.com/NousResearch/hermes-agent/pull/63494) — @teknium1)
- **已完成的回答不再丢失——投递义务账本**——如果网关在生成回复和确认平台实际投递之间崩溃,该回复过去会静默丢失(而您已为该次交互付费)。最终回复现在在平台发送时被记录在 `state.db` 中的持久化账本中,并在**下次启动时重新投递**——关闭了 Telegram、Discord、Slack 以及所有其他渠道的 P1 级静默丢失窗口。([#67181](https://github.com/NousResearch/hermes-agent/pull/67181) — @teknium1)
- **一个网关,多个配置文件——基于配置文件的消息路由**——共享一个机器人令牌的单一多路复用网关现在可以将特定的公会、频道或线程路由到不同的配置文件——每个配置文件拥有完全隔离的配置、技能、记忆和秘密。将您的工作 Discord 服务器指向 `work` 配置文件,将爱好服务器指向 `personal`,来自同一个机器人。第二轮多路复用加固意味着一个配置错误的配置文件不再能够拖垮整个网关。([#64835](https://github.com/NousResearch/hermes-agent/pull/64835) 包含 @Burgunthy 的贡献、[#65700](https://github.com/NousResearch/hermes-agent/pull/65700)、[#60589](https://github.com/NousResearch/hermes-agent/pull/60589) — @teknium1、@benbarclay 及六位贡献者)
- **新的提供商和最新的前沿模型**——Fireworks AI 和 DeepInfra 成为一等公民提供商(Fireworks 带有成本估算并在提供商选择器中排名第二),Upstage Solar 通过整合加入,模型目录新增了 **GPT-5.6(Sol/Terra/Luna + Pro 变体,端到端接入所有路由)**、**grok-4.5(GA)**、**moonshotai/kimi-k3**、**claude-fable-5 / claude-sonnet-5** 以及 GA 版本的 **tencent/hy3**——此外还有用于本地设置的 LM Studio JIT 模型加载。([#62593](https://github.com/NousResearch/hermes-agent/pull/62593)、[#63969](https://github.com/NousResearch/hermes-agent/pull/63969)、[#61616](https://github.com/NousResearch/hermes-agent/pull/61616) — @kshitijk4poor 完成 @rob-maron 的 #61578、[#60887](https://github.com/NousResearch/hermes-agent/pull/60887)、[#65913](https://github.com/NousResearch/hermes-agent/pull/65913)、[#64541](https://github.com/NousResearch/hermes-agent/pull/64541)、[#65472](https://github.com/NousResearch/hermes-agent/pull/65472))
- **将思考调至最大——新的推理努力等级和每模型控制**——推理努力新增了 `max` 和 `ultra` 级别(GPT-5.6 和 Codex 的最高级别),可在从 CLI 到桌面的任何地方选择,对于级别范围较小的提供商会进行合理的限制。您现在还可以在配置中固定**每模型的推理努力覆盖**,在 MoA 预设中设置**每槽位的努力等级**(您的顾问思考得深,您的合成器保持快速),以及辅助模型的每任务努力等级。思考深度现在是一个可以调节的旋钮,而不是一个全局开关。([#62650](https://github.com/NousResearch/hermes-agent/pull/62650)、[#64458](https://github.com/NousResearch/hermes-agent/pull/64458)、[#64631](https://github.com/NousResearch/hermes-agent/pull/64631)、[#64597](https://github.com/NousResearch/hermes-agent/pull/64597) — @teknium1)
- **您的会话,您的数据——导出所有内容**——`hermes sessions export` 现在可以写入 Markdown、Quarto、HTML、仅提示词甚至 Hugging Face 就绪的追踪格式,包含完整的过滤表面(按年龄、工作区、平台)、可选 `--redact` 秘密擦除步骤,以及将压缩后的会话血统整合为单一逻辑导出。配合新的修剪过滤器和批量归档功能,保持您的会话存储整洁。您的对话历史现在是一个真正的数据集,而不是一个黑盒。([#60186](https://github.com/NousResearch/hermes-agent/pull/60186) 包含 @web3blind 的贡献、[#60492](https://github.com/NousResearch/hermes-agent/pull/60492)、[#60507](https://github.com/NousResearch/hermes-agent/pull/60507)、[#59327](https://github.com/NousResearch/hermes-agent/pull/59327) — @teknium1)
- **安全加固轮次**——此版本关闭了一系列凭证表面缺口:Vertex 凭证作用域从子进程环境移出并通过配置文件秘密作用域隔离;媒体/视觉/图像生成本地文件读取通过共享的凭证读取防护;所有 aiohttp 服务器的 webhook 主体大小限制;Telegram 传输错误中的机器人令牌脱敏;Fireworks 令牌前缀添加到脱敏器;六个 P1 级浏览器/MEDIA/.env 加固 PR 一次性整合;CI 针对不受信任的引用插值进行了加固。([#57660](https://github.com/NousResearch/hermes-agent/pull/57660)、[#58709](https://github.com/NousResearch/hermes-agent/pull/58709)、[#59215](https://github.com/NousResearch/hermes-agent/pull/59215)、[#56582](https://github.com/NousResearch/hermes-agent/pull/56582)、[#57842](https://github.com/NousResearch/hermes-agent/pull/57842) — @teknium1、@srojk34、@kshitijk4poor、@jquesnelle)
---
## ⚡ 性能——速度主轴
### 首次交互延迟(所有平台)
- **TTFT 降低约 80%**——Discord 能力检测移出关键路径(基于令牌键的 24 小时磁盘缓存 + 后台刷新);对于已知非 Ollama 提供商的跳过探测;代理初始化阻塞工作移除;冷提交→分发从约 4.3 秒降至约 0.9 秒([#59332](https://github.com/NousResearch/hermes-agent/pull/59332) — @teknium1)
- **感知延迟第二轮**——`display.show_reasoning` 默认开启(观看模型思考而非旋转圈);基于 Token 的回复框绘制,带宽度感知的强制刷新;提示构建缓存;mtime 缓存的时区解析([#59389](https://github.com/NousResearch/hermes-agent/pull/59389) — @teknium1)
- 分割混合工具批次以恢复丢失的并发性;从请求大小估算中移除每次调用的 base64 重新序列化([#64460](https://github.com/NousResearch/hermes-agent/pull/64460)、[#67788](https://github.com/NousResearch/hermes-agent/pull/67788) — @teknium1、@OutThisLife)
### 桌面速度浪潮
- 通过增量块词法分析实现流式 Markdown 的 14 倍更少分割器 CPU 消耗;虚拟化审查面板差异对比(不再有全 Shiki 冻结);大会话记录上的流畅会话切换;消除了会话切换时的布局抖动级联([#67154](https://github.com/NousResearch/hermes-agent/pull/67154)、[#67818](https://github.com/NousResearch/hermes-agent/pull/67818)、[#65898](https://github.com/NousResearch/hermes-agent/pull/65898)、[#66033](https://github.com/NousResearch/hermes-agent/pull/66033) — @OutThisLife)
- 减少启动序列化 + 每轮 REST 放大;在悬停意图时预预热配置文件后端和网关套接字;空闲挂载启动时隐藏的面板;快速模型选择器和对话框([#66747](https://github.com/NousResearch/hermes-agent/pull/66747)、[#66347](https://github.com/NousResearch/hermes-agent/pull/66347)、[#67857](https://github.com/NousResearch/hermes-agent/pull/67857)、[#66470](https://github.com/NousResearch/hermes-agent/pull/66470) — @OutThisLife)
- 停止流式输出期间的每 Token 侧边栏和工具行重新渲染;停止对每个工具的参数/结果进行热切的 JSON.stringify;限定工具差异订阅范围;将侧边栏会话切片批处理为一次配置文件数据库传递;针对性的文件树重新验证;rAF 合并的窗口分隔条大小调整([#67742](https://github.com/NousResearch/hermes-agent/pull/67742)、[#67842](https://github.com/NousResearch/hermes-agent/pull/67842)、[#67195](https://github.com/NousResearch/hermes-agent/pull/67195)、[#67245](https://github.com/NousResearch/hermes-agent/pull/67245)、[#67824](https://github.com/NousResearch/hermes-agent/pull/67824)、[#67838](https://github.com/NousResearch/hermes-agent/pull/67838)、[#67844](https://github.com/NousResearch/hermes-agent/pull/67844) — @OutThisLife)
- 系统化的性能基准测试工具,具有可靠的冷启动 + 首 Token 测量,取代了 12 个一次性脚本([#67466](https://github.com/NousResearch/hermes-agent/pull/67466)、[#67697](https://github.com/NousResearch/hermes-agent/pull/67697) — @OutThisLife)
### 其他所有地方
- TUI 增量按块渲染流式 Markdown([#67236](https://github.com/NousResearch/hermes-agent/pull/67236) — @OutThisLife)
- 技能发现按扫描签名缓存;快照清单构建速度约提升 5 倍;工具发现中的文本预过滤先于 AST 解析([#61414](https://github.com/NousResearch/hermes-agent/pull/61414)、[#61131](https://github.com/NousResearch/hermes-agent/pull/61131)、[#63941](https://github.com/NousResearch/hermes-agent/pull/63941) — @kshitijk4poor、@ethernet8023)
- 写时复制消息预处理替代完全深拷贝;模型元数据探测缓存集群;网关 `session.resume` 通过一次 SELECT 查询模型 + 显示历史([#61133](https://github.com/NousResearch/hermes-agent/pull/61133)、[#61368](https://github.com/NousResearch/hermes-agent/pull/61368)、[#67247](https://github.com/NousResearch/hermes-agent/pull/67247) — @kshitijk4poor、@OutThisLife)
- `hermes update` 在 Node 清单未更改时跳过 npm install;仪表板会话列表负载精简 + 消息分页([#61580](https://github.com/NousResearch/hermes-agent/pull/61580)、[#60883](https://github.com/NousResearch/hermes-agent/pull/60883) — @kshitijk4poor)
- 字节稳定的网关系统提示——固定的会话上下文渲染使提示缓存在各轮之间保持存活([#67403](https://github.com/NousResearch/hermes-agent/pull/67403) — @kshitijk4poor)
## 🏗️ 核心代理与架构
### 提供商与模型
- **Fireworks AI 提供商**,包含成本估算 + 缓存的选取器价格列,在提供商选择器中升至第 2 位([#62593](https://github.com/NousResearch/hermes-agent/pull/62593)、[#65476](https://github.com/NousResearch/hermes-agent/pull/65476)、[#65214](https://github.com/NousResearch/hermes-agent/pull/65214) — @teknium1)
- **DeepInfra** 加固集成;**Upstage Solar** 提供商(#42231 整合)([#63969](https://github.com/NousResearch/hermes-agent/pull/63969)、[#64541](https://github.com/NousResearch/hermes-agent/pull/64541) — @kshitijk4poor)
- **GPT-5.6(Sol/Terra/Luna + Pro)端到端**——上下文长度、原生/Codex 目录、定价、所有路由上的压缩限制([#61616](https://github.com/NousResearch/hermes-agent/pull/61616) — @kshitijk4poor,基于 @rob-maron 的工作)
- grok-4.5(GA)目录 + 推理允许列表;kimi-k3 在 Nous Portal 和 OpenRouter 上(kimi-k2.x 退役)+ K3 在 Kimi 编程端点上的发现;claude-fable-5 / claude-sonnet-5 / fugu-ultra 精选;GA 版本 tencent/hy3([#60887](https://github.com/NousResearch/hermes-agent/pull/60887)、[#65913](https://github.com/NousResearch/hermes-agent/pull/65913)、[#65922](https://github.com/NousResearch/hermes-agent/pull/65922)、[#56617](https://github.com/NousResearch/hermes-agent/pull/56617)、[#60943](https://github.com/NousResearch/hermes-agent/pull/60943) — @teknium1)
- 目录标记的静默默认模型(GLM-5.2)+ 裸提供商 `/model` 成本安全路由;LM Studio JIT 加载模式;Kimi 家族 Anthropic 端点的自适应思考([#64771](https://github.com/NousResearch/hermes-agent/pull/64771)、[#65472](https://github.com/NousResearch/hermes-agent/pull/65472)、[#67606](https://github.com/NousResearch/hermes-agent/pull/67606) — @teknium1、@kshitijk4poor)
- GLM-5.2 原生 reasoning_effort 控制;Gemini 请求上下文改进;LLM API 调用的额外 HTTP 头;API 服务器上的每客户端模型路由([#58884](https://github.com/NousResearch/hermes-agent/pull/58884)、[#61873](https://github.com/NousResearch/hermes-agent/pull/61873) — @vishal-dharm、[#57038](https://github.com/NousResearch/hermes-agent/pull/57038)、[#57028](https://github.com/NousResearch/hermes-agent/pull/57028) — @teknium1)
- **Claude Sonnet 5 完全接入**——精选列表、首发定价和所有路由的元数据([#67932](https://github.com/NousResearch/hermes-agent/pull/67932) — @teknium1)
- **隐藏您不使用的提供商**——每个提供商的 `enabled: false` 标志 + `excluded_providers` 配置从 `/model` 选择器和内置解析中删除不需要的提供商([#67971](https://github.com/NousResearch/hermes-agent/pull/67971) — @teknium1)
- Bedrock 目录浪潮:从实时端点探测真实上下文窗口,当前世代 Claude + Fable 的 1M 上下文行,地理前缀一致性,版本化配置文件 ID 定价,Opus 4.8/4.7 行([#68007](https://github.com/NousResearch/hermes-agent/pull/68007)、[#67977](https://github.com/NousResearch/hermes-agent/pull/67977)、[#68005](https://github.com/NousResearch/hermes-agent/pull/68005)、[#67976](https://github.com/NousResearch/hermes-agent/pull/67976) — @teknium1)
- kimi-k3 在 Kimi 直接目录表面上完成部署,在规范 Kimi 编程端点上具有 1M 上下文([#68108](https://github.com/NousResearch/hermes-agent/pull/68108) — @teknium1)
- 提供商选择器:Qwen 提供商折叠为一个组行;桌面模型选择器中可折叠的提供商组;更友好的 TUI 模型显示,将同一端点的提供商分组([#67758](https://github.com/NousResearch/hermes-agent/pull/67758)、[#67904](https://github.com/NousResearch/hermes-agent/pull/67904)、[#67908](https://github.com/NousResearch/hermes-agent/pull/67908) — @teknium1)
### 推理与 MoA
- 每个表面和路由上的 `max` + `ultra` 努力级别([#62650](https://github.com/NousResearch/hermes-agent/pull/62650) — @teknium1)
- 通过统一解析检查点进行每模型 reasoning_effort 覆盖;每任务辅助努力;每槽位 MoA 预设努力;CLI 中的会话范围 `/reasoning`([#64458](https://github.com/NousResearch/hermes-agent/pull/64458)、[#64597](https://github.com/NousResearch/hermes-agent/pull/64597)、[#64631](https://github.com/NousResearch/hermes-agent/pull/64631)、[#67946](https://github.com/NousResearch/hermes-agent/pull/67946) — @teknium1)
- MoA:`reference_max_tokens` 用于限制顾问输出并降低延迟;每预设扇出节奏(`user_turn` 每次用户轮次运行一次顾问);过时预设无重试提示;半填充预设保存时在 API 边界拒绝;聚合器像行动模型一样解析推理([#56756](https://github.com/NousResearch/hermes-agent/pull/56756)、[#57591](https://github.com/NousResearch/hermes-agent/pull/57591)、[#64756](https://github.com/NousResearch/hermes-agent/pull/64756) — @teknium1)
### 委派、审批与代理循环
- 实时子代理日志 + 持久的后台完成(见亮点)([#67479](https://github.com/NousResearch/hermes-agent/pull/67479)、[#63494](https://github.com/NousResearch/hermes-agent/pull/63494) — @teknium1)
- 智能审批默认开启;用户定义的拒绝规则(即使在 yolo 模式下也能阻止);`/deny <reason>` 传递拒绝原因;插件 `pre_tool_call` 审批操作升级为人工把关(以规则键重新落地)([#62661](https://github.com/NousResearch/hermes-agent/pull/62661)、[#59164](https://github.com/NousResearch/hermes-agent/pull/59164)、[#54518](https://github.com/NousResearch/hermes-agent/pull/54518)、[#60504](https://github.com/NousResearch/hermes-agent/pull/60504) — @teknium1、@kshitijk4poor)
- 统一委派并发上限(`max_async_children` 已弃用);在实时状态行上说明提供商长时间等待原因;确定性工具输出风险暴露([#56955](https://github.com/NousResearch/hermes-agent/pull/56955)、[#64775](https://github.com/NousResearch/hermes-agent/pull/64775)、[#61793](https://github.com/NousResearch/hermes-agent/pull/61793) — @teknium1)
- Codex:应用服务器运行时的实时 TUI/桌面工具卡;评论作为可见的临时消息流式输出;压缩通过 `thread/compact/start` 路由;最大输出截断恢复;重放时丢弃过大的消息 ID;通过 `/usage reset` 重置银行使用限制([#66514](https://github.com/NousResearch/hermes-agent/pull/66514)、[#66115](https://github.com/NousResearch/hermes-agent/pull/66115)、[#60114](https://github.com/NousResearch/hermes-agent/pull/60114)、[#58155](https://github.com/NousResearch/hermes-agent/pull/58155)、[#62225](https://github.com/NousResearch/hermes-agent/pull/62225) — @teknium1、@kshitijk4poor、@JoaoMarcos44、[#64280](https://github.com/NousResearch/hermes-agent/pull/64280) — @teknium1)
- 钩子:过大的钩子注入上下文溢出到磁盘([#20468](https://github.com/NousResearch/hermes-agent/pull/20468) — @teknium1)
- 情绪反应——CLI/TUI/桌面上的浮动爱心,无令牌核心检测([#62016](https://github.com/NousResearch/hermes-agent/pull/62016) — @OutThisLife)
### 秘密与配置
- 可插拔 `SecretSource` 接口 + Bitwarden 和 1Password 提供商(见亮点)([#59498](https://github.com/NousResearch/hermes-agent/pull/59498) — @teknium1、@hwrdprkns)
- `hermes config get` / `unset`;未知根配置键警告 + doctor 报告已弃用键;`display.timestamp_format`([#65540](https://github.com/NousResearch/hermes-agent/pull/65540)、[#67370](https://github.com/NousResearch/hermes-agent/pull/67370)、[#40622](https://github.com/NousResearch/hermes-agent/pull/40622) — @teknium1)
- 每任务辅助模型使用记录在会话记账中;会话范围的 Nous Portal 使用标签跨辅助/MoA/委派调用;`--usage-file` JSON 报告用于 `hermes -z`([#65537](https://github.com/NousResearch/hermes-agent/pull/65537)、[#65468](https://github.com/NousResearch/hermes-agent/pull/65468)、[#59615](https://github.com/NousResearch/hermes-agent/pull/59615) — @teknium1)
### 会话与压缩
- 会话导出:Markdown/QMD/HTML/仅提示词/追踪格式,HF 上传,`--redact`,统一过滤器;完整修剪过滤器表面 + 批量归档;CLI 工作区过滤器 + 恢复工作目录在恢复时([#60186](https://github.com/NousResearch/hermes-agent/pull/60186)、[#60492](https://github.com/NousResearch/hermes-agent/pull/60492)、[#60507](https://github.com/NousResearch/hermes-agent/pull/60507)、[#59327](https://github.com/NousResearch/hermes-agent/pull/59327)、[#63091](https://github.com/NousResearch/hermes-agent/pull/63091) — @teknium1、@web3blind)
- 压缩:保留人类意图和持久交接;当记忆未更改时保留提示缓存;为保留图像句柄的摘要器展平多模态内容;网关压缩路由完整性([#67275](https://github.com/NousResearch/hermes-agent/pull/67275)、[#67916](https://github.com/NousResearch/hermes-agent/pull/67916)、[#65046](https://github.com/NousResearch/hermes-agent/pull/65046)、[#56868](https://github.com/NousResearch/hermes-agent/pull/56868) — @kshitijk4poor、@teknium1)
- 网关会话元数据整合到 state.db 中;路由索引移至 state.db(sessions.json 现在为可选的遗留镜像);精确 API 字节持久化在 `api_content` 侧车文件中([#58899](https://github.com/NousResearch/hermes-agent/pull/58899)、[#59203](https://github.com/NousResearch/hermes-agent/pull/59203)、[#67274](https://github.com/NousResearch/hermes-agent/pull/67274) — @teknium1、@kshitijk4poor)
## 🌐 网关、舰队与中继
- **最终回复的持久投递义务账本**(见亮点)([#67181](https://github.com/NousResearch/hermes-agent/pull/67181) — @teknium1)
- **基于配置文件的路由用于入站消息** + 多路复用加固第二波 + `GATEWAY_MULTIPLEX_PROFILES` 覆盖(见亮点)([#64835](https://github.com/NousResearch/hermes-agent/pull/64835)、[#65700](https://github.com/NousResearch/hermes-agent/pull/65700)、[#60589](https://github.com/NousResearch/hermes-agent/pull/60589) — @teknium1、@benbarclay + 被整合的贡献者)
- 每会话轮租约 + 会话范围漏斗;统一会话重置边界(重置的会话保持重置状态);真实的运行时就绪检查;每频道模型和系统提示覆盖;每会话 `/model` 覆盖在重启后持久化([#67401](https://github.com/NousResearch/hermes-agent/pull/67401)、[#65783](https://github.com/NousResearch/hermes-agent/pull/65783)、[#62645](https://github.com/NousResearch/hermes-agent/pull/62645)、[#56967](https://github.com/NousResearch/hermes-agent/pull/56967)、[#57030](https://github.com/NousResearch/hermes-agent/pull/57030) — @teknium1)
- 会话自动重置默认关闭;`/sessions search <query>`;webhook 负载过滤器 + 路由脚本;平台 HTTP 事件回调路由;可配置的长运行状态短语([#60194](https://github.com/NousResearch/hermes-agent/pull/60194)、[#57685](https://github.com/NousResearch/hermes-agent/pull/57685)、[#60944](https://github.com/NousResearch/hermes-agent/pull/60944)、[#65702](https://github.com/NousResearch/hermes-agent/pull/65702)、[#58872](https://github.com/NousResearch/hermes-agent/pull/58872) — @teknium1)
- 中继:通用 OIDC 客户端凭据供应(无需 NAS),路由配置文件来自连接线源,频道上下文来自连接器消费;Nous 认证取证 + `/api/status` 上的 `nous_session_valid` 用于托管自愈;Docker 在启动时重新播种完全死亡的 Nous 引导会话([#60730](https://github.com/NousResearch/hermes-agent/pull/60730)、[#60586](https://github.com/NousResearch/hermes-agent/pull/60586)、[#64649](https://github.com/NousResearch/hermes-agent/pull/64649)、[#59976](https://github.com/NousResearch/hermes-agent/pull/59976)、[#59969](https://github.com/NousResearch/hermes-agent/pull/59969)、[#59983](https://github.com/NousResearch/hermes-agent/pull/59983) — @benbarclay)
## 📱 消息平台
- **内置选择器**用于 Telegram、Discord 和 Matrix 上的 `/reasoning` 和 `/fast`——一键原生按钮而非打字([#65799](https://github.com/NousResearch/hermes-agent/pull/65799) — @teknium1)
- WhatsApp:原生 Baileys 投票(clarify 渲染为投票)、位置、丰富的入站元数据;仪表板配对流程([#58865](https://github.com/NousResearch/hermes-agent/pull/58865)、[#60571](https://github.com/NousResearch/hermes-agent/pull/60571) — @teknium1)
- Discord:在重新连接期间恢复丢失的消息;自动创建的线程重命名为生成的会话标题;可配置的交互式视图超时;执行审批提示上的可选主人提及;审批按钮的可选仅管理员门控([#66149](https://github.com/NousResearch/hermes-agent/pull/66149)、[#60187](https://github.com/NousResearch/hermes-agent/pull/60187)、[#60230](https://github.com/NousResearch/hermes-agent/pull/60230)、[#60493](https://github.com/NousResearch/hermes-agent/pull/60493)、[#51751](https://github.com/NousResearch/hermes-agent/pull/51751) — @teknium1)
- Slack:实时每工具状态行([#67080](https://github.com/NousResearch/hermes-agent/pull/67080) — @teknium1,整合 #62007)
- Telegram:每主题自由响应允许列表;Google Chat clarify 提示渲染为卡片([#65543](https://github.com/NousResearch/hermes-agent/pull/65543)、[#65546](https://github.com/NousResearch/hermes-agent/pull/65546) — @teknium1)
- 语音:`stt.echo_transcripts` 开关;MEDIA:独立发送时在媒体气泡上附加字幕;`display.tool_progress: log` 选项([#58859](https://github.com/NousResearch/hermes-agent/pull/58859)、[#61415](https://github.com/NousResearch/hermes-agent/pull/61415)、[#57014](https://github.com/NousResearch/hermes-agent/pull/57014) — @teknium1、@kshitijk4poor)
## 🖥️ Hermes 桌面应用
- **基于布局树模型的贡献驱动外壳**——窗格、区域和布局作为数据;插件作用域的 i18n 区域设置包随后跟进([#60638](https://github.com/NousResearch/hermes-agent/pull/60638)、[#67303](https://github.com/NousResearch/hermes-agent/pull/67303) — @OutThisLife)
- **功能页面**——技能/工具/MCP + 中心集成在一个地方,带有响应式覆盖导航;CLI/仪表板与技能中心、MCP 测试/切换/目录、维护操作、日志过滤器的功能一致性;来自现场测试的五个 UX 修复([#57590](https://github.com/NousResearch/hermes-agent/pull/57590)、[#57441](https://github.com/NousResearch/hermes-agent/pull/57441)、[#67482](https://github.com/NousResearch/hermes-agent/pull/67482) — @OutTheLife、@teknium1)
- **Hermes Cloud 连接模式**(整合 #55402);软网关切换 + 网关设置打磨;带健康探测的终端执行后端选择器([#61912](https://github.com/NousResearch/hermes-agent/pull/61912)、[#61916](https://github.com/NousResearch/hermes-agent/pull/61916)、[#67203](https://github.com/NousResearch/hermes-agent/pull/67203) — @OutThisLife、@teknium1)
- 键位提示工具提示 + 键位设置选项卡 + 统一工作树对话框;新工作树的基础分支选择器;后台完成任务会话的绿色未读点;后台任务侧边栏指示器;无文本消息中的分组工具调用;长工具调用运行的自动滚动窗口([#65204](https://github.com/NousResearch/hermes-agent/pull/65204)、[#62243](https://github.com/NousResearch/hermes-agent/pull/62243)、[#65109](https://github.com/NousResearch/hermes-agent/pull/65109)、[#65174](https://github.com/NousResearch/hermes-agent/pull/65174)、[#61147](https://github.com/NousResearch/hermes-agent/pull/61147)、[#57913](https://github.com/NousResearch/hermes-agent/pull/57913) — @ethernet8023、@OutThisLife)
- 会话 + 项目颜色系统(继承自项目、每会话覆盖、在侧边栏/选项卡间共享);聊天状态中的统一活动项目标识;工作区路径状态操作([#67469](https://github.com/NousResearch/hermes-agent/pull/67469)、[#67681](https://github.com/NousResearch/hermes-agent/pull/67681)、[#67282](https://github.com/NousResearch/hermes-agent/pull/67282)、[#63086](https://github.com/NousResearch/hermes-agent/pull/63086) — @OutThisLife)
- 声明式记忆提供者面板 + 完整配置模态框;配置定义的 TTS/STT 提供者 + xAI TTS 参数;自定义端点设置;每任务定时任务模型选择器;配置文件感知的审批模式控制;UI 缩放设置;Ctrl/Cmd+滚轮缩放;聊天背景切换;`/journey` 打开记忆图形叠加层([#67206](https://github.com/NousResearch/hermes-agent/pull/67206) 整合 @erosika、[#67209](https://github.com/NousResearch/hermes-agent/pull/67209)、[#67759](https://github.com/NousResearch/hermes-agent/pull/67759) — @austinpickett、[#67472](https://github.com/NousResearch/hermes-agent/pull/67472)、[#63520](https://github.com/NousResearch/hermes-agent/pull/63520)、[#60457](https://github.com/NousResearch/hermes-agent/pull/60457)、[#67029](https://github.com/NousResearch/hermes-agent/pull/67029)、[#64598](https://github.com/NousResearch/hermes-agent/pull/64598)、[#57267](https://github.com/NousResearch/hermes-agent/pull/57267) — @teknium1、@OutThisLife)
- 桌面树完全转换为 TypeScript([#57855](https://github.com/NousResearch/hermes-agent/pull/57855) — @ethernet8023)
## 📊 Web 仪表板
- 记忆提供者切换;安全的会话导入流程;WhatsApp 配对;可从 Web UI 编辑的 Discord 特定工具集;明确的 Telegram 机器人手动设置说明([#60569](https://github.com/NousResearch/hermes-agent/pull/60569)、[#63699](https://github.com/NousResearch/hermes-agent/pull/63699)、[#60571](https://github.com/NousResearch/hermes-agent/pull/60571)、[#65361](https://github.com/NousResearch/hermes-agent/pull/65361)、[#64636](https://github.com/NousResearch/hermes-agent/pull/64636) — @teknium1、@kshitijk4poor、@shannonsands)
- 仪表板聊天会话的终端保活 + 重连;重负载轮次隔离到计算主机;将图像粘贴/拖放到聊;`browser.headed` 模式开关;`/api/status` 上的配置文件 + 网关拓扑;移动端/托管 OpenAI OAuth 登录([#60515](https://github.com/NousResearch/hermes-agent/pull/60515)、[#65895](https://github.com/NousResearch/hermes-agent/pull/65895)、[#61929](https://github.com/NousResearch/hermes-agent/pull/61929)、[#67046](https://github.com/NousResearch/hermes-agent/pull/67046)、[#60537](https://github.com/NousResearch/hermes-agent/pull/60537)、[#61330](https://github.com/NousResearch/hermes-agent/pull/61330) — @teknium1、@OutThisLife、@benbarclay)
- `hermes serve` 是真正的无头后端(无 Web UI 构建/挂载)([#55923](https://github.com/NousResearch/hermes-agent/pull/55923) — @OutThisLife)
## 🧰 CLI 和 TUI
- `/subscription` + `/topup` 终端计费(见亮点)([#51639](https://github.com/NousResearch/hermes-agent/pull/51639) — @alt-glitch)
- **`/model --once`**——单次交互模型覆盖,自动恢复([#67113](https://github.com/NousResearch/hermes-agent/pull/67113) — @teknium1,整合 #29923)
- **堆叠的斜杠技能调用**——`/skill-a /skill-b do XYZ` 按顺序加载两种技能(Claude Code 移植),带自动补全 + 幽灵文本([#57987](https://github.com/NousResearch/hermes-agent/pull/57987)、[#58763](https://github.com/NousResearch/hermes-agent/pull/58763) — @teknium1)
- `--safe-mode` 故障排查标志;卸载空运行;TLS 故障快速失败并显示修复提示;`/compact` 别名 + 预览标志;pip/Homebrew 安装警告不受支持([#45300](https://github.com/NousResearch/hermes-agent/pull/45300)、[#60111](https://github.com/NousResearch/hermes-agent/pull/60111)、[#57992](https://github.com/NousResearch/hermes-agent/pull/57992)、[#57029](https://github.com/NousResearch/hermes-agent/pull/57029)、[#57225](https://github.com/NousResearch/hermes-agent/pull/57225) — @teknium1、@ethernet8023)
- TUI:模型选择器刷新支持;自定义技能包作为代理轮次分派;横幅大小的技能显示适应终端宽度([#59782](https://github.com/NousResearch/hermes-agent/pull/59782) — @helix4u、[#62859](https://github.com/NousResearch/hermes-agent/pull/62859) — @Adolanium、[#40624](https://github.com/NousResearch/hermes-agent/pull/40624) — @teknium1)
- Hermes 控制台 REPL + 性能跟进;`hermes curator usage` 所有技能视图;入口点插件在 `hermes plugins list` 中显示([#57781](https://github.com/NousResearch/hermes-agent/pull/57781) — @kshitijk4poor、[#36727](https://github.com/NousResearch/hermes-agent/pull/36727)、[#40623](https://github.com/NousResearch/hermes-agent/pull/40623) — @teknium1)
## 🔧 工具系统、技能与 MCP
- MCP:`mcp__server__tool` 命名规范;服务器日志通知在 agent.log 中显示;在仪表板 + 桌面上完成托管 OAuth;可配置的 `redirect_uri`/`redirect_host` 用于代理/WAF 设置;OAuth 回调端口竞态条件已修复;Blender 加入 MCP 目录,带有精选的 4 工具默认集([#52750](https://github.com/NousResearch/hermes-agent/pull/52750)、[#57416](https://github.com/NousResearch/hermes-agent/pull/57416)、[#66151](https://github.com/NousResearch/hermes-agent/pull/66151)、[#65610](https://github.com/NousResearch/hermes-agent/pull/65610)、[#65622](https://github.com/NousResearch/hermes-agent/pull/65622)、[#64463](https://github.com/NousResearch/hermes-agent/pull/64463) — @teknium1、@benbarclay)
- 技能:`security/unbroker`(自主数据经纪人移除)+ 盲选退出加固;`unreal-mcp` 配套技能;blender-mcp 围绕目录条目重新设计;人性化模式扩展;`mcp-oauth-remote-gateway` 可选技能([#57438](https://github.com/NousResearch/hermes-agent/pull/57438)、[#57902](https://github.com/NousResearch/hermes-agent/pull/57902)、[#65989](https://github.com/NousResearch/hermes-agent/pull/65989)、[#64715](https://github.com/NousResearch/hermes-agent/pull/64715) — @SHL0MS、[#65066](https://github.com/NousResearch/hermes-agent/pull/65066)、[#65486](https://github.com/NousResearch/hermes-agent/pull/65486) — @teknium1)
- 浏览器:在截断时存储完整快照,eval 拒绝列表可选开启;computer_use 遵循 cua-driver 的 verify→escalate 阶梯([#65923](https://github.com/NousResearch/hermes-agent/pull/65923)、[#67123](https://github.com/NousResearch/hermes-agent/pull/67123) — @teknium1)
- 看板:模态创建任务对话框 + 可编辑面板项目目录;已完成的 Done 卡片结果显式显示;拖拽平移面板滚动;附件工具集 + CLI,带有 SSRF 保护的 URL 获取;在面板创建时捕获项目目录([#66333](https://github.com/NousResearch/hermes-agent/pull/66333)、[#63638](https://github.com/NousResearch/hermes-agent/pull/63638)、[#60226](https://github.com/NousResearch/hermes-agent/pull/60226)、[#65698](https://github.com/NousResearch/hermes-agent/pull/65698)、[#63249](https://github.com/NousResearch/hermes-agent/pull/63249) — @teknium1)
- 定时任务:持久执行审计历史;一次性过时移除竞态条件修复;运行声明 TTL 从 HERMES_CRON_TIMEOUT 派生([#61791](https://github.com/NousResearch/hermes-agent/pull/61791) — @teknium1、[#62014](https://github.com/NousResearch/hermes-agent/pull/62014) — @PRATHAMESH75、[#59567](https://github.com/NousResearch/hermes-agent/pull/59567))
- mem0:自托管仪表板后端 + 召回调优 + 设置向导模式([#56943](https://github.com/NousResearch/hermes-agent/pull/56943)、[#60494](https://github.com/NousResearch/hermes-agent/pull/60494) — @kshitijk4poor、@teknium1)
- 图像生成:Codex 图像输入;未支持的 Codex 图像账户分类;工具参数按递归模式规范化(cline 移植)([#57017](https://github.com/NousResearch/hermes-agent/pull/57017)、[#63627](https://github.com/NousResearch/hermes-agent/pull/63627)、[#52220](https://github.com/NousResearch/hermes-agent/pull/52220) — @teknium1、@kshitijk4poor)
## 🔒 安全与可靠性
- Vertex:通过配置文件秘密作用域解析凭证/项目/区域;`VERTEX_CREDENTIALS_PATH`/`GOOGLE_APPLICATION_CREDENTIALS` 从子进程环境中移除([#56680](https://github.com/NousResearch/hermes-agent/pull/56680)、[#56582](https://github.com/NousResearch/hermes-agent/pull/56582) — @srojk34)
- 六个 P1 加固 PR 一次性整合——浏览器防护、MEDIA 锚定、.env 锁定、委派 ACP 传输([#57660](https://github.com/NousResearch/hermes-agent/pull/57660) — @teknium1)
- 媒体/视觉/图像生成本地文件读取通过共享凭证读取防护路由;原生图像路由受文件安全策略保护;统一图像源解析器 + 终端后端限制([#58709](https://github.com/NousResearch/hermes-agent/pull/58709)、[#58752](https://github.com/NousResearch/hermes-agent/pull/58752)、[#57890](https://github.com/NousResearch/hermes-agent/pull/57890) — @teknium1)
- Webhook 主体大小限制扫描:对 3 个未限制的 aiohttp 服务器设置显式 `client_max_size` + 完成扫描;Raft 分块请求主体限制;时间戳绑定的 V2 webhook 签名([#59180](https://github.com/NousResearch/hermes-agent/pull/59180)、[#59215](https://github.com/NousResearch/hermes-agent/pull/59215)、[#58902](https://github.com/NousResearch/hermes-agent/pull/58902)、[#58508](https://github.com/NousResearch/hermes-agent/pull/58508) — @teknium1、@srojk34)
- 脱敏:Fireworks 令牌前缀 + Telegram 传输错误;修复了 KEY=value 和 JSON/YAML 配置字段的环境查找误报;从 Telegram 连接/发送错误中清除机器人令牌([#58501](https://github.com/NousResearch/hermes-agent/pull/58501)、[#58534](https://github.com/NousResearch/hermes-agent/pull/58534)、[#58915](https://github.com/NousResearch/hermes-agent/pull/58915)、[#58893](https://github.com/NousResearch/hermes-agent/pull/58893) — @teknium1)
- computer-use:跨所有五个 cua-driver 生成点的子进程环境清理([#58889](https://github.com/NousResearch/hermes-agent/pull/58889)、[#59165](https://github.com/NousResearch/hermes-agent/pull/59165) — @teknium1)
- 仪表板:托管文件凭证防护扩展到 .env 之外 + 目录树缺口已关闭;OAuth 令牌 TOCTOU 通过原子 0o600 写入修复;过时仪表板无法重新创建已删除的配置文件([#58222](https://github.com/NousResearch/hermes-agent/pull/58222) — @kshitijk4poor、[#60236](https://github.com/NousResearch/hermes-agent/pull/60236) — @teknium1、[#49435](https://github.com/NousResearch/hermes-agent/pull/49435) — @LeonSGP43)
- CI:不受信任的引用通过环境传递,而非 `run:` 插值;JS/TS 测试接入 CI,禁止源代码正则测试;js-autofix 通过 PR 推送而非直接推送到主分支([#57842](https://github.com/NousResearch/hermes-agent/pull/57842) — @jquesnelle、[#60707](https://github.com/NousResearch/hermes-agent/pull/60707)、[#65186](https://github.com/NousResearch/hermes-agent/pull/65186) — @ethernet8023)
- Docker:具有完整路径覆盖的终端网络开关;Git Bash Mandatory-ASLR 安装失败检测;Windows 更新程序控制台在移交期间隐藏([#59149](https://github.com/NousResearch/hermes-agent/pull/59149) — @teknium1、[#64651](https://github.com/NousResearch/hermes-agent/pull/64651)、[#66040](https://github.com/NousResearch/hermes-agent/pull/66040) — @helix4u)
- Anthropic:请求本地客户端,使过时/中断看门狗永远不会破坏 SQLite;每配置文件 OAuth 文件;OAuth 登录 429 已修复(UA 不能是 claude-code/)([#67238](https://github.com/NousResearch/hermes-agent/pull/67238) — @OutThisLife、[#59339](https://github.com/NousResearch/hermes-agent/pull/59339)、[#58178](https://github.com/NousResearch/hermes-agent/pull/58178) — @teknium1)
- 网关/代理:在预 API 清理器中去除 tool_call_id 重复;后台审核继承父级 reasoning_config 以实现 Anthropic 缓存一致性;`/new` 记忆提取移出命令路径([#58350](https://github.com/NousResearch/hermes-agent/pull/58350)、[#64379](https://github.com/NousResearch/hermes-agent/pull/64379)、[#61139](https://github.com/NousResearch/hermes-agent/pull/61139) — @teknium1、@kshitijk4poor)
## 🔁 本版本中已还原的内容(记录在案)
- iron-proxy 凭证注入出口防火墙(#30179 → 在 [#58489](https://github.com/NousResearch/hermes-agent/pull/58489) 中还原)——不包含在本版本中
- 动态工作流编排技能(曾落地,后还原)——不包含在本版本中
- 记忆提供者操作扩展点(曾落地,后还原)——不包含在本版本中
- 注意:插件 `pre_tool_call` 审批升级在版本中期被还原,但**重新落地**于 [#60504](https://github.com/NousResearch/hermes-agent/pull/60504) 并包含在本版本中。
## 👥 贡献者
**450+ 人**为此版本做出了贡献(通过提交、合著者标记和被整合的 PR)——这是迄今为止最大的贡献者窗口。感谢大家。
### 核心团队
- @teknium1 — 版本负责人;TTFT 性能浪潮、投递 + 委派持久性、智能审批、SecretSource、网关多路复用 + 配置文件路由、会话导出、安全轮次,以及约 290 个社区 PR 整合
- @OutThisLife — 桌面应用(速度浪潮、布局树外壳、功能页面、会话颜色、情绪反应、TUI 增量 Markdown、性能测试工具)
- @kshitijk4poor — GPT-5.6 端到端、DeepInfra 和 Upstage Solar 提供商、性能集群、压缩完整性、mem0、仪表板防护
- @ethernet8023 — CI 改造(JS/TS 测试接入、autofix-via-PR、Python 加速)、桌面键位/工作树/状态指示器、完整桌面 TypeScript 转换
- @benbarclay — 中继 OIDC 供应、网关多路复用覆盖、Nous 认证自愈、托管 MCP OAuth 基础工作
- @alt-glitch — 终端计费(`/subscription`、`/topup`)、桌面计费选项卡
- @helix4u — 桌面提供商/模型 UX、TUI 模型选择器刷新、Windows 安装/更新程序加固
- @austinpickett — 桌面自定义端点设置
- @SHL0MS — unbroker + unreal-mcp 技能、人性化扩展
### 顶级社区贡献者
- @srojk34 — 安全加固:通过配置文件秘密作用域实现 Vertex 凭证/项目/区域作用域、子进程环境剥离、Raft 分块请求主体限制
- @HexLab98 — 11 个修复,涵盖 MCP 能力门控、Windows 安装程序 PATH、桌面定时任务编辑、网关 systemd 警告
- @UnathiCodex — 桌面稳定性:跨显示移动缩放、LaTeX 渲染、恢复卡顿和运行时就绪修复
- @xxxigm — 仅思考重试刷新后的 `<think>` 泄漏修复、仪表板认证/主题/PTY 修复
- @erosika — 桌面声明式记忆提供者面板 + honcho 召回/超时正确性
- @Frowtek — 凭证安全:主存储绝不挂载到技能沙箱中、实时日志脱敏、仪表板 api_key 优先级
- @necoweb3 — 浏览器私有页面 CDP 防护、定时任务一次性活跃度、网关压缩失败关闭
- @DavidMetcalfe — 桌面更新程序版本药丸、本地/自定义端点暴露、侧边栏折叠行为
- @shannonsands — 仪表板:移动频道设置、从 Web UI 编辑 Discord 工具集、Telegram 设置清晰性
- @vishal-dharm — Gemini 请求上下文改进
- @PRATHAMESH75 — 定时任务一次性过时移除竞态条件、仪表板多路复用端口绑定防护
- @alelpoan、@embwl0x、@Adolanium、@giggling-ginger、@Drexuxux、@frizikk、@JoaoMarcos44、@wesleysimplici、@LeonSGP43、@pierrenode、@simpolism、@MorAlekss、@r266-tech、@WadydX、@nv-kasikritc — 针对桌面、TUI、网关、定时任务、webhook、nix 和浏览器表面的针对性修复
- 被整合工作的作者,其 PR 在本版本中经过挑选并获得致谢:@Burgunthy(配置文件路由)、@web3blind(会话导出)、@hwrdprkns(1Password)、@Christopher-Schulze、@Ahmett101、@sjiangtao2024 以及更多——请参见整合 PR 正文以获取完整归属
### 所有贡献者
@0-CYBERDYNE-SYSTEMS-0, @0disoft, @0xbyt4, @100yenadmin, @17324393074, @2751738943, @8294, @abhibansal-sg,
@adambiggs, @Adolanium, @aeyeopsdev, @aguung, @AhmetArif0, @Ahmett101, @ai-ag2026, @AIalliAI, @ajzrva-sys,
@alastraz, @alelpoan, @alex-fireworks, @alex-heritier, @alex107ivanov, @AlexFucuson9, @Alix-007,
@allenliang2022, @Almurat123, @AlsayedHoota, @alt-glitch, @alvarosanchez, @amanning3390, @AmAzing129,
@AndreasHiltner, @andrewhomeyer, @annguyenNous, @ansel-f, @antydizajn, @arminanton, @arnispiekus, @asimons81,
@asscan, @ats3v, @austinlaw076, @austinpickett, @avifenesh, @aydnOktay, @Bartok9, @bautrey, @bbednarski9,
@bbopen, @benbarclay, @bigstar0920, @binhnt92, @bird, @Black0Fox0, @BlackishGreen33, @bo.fu, @brendandebeasi,
@briandevans, @BROCCOLO1D, @Bruce-anle, @brunz-me, @Burgunthy, @bytesnail, @catbearlove1-lang, @Cdddo,
@cgarwood82, @CharmingGroot, @chouqin, @Christopher-Schulze, @claudlos, @CocaKova, @Code-suphub, @CodeForgeNet,
@craigdfrench, @CrazyBoyM, @crazywriter1, @cresslank, @cruzanstx, @cyrkstudios, @danilofalcao,
@datachainsystems, @DatTheMaster, @davidb73-hub, @davidgut1982, @DavidMetcalfe, @davidrobertson,
@deacon-botdoctor, @DECK6, @deepujain, @derek2000139, @designnotdrum, @deusyu, @devatnull, @devorun,
@dexhunter, @dfein38347g, @Dhravya, @DictatorBacon, @digitalbase, @dlkakbs, @dmabry, @DNAlec, @dodo-reach,
@doncazper, @dorokuma, @doxe0x, @Drexuxux, @dschnurbusch, @Dusk1e, @EdderTalmor, @egilewski, @elashera,
@Elektrofussel, @eliteworkstation94-ai, @embwl0x, @emo-eth, @emozilla, @enzo-adami, @Epoxidex, @ErnestHysa,
@Erosika, @esthonjr, @ethernet8023, @evefromwayback, @evelynburger, @F4TB0Yz, @falkoro, @fanyangCS, @firefly,
@fjlaowan1983, @flewe, @flo1t, @flow-digital-ny, @floze-the-genius, @frizikk, @Frowtek, @FuryMartin,
@fyzanshaik, @gauravsaxena1997, @geoffreybutler94, @georgedrury, @gigakun3030, @giggling-ginger,
@Git-on-my-level, @gitcommit90, @githubespresso407, @gnodet, @GottZ, @Gridzilla, @grimmjoww578, @gumclaw,
@Gutslabs, @HaiderSultanArc, @harjothkhara, @heathley, @hejuntt1014, @helix4u, @HeLLGURD, @hellno,
@herbalizer404, @HexLab98, @hmirin, @Hopfensaft, @Hotragn, @hsy5571616, @huanshan5195, @HumphreySun98,
@hwrdprkns, @hydracoco7, @hydraxman, @iamlukethedev, @iborazzi, @IgorGanapolsky, @iizotov, @ildunari,
@infinitycrew39, @IpastorSan, @irresi, @isfttr, @isheng-eqi, @itsflownium, @izumi0uu, @Jaaneek, @JacketPants,
@jaisup, @jakelongvu-bot, @jakepresent, @jaketracey, @JAlmanzarMint, @JasonFang1993, @jbbottoms, @jcjc81,
@JiaDe-Wu, @Jiahui-Gu, @Jigoooo, @jingsong-liu, @jneeee, @JoaoMarcos44, @joelbrilliant, @John-Lussier, @jplew,
@jtstothard, @juniperbevensee, @Jupiter363, @justinschille, @k4z4n0v4, @kaishi00, @karfly, @kartik-mem0,
@kavioavio, @KCAYAAI, @kenyonxu, @keslerm, @kevinrajaram, @knoal, @kocaemre, @kohoj, @konsisumer, @krowd3v,
@kshitijk4poor, @kuangmi-bit, @kubolko, @kyssta-exe, @Kyzcreig, @l0h1nth, @labsobsidian, @laurinaitis,
@LavyaTandel, @lawyer112, @lemonwan, @LeonSGP43, @lEWFkRAD, @linfeng961, @liuhao1024, @liuwei666888, @ljy-2000,
@loes5050, @logical-and, @LoicHmh, @loongfay, @lord-dubious, @lost9999, @lucasfdale, @lucaskvasirr,
@luxuguang-leo, @ly-wang19, @m0n5t3r, @m1qaweb, @M1racleShih, @MaartenDMT, @mahdiwafy, @MaheshBhushan,
@ManniBr, @marcelohildebrand, @marcolivierlavoie, @markoub, @MarkVLK, @Marxb85, @matantsevs,
@maxpetrusenkoagent, @mbac, @mdc2122, @mguttmann, @Mibayy, @michaelHMK, @mijanx, @minchang, @momomojo,
@MorAlekss, @morluto, @msh01, @mssteuer, @mvanhorn, @nanami7777777, @nankingjing, @necoweb3, @neo-claw-bot,
@neoguyverx, @nicha16, @nikshepsvn, @nima20002000, @nnnet, @NousResearch, @nullptr0807, @nv-kasikritc,
@okisdev, @OmarB97, @ooiuuii, @ooovenenoso, @oppih, @Osraka, @ostravajih, @otsune, @OutThisLife, @OYLFLMH,
@patrick-muller, @pdmartins, @pedrommaiaa, @Peterskaronis, @petrichor-op, @pgregg88, @pierrenode, @pixel4039,
@plcunha, @pnascimento9596, @Polyhistor, @PRATHAMESH75, @professorpalmer, @Punyko8, @Que0x, @Qwinty,
@r0gersm1th, @r266-tech, @rabadaki, @ragingbulld, @RainbowAndSun, @rainbowgore, @randimt, @rarf, @rasitakyol,
@rayjun, @raymondyan-zhijie, @re-ITRT, @RenoMG, @Rival, @RKelln, @rlaehddus302, @rob-maron, @rodboev,
@roryford, @rungmc357, @ruslanvasylev, @s0xn1ck, @s905060, @s96919, @sahibzada-allahyar, @sahil-shubham,
@Sahil-SS9, @SahilRakhaiya05, @sam7894604, @SAMBAS123, @samrusani, @sanidhyasin, @sasquatch9818, @sberan,
@ScotterMonk, @seagpt, @sebastianlutycz, @SemonCat, @setclock, @shannonsands, @sharziki, @shashwatgokhe,
@SHL0MS, @shuangxinniao, @SilentKnight87, @simplast, @simpolism, @SiteupAgencia, @sjiangtao2024, @sk-holmes,
@slow4cyl, @smtony, @soddy022, @Soju06, @solyanviktor-star, @SongotenU, @spiky02plateau, @sprmn24, @SquabbyZ,
@srojk34, @ssiweifnag, @stantheman0128, @StellarisW, @stephenschoettler, @suninrain086, @superposition,
@Supersynergy, @sweetcornna, @szafranski, @tanmayxchoudhary, @tarunravi, @tcconnally, @terry197913, @Thatgfsj,
@thegoodguysla, @thestudionorth, @TheTom, @TinkerOfThings, @tjboudreaux, @tjp2021, @Tortugasaur, @Tosko4,
@Tranquil-Flow, @trevorgordon981, @trismegistus-wanderer, @tt-a1i, @tuancookiez-hub, @TurgutKural, @Umi4Life,
@UnathiCodex, @unsupportedpastels, @uzaylisak, @valda, @vampyren, @veradim, @victor-kyriazakos, @virtualex-itv,
@vishal-dharm, @Vissirexa, @vizi0uz, @vkkong, @vKongv, @VolodymyrBg, @vortexopenclaw, @VrtxOmega, @WadydX,
@waroffchange, @waseemshahwan, @web3blind, @webtecnica, @wesleion, @wesleysimplicio, @williamumu,
@WilsonKinyua, @wxy-nlp, @wyuebei-cloud, @x7peeps, @x9x9x9x9x9x9x91, @xuezhaolan, @xxxigm, @ya-nsh, @yatesjalex,
@ygd58, @yingliang-zhang, @yinkev, @YLChen-007, @yu-xin-c, @yungchentang, @zapabob, @zccyman, @zeapsu,
@ziliangpeng, @zwcf5200, @zzpigpinggai
此外:bo.fu、Paulo Henrique、kyssta-exe 25470058+kyssta-exe.fu、Paulo Henrique、kyssta-exe 25470058+kyssta-exe。
---
**完整变更日志**:[v2026.7.1...v2026.7.20](https://github.com/NousResearch/hermes-agent/compare/v2026.7.1...v2026.7.20)
# Hermes Agent v0.19.0 (v2026.7.20)
**Release Date:** July 20, 2026
**Since v0.18.0:** ~2,245 commits · ~1,065 merged PRs · ~2,465 files changed · ~300,000 insertions · ~36,000 deletions · **~3,300 issues closed** · **450+ community contributors**
> **The Quicksilver Release.** Hermes is the messenger god, and this window we made him move like it. First-turn time-to-first-token dropped **~80% on every platform**, reasoning streams live by default, the desktop app got a ~20-PR speed overhaul (14× faster streaming markdown, virtualized diffs, snappy session switching), and the TUI renders markdown incrementally. Around that speed spine: you can now **manage your Nous subscription without leaving the terminal**, plug **Bitwarden and 1Password** straight into Hermes, let **smart approvals** judge flagged commands for you by default, **watch your subagents work live**, and trust that a finished response **survives a gateway crash** thanks to a durable delivery ledger. This release also rolls up everything from the v0.18.1 and v0.18.2 infrastructure patch tags — those windows are fully documented here.
---
## ✨ Highlights
- **Hermes got dramatically faster — first token in a fraction of the time** — Cold-start "Initializing agent..." used to eat ~4.3 seconds before your first turn even reached the model; it's now ~0.9s, an ~80% cut that applies to the CLI, gateway, TUI, desktop, and cron alike. Round 2 attacked what you *see* while waiting: reasoning models now stream their thinking live by default (no more staring at a spinner for 30 seconds), and the response box paints per token instead of per line. If Hermes ever felt like it took a deep breath before answering, that breath is gone. ([#59332](https://github.com/NousResearch/hermes-agent/pull/59332), [#59389](https://github.com/NousResearch/hermes-agent/pull/59389) — @teknium1)
- **The desktop app speed wave — 20+ targeted perf PRs** — Long replies used to cost 14× more CPU in the markdown splitter than they do now; giant diffs froze the review pane until we virtualized it; switching sessions thrashes layout no more. Streaming no longer re-renders the sidebar and every tool row per token, profile backends pre-warm on hover intent, and boot-hidden panes mount at idle instead of on the cold-start critical path. The net effect: the desktop app feels like a native app under load, even with huge transcripts and busy agents. ([#67154](https://github.com/NousResearch/hermes-agent/pull/67154), [#67818](https://github.com/NousResearch/hermes-agent/pull/67818), [#65898](https://github.com/NousResearch/hermes-agent/pull/65898), [#66033](https://github.com/NousResearch/hermes-agent/pull/66033), [#66747](https://github.com/NousResearch/hermes-agent/pull/66747), [#67742](https://github.com/NousResearch/hermes-agent/pull/67742) and more — @OutThisLife)
- **Manage your Nous plan from the terminal — `/subscription` and `/topup`** — Changing your subscription used to mean a trip to the billing website. Now `/subscription` opens a full flow right in the TUI or classic CLI: see your plan and remaining allowance, preview exactly what an upgrade costs ("Pay $46.30 & upgrade now") or when a downgrade takes effect, and apply it — with scheduled-change banners and undo. The desktop app got a matching billing settings tab. Your wallet never has to leave the keyboard. ([#51639](https://github.com/NousResearch/hermes-agent/pull/51639), [#61054](https://github.com/NousResearch/hermes-agent/pull/61054), [#61067](https://github.com/NousResearch/hermes-agent/pull/61067) — @alt-glitch)
- **Smart approvals are now the default** — When Hermes wants to run a flagged command, an LLM reviewer now assesses it independently instead of asking you to approve every single one — and each verdict covers only that exact command, so a later command matching the same pattern gets its own review. Combined with the new **user-defined deny rules** (which block commands even under yolo mode) and `/deny <reason>` (which tells the agent *why* you refused so it course-corrects), day-to-day approval fatigue drops sharply without giving up control. ([#62661](https://github.com/NousResearch/hermes-agent/pull/62661), [#59164](https://github.com/NousResearch/hermes-agent/pull/59164), [#54518](https://github.com/NousResearch/hermes-agent/pull/54518) — @teknium1)
- **Plug your password manager into Hermes — Bitwarden & 1Password secret sources** — API keys no longer have to live in a plaintext `.env`. A new pluggable `SecretSource` interface lets Hermes fetch secrets from Bitwarden and 1Password (`op://` references) at load time, with multiple vaults enabled simultaneously, deterministic precedence, conflict warnings, and per-variable provenance. This consolidated eleven competing community PRs into one orchestrated interface — future vault providers drop in as plugins. ([#59498](https://github.com/NousResearch/hermes-agent/pull/59498) — @teknium1, 1Password provider salvaged from @hwrdprkns)
- **Watch your subagents work — live transcripts + durable background delegation** — `delegate_task` dispatches now return live transcript files you can `tail -f` the moment the subagents launch: every tool call, result, and streamed reply, one human-readable log per child. And background delegation completions are now **durable** — if the process restarts mid-run, results are restored and delivered through an ownership-checked ledger instead of vanishing. Fan out a fleet, watch any worker live, and never lose the results. ([#67479](https://github.com/NousResearch/hermes-agent/pull/67479), [#63494](https://github.com/NousResearch/hermes-agent/pull/63494) — @teknium1)
- **A finished answer can no longer be lost — the delivery-obligation ledger** — If the gateway died between generating your response and confirming the platform actually delivered it, that answer used to be silently gone (and you'd paid for the turn). Final responses are now recorded in a durable ledger in `state.db` around the platform send and **redelivered on the next boot** — closing a P1 silent-loss window for Telegram, Discord, Slack, and every other channel. ([#67181](https://github.com/NousResearch/hermes-agent/pull/67181) — @teknium1)
- **One gateway, many profiles — profile-based message routing** — A single multiplexed gateway sharing one bot token can now route specific guilds, channels, or threads to different profiles — each with fully isolated config, skills, memory, and secrets. Point your work Discord server at the `work` profile and your hobby server at `personal`, from one bot. A second multiplex hardening wave means one misconfigured profile can no longer take down the whole gateway. ([#64835](https://github.com/NousResearch/hermes-agent/pull/64835) salvaging @Burgunthy, [#65700](https://github.com/NousResearch/hermes-agent/pull/65700), [#60589](https://github.com/NousResearch/hermes-agent/pull/60589) — @teknium1, @benbarclay + six salvaged contributors)
- **New providers and the newest frontier models** — Fireworks AI and DeepInfra land as first-class providers (Fireworks with cost estimation and a #2 slot in the provider picker), Upstage Solar joins via salvage, and the model catalogs picked up **GPT-5.6 (Sol/Terra/Luna + Pro variants, wired end-to-end across every route)**, **grok-4.5 (GA)**, **moonshotai/kimi-k3**, **claude-fable-5 / claude-sonnet-5**, and GA **tencent/hy3** — plus LM Studio JIT model loading for local setups. ([#62593](https://github.com/NousResearch/hermes-agent/pull/62593), [#63969](https://github.com/NousResearch/hermes-agent/pull/63969), [#61616](https://github.com/NousResearch/hermes-agent/pull/61616) — @kshitijk4poor completing @rob-maron's #61578, [#60887](https://github.com/NousResearch/hermes-agent/pull/60887), [#65913](https://github.com/NousResearch/hermes-agent/pull/65913), [#64541](https://github.com/NousResearch/hermes-agent/pull/64541), [#65472](https://github.com/NousResearch/hermes-agent/pull/65472))
- **Crank the thinking to max — new reasoning effort tiers and per-model control** — Reasoning effort gained `max` and `ultra` levels (GPT-5.6 and Codex's top tiers), selectable everywhere from the CLI to the desktop, with sane clamping on providers with smaller scales. You can now also pin **per-model reasoning-effort overrides** in config, set **per-slot effort in MoA presets** (your advisors think hard, your synthesizer stays fast), and per-task effort for auxiliary models. Thinking depth is now a dial, not a global switch. ([#62650](https://github.com/NousResearch/hermes-agent/pull/62650), [#64458](https://github.com/NousResearch/hermes-agent/pull/64458), [#64631](https://github.com/NousResearch/hermes-agent/pull/64631), [#64597](https://github.com/NousResearch/hermes-agent/pull/64597) — @teknium1)
- **Your sessions, your data — export everything** — `hermes sessions export` now writes Markdown, Quarto, HTML, prompt-only, and even Hugging Face-ready trace formats, with the full filter surface (age, workspace, platform), an opt-in `--redact` secret-scrubbing pass, and compacted-session lineage stitched into one logical export. Pair with the new prune filters and bulk archive to keep your session store tidy. Your conversation history is a real dataset now, not a black box. ([#60186](https://github.com/NousResearch/hermes-agent/pull/60186) salvaging @web3blind, [#60492](https://github.com/NousResearch/hermes-agent/pull/60492), [#60507](https://github.com/NousResearch/hermes-agent/pull/60507), [#59327](https://github.com/NousResearch/hermes-agent/pull/59327) — @teknium1)
- **Security hardening round** — This window closed a long list of credential-surface gaps: Vertex credentials scoped away from subprocess env and through profile secret scopes, media/vision/image-gen local-file reads routed through one shared credential-read guard, a webhook body-size-cap sweep across every aiohttp server, bot-token redaction in Telegram transport errors, Fireworks token prefixes added to the redactor, six P1 browser/MEDIA/.env hardening PRs salvaged in one pass, and CI hardened against untrusted-ref interpolation. ([#57660](https://github.com/NousResearch/hermes-agent/pull/57660), [#58709](https://github.com/NousResearch/hermes-agent/pull/58709), [#59215](https://github.com/NousResearch/hermes-agent/pull/59215), [#56582](https://github.com/NousResearch/hermes-agent/pull/56582), [#57842](https://github.com/NousResearch/hermes-agent/pull/57842) — @teknium1, @srojk34, @kshitijk4poor, @jquesnelle)
---
## ⚡ Performance — the speed spine
### First-turn latency (all platforms)
- **~80% TTFT cut** — Discord capability detection off the critical path (token-keyed 24h disk cache + background refresh), Ollama probe skipped for known non-Ollama providers, agent-init blocking work removed; cold submit→dispatch ~4.3s → ~0.9s ([#59332](https://github.com/NousResearch/hermes-agent/pull/59332) — @teknium1)
- **Perceived-latency round 2** — `display.show_reasoning` default ON (watch the model think instead of a spinner), per-token response-box painting with width-aware force-flush, prompt-build caching, mtime-cached timezone resolution ([#59389](https://github.com/NousResearch/hermes-agent/pull/59389) — @teknium1)
- Segment mixed tool batches to recover lost concurrency; drop per-call base64 re-serialization from request-size estimates ([#64460](https://github.com/NousResearch/hermes-agent/pull/64460), [#67788](https://github.com/NousResearch/hermes-agent/pull/67788) — @teknium1, @OutThisLife)
### Desktop speed wave
- 14× less splitter CPU via incremental block lexing for streaming markdown; virtualized review-pane diffs (no more full-Shiki freeze); snappy session switching on large transcripts; killed the layout-thrash cascade on session switch ([#67154](https://github.com/NousResearch/hermes-agent/pull/67154), [#67818](https://github.com/NousResearch/hermes-agent/pull/67818), [#65898](https://github.com/NousResearch/hermes-agent/pull/65898), [#66033](https://github.com/NousResearch/hermes-agent/pull/66033) — @OutThisLife)
- Cut startup serialization + per-turn REST amplification; pre-warm profile backends and gateway sockets on hover intent; idle-mount boot-hidden panes; fast model picker + dialogs ([#66747](https://github.com/NousResearch/hermes-agent/pull/66747), [#66347](https://github.com/NousResearch/hermes-agent/pull/66347), [#67857](https://github.com/NousResearch/hermes-agent/pull/67857), [#66470](https://github.com/NousResearch/hermes-agent/pull/66470) — @OutThisLife)
- Stop per-token sidebar + tool-row re-renders during streaming; stop eager JSON.stringify of every tool's args/result; scope tool-diff subscriptions; batch sidebar session slices into one profile-DB pass; targeted file-tree revalidation; rAF-coalesced sash resizes ([#67742](https://github.com/NousResearch/hermes-agent/pull/67742), [#67842](https://github.com/NousResearch/hermes-agent/pull/67842), [#67195](https://github.com/NousResearch/hermes-agent/pull/67195), [#67245](https://github.com/NousResearch/hermes-agent/pull/67245), [#67824](https://github.com/NousResearch/hermes-agent/pull/67824), [#67838](https://github.com/NousResearch/hermes-agent/pull/67838), [#67844](https://github.com/NousResearch/hermes-agent/pull/67844) — @OutThisLife)
- Systematized perf benchmark harness with trustworthy cold-start + first-token measurement, replacing 12 one-off scripts ([#67466](https://github.com/NousResearch/hermes-agent/pull/67466), [#67697](https://github.com/NousResearch/hermes-agent/pull/67697) — @OutThisLife)
### Everywhere else
- TUI renders streamed markdown incrementally per block ([#67236](https://github.com/NousResearch/hermes-agent/pull/67236) — @OutThisLife)
- Skill discovery cached by scan signature; snapshot manifest builds ~5× faster; text prefilter before AST parse in tool discovery ([#61414](https://github.com/NousResearch/hermes-agent/pull/61414), [#61131](https://github.com/NousResearch/hermes-agent/pull/61131), [#63941](https://github.com/NousResearch/hermes-agent/pull/63941) — @kshitijk4poor, @ethernet8023)
- Copy-on-write message prep instead of full deepcopy; model-metadata probe-cache cluster; gateway `session.resume` model + display history from one SELECT ([#61133](https://github.com/NousResearch/hermes-agent/pull/61133), [#61368](https://github.com/NousResearch/hermes-agent/pull/61368), [#67247](https://github.com/NousResearch/hermes-agent/pull/67247) — @kshitijk4poor, @OutThisLife)
- `hermes update` skips npm install when Node manifests are unchanged; dashboard session-list payloads trimmed + messages paginated ([#61580](https://github.com/NousResearch/hermes-agent/pull/61580), [#60883](https://github.com/NousResearch/hermes-agent/pull/60883) — @kshitijk4poor)
- Byte-stable gateway system prompts — pinned session-context render keeps the prompt cache alive across turns ([#67403](https://github.com/NousResearch/hermes-agent/pull/67403) — @kshitijk4poor)
## 🏗️ Core Agent & Architecture
### Providers & models
- **Fireworks AI provider** with cost estimation + cached picker price columns, promoted to #2 in provider pickers ([#62593](https://github.com/NousResearch/hermes-agent/pull/62593), [#65476](https://github.com/NousResearch/hermes-agent/pull/65476), [#65214](https://github.com/NousResearch/hermes-agent/pull/65214) — @teknium1)
- **DeepInfra** hardened integration; **Upstage Solar** provider (#42231 salvage) ([#63969](https://github.com/NousResearch/hermes-agent/pull/63969), [#64541](https://github.com/NousResearch/hermes-agent/pull/64541) — @kshitijk4poor)
- **GPT-5.6 (Sol/Terra/Luna + Pro) end-to-end** — context lengths, native/Codex catalogs, pricing, compaction caps across every route ([#61616](https://github.com/NousResearch/hermes-agent/pull/61616) — @kshitijk4poor, building on @rob-maron)
- grok-4.5 (GA) catalog + reasoning allowlist; kimi-k3 on Nous Portal + OpenRouter (kimi-k2.x retired) + K3 discovery on the Kimi Coding endpoint; claude-fable-5 / claude-sonnet-5 / fugu-ultra curated; GA tencent/hy3 ([#60887](https://github.com/NousResearch/hermes-agent/pull/60887), [#65913](https://github.com/NousResearch/hermes-agent/pull/65913), [#65922](https://github.com/NousResearch/hermes-agent/pull/65922), [#56617](https://github.com/NousResearch/hermes-agent/pull/56617), [#60943](https://github.com/NousResearch/hermes-agent/pull/60943) — @teknium1)
- Catalog-labeled silent default (GLM-5.2) + bare-provider `/model` cost-safe routing; LM Studio JIT load mode; adaptive thinking for Kimi-family Anthropic endpoints ([#64771](https://github.com/NousResearch/hermes-agent/pull/64771), [#65472](https://github.com/NousResearch/hermes-agent/pull/65472), [#67606](https://github.com/NousResearch/hermes-agent/pull/67606) — @teknium1, @kshitijk4poor)
- GLM-5.2 native reasoning_effort controls; Gemini request-context improvements; extra HTTP headers for LLM API calls; per-client model routing on the API server ([#58884](https://github.com/NousResearch/hermes-agent/pull/58884), [#61873](https://github.com/NousResearch/hermes-agent/pull/61873) — @vishal-dharm, [#57038](https://github.com/NousResearch/hermes-agent/pull/57038), [#57028](https://github.com/NousResearch/hermes-agent/pull/57028) — @teknium1)
- **Claude Sonnet 5 fully wired** — curated lists, intro pricing, and metadata across every route ([#67932](https://github.com/NousResearch/hermes-agent/pull/67932) — @teknium1)
- **Hide providers you don't use** — `enabled: false` per-provider flag + `excluded_providers` config scrub unwanted providers from `/model` pickers and built-in resolution ([#67971](https://github.com/NousResearch/hermes-agent/pull/67971) — @teknium1)
- Bedrock catalog wave: real context-window probing from the live endpoint, 1M-context rows for current-gen Claude + Fable, geo-prefix parity, versioned profile-ID pricing, Opus 4.8/4.7 rows ([#68007](https://github.com/NousResearch/hermes-agent/pull/68007), [#67977](https://github.com/NousResearch/hermes-agent/pull/67977), [#68005](https://github.com/NousResearch/hermes-agent/pull/68005), [#67976](https://github.com/NousResearch/hermes-agent/pull/67976) — @teknium1)
- kimi-k3 rollout completed across Kimi-direct catalog surfaces with 1M context on canonical Kimi Coding endpoints ([#68108](https://github.com/NousResearch/hermes-agent/pull/68108) — @teknium1)
- Provider pickers: Qwen providers folded into one group row; collapsible provider groups in the desktop model picker; friendlier TUI model display grouping same-endpoint providers ([#67758](https://github.com/NousResearch/hermes-agent/pull/67758), [#67904](https://github.com/NousResearch/hermes-agent/pull/67904), [#67908](https://github.com/NousResearch/hermes-agent/pull/67908) — @teknium1)
### Reasoning & MoA
- `max` + `ultra` effort levels across every surface and route ([#62650](https://github.com/NousResearch/hermes-agent/pull/62650) — @teknium1)
- Per-model reasoning_effort overrides via a unified resolution chokepoint; per-task auxiliary effort; per-slot MoA preset effort; session-scoped `/reasoning` in the CLI ([#64458](https://github.com/NousResearch/hermes-agent/pull/64458), [#64597](https://github.com/NousResearch/hermes-agent/pull/64597), [#64631](https://github.com/NousResearch/hermes-agent/pull/64631), [#67946](https://github.com/NousResearch/hermes-agent/pull/67946) — @teknium1)
- MoA: `reference_max_tokens` to cap advisor output and cut latency; per-preset fanout cadence (`user_turn` runs advisors once per user turn); stale presets surfaced without retries; half-filled preset saves rejected at the API boundary; aggregator resolves reasoning like an acting model ([#56756](https://github.com/NousResearch/hermes-agent/pull/56756), [#57591](https://github.com/NousResearch/hermes-agent/pull/57591), [#64756](https://github.com/NousResearch/hermes-agent/pull/64756) — @teknium1)
### Delegation, approvals & the agent loop
- Live subagent transcripts + durable background completions (see Highlights) ([#67479](https://github.com/NousResearch/hermes-agent/pull/67479), [#63494](https://github.com/NousResearch/hermes-agent/pull/63494) — @teknium1)
- Smart approvals default; user-defined deny rules (block even under yolo); `/deny <reason>` relays the denial reason; plugin `pre_tool_call` approve action escalates to a human gate (re-landed with rule keys) ([#62661](https://github.com/NousResearch/hermes-agent/pull/62661), [#59164](https://github.com/NousResearch/hermes-agent/pull/59164), [#54518](https://github.com/NousResearch/hermes-agent/pull/54518), [#60504](https://github.com/NousResearch/hermes-agent/pull/60504) — @teknium1, @kshitijk4poor)
- Unified delegation concurrency caps (`max_async_children` deprecated); explain long provider waits on the live status line; deterministic tool-output risk exposure ([#56955](https://github.com/NousResearch/hermes-agent/pull/56955), [#64775](https://github.com/NousResearch/hermes-agent/pull/64775), [#61793](https://github.com/NousResearch/hermes-agent/pull/61793) — @teknium1)
- Codex: live TUI/desktop tool cards for the app-server runtime, commentary streamed as visible interim messages, compaction routed through `thread/compact/start`, max-output truncation recovery, oversized message ids dropped on replay, banked usage-limit resets via `/usage reset` ([#66514](https://github.com/NousResearch/hermes-agent/pull/66514), [#66115](https://github.com/NousResearch/hermes-agent/pull/66115), [#60114](https://github.com/NousResearch/hermes-agent/pull/60114), [#58155](https://github.com/NousResearch/hermes-agent/pull/58155), [#62225](https://github.com/NousResearch/hermes-agent/pull/62225) — @teknium1, @kshitijk4poor, @JoaoMarcos44, [#64280](https://github.com/NousResearch/hermes-agent/pull/64280) — @teknium1)
- Hooks: oversized hook-injected context spills to disk ([#20468](https://github.com/NousResearch/hermes-agent/pull/20468) — @teknium1)
- Vibe reactions — floating hearts on affection across CLI/TUI/desktop, token-free core detection ([#62016](https://github.com/NousResearch/hermes-agent/pull/62016) — @OutThisLife)
### Secrets & config
- Pluggable `SecretSource` interface + Bitwarden & 1Password providers (see Highlights) ([#59498](https://github.com/NousResearch/hermes-agent/pull/59498) — @teknium1, @hwrdprkns)
- `hermes config get` / `unset`; warn on unknown root config keys + doctor deprecated-key reporting; `display.timestamp_format` ([#65540](https://github.com/NousResearch/hermes-agent/pull/65540), [#67370](https://github.com/NousResearch/hermes-agent/pull/67370), [#40622](https://github.com/NousResearch/hermes-agent/pull/40622) — @teknium1)
- Auxiliary model usage recorded per task in session accounting; conversation-scoped Nous Portal usage tags across aux/MoA/delegate calls; `--usage-file` JSON report for `hermes -z` ([#65537](https://github.com/NousResearch/hermes-agent/pull/65537), [#65468](https://github.com/NousResearch/hermes-agent/pull/65468), [#59615](https://github.com/NousResearch/hermes-agent/pull/59615) — @teknium1)
### Sessions & compression
- Sessions export: Markdown/QMD/HTML/prompt-only/trace formats, HF upload, `--redact`, unified filters; full prune filter surface + bulk archive; CLI workspace filter + restore-cwd-on-resume ([#60186](https://github.com/NousResearch/hermes-agent/pull/60186), [#60492](https://github.com/NousResearch/hermes-agent/pull/60492), [#60507](https://github.com/NousResearch/hermes-agent/pull/60507), [#59327](https://github.com/NousResearch/hermes-agent/pull/59327), [#63091](https://github.com/NousResearch/hermes-agent/pull/63091) — @teknium1, @web3blind)
- Compression: preserve human intent and durable handoffs; retain prompt cache when memory is unchanged; flatten multimodal content for the summarizer keeping image handles; gateway compression routing integrity ([#67275](https://github.com/NousResearch/hermes-agent/pull/67275), [#67916](https://github.com/NousResearch/hermes-agent/pull/67916), [#65046](https://github.com/NousResearch/hermes-agent/pull/65046), [#56868](https://github.com/NousResearch/hermes-agent/pull/56868) — @kshitijk4poor, @teknium1)
- Gateway session metadata consolidated into state.db; routing index moved to state.db (sessions.json now an optional legacy mirror); exact API bytes persisted in an `api_content` sidecar ([#58899](https://github.com/NousResearch/hermes-agent/pull/58899), [#59203](https://github.com/NousResearch/hermes-agent/pull/59203), [#67274](https://github.com/NousResearch/hermes-agent/pull/67274) — @teknium1, @kshitijk4poor)
## 🌐 Gateway, Fleet & Relay
- **Durable delivery-obligation ledger** for final responses (see Highlights) ([#67181](https://github.com/NousResearch/hermes-agent/pull/67181) — @teknium1)
- **Profile-based routing for inbound messages** + multiplex hardening wave 2 + `GATEWAY_MULTIPLEX_PROFILES` override (see Highlights) ([#64835](https://github.com/NousResearch/hermes-agent/pull/64835), [#65700](https://github.com/NousResearch/hermes-agent/pull/65700), [#60589](https://github.com/NousResearch/hermes-agent/pull/60589) — @teknium1, @benbarclay + salvaged contributors)
- Per-session turn lease + conversation-scope funnel; unified session reset boundaries (reset sessions stay reset); truthful runtime readiness checks; per-channel model and system prompt overrides; per-session `/model` overrides persist across restarts ([#67401](https://github.com/NousResearch/hermes-agent/pull/67401), [#65783](https://github.com/NousResearch/hermes-agent/pull/65783), [#62645](https://github.com/NousResearch/hermes-agent/pull/62645), [#56967](https://github.com/NousResearch/hermes-agent/pull/56967), [#57030](https://github.com/NousResearch/hermes-agent/pull/57030) — @teknium1)
- Session auto-reset default off; `/sessions search <query>`; webhook payload filters + route scripts; platform HTTP event callback routing; configurable long-running status phrases ([#60194](https://github.com/NousResearch/hermes-agent/pull/60194), [#57685](https://github.com/NousResearch/hermes-agent/pull/57685), [#60944](https://github.com/NousResearch/hermes-agent/pull/60944), [#65702](https://github.com/NousResearch/hermes-agent/pull/65702), [#58872](https://github.com/NousResearch/hermes-agent/pull/58872) — @teknium1)
- Relay: generic OIDC client-credentials provisioning (NAS-free), routed profile carried from the connector wire source, channel context consumed from the connector; Nous auth forensics + `nous_session_valid` on `/api/status` for hosted self-heal; Docker re-seeds a terminally-dead Nous bootstrap session on boot ([#60730](https://github.com/NousResearch/hermes-agent/pull/60730), [#60586](https://github.com/NousResearch/hermes-agent/pull/60586), [#64649](https://github.com/NousResearch/hermes-agent/pull/64649), [#59976](https://github.com/NousResearch/hermes-agent/pull/59976), [#59969](https://github.com/NousResearch/hermes-agent/pull/59969), [#59983](https://github.com/NousResearch/hermes-agent/pull/59983) — @benbarclay)
## 📱 Messaging Platforms
- **Inline choice pickers** for `/reasoning` and `/fast` on Telegram, Discord, and Matrix — one-tap native buttons instead of typing ([#65799](https://github.com/NousResearch/hermes-agent/pull/65799) — @teknium1)
- WhatsApp: native Baileys polls (clarify renders as a poll), locations, rich inbound metadata; dashboard pairing flow ([#58865](https://github.com/NousResearch/hermes-agent/pull/58865), [#60571](https://github.com/NousResearch/hermes-agent/pull/60571) — @teknium1)
- Discord: recover messages missed during reconnect; auto-created threads renamed to generated session titles; configurable interactive view timeout; opt-in owner mentions on exec-approval prompts; optional admin-only gate for approval buttons ([#66149](https://github.com/NousResearch/hermes-agent/pull/66149), [#60187](https://github.com/NousResearch/hermes-agent/pull/60187), [#60230](https://github.com/NousResearch/hermes-agent/pull/60230), [#60493](https://github.com/NousResearch/hermes-agent/pull/60493), [#51751](https://github.com/NousResearch/hermes-agent/pull/51751) — @teknium1)
- Slack: live per-tool status line ([#67080](https://github.com/NousResearch/hermes-agent/pull/67080) — @teknium1, salvaging #62007)
- Telegram: per-topic free-response allowlist; Google Chat clarify prompts rendered as cards ([#65543](https://github.com/NousResearch/hermes-agent/pull/65543), [#65546](https://github.com/NousResearch/hermes-agent/pull/65546) — @teknium1)
- Voice: `stt.echo_transcripts` toggle; MEDIA: captions attached to the media bubble on standalone sends; `display.tool_progress: log` option ([#58859](https://github.com/NousResearch/hermes-agent/pull/58859), [#61415](https://github.com/NousResearch/hermes-agent/pull/61415), [#57014](https://github.com/NousResearch/hermes-agent/pull/57014) — @teknium1, @kshitijk4poor)
## 🖥️ Hermes Desktop App
- **Contribution-driven shell on a layout-tree model** — panes, zones, and layouts as data; plugin-scoped i18n locale bundles followed ([#60638](https://github.com/NousResearch/hermes-agent/pull/60638), [#67303](https://github.com/NousResearch/hermes-agent/pull/67303) — @OutThisLife)
- **Capabilities page** — Skills/Tools/MCP + Hub in one place, with responsive overlay nav; CLI/dashboard parity for skills hub, MCP test/toggle/catalog, maintenance ops, log filters; five UX fixes from live testing ([#57590](https://github.com/NousResearch/hermes-agent/pull/57590), [#57441](https://github.com/NousResearch/hermes-agent/pull/57441), [#67482](https://github.com/NousResearch/hermes-agent/pull/67482) — @OutThisLife, @teknium1)
- **Hermes Cloud connection mode** (salvage of #55402); soft gateway switch + gateway-settings polish; terminal execution backend picker with health probes ([#61912](https://github.com/NousResearch/hermes-agent/pull/61912), [#61916](https://github.com/NousResearch/hermes-agent/pull/61916), [#67203](https://github.com/NousResearch/hermes-agent/pull/67203) — @OutThisLife, @teknium1)
- Keybind hint tooltips + keybinds settings tab + unified worktree dialog; base-branch picker for new worktrees; green unread dot for background-finished sessions; background-task sidebar indicators; grouped tool calls across text-less messages; auto-scrolling window for long tool-call runs ([#65204](https://github.com/NousResearch/hermes-agent/pull/65204), [#62243](https://github.com/NousResearch/hermes-agent/pull/62243), [#65109](https://github.com/NousResearch/hermes-agent/pull/65109), [#65174](https://github.com/NousResearch/hermes-agent/pull/65174), [#61147](https://github.com/NousResearch/hermes-agent/pull/61147), [#57913](https://github.com/NousResearch/hermes-agent/pull/57913) — @ethernet8023, @OutThisLife)
- Session + project color system (inherit from project, per-session override, shared across sidebar/tabs); unified active-project identity in chat status; workspace path status action ([#67469](https://github.com/NousResearch/hermes-agent/pull/67469), [#67681](https://github.com/NousResearch/hermes-agent/pull/67681), [#67282](https://github.com/NousResearch/hermes-agent/pull/67282), [#63086](https://github.com/NousResearch/hermes-agent/pull/63086) — @OutThisLife)
- Declarative memory-provider panel + full-config modal; config-defined TTS/STT providers + xAI TTS params; custom endpoint settings; per-job cron model picker; profile-aware approval mode control; UI scale setting; Ctrl/Cmd+wheel zoom; chat backdrop toggle; `/journey` opens the memory graph overlay ([#67206](https://github.com/NousResearch/hermes-agent/pull/67206) salvaging @erosika, [#67209](https://github.com/NousResearch/hermes-agent/pull/67209), [#67759](https://github.com/NousResearch/hermes-agent/pull/67759) — @austinpickett, [#67472](https://github.com/NousResearch/hermes-agent/pull/67472), [#63520](https://github.com/NousResearch/hermes-agent/pull/63520), [#60457](https://github.com/NousResearch/hermes-agent/pull/60457), [#67029](https://github.com/NousResearch/hermes-agent/pull/67029), [#64598](https://github.com/NousResearch/hermes-agent/pull/64598), [#57267](https://github.com/NousResearch/hermes-agent/pull/57267) — @teknium1, @OutThisLife)
- Full TypeScript conversion of the desktop tree ([#57855](https://github.com/NousResearch/hermes-agent/pull/57855) — @ethernet8023)
## 📊 Web Dashboard
- Memory provider switching; safe session import flow; WhatsApp pairing; Discord-specific toolsets editable from the web UI; clarified manual Telegram bot setup ([#60569](https://github.com/NousResearch/hermes-agent/pull/60569), [#63699](https://github.com/NousResearch/hermes-agent/pull/63699), [#60571](https://github.com/NousResearch/hermes-agent/pull/60571), [#65361](https://github.com/NousResearch/hermes-agent/pull/65361), [#64636](https://github.com/NousResearch/hermes-agent/pull/64636) — @teknium1, @kshitijk4poor, @shannonsands)
- Terminal keep-alive + reattach for dashboard chat sessions; heavy turns isolated in a compute host; paste/drop images into Chat; `browser.headed` schema toggle; profile + gateway topology on `/api/status`; mobile/hosted OpenAI OAuth login ([#60515](https://github.com/NousResearch/hermes-agent/pull/60515), [#65895](https://github.com/NousResearch/hermes-agent/pull/65895), [#61929](https://github.com/NousResearch/hermes-agent/pull/61929), [#67046](https://github.com/NousResearch/hermes-agent/pull/67046), [#60537](https://github.com/NousResearch/hermes-agent/pull/60537), [#61330](https://github.com/NousResearch/hermes-agent/pull/61330) — @teknium1, @OutThisLife, @benbarclay)
- `hermes serve` is a true headless backend (no web UI build/mount) ([#55923](https://github.com/NousResearch/hermes-agent/pull/55923) — @OutThisLife)
## 🧰 CLI & TUI
- `/subscription` + `/topup` terminal billing (see Highlights) ([#51639](https://github.com/NousResearch/hermes-agent/pull/51639) — @alt-glitch)
- **`/model --once`** — one-turn model override that reverts automatically ([#67113](https://github.com/NousResearch/hermes-agent/pull/67113) — @teknium1, salvaging #29923)
- **Stacked slash-skill invocations** — `/skill-a /skill-b do XYZ` loads both skills in order (Claude Code port), with autocomplete + ghost text ([#57987](https://github.com/NousResearch/hermes-agent/pull/57987), [#58763](https://github.com/NousResearch/hermes-agent/pull/58763) — @teknium1)
- `--safe-mode` troubleshooting flag; uninstall dry-run; TLS failures fail fast with fix hints; `/compact` alias + preview flags; pip/Homebrew installs warned unsupported ([#45300](https://github.com/NousResearch/hermes-agent/pull/45300), [#60111](https://github.com/NousResearch/hermes-agent/pull/60111), [#57992](https://github.com/NousResearch/hermes-agent/pull/57992), [#57029](https://github.com/NousResearch/hermes-agent/pull/57029), [#57225](https://github.com/NousResearch/hermes-agent/pull/57225) — @teknium1, @ethernet8023)
- TUI: model picker refresh support; custom skill bundles dispatched as agent turns; banner sizes skills display to terminal width ([#59782](https://github.com/NousResearch/hermes-agent/pull/59782) — @helix4u, [#62859](https://github.com/NousResearch/hermes-agent/pull/62859) — @Adolanium, [#40624](https://github.com/NousResearch/hermes-agent/pull/40624) — @teknium1)
- Hermes Console REPL + perf follow-ups; `hermes curator usage` all-skills view; entry-point plugins surfaced in `hermes plugins list` ([#57781](https://github.com/NousResearch/hermes-agent/pull/57781) — @kshitijk4poor, [#36727](https://github.com/NousResearch/hermes-agent/pull/36727), [#40623](https://github.com/NousResearch/hermes-agent/pull/40623) — @teknium1)
## 🔧 Tool System, Skills & MCP
- MCP: `mcp__server__tool` naming convention; server log notifications surfaced in agent.log; hosted OAuth completed across Dashboard + Desktop; configurable `redirect_uri`/`redirect_host` for proxied/WAF setups; OAuth callback port races closed; Blender added to the MCP catalog with a curated 4-tool default ([#52750](https://github.com/NousResearch/hermes-agent/pull/52750), [#57416](https://github.com/NousResearch/hermes-agent/pull/57416), [#66151](https://github.com/NousResearch/hermes-agent/pull/66151), [#65610](https://github.com/NousResearch/hermes-agent/pull/65610), [#65622](https://github.com/NousResearch/hermes-agent/pull/65622), [#64463](https://github.com/NousResearch/hermes-agent/pull/64463) — @teknium1, @benbarclay)
- Skills: `security/unbroker` (autonomous data-broker removal) + blind opt-out hardening; `unreal-mcp` companion skill; blender-mcp reworked around the catalog entry; humanizer pattern expansion; `mcp-oauth-remote-gateway` optional skill ([#57438](https://github.com/NousResearch/hermes-agent/pull/57438), [#57902](https://github.com/NousResearch/hermes-agent/pull/57902), [#65989](https://github.com/NousResearch/hermes-agent/pull/65989), [#64715](https://github.com/NousResearch/hermes-agent/pull/64715) — @SHL0MS, [#65066](https://github.com/NousResearch/hermes-agent/pull/65066), [#65486](https://github.com/NousResearch/hermes-agent/pull/65486) — @teknium1)
- Browser: full snapshots stored on truncation, eval denylist opt-in; computer_use follows cua-driver's verify→escalate ladder ([#65923](https://github.com/NousResearch/hermes-agent/pull/65923), [#67123](https://github.com/NousResearch/hermes-agent/pull/67123) — @teknium1)
- Kanban: modal create-task dialog + editable board project directory; Done-card results made obvious; grab-to-pan board scrolling; attachment toolset + CLI with SSRF-guarded URL fetch; project directory captured at board creation ([#66333](https://github.com/NousResearch/hermes-agent/pull/66333), [#63638](https://github.com/NousResearch/hermes-agent/pull/63638), [#60226](https://github.com/NousResearch/hermes-agent/pull/60226), [#65698](https://github.com/NousResearch/hermes-agent/pull/65698), [#63249](https://github.com/NousResearch/hermes-agent/pull/63249) — @teknium1)
- Cron: durable execution audit history; one-shot stale-removal race fixed; run-claim TTL derived from HERMES_CRON_TIMEOUT ([#61791](https://github.com/NousResearch/hermes-agent/pull/61791) — @teknium1, [#62014](https://github.com/NousResearch/hermes-agent/pull/62014) — @PRATHAMESH75, [#59567](https://github.com/NousResearch/hermes-agent/pull/59567))
- mem0: self-hosted dashboard backend + recall tuning + setup-wizard mode ([#56943](https://github.com/NousResearch/hermes-agent/pull/56943), [#60494](https://github.com/NousResearch/hermes-agent/pull/60494) — @kshitijk4poor, @teknium1)
- Image gen: Codex image inputs; unsupported Codex image accounts classified; tool args recursively normalized by schema (cline port) ([#57017](https://github.com/NousResearch/hermes-agent/pull/57017), [#63627](https://github.com/NousResearch/hermes-agent/pull/63627), [#52220](https://github.com/NousResearch/hermes-agent/pull/52220) — @teknium1, @kshitijk4poor)
## 🔒 Security & Reliability
- Vertex: credential/project/region resolution through the profile secret scope; `VERTEX_CREDENTIALS_PATH`/`GOOGLE_APPLICATION_CREDENTIALS` stripped from subprocess env ([#56680](https://github.com/NousResearch/hermes-agent/pull/56680), [#56582](https://github.com/NousResearch/hermes-agent/pull/56582) — @srojk34)
- Six P1 hardening PRs salvaged in one pass — browser guards, MEDIA anchoring, .env lockdown, delegate ACP transport ([#57660](https://github.com/NousResearch/hermes-agent/pull/57660) — @teknium1)
- Media/vision/image-gen local-file reads routed through the shared credential-read guard; native image routing guarded by file-safety policy; unified image-source resolver + terminal-backend confinement ([#58709](https://github.com/NousResearch/hermes-agent/pull/58709), [#58752](https://github.com/NousResearch/hermes-agent/pull/58752), [#57890](https://github.com/NousResearch/hermes-agent/pull/57890) — @teknium1)
- Webhook body-cap sweep: explicit `client_max_size` on 3 uncapped aiohttp servers + completion sweep; Raft chunked-request body limit; timestamp-bound V2 webhook signatures ([#59180](https://github.com/NousResearch/hermes-agent/pull/59180), [#59215](https://github.com/NousResearch/hermes-agent/pull/59215), [#58902](https://github.com/NousResearch/hermes-agent/pull/58902), [#58508](https://github.com/NousResearch/hermes-agent/pull/58508) — @teknium1, @srojk34)
- Redaction: Fireworks token prefixes + Telegram transport errors; env-lookup false positives fixed for KEY=value and JSON/YAML config fields; bot tokens scrubbed from Telegram connect/send errors ([#58501](https://github.com/NousResearch/hermes-agent/pull/58501), [#58534](https://github.com/NousResearch/hermes-agent/pull/58534), [#58915](https://github.com/NousResearch/hermes-agent/pull/58915), [#58893](https://github.com/NousResearch/hermes-agent/pull/58893) — @teknium1)
- computer-use: subprocess env sanitized across all five cua-driver spawn sites ([#58889](https://github.com/NousResearch/hermes-agent/pull/58889), [#59165](https://github.com/NousResearch/hermes-agent/pull/59165) — @teknium1)
- Dashboard: managed-files credential guard widened past .env + dir-tree gap closed; OAuth token TOCTOU closed with atomic 0o600 writes; stale dashboards can't recreate deleted profiles ([#58222](https://github.com/NousResearch/hermes-agent/pull/58222) — @kshitijk4poor, [#60236](https://github.com/NousResearch/hermes-agent/pull/60236) — @teknium1, [#49435](https://github.com/NousResearch/hermes-agent/pull/49435) — @LeonSGP43)
- CI: untrusted refs passed through env, not `run:` interpolation; JS/TS tests wired into CI with source-regex tests banned; js-autofix pushes via PR instead of direct-to-main ([#57842](https://github.com/NousResearch/hermes-agent/pull/57842) — @jquesnelle, [#60707](https://github.com/NousResearch/hermes-agent/pull/60707), [#65186](https://github.com/NousResearch/hermes-agent/pull/65186) — @ethernet8023)
- Docker: terminal network toggle with full-path coverage; Git Bash Mandatory-ASLR install failures detected; Windows updater console hidden during handoff ([#59149](https://github.com/NousResearch/hermes-agent/pull/59149) — @teknium1, [#64651](https://github.com/NousResearch/hermes-agent/pull/64651), [#66040](https://github.com/NousResearch/hermes-agent/pull/66040) — @helix4u)
- Anthropic: request-local clients so the stale/interrupt watchdog never corrupts SQLite; per-profile OAuth file; OAuth login 429 fixed (UA must not be claude-code/) ([#67238](https://github.com/NousResearch/hermes-agent/pull/67238) — @OutThisLife, [#59339](https://github.com/NousResearch/hermes-agent/pull/59339), [#58178](https://github.com/NousResearch/hermes-agent/pull/58178) — @teknium1)
- Gateway/agent: tool_call_id deduplicated across pre-API sanitizers; background review inherits parent reasoning_config for Anthropic cache parity; `/new` memory extraction moved off the command path ([#58350](https://github.com/NousResearch/hermes-agent/pull/58350), [#64379](https://github.com/NousResearch/hermes-agent/pull/64379), [#61139](https://github.com/NousResearch/hermes-agent/pull/61139) — @teknium1, @kshitijk4poor)
## 🔁 Reverted in this window (for the record)
- iron-proxy credential-injection egress firewall (#30179 → reverted in [#58489](https://github.com/NousResearch/hermes-agent/pull/58489)) — not shipping in this release
- dynamic-workflow orchestration skill (landed, then reverted) — not shipping
- memory provider-actions extension point (landed, then reverted) — not shipping
- Note: the plugin `pre_tool_call` approve escalation was reverted mid-window but **re-landed** in [#60504](https://github.com/NousResearch/hermes-agent/pull/60504) and ships in this release.
## 👥 Contributors
**450+ people** contributed to this release (via commits, co-author trailers, and salvaged PRs) — the biggest contributor window yet. Thank you, all of you.
### Core team
- @teknium1 — release lead; TTFT perf wave, delivery + delegation durability, smart approvals, SecretSource, gateway multiplex + profile routing, sessions export, security round, and a ~290-PR community salvage burn
- @OutThisLife — desktop app (the speed wave, layout-tree shell, Capabilities page, session colors, vibe reactions, TUI incremental markdown, perf harness)
- @kshitijk4poor — GPT-5.6 end-to-end, DeepInfra + Upstage Solar providers, perf cluster, compression integrity, mem0, dashboard guards
- @ethernet8023 — CI overhaul (JS/TS tests wired in, autofix-via-PR, python speedups), desktop keybinds/worktrees/status indicators, full desktop TypeScript conversion
- @benbarclay — relay OIDC provisioning, gateway multiplex override, Nous auth self-heal, hosted MCP OAuth groundwork
- @alt-glitch — terminal billing (`/subscription`, `/topup`), desktop billing tab
- @helix4u — desktop provider/model UX, TUI model picker refresh, Windows install/updater hardening
- @austinpickett — desktop custom endpoint settings
- @SHL0MS — unbroker + unreal-mcp skills, humanizer expansion
### Top community contributors
- @srojk34 — security hardening: Vertex credential/project/region scoping through the profile secret scope, subprocess env stripping, Raft chunked-request body limits
- @HexLab98 — 11 fixes across MCP capability gating, Windows installer PATH, desktop cron editing, gateway systemd warnings
- @UnathiCodex — desktop stability: zoom across display moves, LaTeX rendering, resume-stall and runtime-readiness fixes
- @xxxigm — `<think>` leak fix after thinking-only retry flush, dashboard auth/theme/PTY fixes
- @erosika — desktop declarative memory-provider panel + honcho recall/timeout correctness
- @Frowtek — credential security: master stores never mounted into skill sandboxes, live-transcript redaction, dashboard api_key precedence
- @necoweb3 — browser private-page CDP guard, cron one-shot liveness, gateway compression fail-closed
- @DavidMetcalfe — desktop updater version pill, Local/custom endpoint exposure, sidebar collapse behavior
- @shannonsands — dashboard: mobile channel setup, Discord toolsets from web UI, Telegram setup clarity
- @vishal-dharm — Gemini request-context improvements
- @PRATHAMESH75 — cron one-shot stale-removal race, dashboard multiplex port-binding guard
- @alelpoan, @embwl0x, @Adolanium, @giggling-ginger, @Drexuxux, @frizikk, @JoaoMarcos44, @wesleysimplici, @LeonSGP43, @pierrenode, @simpolism, @MorAlekss, @r266-tech, @WadydX, @nv-kasikritc — targeted fixes across desktop, TUI, gateway, cron, webhook, nix, and browser surfaces
- Salvaged-work authors whose PRs were cherry-picked with credit this window: @Burgunthy (profile routing), @web3blind (sessions export), @hwrdprkns (1Password), @Christopher-Schulze, @Ahmett101, @sjiangtao2024, and many more — see the salvage PR bodies for full attribution
### All contributors
@0-CYBERDYNE-SYSTEMS-0, @0disoft, @0xbyt4, @100yenadmin, @17324393074, @2751738943, @8294, @abhibansal-sg,
@adambiggs, @Adolanium, @aeyeopsdev, @aguung, @AhmetArif0, @Ahmett101, @ai-ag2026, @AIalliAI, @ajzrva-sys,
@alastraz, @alelpoan, @alex-fireworks, @alex-heritier, @alex107ivanov, @AlexFucuson9, @Alix-007,
@allenliang2022, @Almurat123, @AlsayedHoota, @alt-glitch, @alvarosanchez, @amanning3390, @AmAzing129,
@AndreasHiltner, @andrewhomeyer, @annguyenNous, @ansel-f, @antydizajn, @arminanton, @arnispiekus, @asimons81,
@asscan, @ats3v, @austinlaw076, @austinpickett, @avifenesh, @aydnOktay, @Bartok9, @bautrey, @bbednarski9,
@bbopen, @benbarclay, @bigstar0920, @binhnt92, @bird, @Black0Fox0, @BlackishGreen33, @bo.fu, @brendandebeasi,
@briandevans, @BROCCOLO1D, @Bruce-anle, @brunz-me, @Burgunthy, @bytesnail, @catbearlove1-lang, @Cdddo,
@cgarwood82, @CharmingGroot, @chouqin, @Christopher-Schulze, @claudlos, @CocaKova, @Code-suphub, @CodeForgeNet,
@craigdfrench, @CrazyBoyM, @crazywriter1, @cresslank, @cruzanstx, @cyrkstudios, @danilofalcao,
@datachainsystems, @DatTheMaster, @davidb73-hub, @davidgut1982, @DavidMetcalfe, @davidrobertson,
@deacon-botdoctor, @DECK6, @deepujain, @derek2000139, @designnotdrum, @deusyu, @devatnull, @devorun,
@dexhunter, @dfein38347g, @Dhravya, @DictatorBacon, @digitalbase, @dlkakbs, @dmabry, @DNAlec, @dodo-reach,
@doncazper, @dorokuma, @doxe0x, @Drexuxux, @dschnurbusch, @Dusk1e, @EdderTalmor, @egilewski, @elashera,
@Elektrofussel, @eliteworkstation94-ai, @embwl0x, @emo-eth, @emozilla, @enzo-adami, @Epoxidex, @ErnestHysa,
@Erosika, @esthonjr, @ethernet8023, @evefromwayback, @evelynburger, @F4TB0Yz, @falkoro, @fanyangCS, @firefly,
@fjlaowan1983, @flewe, @flo1t, @flow-digital-ny, @floze-the-genius, @frizikk, @Frowtek, @FuryMartin,
@fyzanshaik, @gauravsaxena1997, @geoffreybutler94, @georgedrury, @gigakun3030, @giggling-ginger,
@Git-on-my-level, @gitcommit90, @githubespresso407, @gnodet, @GottZ, @Gridzilla, @grimmjoww578, @gumclaw,
@Gutslabs, @HaiderSultanArc, @harjothkhara, @heathley, @hejuntt1014, @helix4u, @HeLLGURD, @hellno,
@herbalizer404, @HexLab98, @hmirin, @Hopfensaft, @Hotragn, @hsy5571616, @huanshan5195, @HumphreySun98,
@hwrdprkns, @hydracoco7, @hydraxman, @iamlukethedev, @iborazzi, @IgorGanapolsky, @iizotov, @ildunari,
@infinitycrew39, @IpastorSan, @irresi, @isfttr, @isheng-eqi, @itsflownium, @izumi0uu, @Jaaneek, @JacketPants,
@jaisup, @jakelongvu-bot, @jakepresent, @jaketracey, @JAlmanzarMint, @JasonFang1993, @jbbottoms, @jcjc81,
@JiaDe-Wu, @Jiahui-Gu, @Jigoooo, @jingsong-liu, @jneeee, @JoaoMarcos44, @joelbrilliant, @John-Lussier, @jplew,
@jtstothard, @juniperbevensee, @Jupiter363, @justinschille, @k4z4n0v4, @kaishi00, @karfly, @kartik-mem0,
@kavioavio, @KCAYAAI, @kenyonxu, @keslerm, @kevinrajaram, @knoal, @kocaemre, @kohoj, @konsisumer, @krowd3v,
@kshitijk4poor, @kuangmi-bit, @kubolko, @kyssta-exe, @Kyzcreig, @l0h1nth, @labsobsidian, @laurinaitis,
@LavyaTandel, @lawyer112, @lemonwan, @LeonSGP43, @lEWFkRAD, @linfeng961, @liuhao1024, @liuwei666888, @ljy-2000,
@loes5050, @logical-and, @LoicHmh, @loongfay, @lord-dubious, @lost9999, @lucasfdale, @lucaskvasirr,
@luxuguang-leo, @ly-wang19, @m0n5t3r, @m1qaweb, @M1racleShih, @MaartenDMT, @mahdiwafy, @MaheshBhushan,
@ManniBr, @marcelohildebrand, @marcolivierlavoie, @markoub, @MarkVLK, @Marxb85, @matantsevs,
@maxpetrusenkoagent, @mbac, @mdc2122, @mguttmann, @Mibayy, @michaelHMK, @mijanx, @minchang, @momomojo,
@MorAlekss, @morluto, @msh01, @mssteuer, @mvanhorn, @nanami7777777, @nankingjing, @necoweb3, @neo-claw-bot,
@neoguyverx, @nicha16, @nikshepsvn, @nima20002000, @nnnet, @NousResearch, @nullptr0807, @nv-kasikritc,
@okisdev, @OmarB97, @ooiuuii, @ooovenenoso, @oppih, @Osraka, @ostravajih, @otsune, @OutThisLife, @OYLFLMH,
@patrick-muller, @pdmartins, @pedrommaiaa, @Peterskaronis, @petrichor-op, @pgregg88, @pierrenode, @pixel4039,
@plcunha, @pnascimento9596, @Polyhistor, @PRATHAMESH75, @professorpalmer, @Punyko8, @Que0x, @Qwinty,
@r0gersm1th, @r266-tech, @rabadaki, @ragingbulld, @RainbowAndSun, @rainbowgore, @randimt, @rarf, @rasitakyol,
@rayjun, @raymondyan-zhijie, @re-ITRT, @RenoMG, @Rival, @RKelln, @rlaehddus302, @rob-maron, @rodboev,
@roryford, @rungmc357, @ruslanvasylev, @s0xn1ck, @s905060, @s96919, @sahibzada-allahyar, @sahil-shubham,
@Sahil-SS9, @SahilRakhaiya05, @sam7894604, @SAMBAS123, @samrusani, @sanidhyasin, @sasquatch9818, @sberan,
@ScotterMonk, @seagpt, @sebastianlutycz, @SemonCat, @setclock, @shannonsands, @sharziki, @shashwatgokhe,
@SHL0MS, @shuangxinniao, @SilentKnight87, @simplast, @simpolism, @SiteupAgencia, @sjiangtao2024, @sk-holmes,
@slow4cyl, @smtony, @soddy022, @Soju06, @solyanviktor-star, @SongotenU, @spiky02plateau, @sprmn24, @SquabbyZ,
@srojk34, @ssiweifnag, @stantheman0128, @StellarisW, @stephenschoettler, @suninrain086, @superposition,
@Supersynergy, @sweetcornna, @szafranski, @tanmayxchoudhary, @tarunravi, @tcconnally, @terry197913, @Thatgfsj,
@thegoodguysla, @thestudionorth, @TheTom, @TinkerOfThings, @tjboudreaux, @tjp2021, @Tortugasaur, @Tosko4,
@Tranquil-Flow, @trevorgordon981, @trismegistus-wanderer, @tt-a1i, @tuancookiez-hub, @TurgutKural, @Umi4Life,
@UnathiCodex, @unsupportedpastels, @uzaylisak, @valda, @vampyren, @veradim, @victor-kyriazakos, @virtualex-itv,
@vishal-dharm, @Vissirexa, @vizi0uz, @vkkong, @vKongv, @VolodymyrBg, @vortexopenclaw, @VrtxOmega, @WadydX,
@waroffchange, @waseemshahwan, @web3blind, @webtecnica, @wesleion, @wesleysimplicio, @williamumu,
@WilsonKinyua, @wxy-nlp, @wyuebei-cloud, @x7peeps, @x9x9x9x9x9x91, @xuezhaolan, @xxxigm, @ya-nsh, @yatesjalex,
@ygd58, @yingliang-zhang, @yinkev, @YLChen-007, @yu-xin-c, @yungchentang, @zapabob, @zccyman, @zeapsu,
@ziliangpeng, @zwcf5200, @zzpigpinggai
Also: bo.fu, Paulo Henrique, kyssta-exe 25470058+kyssta-exe.fu, Paulo Henrique, kyssta-exe 25470058+kyssta-exe.
---
**Full Changelog**: [v2026.7.1...v2026.7.20](https://github.com/NousResearch/hermes-agent/compare/v2026.7.1...v2026.7.20)