Hermes Agent v0.20.6
Overview
v0.20.6 — The Steady Roll Release(稳健滚动版)。 发布于 2026 年 8 月 27 日。自 v0.20.5 以来 合并约 525 个 PR · 约 1,313 个提交 · 改动约 1,557 个文件(+177,113 / −21,682)。
这个窗口是实打实的一波滚进:头条是 同意门禁的真实浏览器配置浏览(real-profile browsing)——agent 可以驱动你自己浏览器配置的快照,带着你现有的登录态和 Cookie 上网,全程显式授权、默认关闭。围绕它,桌面端浏览器获得独立 OS 窗口和托管 SSH 远程更新引擎;内置远程 MCP 目录突破 50 个官方实测的厂商托管服务器(Cloudflare、Grafana Cloud、Better Stack、Railway 等);web_search/web_extract 增加 TTL 结果缓存,重复查询不再重复扣费;lean-tail 压缩成为默认;tool_search 支持多查询搜索与词干提取;存储密钥可选用系统钥匙串加密(macOS 上不再每次启动弹 Keychain 密码框);更新器改为通过控制 socket 暂停网关而不是强杀进程;GLM-5.3-Flash、MiniMax M3 free、MiniMax H3 Max video 等新模型进入各选择器。
这是补丁版本,官方说明从简,完整文档随 v0.21.0 发布。本页覆盖该窗口最有价值的部分。
Highlights
1. 真实浏览器配置浏览:agent 带着你的登录态上网
之前 agent 的浏览器跑在一个干净、未登录的世界里——查公开资料没问题,一旦任务需要你的登录态就卡住了。v0.20.6 新增同意门禁的真实浏览器配置浏览(#1f4d095fd8、#830e4a29be):开启后,Hermes 会把默认浏览器当前正在使用的配置(Cookie、保存的登录信息、偏好设置)复制到 ~/.hermes/browser-profile/ 下的受管快照,再用自带的 Chromium 驱动这个快照。你的真实配置永远不会被直接打开,而且每次启动新会话时认证文件都会重新同步——你自己浏览器里新登录的站点,agent 的会话里也能用。
# ~/.hermes/config.yaml
browser:
use_real_profile: true
browser_exec 工具会暴露一个 local 参数(只有开启开关后才出现),即使在云端浏览器后端下也能强制走本地真实配置会话。Windows 上复制前必须完全退出浏览器(Chrome/Edge/Brave 会独占锁定 Cookie 数据库),browser.real_profile_autoclose: true 可以让 Hermes 提议替你关闭浏览器——但它绝不会自动关。关掉开关会删除快照目录,撤销授权后复制的凭据不会残留。支持 Chrome、Edge、Brave、Chromium;默认浏览器不是 Chromium 系(比如 Firefox)时会直接失败并给出明确提示。桌面端入口:Settings → Browser → Use My Real Browser Profile。
2. 桌面浏览器独立 OS 窗口 + 托管 SSH 远程更新引擎
桌面端浏览器从内嵌面板毕业:现在可以打开成独立 OS 窗口——随意缩放、拖到别的显示器、放在编辑器旁边。桌面端还新增托管 SSH 远程更新引擎:通过 SSH 对远程 gateway 逐连接更新,一台桌面应用就能让整批机器保持最新(附带 fleet profile rail——切换 profile 时更新目标跟着走)。
3. 远程 MCP 目录:50+ 官方实测厂商服务器
内置远程 MCP 目录扩充到 50+ 个官方实测的厂商托管服务器——Cloudflare、Grafana Cloud、Better Stack、Railway、Canva、Dropbox、GitLab、Strava 等。每个条目都对照厂商线上端点验证过,并固定 ?codemode=false 让 tool_search 能看到每个目录条目的完整端点面。一条命令查看:
hermes mcp catalog list --remote
4. web_search / web_extract 的 TTL 结果缓存
短时间内的重复搜索与抓取不再重复向厂商计费:web_search/web_extract 的结果带 TTL 缓存(可用 web.cache_ttl 配置),重试、重跑同一提示词、或者 cron 任务重复查同一个 URL 时,直接命中缓存而不是发起一次新的(付费)调用。长时间运行的 agent 任务和定时任务都能省钱。
5. lean-tail 压缩成为默认
压缩更安静也更省钱:lean-tail 成为默认模式——压缩器不再保留一长串低价值轮次,而是保留一份紧凑摘要加一小段高价值尾部,压缩后每轮重发的内容大幅减少。升级前没设置过 agent.compression.tail_mode 的现有配置会自动采用新默认;显式设置过的不受影响。
6. tool_search:多查询 + 词干提取
tool_search 现在接受 queries: string[]——在同一目录里独立搜索每个查询,limit 按查询生效(默认 5、最大 25)——返回分组结果:每个查询组只带工具名,共享一份 tools map 记录每个命中工具的来源、描述和必填参数。tool_describe 接受 names: string[],返回按名称索引的 map,一个名字写错不再拖垮整次调用。Snowball 词干提取让 “browsing” 能命中 “browser”、“searches” 能命中 “search”。
{ "queries": ["browser snapshot", "web search cache", "read pdf"] }
7. 存储密钥可选系统钥匙串加密
Electron 的 safeStorage 以前会在 macOS 登录钥匙串里放一个应用级密钥,遇到钥匙串被锁/缺失/损坏的机器,每次启动桌面端都会弹出阻塞性的 “Keychain Not Found” 对话框。钥匙串加密现在是显式可选(Settings → Gateway):默认路径完全不调用任何 safeStorage API,首次启动时一次性迁移会把旧加密数据转成 0600 权限的明文文件。打开开关后,所有存储密钥的文件(connection.json、connections.json、native-oauth-tokens.json)都会原地重新加密。
8. 更新器改为通过控制 socket 暂停网关
hermes update 不再强杀运行中的 gateway:更新器通过控制 socket 暂停网关——服务优雅静止、更新落地、网关恢复——升级过程中进行中的轮次和消息连接不受影响。镜像/包管理的安装还会通过统一闸门拒绝不安全的就地更新(#91277 Phase 3),被 gitignore 的用户文件也会阻止破坏性的 ZIP 覆盖。
Improvements
- Cron:持久化 incident 确认(任务遇险后可一次性确认,确认状态持久保留),调度器与网关代码版本不一致时给出更清晰的 code-skew 报错。
- Slack:链接 unfurl 控制(
unfurl_links/unfurl_media写入外发帧元数据)——团队可以禁止 agent 发的链接展开成卡片。 - Docker:受信任 profile 可以选择共享一个持久容器而不是按会话拆分;stage2
API_SERVER_KEY引导不再依赖.env存在。 - Terminal:第三方沙箱可以作为终端后端插件接入,无需改动核心。
- Models:GLM-5.3-Flash 进入 z.ai 与 OpenCode 选择器;MiniMax M3 free 进入 OpenRouter;MiniMax H3 Max 进入 FAL 视频选择器(t2v + i2v)。
- state.db:
journal_mode设置不再被静默忽略;synchronous在所有平台都可固定。 - browser_exec:工具行以开头的
# 步骤注释作为标题;schema 精简约 17%(803 → 663 token/次调用),准确率持平。
Fixes
- Gateway:双见证人循环存活机制——watchdog 自己的心跳不再能冻结或误杀健康的 gateway(#92315,salvage of #90502)。
- Gateway:修复 launchd
--replace双重击杀——改用 SIGUSR1 优雅重启而非接管 supervised argv(#96427)。 - Sessions:空会话清扫不再误删已归档的 transcript(#96401);旧 NULL-owner 会话支持单匹配 owner 回填 + 只读存储 transcript 恢复(#96110)。
- MCP:stdio fast-fail 闸门发现子进程死亡时会请求重启;修正了 children 存活检查的反转问题(#94339)。
- Gemini 3.x:图片现在嵌入
functionResponse.parts,多模态工具结果能真正到达模型(#96466)。 - Desktop:群聊不再泄漏空的 sentinel、不再吞掉真实回复;被 @ 的 bot 一定能轮到发言(#96239、#96240)。
- Update:被 gitignore 的用户文件也会阻止破坏性的 ZIP 覆盖(#96440)。
- Approval:过大的
approvals.timeout不再让并行工具批次崩溃——在配置读取时钳制(#86412)。
Upgrade
hermes update
升级后运行 hermes doctor 验证安装,并重启 gateway(hermes gateway)让平台变更生效。想知道下一次更新会动什么,先跑 hermes update --plan。