Hermes Agent Lab

Hermes Agent 博客 — 实战指南与技术见解

最新文章和洞见。

登录一次,连接的应用跟着走:免费版升正式账号不再重连一遍

你在免费版里连好了 Gmail、Notion,然后注册账号登录——以前那些连接全留在旧身份上,得一个个重连。PR #143234 / #143235 / #143248 把这条链路收了口:所有 Nous 登录统一成普通设备登录,登录成功后自动把免费版的连接应用搬到新账号,连接器页面也不再在你只是打开它的时候就偷偷建一个免费身份。

阅读更多

Windows 上的"半更新":hermes.exe 被删掉、版本戳还停在旧版本

在 Windows 上跑 hermes update,末尾只丢下一行 ⚠ 警告,你以为更新完了,其实只更新了一半:运行中的 hermes.exe 删不掉,于是只留下一个 hermes.cmd;版本戳被跳过,install-stamp.json 还写着旧版本。PR #143291 与 #143339 把这两半都补上了:删不掉就先改名挪开,Python 换版本之后重新铸一个真正的 exe。

阅读更多

MCP 工具开始算钱了:给每个工具标注成本,给每次对话设预算

Hermes 新增 tool_costs / spend_limit / cost_unit 三个配置项:MCP 服务器可以声明每个工具花多少额度,审批弹窗会显示本次成本和本对话累计用量,超过预算的调用即使在 trust: full 下也要先问,无人值守场景直接拒绝。

阅读更多

让 MCP 服务器主动找你:events 事件客户端与 webhook 投递实测可用

Hermes 新增实验性的 MCP 事件客户端:把 events: true 打开,服务器就能在事情发生时主动推一条事件过来,每次事件触发一次 agent 运行。本文讲清楚三个事件工具、订阅在底层的形态、验证握手与去重,以及会掉线的几种情况。

阅读更多

Hermes 自带一个包管理器:pm doctor、repair、gc 到底在修什么

hermes pm 管的是工具二进制和 Python 依赖环境,和 hermes update 是两件事。本文按日常排障顺序讲清楚 doctor、status、install、repair、gc 各自做什么,锁文件的三天规则怎么来的,以及 pm update 新的 --skip-target 解决什么问题。

阅读更多

hermes update 把网关停了却再没叫醒它:一个 git 读不了的 .git 引发的连环故障

当仓库的 .git 被 git 自己拒收(HEAD 为空、或 gitdir 指向不存在的位置),hermes update 会暂停网关、报一句通用的 Failed to fetch,然后留下停止的网关不管。最新的修复让它恢复暂停记录、点名损坏并给出就地修复的安装命令。

阅读更多

v0.22.4 只动了 6 个地方:桌面输入框上方那排建议药丸终于消失了

10 月 21 日的 v0.22.4 是一次纯清理补丁:删掉输入框上方的建议药丸、让没有依赖的插件跳过同意弹窗、修好 WhatsApp 登出后的重新配对,插件目录还新增 bubblewrap、Singularity、mcp-serve 等 6 个条目。同一天的 v0.22.3 则是约 620 个 PR 的汇总版。

阅读更多

中文回复被存成了会话标题:一个按空格数词的长度守卫,看不见中日韩文本

模型忽略"只输出标题"的指令、直接把回复当标题返回,本该被"答案形状"守卫拦下。可这个守卫用 split() 数词,中文一句话只算 1 个词,于是 76 个字符的回复顺利通关。

阅读更多

恢复被压缩的会话后,每条消息都念了两遍:摘要“载体”是什么

就地压缩会把受保护的那轮回复包进摘要载体,它继承原消息的 message_uid 却没有正文。渲染层因此把归档原件和载体都画出来,同一段话出现两次。

阅读更多

插件终端后端不再被困在 /root:default_cwd 与 supports_streams 详解

Hermes 给插件终端后端补上两个可选属性:default_cwd 让沙箱自己决定从哪个目录起步,supports_streams 让 Bot Desktop、computer_use 和浏览器跟着终端进同一个沙箱。

阅读更多

命令输出凭空消失:进程打开 1024 个文件后,Hermes 的终端开始“空手而归”

为什么长时间运行的 Desktop / gateway 会突然返回空输出,退出码还是 0?根因是 select() 的 1024 上限,修复改用 selectors 并绕开 macOS 的 poll() 陷阱。

阅读更多

会话被压缩、被删除时,插件终于能收到通知了

Hermes 新增 post_compaction 与 on_session_delete 两个插件钩子:前者让记忆插件在上下文被压缩后补回内容,后者让插件在会话被删除或归档时清理自己的状态。附完整可用代码。

阅读更多

一条命令升级所有插件:hermes plugins update 现在会先给你看清单

hermes plugins update 不带插件名时会先体检全部已安装插件,列出能升级的、跳过并说明原因,然后一次问一句就把它们全部更新。附 --yes、退出码、cron 用法和哪些插件会被跳过的完整说明。

阅读更多

Telegram 私聊挤成一个话题?让每条新消息自己开一个话题

Telegram 的 /topic 模式把私聊拆成一串话题,但你在根会话里随手打的字依旧会被塞进"最近用过的那个话题"。打开 dm_topic_auto_transfer 后,每条根会话消息都会新建一个话题、开一个新会话。附完整配置、回退行为和踩坑说明。

阅读更多

state.db 里一半以上的行,是你早就「压缩掉」的旧消息副本

proactive prune 每次只改几条消息的正文,提交时却把整个活跃 transcript 归档再整表重插一遍。结果是一个 profile 里积了 4.8 万行重复副本,占全部行的 55%。现在改成就地重写。

阅读更多

Agent 在 Docker 沙箱里留下的一个文件,可能在你电脑上以 root 身份运行

容器里的 nosuid 挂载和 cap-drop 只管容器内部,文件回到宿主机后 setuid、setgid 和文件能力都还在。Hermes 现在会在宿主机侧统一剥掉这些权限位,长期不退出的持久沙箱也包括在内。

阅读更多