← 返回更新日志

Hermes v2026.4.3

2026-04-03 · GitHub 原文
# Hermes Agent v0.7.0 (v2026.4.3) **发布日期:** 2026年4月3日 > 韧性版本发布 — 可插拔内存提供者、凭证池轮换、Camofox反检测浏览器、内联差异预览、针对竞争条件和审批路由的网关强化,以及基于168个PR和46个已解决问题进行的深度安全修复。 --- ## ✨ 亮点功能 - **可插拔内存提供者接口** — 内存现已成为可扩展的插件系统。第三方内存后端(如Honcho、向量存储、自定义数据库)实现简单的提供者抽象基类(ABC),并通过插件系统注册。内置内存作为默认提供者。Honcho集成已恢复完全对等,作为具有配置文件作用域主机/对等点解析功能的参考插件。 ([#4623](https://github.com/NousResearch/hermes-agent/pull/4623), [#4616](https://github.com/NousResearch/hermes-agent/pull/4616), [#4355](https://github.com/NousResearch/hermes-agent/pull/4355)) - **同提供者凭证池** — 为同一提供者配置多个API密钥并自动轮换。线程安全的 `least_used`(最少使用)策略在密钥间分配负载,401失败会自动触发轮换到下一个凭证。可通过设置向导或 `credential_pool` 配置进行设置。 ([#4188](https://github.com/NousResearch/hermes-agent/pull/4188), [#4300](https://github.com/NousResearch/hermes-agent/pull/4300), [#4361](https://github.com/NousResearch/hermes-agent/pull/4361)) - **Camofox反检测浏览器后端** — 使用Camoufox实现隐身浏览的新本地浏览器后端。支持持久化会话与VNC URL发现以进行视觉调试,可配置的SSRF绕过用于本地后端,通过 `hermes tools` 自动安装。 ([#4008](https://github.com/NousResearch/hermes-agent/pull/4008), [#4419](https://github.com/NousResearch/hermes-agent/pull/4419), [#4292](https://github.com/NousResearch/hermes-agent/pull/4292)) - **内联差异预览** — 文件写入和补丁操作现在在工具活动源中显示内联差异,在代理继续操作前为您提供可视化的更改确认。 ([#4411](https://github.com/NousResearch/hermes-agent/pull/4411), [#4423](https://github.com/NousResearch/hermes-agent/pull/4423)) - **API服务器会话连续性 & 工具流式传输** — API服务器(Open WebUI集成)现在实时流式传输工具进度事件,并支持 `X-Hermes-Session-Id` 标头以实现跨请求的持久化会话。会话会持久化到共享的SessionDB。 ([#4092](https://github.com/NousResearch/hermes-agent/pull/4092), [#4478](https://github.com/NousResearch/hermes-agent/pull/4478), [#4802](https://github.com/NousResearch/hermes-agent/pull/4802)) - **ACP:客户端提供的MCP服务器** — 编辑器集成(VS Code、Zed、JetBrains)现在可以注册它们自己的MCP服务器,Hermes会将其作为额外的代理工具接收。您编辑器的MCP生态系统直接流入代理。 ([#4705](https://github.com/NousResearch/hermes-agent/pull/4705)) - **网关强化** — 针对竞争条件、照片媒体传输、洪水控制、卡住会话、审批路由和压缩死亡螺旋进行了一次重大稳定性改造。网关在生产环境中的可靠性大幅提升。 ([#4727](https://github.com/NousResearch/hermes-agent/pull/4727), [#4750](https://github.com/NousResearch/hermes-agent/pull/4750), [#4798](https://github.com/NousResearch/hermes-agent/pull/4798), [#4557](https://github.com/NousResearch/hermes-agent/pull/4557)) - **安全:阻止机密外泄** — 浏览器URL和LLM响应现在会扫描机密模式,阻止通过URL编码、base64或提示注入进行的外泄尝试。凭证目录保护已扩展到 `.docker`、`.azure`、`.config/gh`。`execute_code` 沙盒输出会被编辑。 ([#4483](https://github.com/NousResearch/hermes-agent/pull/4483), [#4360](https://github.com/NousResearch/hermes-agent/pull/4360), [#4305](https://github.com/NousResearch/hermes-agent/pull/4305), [#4327](https://github.com/NousResearch/hermes-agent/pull/4327)) --- ## 🏗️ 核心代理与架构 ### 提供者与模型支持 - **同提供者凭证池** — 配置多个API密钥,支持自动 `least_used` 轮换和401故障转移 ([#4188](https://github.com/NousResearch/hermes-agent/pull/4188), [#4300](https://github.com/NousResearch/hermes-agent/pull/4300)) - **凭证池在智能路由中保持** — 池状态在回退提供者切换后得以保留,并延迟对429的急切回退 ([#4361](https://github.com/NousResearch/hermes-agent/pull/4361)) - **每轮次主运行时恢复** — 在使用回退提供者后,代理会在下一轮次通过传输恢复自动恢复主提供者 ([#4624](https://github.com/NousResearch/hermes-agent/pull/4624)) - **GPT-5和Codex模型的 `developer` 角色** — 使用OpenAI为较新模型推荐的系统消息角色 ([#4498](https://github.com/NousResearch/hermes-agent/pull/4498)) - **Google模型操作指南** — Gemini和Gemma模型获得提供者特定的提示指南 ([#4641](https://github.com/NousResearch/hermes-agent/pull/4641)) - **Anthropic长上下文层级429处理** — 在达到层级限制时自动将上下文减少到200k ([#4747](https://github.com/NousResearch/hermes-agent/pull/4747)) - **第三方Anthropic端点的基于URL的认证** + CI测试修复 ([#4148](https://github.com/NousResearch/hermes-agent/pull/4148)) - **MiniMax Anthropic端点的Bearer认证** ([#4028](https://github.com/NousResearch/hermes-agent/pull/4028)) - **Fireworks上下文长度检测** ([#4158](https://github.com/NousResearch/hermes-agent/pull/4158)) - **阿里巴巴提供者的标准DashScope国际端点** ([#4133](https://github.com/NousResearch/hermes-agent/pull/4133), 关闭 [#3912](https://github.com/NousResearch/hermes-agent/issues/3912)) - **自定义提供者的context_length** 在卫生压缩中被遵守 ([#4085](https://github.com/NousResearch/hermes-agent/pull/4085)) - **非sk-ant密钥** 被视为常规API密钥,而非OAuth令牌 ([#4093](https://github.com/NousResearch/hermes-agent/pull/4093)) - **Claude-sonnet-4.6** 添加到OpenRouter和Nous模型列表 ([#4157](https://github.com/NousResearch/hermes-agent/pull/4157)) - **Qwen 3.6 Plus Preview** 添加到模型列表 ([#4376](https://github.com/NousResearch/hermes-agent/pull/4376)) - **MiniMax M2.7** 添加到hermes模型选择器和OpenCode ([#4208](https://github.com/NousResearch/hermes-agent/pull/4208)) - **从服务器探测自动检测模型** 在自定义端点设置中 ([#4218](https://github.com/NousResearch/hermes-agent/pull/4218)) - **config.yaml作为端点URL的单一事实来源** — 不再有环境变量与config.yaml冲突 ([#4165](https://github.com/NousResearch/hermes-agent/pull/4165)) - **设置向导不再覆盖** 自定义端点配置 ([#4180](https://github.com/NousResearch/hermes-agent/pull/4180), 关闭 [#4172](https://github.com/NousResearch/hermes-agent/issues/4172)) - **统一设置向导提供者选择** 与 `hermes model` — 两个流程使用单一代码路径 ([#4200](https://github.com/NousResearch/hermes-agent/pull/4200)) - **根级别提供者配置** 不再覆盖 `model.provider` ([#4329](https://github.com/NousResearch/hermes-agent/pull/4329)) - **对速率限制配对拒绝消息** 以防止垃圾信息 ([#4081](https://github.com/NousResearch/hermes-agent/pull/4081)) ### 代理循环与对话 - **在工具使用轮次间保留Anthropic思考块签名** ([#4626](https://github.com/NousResearch/hermes-agent/pull/4626)) - **在重试前分类仅思考的空响应** — 防止产生思考块而无内容的模型出现无限重试循环 ([#4645](https://github.com/NousResearch/hermes-agent/pull/4645)) - **防止API断开导致的压缩死亡螺旋** — 停止压缩触发、失败、再次压缩的循环 ([#4750](https://github.com/NousResearch/hermes-agent/pull/4750), 关闭 [#2153](https://github.com/NousResearch/hermes-agent/issues/2153)) - **将压缩后的上下文持久化** 到运行中压缩后的网关会话 ([#4095](https://github.com/NousResearch/hermes-agent/pull/4095)) - **上下文超限错误消息** 现在包含可操作的指导 ([#4155](https://github.com/NousResearch/hermes-agent/pull/4155), 关闭 [#4061](https://github.com/NousResearch/hermes-agent/issues/4061)) - **从用户可见响应中剥离孤立的思考/推理标签** ([#4311](https://github.com/NousResearch/hermes-agent/pull/4311), 关闭 [#4285](https://github.com/NousResearch/hermes-agent/issues/4285)) - **强化Codex响应预检** 和流式错误处理 ([#4313](https://github.com/NousResearch/hermes-agent/pull/4313)) - **确定性的call_id回退** 而非随机UUID,以保持提示缓存一致性 ([#3991](https://github.com/NousResearch/hermes-agent/pull/3991)) - **压缩后防止上下文压力警告垃圾信息** ([#4012](https://github.com/NousResearch/hermes-agent/pull/4012)) - **在轨迹压缩器中惰性创建AsyncOpenAI** 以避免关闭的事件循环错误 ([#4013](https://github.com/NousResearch/hermes-agent/pull/4013)) ### 内存与会话 - **可插拔内存提供者接口** — 基于ABC的插件系统,用于自定义内存后端,支持配置文件隔离 ([#4623](https://github.com/NousResearch/hermes-agent/pull/4623)) - **Honcho完全集成对等性** 作为参考内存提供者插件恢复 ([#4355](https://github.com/NousResearch/hermes-agent/pull/4355)) — @erosika - **Honcho配置文件作用域** 主机和对等点解析 ([#4616](https://github.com/NousResearch/hermes-agent/pull/4616)) - **内存刷新状态持久化** 以防止在网关重启时进行冗余的重新刷新 ([#4481](https://github.com/NousResearch/hermes-agent/pull/4481)) - **内存提供者工具** 通过顺序执行路径路由 ([#4803](https://github.com/NousResearch/hermes-agent/pull/4803)) - **Honcho配置** 写入实例本地路径以实现配置文件隔离 ([#4037](https://github.com/NousResearch/hermes-agent/pull/4037)) - **API服务器会话** 持久化到共享SessionDB ([#4802](https://github.com/NousResearch/hermes-agent/pull/4802)) - **非CLI会话的令牌使用情况** 被持久化 ([#4627](https://github.com/NousResearch/hermes-agent/pull/4627)) - **在FTS5查询中用引号括起点状术语** — 修复包含点的术语的会话搜索 ([#4549](https://github.com/NousResearch/hermes-agent/pull/4549)) --- ## 📱 消息平台(网关) ### 网关核心 - **竞争条件修复** — 照片媒体丢失、洪水控制、卡住会话和STT配置问题在一次强化改造中得到解决 ([#4727](https://github.com/NousResearch/hermes-agent/pull/4727)) - **通过运行中代理守卫的审批路由** — 当代理被阻止等待审批时,`/approve` 和 `/deny` 现在能正确路由,而不是被作为中断吞没 ([#4798](https://github.com/NousResearch/hermes-agent/pull/4798), [#4557](https://github.com/NousResearch/hermes-agent/pull/4557), 关闭 [#4542](https://github.com/NousResearch/hermes-agent/issues/4542)) - **在 /approve 后恢复代理** — 执行被阻止的命令时不再丢失工具结果 ([#4418](https://github.com/NousResearch/hermes-agent/pull/4418)) - **DM线程会话** 使用父转录本种子以保留上下文 ([#4559](https://github.com/NousResearch/hermes-agent/pull/4559)) - **感知技能的斜杠命令** — 网关动态将已安装的技能注册为斜杠命令,支持分页的 `/commands` 列表和Telegram 100个命令上限 ([#3934](https://github.com/NousResearch/hermes-agent/pull/3934), [#4005](https://github.com/NousResearch/hermes-agent/pull/4005), [#4006](https://github.com/NousResearch/hermes-agent/pull/4006), [#4010](https://github.com/NousResearch/hermes-agent/pull/4010), [#4023](https://github.com/NousResearch/hermes-agent/pull/4023)) - **Telegram菜单和网关调度中尊重每平台禁用的技能** ([#4799](https://github.com/NousResearch/hermes-agent/pull/4799)) - **移除用户可见的压缩警告** — 更干净的消息流 ([#4139](https://github.com/NousResearch/hermes-agent/pull/4139)) - **`-v/-q` 标志连接到网关服务的stderr日志记录** ([#4474](https://github.com/NousResearch/hermes-agent/pull/4474)) - **HERMES_HOME 重新映射** 到系统服务单元中的目标用户 ([#4456](https://github.com/NousResearch/hermes-agent/pull/4456)) - **对无效的类似布尔配置值遵守默认值** ([#4029](https://github.com/NousResearch/hermes-agent/pull/4029)) - **对 /update 命令使用 setsid 而非 systemd-run** 以避免systemd权限问题 ([#4104](https://github.com/NousResearch/hermes-agent/pull/4104), 关闭 [#4017](https://github.com/NousResearch/hermes-agent/issues/4017)) - **在首条消息上显示 'Initializing agent...'** 以改善用户体验 ([#4086](https://github.com/NousResearch/hermes-agent/pull/4086)) - **允许在LXC/容器环境中以root身份运行网关服务** ([#4732](https://github.com/NousResearch/hermes-agent/pull/4732)) ### Telegram - **命令名称限制为32个字符** 并避免冲突 ([#4211](https://github.com/NousResearch/hermes-agent/pull/4211)) - **菜单中强制执行优先级顺序** — 核心 > 插件 > 技能 ([#4023](https://github.com/NousResearch/hermes-agent/pull/4023)) - **上限为50个命令** — API拒绝超过约60个的命令 ([#4006](https://github.com/NousResearch/hermes-agent/pull/4006)) - **跳过空/空白文本** 以防止400错误 ([#4388](https://github.com/NousResearch/hermes-agent/pull/4388)) - **添加了E2E网关测试** ([#4497](https://github.com/NousResearch/hermes-agent/pull/4497)) — @pefontana ### Discord - **基于按钮的审批UI** — 注册 `/approve` 和 `/deny` 斜杠命令,带有交互式按钮提示 ([#4800](https://github.com/NousResearch/hermes-agent/pull/4800)) - **可配置的反应** — `discord.reactions` 配置选项用于禁用消息处理反应 ([#4199](https://github.com/NousResearch/hermes-agent/pull/4199)) - **对未授权用户跳过反应和自动线程** ([#4387](https://github.com/NousResearch/hermes-agent/pull/4387)) ### Slack - **在线程中回复** — `slack.reply_in_thread` 配置选项用于线程化响应 ([#4643](https://github.com/NousResearch/hermes-agent/pull/4643), 关闭 [#2662](https://github.com/NousResearch/hermes-agent/issues/2662)) ### WhatsApp - **在群聊中强制执行 require_mention** ([#4730](https://github.com/NousResearch/hermes-agent/pull/4730)) ### Webhook - **平台支持修复** — 跳过主频道提示,为webhook适配器禁用工具进度 ([#4660](https://github.com/NousResearch/hermes-agent/pull/4660)) ### Matrix - **E2EE解密强化** — 请求缺失密钥,自动信任设备,重试缓冲事件 ([#4083](https://github.com/NousResearch/hermes-agent/pull/4083)) --- ## 🖥️ CLI与用户体验 ### 新斜杠命令 - **`/yolo`** — 为会话切换危险命令审批的开关 ([#3990](https://github.com/NousResearch/hermes-agent/pull/3990)) - **`/btw`** — 不影响主对话上下文的短暂侧边问题 ([#4161](https://github.com/NousResearch/hermes-agent/pull/4161)) - **`/profile`** — 显示活动配置文件信息而无需离开聊天会话 ([#4027](https://github.com/NousResearch/hermes-agent/pull/4027)) ### 交互式CLI - **写入和补丁操作的内联差异预览** 在工具活动源中 ([#4411](https://github.com/NousResearch/hermes-agent/pull/4411), [#4423](https://github.com/NousResearch/hermes-agent/pull/4423)) - **TUI启动时固定到底部** — 响应和输入区域之间不再有大的空白 ([#4412](https://github.com/NousResearch/hermes-agent/pull/4412), [#4359](https://github.com/NousResearch/hermes-agent/pull/4359), 关闭 [#4398](https://github.com/NousResearch/hermes-agent/issues/4398), [#4421](https://github.com/NousResearch/hermes-agent/issues/4421)) - **`/history` 和 `/resume`** 现在直接显示最近会话,无需搜索 ([#4728](https://github.com/NousResearch/hermes-agent/pull/4728)) - **`/insights` 概览中显示缓存令牌** 使总和正确 ([#4428](https://github.com/NousResearch/hermes-agent/pull/4428)) - **`--max-turns` CLI标志** 用于 `hermes chat` 以限制代理迭代 ([#4314](https://github.com/NousResearch/hermes-agent/pull/4314)) - **检测拖放的文件路径** 而非将其视为斜杠命令 ([#4533](https://github.com/NousResearch/hermes-agent/pull/4533)) — @rolme - **在 `config set` 中允许空字符串和假值** ([#4310](https://github.com/NousResearch/hermes-agent/pull/4310), 关闭 [#4277](https://github.com/NousResearch/hermes-agent/issues/4277)) - **WSL中的语音模式** 当配置了PulseAudio桥接时 ([#4317](https://github.com/NousResearch/hermes-agent/pull/4317)) - **遵守 `NO_COLOR` 环境变量** 和 `TERM=dumb` 以提升可访问性 ([#4079](https://github.com/NousResearch/hermes-agent/pull/4079), 关闭 [#4066](https://github.com/NousResearch/hermes-agent/issues/4066)) — @SHL0MS - **macOS/zsh用户的正确shell重载说明** ([#4025](https://github.com/NousResearch/hermes-agent/pull/4025)) - **静默模式查询成功时返回零退出码** ([#4613](https://github.com/NousResearch/hermes-agent/pull/4613), 关闭 [#4601](https://github.com/NousResearch/hermes-agent/issues/4601)) — @devorun - **on_session_end钩子** 在中断退出时触发 ([#4159](https://github.com/NousResearch/hermes-agent/pull/4159)) - **配置文件列表显示** 正确读取 `model.default` 键 ([#4160](https://github.com/NousResearch/hermes-agent/pull/4160)) - **浏览器和TTS** 在重新配置菜单中显示 ([#4041](https://github.com/NousResearch/hermes-agent/pull/4041)) - **Web后端优先级** 检测简化 ([#4036](https://github.com/NousResearch/hermes-agent/pull/4036)) ### 设置与配置 - **在设置和静默未配置提供者警告期间保留 allowed_users** ([#4551](https://github.com/NousResearch/hermes-agent/pull/4551)) — @kshitijk4poor - **将API密钥保存到模型配置** 用于自定义端点 ([#4202](https://github.com/NousResearch/hermes-agent/pull/4202), 关闭 [#4182](https://github.com/NousResearch/hermes-agent/issues/4182)) - **Claude Code凭证** 在向导触发后需要明确的Hermes配置 ([#4210](https://github.com/NousResearch/hermes-agent/pull/4210)) - **在 save_config_value 中进行原子写入** 以防止中断时配置丢失 ([#4298](https://github.com/NousResearch/hermes-agent/pull/4298), [#4320](https://github.com/NousResearch/hermes-agent/pull/4320)) - **在令牌刷新时将scopes字段写入** Claude Code凭证 ([#4126](https://github.com/NousResearch/hermes-agent/pull/4126)) ### 更新系统 - **在 `hermes update` 中进行分支检测和上游同步** ([#4744](https://github.com/NousResearch/hermes-agent/pull/4744)) - **更新时保留工作的可选扩展** 即使一个扩展失败 ([#4550](https://github.com/NousResearch/hermes-agent/pull/4550)) - **处理 hermes update 期间的冲突git索引** ([#4735](https://github.com/NousResearch/hermes-agent/pull/4735)) - **避免macOS上的launchd重启竞争** ([#4736](https://github.com/NousResearch/hermes-agent/pull/4736)) - **为doctor和status命令添加缺失的 subprocess.run() 超时** ([#4009](https://github.com/NousResearch/hermes-agent/pull/4009)) --- ## 🔧 工具系统 ### 浏览器 - **Camofox反检测浏览器后端** — 本地隐身浏览,通过 `hermes tools` 自动安装 ([#4008](https://github.com/NousResearch/hermes-agent/pull/4008)) - **持久的Camofox会话** 具有VNC URL发现以进行视觉调试 ([#4419](https://github.com/NousResearch/hermes-agent/pull/4419)) - **跳过本地后端的SSRF检查** (Camofox, 无头Chromium) ([#4292](https://github.com/NousResearch/hermes-agent/pull/4292)) - **通过 `browser.allow_private_urls` 配置SSRF检查** ([#4198](https://github.com/NousResearch/hermes-agent/pull/4198)) — @nils010485 - **CAMOFOX_PORT=9377** 添加到Docker命令 ([#4340](https://github.com/NousResearch/hermes-agent/pull/4340)) ### 文件操作 - **写入和修补操作的内联差异预览** ([#4411](https://github.com/NousResearch/hermes-agent/pull/4411), [#4423](https://github.com/NousResearch/hermes-agent/pull/4423)) - **写入和修补时的陈旧文件检测** — 警告文件自上次读取以来是否被外部修改 ([#4345](https://github.com/NousResearch/hermes-agent/pull/4345)) - **写入后刷新陈旧时间戳** ([#4390](https://github.com/NousResearch/hermes-agent/pull/4390)) - **在 read_file 上进行大小守卫、去重和设备阻止** ([#4315](https://github.com/NousResearch/hermes-agent/pull/4315)) ### MCP - **稳定性修复包** — 重新加载超时、关闭清理、事件循环处理器、OAuth非阻塞 ([#4757](https://github.com/NousResearch/hermes-agent/pull/4757), 关闭 [#4462](https://github.com/NousResearch/hermes-agent/issues/4462), [#2537](https://github.com/NousResearch/hermes-agent/issues/2537)) ### ACP(编辑器集成) - **客户端提供的MCP服务器** 注册为代理工具 — 编辑器将它们的MCP服务器传递给Hermes ([#4705](https://github.com/NousResearch/hermes-agent/pull/4705)) ### 技能系统 - **代理写入的大小限制** 和 **技能修补的模糊匹配** — 防止过大的技能写入并提高编辑可靠性 ([#4414](https://github.com/NousResearch/hermes-agent/pull/4414)) - **安装前验证中心捆绑包路径** — 阻止技能捆绑包中的路径遍历 ([#3986](https://github.com/NousResearch/hermes-agent/pull/3986)) - **将统一的 hermes-agent 和 hermes-agent-setup** 合并为单个技能 ([#4332](https://github.com/NousResearch/hermes-agent/pull/4332)) - **在 extract_skill_conditions 中进行技能元数据类型检查** ([#4479](https://github.com/NousResearch/hermes-agent/pull/4479)) ### 新/更新的技能 - **research-paper-writing** — 完整的端到端研究流程(替换了ml-paper-writing) ([#4654](https://github.com/NousResearch/hermes-agent/pull/4654)) — @SHL0MS - **ascii-video** — 文本可读性技术和外部布局预言机 ([#4054](https://github.com/NousResearch/hermes-agent/pull/4054)) — @SHL0MS - **youtube-transcript** 更新以支持 youtube-transcript-api v1.x ([#4455](https://github.com/NousResearch/hermes-agent/pull/4455)) — @el-analista - **文档站点上添加了技能浏览和搜索页面** ([#4500](https://github.com/NousResearch/hermes-agent/pull/4500)) — @IAvecilla --- ## 🔒 安全与可靠性 ### 安全强化 - **通过浏览器URL和LLM响应阻止机密外泄** — 扫描URL编码、base64和提示注入向量中的机密模式 ([#4483](https://github.com/NousResearch/hermes-agent/pull/4483)) - **从 execute_code 沙盒输出中编辑机密** ([#4360](https://github.com/NousResearch/hermes-agent/pull/4360)) - **保护 `.docker`、`.azure`、`.config/gh` 凭证目录** 免受文件工具和终端的读/写访问 ([#4305](https://github.com/NousResearch/hermes-agent/pull/4305), [#4327](https://github.com/NousResearch/hermes-agent/pull/4327)) — @memosr - **GitHub OAuth令牌模式** 添加到编辑 + 快照编辑标志 ([#4295](https://github.com/NousResearch/hermes-agent/pull/4295)) - **在Telegram DoH回退中拒绝私有和环回IP** ([#4129](https://github.com/NousResearch/hermes-agent/pull/4129)) - **在凭证文件注册中拒绝路径遍历** ([#4316](https://github.com/NousResearch/hermes-agent/pull/4316)) - **在配置文件导入时验证tar归档成员路径** — 阻止zip-slip攻击 ([#4318](https://github.com/NousResearch/hermes-agent/pull/4318)) - **从配置文件导出中排除 auth.json 和 .env** ([#4475](https://github.com/NousResearch/hermes-agent/pull/4475)) ### 可靠性 - **防止API断开导致的压缩死亡螺旋** ([#4750](https://github.com/NousResearch/hermes-agent/pull/4750), 关闭 [#2153](https://github.com/NousResearch/hermes-agent/issues/2153)) - **在OpenAI SDK中将 `is_closed` 作为方法处理** — 防止错误的客户端关闭检测 ([#4416](https://github.com/NousResearch/hermes-agent/pull/4416), 关闭 [#4377](https://github.com/NousResearch/hermes-agent/issues/4377)) - **从 [all] 扩展中排除 matrix** — python-olm上游损坏,防止安装失败 ([#4615](https://github.com/NousResearch/hermes-agent/pull/4615), 关闭 [#4178](https://github.com/NousResearch/hermes-agent/issues/4178)) - **OpenCode模型路由** 已修复 ([#4508](https://github.com/NousResearch/hermes-agent/pull/4508)) - **Docker容器镜像** 已优化 ([#4034](https://github.com/NousResearch/hermes-agent/pull/4034)) — @bcross ### Windows与跨平台 - **WSL中的语音模式** 配合PulseAudio桥接 ([#4317](https://github.com/NousResearch/hermes-agent/pull/4317)) - **Homebrew打包** 准备 ([#4099](https://github.com/NousResearch/hermes-agent/pull/4099)) - **CI分支条件** 以防止fork上的工作流失败 ([#4107](https://github.com/NousResearch/hermes-agent/pull/4107)) --- ## 🐛 值得注意的错误修复 - **网关审批阻塞代理线程** — 审批现在像CLI一样阻塞代理线程,防止工具结果丢失 ([#4557](https://github.com/NousResearch/hermes-agent/pull/4557), 关闭 [#4542](https://github.com/NousResearch/hermes-agent/issues/4542)) - **API断开导致的压缩死亡螺旋** — 检测并停止而非循环 ([#4750](https://github.com/NousResearch/hermes-agent/pull/4750), 关闭 [#2153](https://github.com/NousResearch/hermes-agent/issues/2153)) - **工具使用轮次间丢失Anthropic思考块** ([#4626](https://github.com/NousResearch/hermes-agent/pull/4626)) - **使用 `-p` 标志时忽略配置文件模型配置** — model.model现在正确提升为model.default ([#4160](https://github.com/NousResearch/hermes-agent/pull/4160), 关闭 [#4486](https://github.com/NousResearch/hermes-agent/issues/4486)) - **CLI响应和输入区域之间的空白** ([#4412](https://github.com/NousResearch/hermes-agent/pull/4412), [#4359](https://github.com/NousResearch/hermes-agent/pull/4359), 关闭 [#4398](https://github.com/NousResearch/hermes-agent/issues/4398)) - **拖放的文件路径** 被视为斜杠命令而非文件引用 ([#4533](https://github.com/NousResearch/hermes-agent/pull/4533)) — @rolme - **孤立的 `` 标签** 泄漏到用户可见响应中 ([#4311](https://github.com/NousResearch/hermes-agent/pull/4311), 关闭 [#4285](https://github.com/NousResearch/hermes-agent/issues/4285)) - **OpenAI SDK `is_closed`** 是方法而非属性 — 错误的客户端关闭检测 ([#4416](https://github.com/NousResearch/hermes-agent/pull/4416), 关闭 [#4377](https://github.com/NousResearch/hermes-agent/issues/4377)) - **MCP OAuth服务器** 可能阻塞Hermes启动而非优雅降级 ([#4757](https://github.com/NousResearch/hermes-agent/pull/4757), 关闭 [#4462](https://github.com/NousResearch/hermes-agent/issues/4462)) - **MCP事件循环在关闭时** 带有HTTP服务器 ([#4757](https://github.com/NousResearch/hermes-agent/pull/4757), 关闭 [#2537](https://github.com/NousResearch/hermes-agent/issues/2537)) - **阿里巴巴提供者** 硬编码到错误的端点 ([#4133](https://github.com/NousResearch/hermes-agent/pull/4133), 关闭 [#3912](https://github.com/NousResearch/hermes-agent/issues/3912)) - **Slack reply_in_thread** 缺少配置选项 ([#4643](https://github.com/NousResearch/hermes-agent/pull/4643), 关闭 [#2662](https://github.com/NousResearch/hermes-agent/issues/2662)) - **静默模式退出码** — 成功的 `-q` 查询不再非零退出 ([#4613](https://github.com/NousResearch/hermes-agent/pull/4613), 关闭 [#4601](https://github.com/NousResearch/hermes-agent/issues/4601)) - **移动端侧边栏** 由于文档站点的backdrop-filter问题仅显示关闭按钮 ([#4207](https://github.com/NousResearch/hermes-agent/pull/4207)) — @xsmyile - **配置恢复被陈旧分支压缩合并回滚** — `_config_version` 已修复 ([#4440](https://github.com/NousResearch/hermes-agent/pull/4440)) --- ## 🧪 测试 - **Telegram网关E2E测试** — Telegram适配器的完整集成测试套件 ([#4497](https://github.com/NousResearch/hermes-agent/pull/4497)) — @pefontana - **修复11个真实测试失败** 加上 sys.modules 级联毒化器已解决 ([#4570](https://github.com/NousResearch/hermes-agent/pull/4570)) - **解决7个CI失败** 涉及钩子、插件和技能测试 ([#3936](https://github.com/NousResearch/hermes-agent/pull/3936)) - **Codex 401刷新测试** 更新以兼容CI ([#4166](https://github.com/NousResearch/hermes-agent/pull/4166)) - **修复陈旧的OPENAI_BASE_URL测试** ([#4217](https://github.com/NousResearch/hermes-agent/pull/4217)) --- ## 📚 文档 - **全面文档审计** — 在21个文件中修复了9个HIGH和20+个MEDIUM差距 ([#4087](https://github.com/NousResearch/hermes-agent/pull/4087)) - **站点导航重组** — 功能和平台提升为顶级 ([#4116](https://github.com/NousResearch/hermes-agent/pull/4116)) - **工具进度流式传输** 为API服务器和Open WebUI记录 ([#4138](https://github.com/NousResearch/hermes-agent/pull/4138)) - **Telegram webhook模式** 文档 ([#4089](https://github.com/NousResearch/hermes-agent/pull/4089)) - **本地LLM提供者指南** — 包含上下文长度警告的全面设置指南 ([#4294](https://github.com/NousResearch/hermes-agent/pull/4294)) - **WhatsApp允许列表行为** 通过 `WHATSAPP_ALLOW_ALL_USERS` 文档阐明 ([#4293](https://github.com/NousResearch/hermes-agent/pull/4293)) - **Slack配置选项** — Slack文档中的新配置部分 ([#4644](https://github.com/NousResearch/hermes-agent/pull/4644)) - **终端后端部分** 扩展 + 文档构建修复 ([#4016](https://github.com/NousResearch/hermes-agent/pull/4016)) - **添加提供者指南** 更新以支持统一设置流程 ([#4201](https://github.com/NousResearch/hermes-agent/pull/4201)) - **ACP Zed配置** 已修复 ([#4743](https://github.com/NousResearch/hermes-agent/pull/4743)) - **社区FAQ** 常见工作流程和故障排除条目 ([#4797](https://github.com/NousResearch/hermes-agent/pull/4797)) - **文档站点上的技能浏览和搜索页面** ([#4500](https://github.com/NousResearch/hermes-agent/pull/4500)) — @IAvecilla --- ## 👥 贡献者 ### 核心 - **@teknium1** — 135次提交,覆盖所有子系统 ### 顶级社区贡献者 - **@kshitijk4poor** — 13次提交:设置期间保留allowed_users ([#4551](https://github.com/NousResearch/hermes-agent/pull/4551)) 和各种修复 - **@erosika** — 12次提交:Honcho完全集成对等性作为内存提供者插件恢复 ([#4355](https://github.com/NousResearch/hermes-agent/pull/4355)) - **@pefontana** — 9次提交:Telegram网关E2E测试套件 ([#4497](https://github.com/NousResearch/hermes-agent/pull/4497)) - **@bcross** — 5次提交:Docker容器镜像优化 ([#4034](https://github.com/NousResearch/hermes-agent/pull/4034)) - **@SHL0MS** — 4次提交:NO_COLOR/TERM=dumb支持 ([#4079](https://github.com/NousResearch/hermes-agent/pull/4079)), ascii-video技能更新 ([#4054](https://github.com/NousResearch/hermes-agent/pull/4054)), research-paper-writing技能 ([#4654](https://github.com/NousResearch/hermes-agent/pull/4654)) ### 所有贡献者 @0xbyt4, @arasovic, @Bartok9, @bcross, @binhnt92, @camden-lowrance, @curtitoo, @Dakota, @Dave Tist, @Dean Kerr, @devorun, @dieutx, @Dilee, @el-analista, @erosika, @Gutslabs, @IAvecilla, @Jack, @Johannnnn506, @kshitijk4poor, @Laura Batalha, @Leegenux, @Lume, @MacroAnarchy, @maymuneth, @memosr, @NexVeridian, @Nick, @nils010485, @pefontana, @Penov, @rolme, @SHL0MS, @txchen, @xsmyile ### 来自社区解决的问题 @acsezen ([#2537](https://github.com/NousResearch/hermes-agent/issues/2537)), @arasovic ([#4285](https://github.com/NousResearch/hermes-agent/issues/4285)), @camden-lowrance ([#4462](https://github.com/NousResearch/hermes-agent/issues/4462)), @devorun ([#4601](https://github.com/NousResearch/hermes-agent/issues/4601)), @eloklam ([#4486](https://github.com/NousResearch/hermes-agent/issues/4486)), @HenkDz ([#3719](https://github.com/NousResearch/hermes-agent/issues/3719)), @hypotyposis ([#2153](https://github.com/NousResearch/hermes-agent/issues/2153)), @kazamak ([#4178](https://github.com/NousResearch/hermes-agent/issues/4178)), @lstep ([#4366](https://github.com/NousResearch/hermes-agent/issues/4366)), @Mark-Lok ([#4542](https://github.com/NousResearch/hermes-agent/issues/4542)), @NoJster ([#4421](https://github.com/NousResearch/hermes-agent/issues/4421)), @patp ([#2662](https://github.com/NousResearch/hermes-agent/issues/2662)), @pr0n ([#4601](https://github.com/NousResearch/hermes-agent/issues/4601)), @saulmc ([#4377](https://github.com/NousResearch/hermes-agent/issues/4377)), @SHL0MS ([#4060](https://github.com/NousResearch/hermes-agent/issues/4060), [#4061](https://github.com/NousResearch/hermes-agent/issues/4061), [#4066](https://github.com/NousResearch/hermes-agent/issues/4066), [#4172](https://github.com/NousResearch/hermes-agent/issues/4172), [#4277](https://github.com/NousResearch/hermes-agent/issues/4277)), @Z-Mackintosh ([#4398](https://github.com/NousResearch/hermes-agent/issues/4398)) --- **完整更新日志**: [v2026.3.30...v2026.4.3](https://github.com/NousResearch/hermes-agent/compare/v2026.3.30...v2026.4.3)