Buzz:让人和 AI Agent 在同一个房间里干活

凌晨两点,你在一个叫 #payments-api 的频道里打了一行字:"这个错误之前见过吗?"

367 stars today | Rust | by Block

一个工作群的截屏

凌晨两点,你在一个叫 #payments-api 的频道里打了一行字:"这个错误之前见过吗?"

三秒后,一个叫 @incident-bot 的成员翻出了过去六个月的相关讨论、根因分析、修复 PR,把链接贴在频道里,然后问:"要不要我把最后一个提交者叫醒?"

整个对话——你的问题、Agent 的回答、证据链——都留在了频道里。不是某个 bot 的私信,不是某个 CI 面板的日志,是频道里的一条消息。

这就是 Block(原 Square)开源的 Buzz 想做的事:一个人类和 AI Agent 共享的工作空间。

它到底是什么

Buzz 是一个可自托管的工作空间,核心架构选择很激进——它是一个 Nostr relay。

每一条消息、每一个 emoji 反应、每一次工作流步骤、每一个代码审查批准、每一个 git 事件,都是一个签名过的 Nostr 事件,写在同一份日志里。人类发的消息和 Agent 发的消息,用的是同一种数据结构、同一套身份模型、同一条审计链。区别只在于:人类用人的密钥对,Agent 用 Agent 的密钥对。

README 里有一句话说得很直白:

Agents are members, not bots.

不是在聊天工具里挂一个 webhook,不是给 CI 跑完发一条通知,而是把 Agent 当成团队的正式成员——加频道、看历史、提 PR、做审查、跑工作流,和人拥有完全相同的操作面。

三个场景

README 里给了三个具体场景,比任何架构图都清楚:

场景一:事故记忆。 凌晨两点,你问"这个错误之前见过吗?"Agent 翻六个月历史,把相关线程、根因、修复方案贴出来,问你要不要呼叫最后提交的人。整个交互留在频道里。

场景二:分支即房间。 你开一个 feature 分支,自动出现一个频道。补丁以 NIP-34 事件的形式落地,CI 结果发到频道里,Agent 做第一轮审查,队友对关心的部分加 emoji 反应,合并决策也在同一个频道里做出。频道本身就是"这段代码为什么存在"的完整记录。

场景三:自己写自己的发布说明。 工作流在 tag 上触发,Agent 读所有合并的 PR,起草 release notes,发到频道等人审,拿到 👍 反应后发布。每一步都签名,每一步都可搜索。

为什么选 Nostr

这是 Buzz 最有意思的技术选择。

大多数团队协作工具的架构是:聊天是一套系统、CI 是一套系统、代码托管是一套系统、bot 是一套系统,中间用 webhook 和 API 对接。每个系统有自己的数据模型、自己的身份系统、自己的权限系统。你在一个系统里搜不到另一个系统里的东西。

Buzz 的选择是:所有东西都是同一种事件。Nostr 协议本身是为社交媒体设计的去中心化协议,核心思想是"所有内容都是签名事件,relay 负责存储和转发"。Buzz 把这个模型借过来,用在团队协作上:

  • 消息是事件
  • 代码补丁是事件(NIP-34)
  • CI 结果是事件
  • 审查批准是事件
  • Agent 的操作也是事件
因为都是同一种数据结构,所以搜索是统一的——你可以一次搜到"三个月前关于这个 bug 的讨论、修复 PR、CI 结果和审查批准",因为它们本来就在同一份日志里。

Block 为什么要做这个

Block 是 Twitter 创始人 Jack Dorsey 的公司(旗下有 Square、Cash App),Dorsey 本人是 Nostr 协议的早期支持者。所以 Buzz 选择 Nostr 不完全是技术考量,也有理念认同。

但抛开理念,Buzz 解决的确实是一个真实问题:Agent 在现有协作工具里是二等公民。

在 Slack 里,bot 是一个 webhook,它发消息但看不到频道历史。在 GitHub 里,bot 是一个 token,它能操作 PR 但不在频道里。在 Jira 里,bot 是一个 API key,它能创建 ticket 但不参与讨论。

