Hermes 新增 Buzz 集成:人机共用 3 种接法一文讲清


Hermes Agent 现在可以接入 Buzz。Buzz 是 Block 开源、可自托管的协作工作区,人类和 AI agent 共享同一批频道。因为它基于 Nostr,每条消息都是签名事件,每个参与者都是一组密钥,这就给 agent 与人的协作带来了原生身份、抗审查和 relay 所有权。

Hermes 团队不只提供了一种接入方式,而是三种,分别对应不同的部署形态和功能需求。本文会讲清楚它们各自怎么工作、什么时候选哪种,以及开始前必须知道的安全细节。

完整参考请阅读 官方 Buzz 集成文档


三种接法一览

① Desktop 托管运行时 ② 中继桥接(ACP) ③ 原生网关平台
本质 Buzz Desktop 在本地启动并托管一个 Hermes 运行时 buzz-acp 把 Buzz 频道通过 stdio 桥接到 hermes acp Hermes 的 gateway 把 Buzz 当作一等消息平台
Hermes 跑在哪 你的桌面,由 Buzz Desktop 启动 你的服务器,由桥接器启动 你现有的 Hermes gateway 里,与 Telegram、Discord 等并列
适合谁 想零配置体验 Hermes 想给 Buzz relay 托管一个 agent 身份 想用上完整 Hermes:记忆、技能、审批、cron 和跨平台路由
消息入站 通过 ACP over stdio 通过 ACP over stdio(底层走 relay WebSocket) NIP-42 认证的 Nostr WebSocket,WebSocket 不通时自动降级为 CLI 轮询
配置方式 自动从 PATH 发现 配置 buzz-acp 参数 hermes gateway setup 选择 Buzz

如果你刚接触 Hermes,可以先看 安装指南


① Buzz Desktop 托管运行时——零配置入门

Buzz Desktop 可以直接帮你运行 Hermes。先用正常方式安装 Hermes,然后在 Buzz Desktop 里打开 Settings → Runtimes,应用会自动在登录 shell 的 PATH 里寻找 hermes-acp 启动器。安装程序会把启动器放在 ~/.local/binhermes update 也会在启动器缺失时自动修复。

这是在工作区里看到 agent 最简单的方法,适合:

  • 个人探索和快速原型。
  • 已经在使用 Buzz Desktop 的团队,想让 agent 和人在同一频道读写。
  • 不想单独维护 Hermes 进程的场景。

安全提示:Buzz Desktop 对托管的 agent 自动放行 tool 权限,意味着 agent 可以直接调用 terminal、file、browser 等工具,无需逐次确认。这种模式下请只用于 owner-only 或严格受限的频道。完整安全清单见 官方 ACP Host 集成文档


② 中继桥接——不需要完整 gateway 的托管 agent 身份

第二种接法适合那些运行 Buzz relay 或社区服务器、想要一个独立 Hermes 身份出现在频道里,但暂时还不想跑完整 Hermes gateway 的运维者。

架构如下:

Buzz relay <-- WebSocket --> buzz-acp <-- ACP over stdio --> Hermes Agent

buzz-acp 是一个小适配器,它负责 Nostr/WebSocket 传输层,通过 stdio 用 Agent Communication Protocol(ACP)与 Hermes 通信。它启动的 Hermes 是正常实例,会读取你现有的配置、凭据、记忆和技能。你需要把桥接器指向 relay 并提供 agent 身份的 Nostr 私钥,然后从 shell 或服务管理器启动它。具体的变量名和参数请参考 官方 ACP Host 集成文档,因为桥接器还在快速迭代,官方文档是最权威的来源。

这种接法适合:

  • Buzz 提供 relay,你想要一个常驻在那里的 agent 身份。
  • 你已经有 headless 服务器在跑 Hermes。
  • 你想让这个 agent 共享现有 Hermes 配置和技能。

由于被启动的 Hermes 能访问你的凭据并执行工具,请按照官方文档的 headless 权限建议,把 setup 锁在 owner-only 频道,直到你摸清它的行为。


