← 返回更新日志

Hermes v2026.3.23

2026-03-24 · GitHub 原文
# Hermes Agent v0.4.0 (v2026.3.23) **发布日期:** 2026年3月23日 > 平台扩展版本 —— 兼容OpenAI的API服务器、6个新的消息适配器、4个新的推理提供商、支持OAuth 2.1的MCP服务器管理、@上下文引用、网关提示词缓存、默认启用流式输出,以及包含200多个错误修复的全面可靠性改进。 --- ## ✨ 主要亮点 - **兼容OpenAI的API服务器** —— 通过新的 `/api/jobs` REST API 将Hermes暴露为 `/v1/chat/completions` 端点,用于定时任务管理,并强化了输入限制、字段白名单、基于SQLite的响应持久化以及CORS源保护 ([#1756](https://github.com/NousResearch/hermes-agent/pull/1756), [#2450](https://github.com/NousResearch/hermes-agent/pull/2450), [#2456](https://github.com/NousResearch/hermes-agent/pull/2456), [#2451](https://github.com/NousResearch/hermes-agent/pull/2451), [#2472](https://github.com/NousResearch/hermes-agent/pull/2472)) - **6个新的消息平台适配器** —— Signal、钉钉、短信(Twilio)、Mattermost、Matrix和Webhook适配器加入Telegram、Discord和WhatsApp。网关使用指数退避策略自动重连失败的平台 ([#2206](https://github.com/NousResearch/hermes-agent/pull/2206), [#1685](https://github.com/NousResearch/hermes-agent/pull/1685), [#1688](https://github.com/NousResearch/hermes-agent/pull/1688), [#1683](https://github.com/NousResearch/hermes-agent/pull/1683), [#2166](https://github.com/NousResearch/hermes-agent/pull/2166), [#2584](https://github.com/NousResearch/hermes-agent/pull/2584)) - **@上下文引用** —— 类Claude Code风格的 `@file` 和 `@url` 上下文注入,CLI中支持标签补全 ([#2343](https://github.com/NousResearch/hermes-agent/pull/2343), [#2482](https://github.com/NousResearch/hermes-agent/pull/2482)) - **4个新的推理提供商** —— GitHub Copilot(OAuth + 令牌验证)、阿里云 / DashScope、Kilo Code和OpenCode Zen/Go ([#1924](https://github.com/NousResearch/hermes-agent/pull/1924), [#1879](https://github.com/NousResearch/hermes-agent/pull/1879) by @mchzimm, [#1673](https://github.com/NousResearch/hermes-agent/pull/1673), [#1666](https://github.com/NousResearch/hermes-agent/pull/1666), [#1650](https://github.com/NousResearch/hermes-agent/pull/1650)) - **MCP服务器管理CLI** —— `hermes mcp` 命令用于安装、配置和验证MCP服务器,支持完整的OAuth 2.1 PKCE流程 ([#2465](https://github.com/NousResearch/hermes-agent/pull/2465)) - **网关提示词缓存** —— 按会话缓存AIAgent实例,在对话轮次间保留Anthropic提示词缓存,大幅降低长对话成本 ([#2282](https://github.com/NousResearch/hermes-agent/pull/2282), [#2284](https://github.com/NousResearch/hermes-agent/pull/2284), [#2361](https://github.com/NousResearch/hermes-agent/pull/2361)) - **上下文压缩改造** —— 结构化摘要与迭代更新、令牌预算尾部保护、可配置摘要端点以及备用模型支持 ([#2323](https://github.com/NousResearch/hermes-agent/pull/2323), [#1727](https://github.com/NousResearch/hermes-agent/pull/1727), [#2224](https://github.com/NousResearch/hermes-agent/pull/2224)) - **默认启用流式输出** —— CLI默认开启流式输出,流式模式下正确显示旋转指示器和工具进度,并修复了大量换行和拼接问题 ([#2340](https://github.com/NousResearch/hermes-agent/pull/2340), [#2161](https://github.com/NousResearch/hermes-agent/pull/2161), [#2258](https://github.com/NousResearch/hermes-agent/pull/2258)) --- ## 🖥️ CLI与用户体验 ### 新命令与交互 - **@上下文补全** —— 支持标签补全的 `@file`/`@url` 引用,将文件内容或网页注入对话 ([#2482](https://github.com/NousResearch/hermes-agent/pull/2482), [#2343](https://github.com/NousResearch/hermes-agent/pull/2343)) - **`/statusbar`** —— 切换显示模型+提供商信息的持久配置栏 ([#2240](https://github.com/NousResearch/hermes-agent/pull/2240), [#1917](https://github.com/NousResearch/hermes-agent/pull/1917)) - **`/queue`** —— 为代理排队提示词,不中断当前运行 ([#2191](https://github.com/NousResearch/hermes-agent/pull/2191), [#2469](https://github.com/NousResearch/hermes-agent/pull/2469)) - **`/permission`** —— 在会话中动态切换批准模式 ([#2207](https://github.com/NousResearch/hermes-agent/pull/2207)) - **`/browser`** —— 从CLI启动交互式浏览器会话 ([#2273](https://github.com/NousResearch/hermes-agent/pull/2273), [#1814](https://github.com/NousResearch/hermes-agent/pull/1814)) - **`/cost`** —— 网关模式下的实时定价和使用跟踪 ([#2180](https://github.com/NousResearch/hermes-agent/pull/2180)) - **`/approve` 和 `/deny`** —— 用显式命令替换网关中的纯文本批准 ([#2002](https://github.com/NousResearch/hermes-agent/pull/2002)) ### 流式与显示 - CLI默认启用流式输出 ([#2340](https://github.com/NousResearch/hermes-agent/pull/2340)) - 流式模式下显示旋转指示器和工具进度 ([#2161](https://github.com/NousResearch/hermes-agent/pull/2161)) - 启用 `show_reasoning` 时显示推理/思考块 ([#2118](https://github.com/NousResearch/hermes-agent/pull/2118)) - CLI和网关的上下文压力警告 ([#2159](https://github.com/NousResearch/hermes-agent/pull/2159)) - 修复:流式块拼接时缺少空格 ([#2258](https://github.com/NousResearch/hermes-agent/pull/2258)) - 修复:迭代边界换行阻止流式拼接 ([#2413](https://github.com/NousResearch/hermes-agent/pull/2413)) - 修复:延迟流式换行以防止空白行堆积 ([#2473](https://github.com/NousResearch/hermes-agent/pull/2473)) - 修复:在非TTY环境中抑制旋转动画 ([#2216](https://github.com/NousResearch/hermes-agent/pull/2216)) - 修复:在API错误消息中显示提供商和端点 ([#2266](https://github.com/NousResearch/hermes-agent/pull/2266)) - 修复:解决状态输出中的乱码ANSI转义码 ([#2448](https://github.com/NousResearch/hermes-agent/pull/2448)) - 修复:将金色ANSI颜色更新为真彩色格式 ([#2246](https://github.com/NousResearch/hermes-agent/pull/2246)) - 修复:标准化工具集标签并在横幅中使用肤色 ([#1912](https://github.com/NousResearch/hermes-agent/pull/1912)) ### CLI优化 - 修复:退出时防止“按ENTER继续...” ([#2555](https://github.com/NousResearch/hermes-agent/pull/2555)) - 修复:在代理循环中刷新stdout以防止macOS显示冻结 ([#1654](https://github.com/NousResearch/hermes-agent/pull/1654)) - 修复:`hermes setup` 遇到权限错误时显示人类可读错误 ([#2196](https://github.com/NousResearch/hermes-agent/pull/2196)) - 修复:`/stop` 命令崩溃 + 流式媒体交付中的UnboundLocalError ([#2463](https://github.com/NousResearch/hermes-agent/pull/2463)) - 修复:允许自定义/本地端点无需API密钥 ([#2556](https://github.com/NousResearch/hermes-agent/pull/2556)) - 修复:Kitty键盘协议Shift+Enter支持Ghostty/WezTerm(尝试+因prompt_toolkit崩溃而回滚)([#2345](https://github.com/NousResearch/hermes-agent/pull/2345), [#2349](https://github.com/NousResearch/hermes-agent/pull/2349)) ### 配置 - config.yaml中的 `${ENV_VAR}` 替换 ([#2684](https://github.com/NousResearch/hermes-agent/pull/2684)) - **实时配置重载** —— config.yaml更改无需重启即可应用 ([#2210](https://github.com/NousResearch/hermes-agent/pull/2210)) - **`custom_models.yaml`** 用于用户管理的模型添加 ([#2214](https://github.com/NousResearch/hermes-agent/pull/2214)) - **基于优先级的上下文文件选择** + CLAUDE.md支持 ([#2301](https://github.com/NousResearch/hermes-agent/pull/2301)) - **合并嵌套YAML部分** 而不是在配置更新时替换 ([#2213](https://github.com/NousResearch/hermes-agent/pull/2213)) - 修复:config.yaml提供商密钥覆盖环境变量但无提示 ([#2272](https://github.com/NousResearch/hermes-agent/pull/2272)) - 修复:记录警告而非静默吞没config.yaml错误 ([#2683](https://github.com/NousResearch/hermes-agent/pull/2683)) - 修复:`hermes tools` 后禁用的工具集重新启用 ([#2268](https://github.com/NousResearch/hermes-agent/pull/2268)) - 修复:平台默认工具集静默覆盖工具取消选择 ([#2624](https://github.com/NousResearch/hermes-agent/pull/2624)) - 修复:尊重裸YAML `approvals.mode: off` ([#2620](https://github.com/NousResearch/hermes-agent/pull/2620)) - 修复:`hermes update` 使用 `.[all]` 扩展及回退 ([#1728](https://github.com/NousResearch/hermes-agent/pull/1728)) - 修复:`hermes update` 在存储冲突重置工作树前提示 ([#2390](https://github.com/NousResearch/hermes-agent/pull/2390)) - 修复:更新/安装中使用git pull --rebase避免分支分歧错误 ([#2274](https://github.com/NousResearch/hermes-agent/pull/2274)) - 修复:添加zprofile回退并在全新macOS安装时创建zshrc ([#2320](https://github.com/NousResearch/hermes-agent/pull/2320)) - 修复:移除 `ANTHROPIC_BASE_URL` 环境变量以避免冲突 ([#1675](https://github.com/NousResearch/hermes-agent/pull/1675)) - 修复:如果IMAP密码已在钥匙串或环境中则不询问 ([#2212](https://github.com/NousResearch/hermes-agent/pull/2212)) - 修复:OpenCode Zen/Go显示OpenRouter模型而非自有模型 ([#2277](https://github.com/NousResearch/hermes-agent/pull/2277)) --- ## 🏗️ 核心代理与架构 ### 新提供商 - **GitHub Copilot** —— 完整OAuth认证、API路由、令牌验证和40万上下文。([#1924](https://github.com/NousResearch/hermes-agent/pull/1924), [#1896](https://github.com/NousResearch/hermes-agent/pull/1896), [#1879](https://github.com/NousResearch/hermes-agent/pull/1879) by @mchzimm, [#2507](https://github.com/NousResearch/hermes-agent/pull/2507)) - **阿里云 / DashScope** —— 与DashScope v1运行时完全集成、模型点保留、401认证修复 ([#1673](https://github.com/NousResearch/hermes-agent/pull/1673), [#2332](https://github.com/NousResearch/hermes-agent/pull/2332), [#2459](https://github.com/NousResearch/hermes-agent/pull/2459)) - **Kilo Code** —— 一级推理提供商 ([#1666](https://github.com/NousResearch/hermes-agent/pull/1666)) - **OpenCode Zen和OpenCode Go** —— 新提供商后端 ([#1650](https://github.com/NousResearch/hermes-agent/pull/1650), [#2393](https://github.com/NousResearch/hermes-agent/pull/2393) by @0xbyt4) - **NeuTTS** —— 本地TTS提供商后端,内置设置流程,替换旧的可选技能 ([#1657](https://github.com/NousResearch/hermes-agent/pull/1657), [#1664](https://github.com/NousResearch/hermes-agent/pull/1664)) ### 提供商改进 - **速率限制错误时 eager fallback** 到备用模型 ([#1730](https://github.com/NousResearch/hermes-agent/pull/1730)) - **端点元数据** 用于自定义模型上下文和定价;查询本地服务器的实际上下文窗口大小 ([#1906](https://github.com/NousResearch/hermes-agent/pull/1906), [#2091](https://github.com/NousResearch/hermes-agent/pull/2091) by @dusterbloom) - **上下文长度检测改造** —— models.dev集成、提供商感知解析、自定义端点的模糊匹配、llama.cpp的 `/v1/props` ([#2158](https://github.com/NousResearch/hermes-agent/pull/2158), [#2051](https://github.com/NousResearch/hermes-agent/pull/2051), [#2403](https://github.com/NousResearch/hermes-agent/pull/2403)) - **模型目录更新** —— gpt-5.4-mini、gpt-5.4-nano、healer-alpha、haiku-4.5、minimax-m2.7、claude 4.6 支持1M上下文 ([#1913](https://github.com/NousResearch/hermes-agent/pull/1913), [#1915](https://github.com/NousResearch/hermes-agent/pull/1915), [#1900](https://github.com/NousResearch/hermes-agent/pull/1900), [#2155](https://github.com/NousResearch/hermes-agent/pull/2155), [#2474](https://github.com/NousResearch/hermes-agent/pull/2474)) - **自定义端点改进** —— config.yaml中的 `model.base_url`、响应API的 `api_mode` 覆盖、允许无API密钥的端点、缺失密钥时快速失败 ([#2330](https://github.com/NousResearch/hermes-agent/pull/2330), [#1651](https://github.com/NousResearch/hermes-agent/pull/1651), [#2556](https://github.com/NousResearch/hermes-agent/pull/2556), [#2445](https://github.com/NousResearch/hermes-agent/pull/2445), [#1994](https://github.com/NousResearch/hermes-agent/pull/1994), [#1998](https://github.com/NousResearch/hermes-agent/pull/1998)) - 将模型和提供商注入系统提示词 ([#1929](https://github.com/NousResearch/hermes-agent/pull/1929)) - 将 `api_mode` 绑定到提供商配置而非环境变量 ([#1656](https://github.com/NousResearch/hermes-agent/pull/1656)) - 修复:防止Anthropic令牌泄漏到第三方 `anthropic_messages` 提供商 ([#2389](https://github.com/NousResearch/hermes-agent/pull/2389)) - 修复:防止Anthropic回退继承非Anthropic `base_url` ([#2388](https://github.com/NousResearch/hermes-agent/pull/2388)) - 修复:`auxiliary_is_nous` 标志从不重置 —— Nous标签泄漏到其他提供商 ([#1713](https://github.com/NousResearch/hermes-agent/pull/1713)) - 修复:Anthropic `tool_choice 'none'` 仍允许工具调用 ([#1714](https://github.com/NousResearch/hermes-agent/pull/1714)) - 修复:Mistral解析器嵌套JSON回退提取 ([#2335](https://github.com/NousResearch/hermes-agent/pull/2335)) - 修复:MiniMax 401认证通过默认使用 `anthropic_messages` 解决 ([#2103](https://github.com/NousResearch/hermes-agent/pull/2103)) - 修复:不区分大小写的模型族匹配 ([#2350](https://github.com/NousResearch/hermes-agent/pull/2350)) - 修复:激活检查中忽略占位符提供商密钥 ([#2358](https://github.com/NousResearch/hermes-agent/pull/2358)) - 修复:上下文长度检测中保留Ollama model:tag冒号 ([#2149](https://github.com/NousResearch/hermes-agent/pull/2149)) - 修复:启动时识别Claude Code OAuth凭证 ([#1663](https://github.com/NousResearch/hermes-agent/pull/1663)) - 修复:动态检测Claude Code版本以用于OAuth用户代理 ([#1670](https://github.com/NousResearch/hermes-agent/pull/1670)) - 修复:刷新/回退后OAuth标志陈旧 ([#1890](https://github.com/NousResearch/hermes-agent/pull/1890)) - 修复:辅助客户端跳过过期的Codex JWT ([#2397](https://github.com/NousResearch/hermes-agent/pull/2397)) ### 代理循环 - **网关提示词缓存** —— 按会话缓存AIAgent,保留助手回合,修复会话恢复 ([#2282](https://github.com/NousResearch/hermes-agent/pull/2282), [#2284](https://github.com/NousResearch/hermes-agent/pull/2284), [#2361](https://github.com/NousResearch/hermes-agent/pull/2361)) - **上下文压缩改造** —— 结构化摘要、迭代更新、令牌预算尾部保护、可配置 `summary_base_url` ([#2323](https://github.com/NousResearch/hermes-agent/pull/2323), [#1727](https://github.com/NousResearch/hermes-agent/pull/1727), [#2224](https://github.com/NousResearch/hermes-agent/pull/2224)) - **调用前清理和调用后工具防护** ([#1732](https://github.com/NousResearch/hermes-agent/pull/1732)) - **从提供商拒绝的 `tool_choice` 自动恢复**,通过无工具调用重试 ([#2174](https://github.com/NousResearch/hermes-agent/pull/2174)) - **后台内存/技能审查** 替换内联提示 ([#2235](https://github.com/NousResearch/hermes-agent/pull/2235)) - **SOUL.md作为主要代理身份** 替代硬编码默认值 ([#1922](https://github.com/NousResearch/hermes-agent/pull/1922)) - 修复:防止上下文压缩期间工具结果静默丢失 ([#1993](https://github.com/NousResearch/hermes-agent/pull/1993)) - 修复:处理工具调用恢复中的空/空函数参数 ([#2163](https://github.com/NousResearch/hermes-agent/pull/2163)) - 修复:优雅处理API拒绝响应而非崩溃 ([#2156](https://github.com/NousResearch/hermes-agent/pull/2156)) - 修复:防止代理循环在格式错误的工具调用上卡住 ([#2114](https://github.com/NousResearch/hermes-agent/pull/2114)) - 修复:返回JSON解析错误给模型而非用空参数调度 ([#2342](https://github.com/NousResearch/hermes-agent/pull/2342)) - 修复:连续助手消息合并在混合类型时丢失内容 ([#1703](https://github.com/NousResearch/hermes-agent/pull/1703)) - 修复:JSON恢复和错误处理程序中的消息角色交替违规 ([#1722](https://github.com/NousResearch/hermes-agent/pull/1722)) - 修复:`compression_attempts` 每次迭代重置 —— 允许无限压缩 ([#1723](https://github.com/NousResearch/hermes-agent/pull/1723)) - 修复:`length_continue_retries` 从不重置 —— 后续截断获得更少重试 ([#1717](https://github.com/NousResearch/hermes-agent/pull/1717)) - 修复:压缩器摘要角色违反连续角色约束 ([#1720](https://github.com/NousResearch/hermes-agent/pull/1720), [#1743](https://github.com/NousResearch/hermes-agent/pull/1743)) - 修复:移除硬编码 `gemini-3-flash-preview` 作为默认摘要模型 ([#2464](https://github.com/NousResearch/hermes-agent/pull/2464)) - 修复:正确处理空工具结果 ([#2201](https://github.com/NousResearch/hermes-agent/pull/2201)) - 修复:`tool_calls` 列表中None条目的崩溃 ([#2209](https://github.com/NousResearch/hermes-agent/pull/2209) by @0xbyt4, [#2316](https://github.com/NousResearch/hermes-agent/pull/2316)) - 修复:工作线程中的每线程持久事件循环 ([#2214](https://github.com/NousResearch/hermes-agent/pull/2214) by @jquesnelle) - 修复:防止异步工具并行运行时“事件循环已在运行”错误 ([#2207](https://github.com/NousResearch/hermes-agent/pull/2207)) - 修复:在源头剥离ANSI —— 在到达模型前清理终端输出 ([#2115](https://github.com/NousResearch/hermes-agent/pull/2115)) - 修复:跳过OpenRouter的顶层 `cache_control` role:tool ([#2391](https://github.com/NousResearch/hermes-agent/pull/2391)) - 修复:委托工具 —— 在子构造改变全局前保存父工具名称 ([#2083](https://github.com/NousResearch/hermes-agent/pull/2083) by @ygd58, [#1894](https://github.com/NousResearch/hermes-agent/pull/1894)) - 修复:仅当最后一条助手消息为空字符串时才剥离 ([#2326](https://github.com/NousResearch/hermes-agent/pull/2326)) ### 会话与内存 - **会话搜索** 和管理斜杠命令 ([#2198](https://github.com/NousResearch/hermes-agent/pull/2198)) - **自动会话标题** 和 `.hermes.md` 项目配置 ([#1712](https://github.com/NousResearch/hermes-agent/pull/1712)) - 修复:并发内存写入静默丢弃条目 —— 添加文件锁 ([#1726](https://github.com/NousResearch/hermes-agent/pull/1726)) - 修复:`session_search` 默认搜索所有源 ([#1892](https://github.com/NousResearch/hermes-agent/pull/1892)) - 修复:处理带连字符的FTS5查询并保留带引号的文字 ([#1776](https://github.com/NousResearch/hermes-agent/pull/1776)) - 修复:`load_transcript` 中跳过损坏行而非崩溃 ([#1744](https://github.com/NousResearch/hermes-agent/pull/1744)) - 修复:规范化会话键以防止区分大小写的重复项 ([#2157](https://github.com/NousResearch/hermes-agent/pull/2157)) - 修复:防止 `session_search` 在无会话时崩溃 ([#2194](https://github.com/NousResearch/hermes-agent/pull/2194)) - 修复:新会话重置令牌计数器以准确显示使用情况 ([#2101](https://github.com/NousResearch/hermes-agent/pull/2101) by @InB4DevOps) - 修复:防止刷新代理导致的陈旧内存覆盖 ([#2687](https://github.com/NousResearch/hermes-agent/pull/2687)) - 修复:移除合成错误消息注入,修复重复失败后的会话恢复 ([#2303](https://github.com/NousResearch/hermes-agent/pull/2303)) - 修复:带 `--resume` 的静默模式现在传递 conversation_history ([#2357](https://github.com/NousResearch/hermes-agent/pull/2357)) - 修复:统一批处理模式中的恢复逻辑 ([#2331](https://github.com/NousResearch/hermes-agent/pull/2331)) ### Honcho内存 - Honcho配置修复和@上下文引用集成 ([#2343](https://github.com/NousResearch/hermes-agent/pull/2343)) - 自托管/Docker配置文档 ([#2475](https://github.com/NousResearch/hermes-agent/pull/2475)) --- ## 📱 消息平台(网关) ### 新平台适配器 - **Signal Messenger** —— 完整适配器,支持附件处理、群组消息过滤和“发送给自己”回显保护 ([#2206](https://github.com/NousResearch/hermes-agent/pull/2206), [#2400](https://github.com/NousResearch/hermes-agent/pull/2400), [#2297](https://github.com/NousResearch/hermes-agent/pull/2297), [#2156](https://github.com/NousResearch/hermes-agent/pull/2156)) - **钉钉** —— 适配器含网关连接和设置文档 ([#1685](https://github.com/NousResearch/hermes-agent/pull/1685), [#1690](https://github.com/NousResearch/hermes-agent/pull/1690), [#1692](https://github.com/NousResearch/hermes-agent/pull/1692)) - **短信(Twilio)** ([#1688](https://github.com/NousResearch/hermes-agent/pull/1688)) - **Mattermost** —— 带@提及only频道过滤 ([#1683](https://github.com/NousResearch/hermes-agent/pull/1683), [#2443](https://github.com/NousResearch/hermes-agent/pull/2443)) - **Matrix** —— 支持视觉和图像缓存 ([#1683](https://github.com/NousResearch/hermes-agent/pull/1683), [#2520](https://github.com/NousResearch/hermes-agent/pull/2520)) - **Webhook** —— 外部事件触发的平台适配器 ([#2166](https://github.com/NousResearch/hermes-agent/pull/2166)) - **兼容OpenAI的API服务器** —— `/v1/chat/completions` 端点带 `/api/jobs` 定时管理 ([#1756](https://github.com/NousResearch/hermes-agent/pull/1756), [#2450](https://github.com/NousResearch/hermes-agent/pull/2450), [#2456](https://github.com/NousResearch/hermes-agent/pull/2456)) ### Telegram改进 - MarkdownV2支持 —— 删除线、剧透、块引用、转义括号/花括号/反斜杠/反引号 ([#2199](https://github.com/NousResearch/hermes-agent/pull/2199), [#2200](https://github.com/NousResearch/hermes-agent/pull/2200) by @llbn, [#2386](https://github.com/NousResearch/hermes-agent/pull/2386)) - 自动检测HTML标签并使用 `parse_mode=HTML` ([#1709](https://github.com/NousResearch/hermes-agent/pull/1709)) - Telegram群组视觉支持 + 基于线程的会话 ([#2153](https://github.com/NousResearch/hermes-agent/pull/2153)) - 网络中断后自动重连轮询 ([#2517](https://github.com/NousResearch/hermes-agent/pull/2517)) - 分发前聚合分割文本消息 ([#1674](https://github.com/NousResearch/hermes-agent/pull/1674)) - 修复:流式配置桥接、未修改、洪水控制 ([#1782](https://github.com/NousResearch/hermes-agent/pull/1782), [#1783](https://github.com/NousResearch/hermes-agent/pull/1783)) - 修复:`edited_message` 事件崩溃 ([#2074](https://github.com/NousResearch/hermes-agent/pull/2074)) - 修复:放弃前重试409轮询冲突 ([#2312](https://github.com/NousResearch/hermes-agent/pull/2312)) - 修复:通过 `platform:chat_id:thread_id` 格式的主题传递 ([#2455](https://github.com/NousResearch/hermes-agent/pull/2455)) ### Discord改进 - 文档缓存和文本文件注入 ([#2503](https://github.com/NousResearch/hermes-agent/pull/2503)) - DM持久输入指示器 ([#2468](https://github.com/NousResearch/hermes-agent/pull/2468)) - Discord DM视觉 —— 内联图像+附件分析 ([#2186](https://github.com/NousResearch/hermes-agent/pull/2186)) - 跨网关重启持久化线程参与 ([#1661](https://github.com/NousResearch/hermes-agent/pull/1661)) - 修复:非ASCII公会名称导致网关崩溃 ([#2302](https://github.com/NousResearch/hermes-agent/pull/2302)) - 修复:线程权限错误 ([#2073](https://github.com/NousResearch/hermes-agent/pull/2073)) - 修复:线程中的斜杠事件路由 ([#2460](https://github.com/NousResearch/hermes-agent/pull/2460)) - 修复:移除有问题的后续消息 + `/ask` 命令 ([#1836](https://github.com/NousResearch/hermes-agent/pull/1836)) - 修复:优雅WebSocket重连 ([#2127](https://github.com/NousResearch/hermes-agent/pull/2127)) - 修复:流式启用时语音频道TTS ([#2322](https://github.com/NousResearch/hermes-agent/pull/2322)) ### WhatsApp与其他适配器 - WhatsApp:出站 `send_message` 路由 ([#1769](https://github.com/NousResearch/hermes-agent/pull/1769) by @sai-samarth), LID格式自聊 ([#1667](https://github.com/NousResearch/hermes-agent/pull/1667)), `reply_prefix` 配置修复 ([#1923](https://github.com/NousResearch/hermes-agent/pull/1923)), 桥接子进程退出时重启 ([#2334](https://github.com/NousResearch/hermes-agent/pull/2334)), 图像/桥接改进 ([#2181](https://github.com/NousResearch/hermes-agent/pull/2181)) - Matrix:正确的 `reply_to_message_id` 参数 ([#1895](https://github.com/NousResearch/hermes-agent/pull/1895)), 裸媒体类型修复 ([#1736](https://github.com/NousResearch/hermes-agent/pull/1736)) - Mattermost:媒体附件的MIME类型 ([#2329](https://github.com/NousResearch/hermes-agent/pull/2329)) ### 网关核心 - **自动重连** 失败平台,使用指数退避 ([#2584](https://github.com/NousResearch/hermes-agent/pull/2584)) - **会话自动重置时通知用户** ([#2519](https://github.com/NousResearch/hermes-agent/pull/2519)) - **回复消息上下文** 用于会外回复 ([#1662](https://github.com/NousResearch/hermes-agent/pull/1662)) - **忽略未授权DM** 配置选项 ([#1919](https://github.com/NousResearch/hermes-agent/pull/1919)) - 修复:线程模式下的 `/reset` 重置全局会话而非线程 ([#2254](https://github.com/NousResearch/hermes-agent/pull/2254)) - 修复:流式响应后传递MEDIA:文件 ([#2382](https://github.com/NousResearch/hermes-agent/pull/2382)) - 修复:限制中断递归深度防止资源耗尽 ([#1659](https://github.com/NousResearch/hermes-agent/pull/1659)) - 修复:检测停止进程并在 `--replace` 时释放陈旧锁 ([#2406](https://github.com/NousResearch/hermes-agent/pull/2406), [#1908](https://github.com/NousResearch/hermes-agent/pull/1908)) - 修复:PID等待+强制终止用于网关重启 ([#1902](https://github.com/NousResearch/hermes-agent/pull/1902)) - 修复:防止 `--replace` 模式杀死调用进程 ([#2185](https://github.com/NousResearch/hermes-agent/pull/2185)) - 修复:`/model` 显示活动回退模型而非配置默认值 ([#1660](https://github.com/NousResearch/hermes-agent/pull/1660)) - 修复:`/title` 命令在会话尚不存在于SQLite时失败 ([#2379](https://github.com/NousResearch/hermes-agent/pull/2379) by @ten-jampa) - 修复:代理完成后处理 `/queue` 的消息 ([#2469](https://github.com/NousResearch/hermes-agent/pull/2469)) - 修复:剥离孤立 `tool_results` + 让 `/reset` 绕过运行代理 ([#2180](https://github.com/NousResearch/hermes-agent/pull/2180)) - 修复:防止代理在systemd管理外启动网关 ([#2617](https://github.com/NousResearch/hermes-agent/pull/2617)) - 修复:防止网关连接失败时的systemd重启风暴 ([#2327](https://github.com/NousResearch/hermes-agent/pull/2327)) - 修复:systemd单元中包含解析的节点路径 ([#1767](https://github.com/NousResearch/hermes-agent/pull/1767) by @sai-samarth) - 修复:网关外部异常处理程序中向用户发送错误详情 ([#1966](https://github.com/NousResearch/hermes-agent/pull/1966)) - 修复:改进429使用限制和500上下文溢出的错误处理 ([#1839](https://github.com/NousResearch/hermes-agent/pull/1839)) - 修复:启动检查中添加所有缺失的平台允许列表环境变量 ([#2628](https://github.com/NousResearch/hermes-agent/pull/2628)) - 修复:包含空格的文件路径媒体传递失败 ([#2621](https://github.com/NousResearch/hermes-agent/pull/2621)) - 修复:多平台网关中的重复会话键冲突 ([#2171](https://github.com/NousResearch/hermes-agent/pull/2171)) - 修复:Matrix和Mattermost从不报告已连接 ([#1711](https://github.com/NousResearch/hermes-agent/pull/1711)) - 修复:PII编辑配置从不读取 —— 缺少yaml导入 ([#1701](https://github.com/NousResearch/hermes-agent/pull/1701)) - 修复:技能斜杠命令中的NameError ([#1697](https://github.com/NousResearch/hermes-agent/pull/1697)) - 修复:检查点中持久化监视器元数据以用于崩溃恢复 ([#1706](https://github.com/NousResearch/hermes-agent/pull/1706)) - 修复:在 `send_image_file`、`send_document`、`send_video` 中传递 `message_thread_id` ([#2339](https://github.com/NousResearch/hermes-agent/pull/2339)) - 修复:快速连续照片消息的媒体组聚合 ([#2160](https://github.com/NousResearch/hermes-agent/pull/2160)) --- ## 🔧 工具系统 ### MCP增强 - **MCP服务器管理CLI** + OAuth 2.1 PKCE认证 ([#2465](https://github.com/NousResearch/hermes-agent/pull/2465)) - **将MCP服务器暴露为独立工具集** ([#1907](https://github.com/NousResearch/hermes-agent/pull/1907)) - **`hermes tools` 中的交互式MCP工具配置** ([#1694](https://github.com/NousResearch/hermes-agent/pull/1694)) - 修复:MCP-OAuth端口不匹配、路径遍历和共享处理程序状态 ([#2552](https://github.com/NousResearch/hermes-agent/pull/2552)) - 修复:跨会话重置保留MCP工具注册 ([#2124](https://github.com/NousResearch/hermes-agent/pull/2124)) - 修复:并发文件访问崩溃 + 重复MCP注册 ([#2154](https://github.com/NousResearch/hermes-agent/pull/2154)) - 修复:规范化MCP模式 + 扩展会话列表列 ([#2102](https://github.com/NousResearch/hermes-agent/pull/2102)) - 修复:`tool_choice` `mcp_` 前缀处理 ([#1775](https://github.com/NousResearch/hermes-agent/pull/1775)) ### Web工具后端 - **Tavily** 作为Web搜索/提取/爬取后端 ([#1731](https://github.com/NousResearch/hermes-agent/pull/1731)) - **Parallel** 作为替代Web搜索/提取后端 ([#1696](https://github.com/NousResearch/hermes-agent/pull/1696)) - **可配置Web后端** —— Firecrawl/BeautifulSoup/Playwright选择 ([#2256](https://github.com/NousResearch/hermes-agent/pull/2256)) - 修复:仅空白环境变量绕过Web后端检测 ([#2341](https://github.com/NousResearch/hermes-agent/pull/2341)) ### 新工具 - **IMAP邮件** 读取和发送 ([#2173](https://github.com/NousResearch/hermes-agent/pull/2173)) - **STT(语音转文本)** 工具使用Whisper API ([#2072](https://github.com/NousResearch/hermes-agent/pull/2072)) - **路由感知定价估算** ([#1695](https://github.com/NousResearch/hermes-agent/pull/1695)) ### 工具改进 - TTS:OpenAI TTS提供商的 `base_url` 支持 ([#2064](https://github.com/NousResearch/hermes-agent/pull/2064) by @hanai) - 视觉:可配置超时、文件路径中的波浪号扩展、DM视觉支持多图像和base64回退 ([#2480](https://github.com/NousResearch/hermes-agent/pull/2480), [#2585](https://github.com/NousResearch/hermes-agent/pull/2585), [#2211](https://github.com/NousResearch/hermes-agent/pull/2211)) - 浏览器:会话创建中的竞争条件修复 ([#1721](https://github.com/NousResearch/hermes-agent/pull/1721)), 意外LLM参数的TypeError ([#1735](https://github.com/NousResearch/hermes-agent/pull/1735)) - 文件工具:在 `write_file` 和补丁内容中剥离ANSI转义码 ([#2532](https://github.com/NousResearch/hermes-agent/pull/2532)), 重复搜索键中包含分页参数 ([#1824](https://github.com/NousResearch/hermes-agent/pull/1824) by @cutepawss), 改进模糊匹配精度+位置计算重构 ([#2096](https://github.com/NousResearch/hermes-agent/pull/2096), [#1681](https://github.com/NousResearch/hermes-agent/pull/1681)) - 代码执行:资源泄漏和双套接字关闭修复 ([#2381](https://github.com/NousResearch/hermes-agent/pull/2381)) - 委托:并发子代理委托的线程安全 ([#1672](https://github.com/NousResearch/hermes-agent/pull/1672)), 委托后保留父代理的工具列表 ([#1778](https://github.com/NousResearch/hermes-agent/pull/1778)) - 修复:使并发工具批处理感知文件突变路径 ([#1914](https://github.com/NousResearch/hermes-agent/pull/1914)) - 修复:在平台分发前分块长消息 `send_message_tool` ([#1646](https://github.com/NousResearch/hermes-agent/pull/1646)) - 修复:添加缺失的 'messaging' 工具集 ([#1718](https://github.com/NousResearch/hermes-agent/pull/1718)) - 修复:防止不可用工具名称泄漏到模型模式 ([#2072](https://github.com/NousResearch/hermes-agent/pull/2072)) - 修复:按引用传递访问集以防止菱形依赖重复 ([#2311](https://github.com/NousResearch/hermes-agent/pull/2311)) - 修复:Daytona沙箱查找从 `find_one` 迁移到 `get/list` ([#2063](https://github.com/NousResearch/hermes-agent/pull/2063) by @rovle) --- ## 🧩 技能生态 ### 技能系统改进 - **代理创建的技能** —— 允许谨慎级发现,危险技能询问而非阻止 ([#1840](https://github.com/NousResearch/hermes-agent/pull/1840), [#2446](https://github.com/NousResearch/hermes-agent/pull/2446)) - **`--yes` 标志** 绕过 `/skills install` 和卸载的确认 ([#1647](https://github.com/NousResearch/hermes-agent/pull/1647)) - **禁用的技能** 在横幅、系统提示词和斜杠命令中均受尊重 ([#1897](https://github.com/NousResearch/hermes-agent/pull/1897)) - 修复:技能 custom_tools 导入崩溃 + 沙箱 file_tools 集成 ([#2239](https://github.com/NousResearch/hermes-agent/pull/2239)) - 修复:带pip需求的代理创建技能安装时崩溃 ([#2145](https://github.com/NousResearch/hermes-agent/pull/2145)) - 修复:`hub.yaml` 缺失时 `Skills.__init__` 中的竞争条件 ([#2242](https://github.com/NousResearch/hermes-agent/pull/2242)) - 修复:安装前验证技能元数据并阻止重复 ([#2241](https://github.com/NousResearch/hermes-agent/pull/2241)) - 修复:技能中心检查/解析 —— 检查、重定向、发现、tap列表中的4个bug ([#2447](https://github.com/NousResearch/hermes-agent/pull/2447)) - 修复:代理创建的技能在会话重置后继续工作 ([#2121](https://github.com/NousResearch/hermes-agent/pull/2121)) ### 新技能 - **OCR-and-documents** —— PDF/DOCX/XLS/PPTX/图像OCR,可选GPU ([#2236](https://github.com/NousResearch/hermes-agent/pull/2236), [#2461](https://github.com/NousResearch/hermes-agent/pull/2461)) - **Huggingface-hub** 捆绑技能 ([#1921](https://github.com/NousResearch/hermes-agent/pull/1921)) - **Sherlock OSINT** 用户名搜索 ([#1671](https://github.com/NousResearch/hermes-agent/pull/1671)) - **Meme-generation** —— 使用Pillow的图像生成器 ([#2344](https://github.com/NousResearch/hermes-agent/pull/2344)) - **Bioinformatics** 网关技能 —— 索引至400+生物技能 ([#2387](https://github.com/NousResearch/hermes-agent/pull/2387)) - **Inference.sh** 技能(终端基础)([#1686](https://github.com/NousResearch/hermes-agent/pull/1686)) - **Base blockchain** 可选技能 ([#1643](https://github.com/NousResearch/hermes-agent/pull/1643)) - **3D-model-viewer** 可选技能 ([#2226](https://github.com/NousResearch/hermes-agent/pull/2226)) - **FastMCP** 可选技能 ([#2113](https://github.com/NousResearch/hermes-agent/pull/2113)) - **Hermes-agent-setup** 技能 ([#1905](https://github.com/NousResearch/hermes-agent/pull/1905)) --- ## 🔌 插件系统增强 - **TUI扩展钩子** —— 在Hermes之上构建自定义CLI ([#2333](https://github.com/NousResearch/hermes-agent/pull/2333)) - **`hermes plugins install/remove/list` 命令** ([#2337](https://github.com/NousResearch/hermes-agent/pull/2337)) - **插件的斜杠命令注册** ([#2359](https://github.com/NousResearch/hermes-agent/pull/2359)) - **`session:end` 生命周期事件** 钩子 ([#1725](https://github.com/NousResearch/hermes-agent/pull/1725)) - 修复:要求项目插件发现选择加入 ([#2215](https://github.com/NousResearch/hermes-agent/pull/2215)) --- ## 🔒 安全与可靠性 ### 安全 - **视觉工具和Web工具的SSRF保护** ([#2679](https://github.com/NousResearch/hermes-agent/pull/2679)) - **`_expand_path` 中的Shell注入预防** 通过 `~user` 路径后缀 ([#2685](https://github.com/NousResearch/hermes-agent/pull/2685)) - **阻止不受信任的浏览器源** API服务器访问 ([#2451](https://github.com/NousResearch/hermes-agent/pull/2451)) - **阻止沙箱后端凭据** 进入子进程环境 ([#1658](https://github.com/NousResearch/hermes-agent/pull/1658)) - **阻止@引用** 读取工作区外的秘密 ([#2601](https://github.com/NousResearch/hermes-agent/pull/2601) by @Gutslabs) - **终端工具的恶意代码模式预执行扫描器** ([#2245](https://github.com/NousResearch/hermes-agent/pull/2245)) - **加强终端安全** 和沙箱文件写入 ([#1653](https://github.com/NousResearch/hermes-agent/pull/1653)) - **PKCE验证器泄漏** 修复 + OAuth刷新Content-Type ([#1775](https://github.com/NousResearch/hermes-agent/pull/1775)) - **消除SQL字符串格式化** 在 `execute()` 调用中 ([#2061](https://github.com/NousResearch/hermes-agent/pull/2061) by @dusterbloom) - **加强作业API** —— 输入限制、字段白名单、启动检查 ([#2456](https://github.com/NousResearch/hermes-agent/pull/2456)) ### 可靠性 - 4个SessionDB方法的线程锁 ([#1704](https://github.com/NousResearch/hermes-agent/pull/1704)) - 并发内存写入的文件锁 ([#1726](https://github.com/NousResearch/hermes-agent/pull/1726)) - 优雅处理OpenRouter错误 ([#2112](https://github.com/NousResearch/hermes-agent/pull/2112)) - 保护print()调用免受OSError ([#1668](https://github.com/NousResearch/hermes-agent/pull/1668)) - 编辑格式化程序中安全处理非字符串输入 ([#2392](https://github.com/NousResearch/hermes-agent/pull/2392), [#1700](https://github.com/NousResearch/hermes-agent/pull/1700)) - ACP:模型切换时保留会话提供商,将会话持久化到磁盘 ([#2380](https://github.com/NousResearch/hermes-agent/pull/2380), [#2071](https://github.com/NousResearch/hermes-agent/pull/2071)) - API服务器:跨重启将ResponseStore持久化到SQLite ([#2472](https://github.com/NousResearch/hermes-agent/pull/2472)) - 修复:`fetch_nous_models` 因位置参数始终TypeError ([#1699](https://github.com/NousResearch/hermes-agent/pull/1699)) - 修复:解决cli.py中的合并冲突标记导致启动失败 ([#2347](https://github.com/NousResearch/hermes-agent/pull/2347)) - 修复:wheel中缺少 `minisweagent_path.py` ([#2098](https://github.com/NousResearch/hermes-agent/pull/2098) by @JiwaniZakir) ### 定时系统 - **`[SILENT]` 响应** —— cron代理可抑制交付 ([#1833](https://github.com/NousResearch/hermes-agent/pull/1833)) - **缩放错过作业的宽限期** 与计划频率 ([#2449](https://github.com/NousResearch/hermes-agent/pull/2449)) - **恢复最近的一次性作业** ([#1918](https://github.com/NousResearch/hermes-agent/pull/1918)) - 修复:规范化 `repeat<=0` 为None —— LLM传递-1时作业首次运行后删除 ([#2612](https://github.com/NousResearch/hermes-agent/pull/2612) by @Mibayy) - 修复:Matrix添加到调度器交付platform_map ([#2167](https://github.com/NousResearch/hermes-agent/pull/2167) by @buntingszn) - 修复:无时区的朴素ISO时间戳 —— 作业在错误时间触发 ([#1729](https://github.com/NousResearch/hermes-agent/pull/1729)) - 修复:`get_due_jobs` 读取 `jobs.json` 两次 —— 竞争条件 ([#1716](https://github.com/NousResearch/hermes-agent/pull/1716)) - 修复:静默作业返回空响应以跳过交付 ([#2442](https://github.com/NousResearch/hermes-agent/pull/2442)) - 修复:停止将cron输出注入网关会话历史 ([#2313](https://github.com/NousResearch/hermes-agent/pull/2313)) - 修复:`asyncio.run()` 引发RuntimeError时关闭废弃协程 ([#2317](https://github.com/NousResearch/hermes-agent/pull/2317)) --- ## 🧪 测试 - 解决所有持续失败的测试 ([#2488](https://github.com/NousResearch/hermes-agent/pull/2488)) - 用 `monkeypatch` 替换 `FakePath` 以兼容Python 3.12 ([#2444](https://github.com/NousResearch/hermes-agent/pull/2444)) - 对齐Hermes设置和完整套件预期 ([#1710](https://github.com/NousResearch/hermes-agent/pull/1710)) --- ## 📚 文档 - 近期功能的综合文档更新 ([#1693](https://github.com/NousResearch/hermes-agent/pull/1693), [#2183](https://github.com/NousResearch/hermes-agent/pull/2183)) - 阿里云和钉钉设置指南 ([#1687](https://github.com/NousResearch/hermes-agent/pull/1687), [#1692](https://github.com/NousResearch/hermes-agent/pull/1692)) - 详细技能文档 ([#2244](https://github.com/NousResearch/hermes-agent/pull/2244)) - Honcho自托管/Docker配置 ([#2475](https://github.com/NousResearch/hermes-agent/pull/2475)) - 上下文长度检测FAQ和快速入门参考 ([#2179](https://github.com/NousResearch/hermes-agent/pull/2179)) - 修复参考和用户指南中的文档不一致 ([#1995](https://github.com/NousResearch/hermes-agent/pull/1995)) - 修复MCP安装命令 —— 使用uv而非裸pip ([#1909](https://github.com/NousResearch/hermes-agent/pull/1909)) - 用Mermaid/列表替换ASCII图表 ([#2402](https://github.com/NousResearch/hermes-agent/pull/2402)) - Gemini OAuth提供商实施计划 ([#2467](https://github.com/NousResearch/hermes-agent/pull/2467)) - Discord服务器成员意图标记为必需 ([#2330](https://github.com/NousResearch/hermes-agent/pull/2330)) - 修复api-server.md中的MDX构建错误 ([#1787](https://github.com/NousResearch/hermes-agent/pull/1787)) - 对齐venv路径以匹配安装程序 ([#2114](https://github.com/NousResearch/hermes-agent/pull/2114)) - 新技能添加到中心索引 ([#2281](https://github.com/NousResearch/hermes-agent/pull/2281)) --- ## 👥 贡献者 ### 核心 - **@teknium1** (Teknium) —— 280个PR ### 社区贡献者 - **@mchzimm** (to_the_max) —— GitHub Copilot提供商集成 ([#1879](https://github.com/NousResearch/hermes-agent/pull/1879)) - **@jquesnelle** (Jeffrey Quesnelle) —— 每线程持久事件循环修复 ([#2214](https://github.com/NousResearch/hermes-agent/pull/2214)) - **@llbn** (lbn) —— Telegram MarkdownV2删除线、剧透、块引用和转义修复 ([#2199](https://github.com/NousResearch/hermes-agent/pull/2199), [#2200](https://github.com/NousResearch/hermes-agent/pull/2200)) - **@dusterbloom** —— SQL注入预防 + 本地服务器上下文窗口查询 ([#2061](https://github.com/NousResearch/hermes-agent/pull/2061), [#2091](https://github.com/NousResearch/hermes-agent/pull/2091)) - **@0xbyt4** —— Anthropic tool_calls None保护 + OpenCode-Go提供商配置修复 ([#2209](https://github.com/NousResearch/hermes-agent/pull/2209), [#2393](https://github.com/NousResearch/hermes-agent/pull/2393)) - **@sai-samarth** (Saisamarth) —— WhatsApp send_message路由 + systemd节点路径 ([#1769](https://github.com/NousResearch/hermes-agent/pull/1769), [#1767](https://github.com/NousResearch/hermes-agent/pull/1767)) - **@Gutslabs** (Guts) —— 阻止@引用读取秘密 ([#2601](https://github.com/NousResearch/hermes-agent/pull/2601)) - **@Mibayy** (Mibay) —— 定时作业重复规范化 ([#2612](https://github.com/NousResearch/hermes-agent/pull/2612)) - **@ten-jampa** (Tenzin Jampa) —— 网关 `/title` 命令修复 ([#2379](https://github.com/NousResearch/hermes-agent/pull/2379)) - **@cutepawss** (lila) —— 文件工具搜索分页修复 ([#1824](https://github.com/NousResearch/hermes-agent/pull/1824)) - **@hanai** (Hanai) —— OpenAI TTS base_url支持 ([#2064](https://github.com/NousResearch/hermes-agent/pull/2064)) - **@rovle** (Lovre Pešut) —— Daytona沙箱API迁移 ([#2063](https://github.com/NousResearch/hermes-agent/pull/2063)) - **@buntingszn** (bunting szn) —— Matrix定时交付支持 ([#2167](https://github.com/NousResearch/hermes-agent/pull/2167)) - **@InB4DevOps** —— 新会话重置令牌计数器 ([#2101](https://github.com/NousResearch/hermes-agent/pull/2101)) - **@JiwaniZakir** (Zakir Jiwani) —— wheel中缺失文件修复 ([#2098](https://github.com/NousResearch/hermes-agent/pull/2098)) - **@ygd58** (buray) —— 委托工具父工具名称修复 ([#2083](https://github.com/NousResearch/hermes-agent/pull/2083)) --- **完整更新日志**: [v2026.3.17...v2026.3.23](https://github.com/NousResearch/hermes-agent/compare/v2026.3.17...v2026.3.23)