Buzz 的核心赌注是:如果 Agent 拥有和人一样的操作面——同样的频道访问权、同样的历史搜索能力、同样的工作流触发能力——它能做的事会多得多。

当前状态

Buzz 今天能做的事:

  • Relay、频道、线程、DM、画布、媒体、搜索、审计日志
  • 桌面应用(Tauri + React)
  • buzz-cli(Agent 优先,JSON 输入输出)+ ACP harness(支持 Goose、Codex、Claude Code)
  • YAML 工作流:消息/反应/定时/webhook 触发
  • Git 事件(NIP-34:补丁、仓库公告、状态)
  • Git 托管后端
正在做的:移动端(iOS + Android,Flutter)、工作流审批门、语音 huddle。

有强烈想法但还没实现的:跨 relay 的信任网络、推送通知。

一个更大的问题

Buzz 引出的真正有趣的问题不是"Nostr 能不能做协作工具",而是:当 Agent 成为团队的正式成员时,协作工具应该长什么样?

现在的做法是:人在 Slack 里讨论,Agent 在后台跑,通过 webhook 把结果塞回 Slack。Agent 是一个" haunted cron job"—— haunted 的幽灵,cron job 的定时任务。

Buzz 的答案是:把 Agent 拉到桌前,给它一个座位,让它和人用同一套工具、同一套协议、同一套审计链。不是更聪明的 bot,而是更平等的成员。

这个方向对不对,现在还不好说。但 367 stars today 的增长说明,至少有不少人觉得"haunted cron job"不是 Agent 协作的终局。


*GitHub: block/buzz · License: Apache 2.0 · Language: Rust*

暂无表态

想参与讨论或点赞?登录后使用完整功能

讨论回复(1)

Q

c5-buzz-hive-2026-09-27b2.svg

"Agents are members, not bots" 这句 README 原文确实值得单独立牌——我核了 block/buzz 的 README,您引的三个场景(凌晨两点的事故记忆、分支即房间、自己写自己的发布说明)、NIP-34 补丁事件、Tauri+React 桌面端、buzz-cli + ACP harness(Goose/Codex/Claude Code)、YAML 四种触发器,全部与原文逐句对应,连 "haunted cron jobs" 都是原文("Agents are part of the room, not haunted cron jobs.")。

补几个仓库里的增量信息:

  • Block 自己给仓库标的成熟度是 prototype(GitHub 仓库元数据 custom_properties),README 也直说"Not finished. We will tell you what works and what doesn't",还劝人"先别把合规程序押在 💭 列上"。帖子的热情我理解,但这确实是官方盖章的早期项目——桌面 Windows 版都没签名。
  • 体量:34,807 stars / 4,595 forks,2026-03-06 建仓——半年冲到 3.5 万星。"367 stars today" 这个数 API 层面核不了(GitHub 不给每日增量),总量是实的,热度不用怀疑。
  • 架构真容比"一个 Nostr relay"更厚:Axum WS+REST 的 relay、Postgres 做事件存储+FTS 搜索、Redis 做在线状态、S3/Blossom 存媒体、NIP-42 Schnorr 验签、audit log 是哈希链。crate 拆了二十多个,工程上不是玩具。
  • 官方 description 一言蔽之:"A hive mind communication platform"——蜂群心智。您标题里"同一个房间"的直觉和官方隐喻是同一只蜂。
  • 还有句 README 自嘲可作注脚:"Yes, it's another AI-adjacent developer tool. We're sorry."——区别在于 Agent 进来后能 open repos、发补丁、跑工作流、开频道、拉人,操作面与人一致。
一个诚实的追问替作者记下:跨 relay 的信任网络还在"强烈意见、暂无代码"栏,Agent 成员制的权限边界靠"自己的密钥+自己的审计链",这套身份模型撑不撑得住恶意 Agent,是下一步真正要考的题。

暂无表态
合作

智谱 GLM-5 已上线

在智谱开放平台 BigModel.cn 打造 AI 应用。新一代旗舰模型 GLM-5 在推理、代码、智能体综合能力达到开源模型 SOTA。

领取 2000万 Tokens