Hermes Agent v0.19.0「Quicksilver」昨天发布,首 token 延迟暴降 80%,同时送来了三个让一人公司运维飞起的硬功能。
为什么你应该关心这个版本
先甩几个数字:v0.19.0 从 v0.18.0 以来合并了 2,245 个 commit、1,065 个 PR,关闭了 3,300+ issue,450+ 社区贡献者参与。这不是一个修修补补的版本,是 Hermes 自发布以来最大的工程重构之一。
但对 AI 创业者来说,版本号不重要,重要的是能省多少时间、少踩多少坑。这一版有三个功能直接命中一人公司的运维痛点:
- 密码管理器接入(Bitwarden/1Password)— API Key 再也不用明文写 .env 了
- 智能审批默认开启 — Hermes 自己判断危险命令要不要拦,而不是每个都弹窗问你
- 子代理实时监控 — delegate_task 派出去的 Agent 干活过程可以
tail -f看直播
下面逐个拆解,带可复制的配置代码。
一、密码管理器接入:和明文 .env 说再见
痛点
你大概率遇到过这个场景:几十个 API Key(OpenAI、Anthropic、DeepSeek、微信、GitHub Token…)全塞在 .env 里。一旦服务器被摸到,攻击者拿到 .env 就是全锅端。
Hermes v0.19 新增了 SecretSource 插件接口,原生支持 Bitwarden 和 1Password 两种密码管理器。Hermes 启动时直接从你的密码库拉取密钥,不会在磁盘上留下任何明文痕迹。
配置 Bitwarden
首先确保 Bitwarden CLI 已安装并登录:
# 安装 Bitwarden CLI
npm install -g @bitwarden/cli
# 登录(需要先 unlock)
bw login
bw unlock
export BW_SESSION=$(bw unlock --raw)
然后在 Hermes 配置文件(~/.hermes/config.yaml)中添加:
secret_sources:
- provider: bitwarden
enabled: true
# Bitwarden 会自动使用 BW_SESSION 环境变量
# 你可以指定要拉取的条目名称或 ID
mappings:
- variable: OPENAI_API_KEY
entry: "OpenAI Production Key" # Bitwarden 中的条目名称
field: password # 字段名,默认 password
- variable: ANTHROPIC_API_KEY
entry: "Anthropic Claude"
- variable: DEEPSEEK_API_KEY
entry: "DeepSeek API"
field: notes # 也可以从 notes 字段读取
Hermes 启动时会自动拉取这些值,优先级高于 .env 中的同名变量。
配置 1Password
1Password 用户更简单,因为 1Password 本身就支持 op:// 引用格式:
# 安装 1Password CLI
# macOS: brew install 1password-cli
# Linux: 参考 https://developer.1password.com/docs/cli/get-started/
# 登录
op signin
配置 Hermes:
secret_sources:
- provider: onepassword
enabled: true
mappings:
# 使用 op:// 引用格式
- variable: OPENAI_API_KEY
ref: "op://Personal/OpenAI/password"
- variable: GITHUB_TOKEN
ref: "op://Work/GitHub/token"
- variable: WECHAT_APP_SECRET
ref: "op://Production/WeChat/credential"
op:// 格式的结构是 op://Vault名称/条目名称/字段名。你可以在 1Password 桌面端右键任意字段 → Copy Secret Reference 直接拿到引用字符串。
多 Vault 同时启用
v0.19 支持多个密码管理器同时工作,并有明确的优先级和冲突告警:
secret_sources:
- provider: bitwarden
enabled: true
precedence: 1 # 优先级最高
mappings:
- variable: OPENAI_API_KEY
entry: "OpenAI Production"
- provider: onepassword
enabled: true
precedence: 2 # 次优先级
mappings:
- variable: ANTHROPIC_API_KEY
ref: "op://Work/Anthropic/credential"
当两个 source 声明了同一个变量名时,Hermes 会按照 precedence 决定用哪个,并打印冲突警告。你还能通过 /env 命令查看每个变量的实际来源(provenance)。
安全收益
.env文件可以为空或只保留非敏感的配置项- 密钥存储在你已经在用的加密密码库中,不需要额外基础设施
- 团队场景下,不同成员可以使用各自的密码库,不共享
.env
二、智能审批:告别「弹窗地狱」
痛点
Hermes 在执行 rm -rf、sudo、网络请求等「标记命令」时,默认会弹窗让你人工审批。但你一天可能要和 Hermes 交互几十上百次——每次弹窗都在打断你的心流。
v0.19 把 Smart Approvals 设成了默认行为:当 Hermes 想执行一个被标记的命令时,它会先让一个小型 LLM 评审器独立评估这个命令的危险性。
工作原理
Agent 想执行 rm -rf /tmp/build_cache
↓
Smart Approval 评审器介入
↓ 分析上下文
"这个命令只删除 /tmp 下的构建缓存,
不会影响系统文件,上下文合理"
↓
自动通过,Agent 继续执行
如果 Agent 后来想 rm -rf /home/user/production_db,同一个评审器会重新判断并拒绝。
用户自定义拒绝规则
你还可以添加硬拒绝规则,即使在 yolo 模式下也生效:
# ~/.hermes/config.yaml
approvals:
smart_approval: true # 默认 true,可不写
deny_rules:
- pattern: "rm -rf /$"
reason: "永远不允许删除根目录"
- pattern: "sudo .*"
reason: "需要人工确认的提权操作"
- pattern: "curl.*|.*sh"
reason: "管道执行远程脚本,需要人工审查"
/deny 命令:教会 Hermes 为什么拒绝
当你手动拒绝某个命令时,可以用 /deny 告诉 Hermes 拒绝原因:
你: /deny 这个数据库迁移脚本需要先在 staging 环境验证
Hermes: 已记录拒绝原因。我将先在 staging 环境执行迁移,确认无误后再操作 production。
这比单纯的 "Command rejected" 有用得多——Agent 会学习你为什么拒绝,调整后续行为。
三、子代理直播:tail -f 看 Agent 干活
痛点
用 delegate_task 派 Agent 出去干活后,你只能等它返回结果。中间它在干嘛?卡住了还是正常跑?完全黑盒。
v0.19 的两个改进彻底解决了这个问题:
实时 transcript 文件
delegate_task 现在返回一个实时的 transcript 文件路径:
# 派发子代理
result = delegate_task(
goal="搜索 2026 年 7 月 AI Agent 融资新闻,整理成表格",
toolsets=["web"],
role="leaf"
)
# result.transcript_path → /home/agent/.hermes/transcripts/delegate_abc123.log
你可以在另一个终端实时监控:
tail -f /home/agent/.hermes/transcripts/delegate_abc123.log
输出示例:
[2026-07-21 11:00:01] 🚀 Subagent launched (task: search AI funding news)
[2026-07-21 11:00:02] 🔧 Tool call: web_search(query="AI agent funding July 2026")
[2026-07-21 11:00:05] ✅ web_search returned 5 results
[2026-07-21 11:00:06] 🔧 Tool call: web_extract(url="https://...")
[2026-07-21 11:00:11] 📝 Streaming reply: "Found 3 notable funding rounds..."
[2026-07-21 11:00:45] ✅ Task completed (3 funding rounds found)
耐久的后台委托
更重要的是,子代理的完成结果现在是耐久的:
如果 Hermes 进程在子代理运行期间崩溃重启,已完成的结果会通过 ownership-checked ledger 恢复,不会丢失。
这意味着你可以放心地同时派 5 个 Agent 出去干活,关掉终端去喝咖啡——回来所有结果都在。
额外福利:其他值得关注的新功能
虽然本文重点是上面三个,但 v0.19 还有几个对创业者友好的改进:
- 终端管理 Nous 订阅:
/subscription看套餐、/topup充值,不用切浏览器 - 桌面端大幅提速:Markdown 流式渲染快 14 倍,diff 虚拟化,大会话不卡
- 多 Profile 消息路由:一个 Discord Bot 同时服务工作群和个人群,配置隔离
- 推理模型流式输出:不再看 30 秒转圈圈,思考过程实时可见
218K GitHub Stars 不是吹的。
升级指南
# 如果你已经安装了 Hermes
hermes update
# 或者全新安装
curl -fsSL https://hermes-agent.org/install.sh | bash
# 验证版本
hermes --version
# → Hermes Agent v0.19.0 (v2026.7.20) — The Quicksilver Release
升级后建议重新拉取一次配置模板(hermes config init),新版本有新增配置项。
总结:一人公司运维的「静默生产力」
这三个功能组合在一起的效果,比我单独描述任何一个都大:
- 密码管理器消除了密钥泄露的心理负担
- 智能审批让你和 Hermes 的交互从「不断打断」变成「持续流」
- 子代理监控让你可以放心地并行派活
如果你是用 Hermes 跑内容流水线、自动化运维、数据处理的一人创业者——v0.19 这三个功能随便装一个都能立刻省时间,三个一起上就是质变。
下载升级,5 分钟的事。
发布时间:2026-07-21 | 来源:Hermes Agent v0.19.0 Release Notes (github.com/NousResearch/hermes-agent/releases/tag/v2026.7.20)