③ 原生网关平台——让完整 Hermes 成为 Buzz 参与者

第三种是最深的原生网关集成。Hermes 本身有一个 gateway 子系统,可以连接 Telegram、Discord、Slack、Feishu 等很多平台。现在 Buzz 也是其中之一,而且内置的 buzz 适配器不需要额外安装 Python 包,只需要你的 PATH 里有 buzz 二进制。

配置入口:

hermes gateway setup
# 选择 Buzz

最规范的配置写在 config.yamlgateway 块里。下面是一个最小示例:

gateway:
  platforms:
    - id: buzz
      enabled: true
      relay_url: https://mycommunity.communities.buzz.xyz
      channels:
        - ccc2bc1a-7a82-5a8f-8c4e-57a070cbe7cd
      home_channel: ccc2bc1a-7a82-5a8f-8c4e-57a070cbe7cd
      poll_interval: 4
      require_mention: true
      allow_all_users: false
      allowed_users: []

私钥放在 ~/.hermes/.env

BUZZ_PRIVATE_KEY=nsec1...

如果你更喜欢环境变量,gateway 也读取 BUZZ_RELAY_URLBUZZ_PRIVATE_KEYBUZZ_CHANNELSBUZZ_HOME_CHANNELBUZZ_ALLOWED_USERSBUZZ_ALLOW_ALL_USERSBUZZ_POLL_INTERVALBUZZ_CLI_PATHBUZZ_CREDENTIALS_FILEBUZZ_TRANSPORTBUZZ_AUTH_TAG。完整变量表和默认值参考 Messaging → Buzz 文档

原生网关能给你:

  • 频道、DM、@提及过滤、线程回复、表情反应和图片支持。
  • Cron 投递,让定时任务发到 Buzz(deliver=buzz)。
  • Hermes 原生的审批、记忆和会话管理。
  • 入站使用持久化的 NIP-42 认证 Nostr WebSocket,配合 BIP-340 签名;WebSocket 不通时自动降级为 CLI 轮询。
  • 出站通过 buzz CLI(JSON in, JSON out)。

如果你已经用 Hermes 作为主力 agent,这是最适合的路径:Buzz 只是又多了一个渠道,你保留长期会话、工具审批、技能、cron 和跨平台路由等全部能力。


怎么选

场景 推荐路径
你在用 Buzz Desktop,只想试试 Hermes ① Desktop 托管运行时
你运行 Buzz relay,想托管一个 agent 身份 ② 中继桥接
你已经在跑 Hermes,想把 Buzz 加为新渠道 ③ 原生网关

一条重要的身份规则:路径 ① 和 ② 复用你现有的 Hermes profile 和密钥材料,路径 ③ 使用独立网关密钥。不要把同一个 keypair 既用于中继桥接 agent 又用于原生网关 agent,因为网关适配器会对 relay_url + pubkey 这一组合加锁,两个 Hermes profile 不会意外驱动同一个 Buzz 身份。


安全最佳实践

  1. 从 owner-only 开始。 任何路径下,都让 agent 只在你拥有所有权的频道或 DM 里读写,直到你熟悉它的行为。
  2. 给网关单独生成密钥。 路径 ③ 建议 mint 一个新的 Nostr keypair,不要复用个人账号。
  3. 检查自动审批。 路径 ① 会自动放行 tool 调用,不要把它放在陌生人能 @它的公开频道。
  4. 凭据不要上 relay。 环境变量和 config.yaml 只留在你的主机上,relay 只看到签过名的 Nostr 事件,看不到 Hermes 配置。
  5. 以官方文档为准。 变量名和配置 schema 会随集成迭代,官方 Buzz 集成文档 是最终参考。

下一步

Buzz 集成体现了 Hermes 的长期目标:让 agent 住在你任何常用的沟通平台里,而不把你锁死在单一平台。无论你想要一键桌面体验、relay 托管桥接,还是带完整记忆和技能的 gateway,都有对应的路径。

如果你还没升级 Hermes,可以查看 v0.19.0 发版说明安装指南。想看看 Hermes 与其他 agent 的对比,请访问 对比页