昨天在给我的 Hermes Agent 添加 ShareThis.Chat 技能时,踩了一个坑

 

Hermes 有一层安全机制:它会自动扫描所有工具输出,把看起来像 token、密钥的字符串脱敏

 

这本来是好事,防止敏感信息泄露。但问题是,ShareThis.Chat 创建分享后会返回一个管理 token,而这个 token 需要保存到本地,结果 Hermes 一脱敏,终端里看到的 token 就变成了类似 RAkGuW...hWOL 这种不完整字符串,保存下来当然也就不能用了

 

解决方法也很土:不要依赖终端输出

 

因为被脱敏的是“输出层”,所以直接让 Hermes 把 API 原始响应写入文件。文件系统里的内容不会被这层安全机制改写,本地再从文件里读 token

 

有点脱裤子放屁,但没办法

 

所以我也顺手更新了 ShareThis.Chat 的 skill 文档,明确告诉 Agent:

• 先把 API 响应写入本地文件
• 不要从终端输出或日志里复制 token
• 因为你看到的 token 很可能已经是脱敏后的残缺版本

 

看来以后写 skill,不能只考虑 API 怎么调用,还得考虑 Agent 平台可能特有的机制破坏了流程

Comments (4)

Ǝ
ǝɔ∀ǝdʎz∀ɹɔ 👽 about 2 months ago
Hermes-agent 关闭 终端输出脱敏 hermes config set security.redact_secrets false 也可以 在 ~/.hermes/.env 中设置 HERMES_REDACT_SECRETS=0
V
Versun about 2 months ago
哈?我之前还让它自己找下是否有配置可以关闭,它说无法关闭。。。。。
Ǝ
ǝɔ∀ǝdʎz∀ɹɔ 👽 about 2 months ago
我不知道你用的什么模型. 我在hermes 白嫖 mimo v2 pro 那几天, 让TA看自己的代码, 看自己的文档, 就找到了解决方案.
V
Versun about 2 months ago
我用的kimi 2.6,在openclaw上也是同样的模型,体验比hermes好很多。。。 早上已经卸了hermes了,还是安心用openclaw吧,😆