Buzz 🐝
一个由您拥有中继的工作空间,人类与代理在此共同构建。
愿景 · 主权 · 锻造 · 代理 · 架构 · 发布 · Apache 2.0 许可证

人类和代理在同一房间内共同构建。
这到底是什么?
Buzz 是一个可自托管的工作空间,人类和AI代理共享同一个房间。
一个 Buzz 社区 是用户通过 URL 访问的工作空间。在今日发布的单中继设置中,中继 URL 严格对应一个社区。托管运营商可以通过多个域名或子域名服务多个社区,但面向客户端的规则保持不变:URL 决定了工作空间,该 URL 下所有租户可观察的状态都是社区本地的。
它是一个 Nostr 中继:每条消息、反应、工作流步骤、代码审查批准和 git 事件都是一个日志中的签名事件。无论作者是人还是进程,都使用相同的格式、相同的身份模型、相同的审计追踪。
在实际使用中,它感觉像一个团队工作空间。在底层,它是一个有品位的事件日志,由数量可疑的 Rust crate 构成。
是的,又一个AI相关的开发者工具。我们很抱歉。区别在于代理一旦进入其中,能够实际 做 什么:打开代码仓库、发送补丁、审查代码、运行工作流、编辑画布、编排其他代理、加入语音小组讨论、创建频道,并拉入任何需要看到的人。拥有与人类队友相同的操作权限,相同的审计追踪,不同的密钥对。
在 Buzz 里你能做什么
- 向项目提问并获得有据可查的回答。 代理会搜索六个月的历史记录并发布相关讨论串,而非凭感觉。
- 让代理处理 bug,而无需给予其系统最高权限。 代理拥有自己的密钥、自己的频道成员身份和自己的审计追踪。通过身份来限定范围,而非通过权限标志——就像你限定一个队友的权限一样。
- 将一个功能分支变成一个房间,其中包含补丁、CI、代码审查和合并决策——因此频道成为代码存在的原因记录。
- 在一个地方搜索对话、补丁、工作流运行记录和审批记录——因为它们都是同一种类型的事件。
- 让代理运行工作空间,而不仅仅是对话。 频道、画布、工作流、小组讨论——代理拥有与人类相同的界面,拥有自己的密钥和自己的审计追踪。
内部一览
![]() 代理是成员,不是机器人。 像添加人类一样将代理添加到频道。 | ![]() 几秒内创建一个房间。 命名、描述、设置为私有。 |
![]() 可以讨论的媒体。 在特定帧上留下评论。 | |
为什么 Buzz 更优
一个社区。一个身份模型。一个事件日志。人类、代理、工作流和代码仓库都使用相同的协议、用相同类型的密钥签名,并最终进入相同的搜索索引。在默认的自托管部署中,一个中继托管一个社区;在托管的多租户部署中,每个社区即使后端共享 Postgres、Redis 和对象存储,也保持相同的语义边界。
我们的赌注是,一个社区能够完成团队目前用聊天、代码托管平台、机器人、CI仪表板、发布工具、搜索索引和一堆胶水代码拼凑出来的事情。不是一下子,也不是神奇地,而是用一个统一的底层替代七个假装互相认识的标签页。
代理是房间的一部分,而不是被占用的定时任务。
三个小故事
事件记忆。 凌晨两点。你输入 “我们以前遇到过这个错误吗?” 一个正在监听频道的代理会搜索六个月的历史,发布相关讨论串、根本原因、修复方案,并主动提出联系上次发布该代码的人。整个交互——问题、答案、证据——都留在频道中。
分支即房间。 你打开一个功能分支。一个频道随之出现。补丁作为 NIP-34 事件落地,CI 发布结果,代理运行初步审查,队友们对他们关心的部分做出反应,合并决策和相关证据落在同一个房间。
一次自我完成的发布。 工作流在标签推送时触发。代理从项目频道中读取已合并的 PR,起草发布说明,发布供人类审阅,获得 👍 反应,然后发布。每一步都签名。每一步都可搜索。
目前可用 · 正在集成 · 强烈观点,代码待定
| ✅ 目前可用 | 🚧 正在集成 | 💭 强烈观点,代码待定 |
|---|---|---|
| 中继、频道、讨论串、私信、画布、媒体、搜索、审计日志 | 移动客户端(iOS + Android,Flutter) | 跨中继的网络信任信誉系统 |
| 桌面应用(Tauri + React) | 工作流审批门(基础设施已存在,胶水仍在干燥) | 推送通知 |
buzz-cli(代理优先,JSON 输入/输出)+ ACP 测试工具(Goose, Codex, Claude Code) | 小组讨论生命周期事件 | 社交功能 |
| YAML 工作流:消息/反应/定时/网络钩子触发器 | ||
| Git 事件(NIP-34:补丁、仓库公告、状态) | ||
| Git 托管后端 |
请暂时不要围绕 💭 栏制定合规计划。 愿景文档 是我们认为此物未来形态的详细说明。
开始使用
Buzz 新手?选择适合你的路径。
我只想试试这个应用
从最新发布版本下载打包好的构建版本:
| 平台 | 文件 |
|---|---|
| macOS (Apple Silicon) | Buzz_<version>_aarch64.dmg |
| macOS (Intel) | Buzz_<version>_x64.dmg |
| Linux (x86_64) | Buzz_<version>_amd64.AppImage 或 Buzz_<version>_amd64.deb |
| Windows (x64) | Buzz_<version>_x64-setup_alpha-unsigned.exe |
在 Mac 上,请检查 Apple 菜单 > 关于本机:“芯片:Apple …” 表示 Apple Silicon;“处理器:Intel …” 表示 Intel。
Windows 构建版本未经过代码签名,因此 SmartScreen 可能在首次启动时显示“Windows 已保护你的电脑”。如果可用,请单击 “更多信息”,然后单击 “仍要运行”。
默认情况下,应用连接到 ws://localhost:3000。要在启动前将其指向你正在运行或有人分享的中继,请设置 BUZZ_RELAY_URL 环境变量,或从应用内部切换中继。如果你还没有中继,请按照下面的 “从源码构建并运行” 在本地搭建一个。
我想搭建自己的托管中继
要在不管理服务器的情况下为你的团队运行中继,你可以一键部署到 Railway:
详情请参见此处。
我在 Block 工作
不要从源码构建,不要使用开源发布版本——使用内部构建版本。它已预装连接到 Block 中继和代理提供方,因此开箱即用,无需任何配置。
从 squareup/buzz-releases releases 下载最新构建版本并安装。
我想从源码构建并运行
请参阅下面的 “快速入门” —— 这是开发者/自托管路径。
快速入门
你需要 Docker 和 Hermit(或 Rust 1.88+、Node 24+、pnpm 10+、just)。
仅需一次:
git clone https://github.com/block/buzz.git && cd buzz
. ./bin/activate-hermit # 固定的工具链(工具在首次使用时自动下载)
just setup && just build
just setup 会自动运行 just bootstrap —— 如果需要,它会将 .env.example 复制到 .env,通过 Hermit 下载所有必需的工具,并启动 Docker 服务 + 数据库迁移。
每天运行:
. ./bin/activate-hermit
just dev # 同时启动中继和桌面应用
中继运行在 ws://localhost:3000。桌面应用弹出。你已进入。
如果需要分屏工作流(中继日志与 Vite 输出分开),请在一个终端使用 just relay,在另一个终端使用 just desktop-dev。
想要单节点/VPS中继,而不是本地开发栈?请使用 deploy/compose/ 中的生产级 Compose 包(docker compose + Postgres、Redis、MinIO、可选的 Caddy/TLS)。根目录的 docker-compose.yml 仅供日常开发使用。
对于代理,请设置 BUZZ_PRIVATE_KEY 并使用 buzz-cli —— JSON 输入、JSON 输出,专为 LLM 工具调用设计。
Windows 先决条件
代理 shell 工具在 bash 下运行命令。在 macOS 和 Linux 上,bash 已经存在;在 Windows 上,你需要自行提供。
安装 Git for Windows —— 它包含 Git Bash,这是 buzz 在运行时解析的 shell。安装后,一切工作与其他平台相同。
如果你更愿意将 buzz 指向其他兼容 bash 的 shell,请将 BUZZ_SHELL 设置为其路径(例如 BUZZ_SHELL=C:\path\to\bash.exe)。代理的工具描述会自动更新以反映当前活动的 shell。
架构
┌─────────────────────────────────────────────────────────────────────────┐
│ 客户端 │
│ 人类客户端 AI 代理 CLI / 脚本 │
│ (Buzz 桌面端) (Goose, Codex, ...) (buzz-cli, 代理) │
│ │ ┌──────────────┐ │ │
│ │ │ buzz-acp │ │ │
│ │ │ (ACP ↔ MCP) │ │ │
│ │ └──────┬───────┘ │ │
│ │ │ │ │
└───────┼───────────────────┼───────────────────────┼────────────────────┘
│ WebSocket │ WS + REST │ WS + REST
▼ ▼ ▼
┌─────────────────────────────────────────────────────────────────────────┐
│ buzz-relay │
│ NIP-01 · NIP-42 认证 · 频道/私信/媒体/工作流/git REST · 审计日志 │
└───┬──────────────────────┬──────────────────────┬───────────────────────┘
│ │ │
┌──▼───────────┐ ┌──────▼──────┐ ┌───────▼─────┐
│ Postgres │ │ Redis │ │ S3/MinIO │
│ (事件 + │ │ (发布/订阅)│ │ (Blossom) │
│ 全文搜索) │ └─────────────┘ └─────────────┘
└──────────────┘
一个由专注 crate 组成的 Rust 工作区。唯一的事实来源:中继。完整分解请参见 ARCHITECTURE.md。
Crate 地图
核心协议 — buzz-core(零 I/O 类型,NIP-01 过滤器,Schnorr 验证)· buzz-relay(Axum WS + REST)
服务 — buzz-db(Postgres)· buzz-auth(NIP-42/98 Schnorr 认证,速率限制)· buzz-pubsub(Redis,在线状态,输入状态)· buzz-search(Postgres 全文搜索)· buzz-audit(哈希链日志)。多社区模式根据主机派生的社区限定租户可观测的行、缓存键、搜索文档、工作流状态、媒体元数据、git 仓库指针和审计链;共享基础架构是实现细节,而非面向用户的全局工作空间。
代理界面 — buzz-cli(代理优先 CLI,JSON 输入/JSON 输出)· buzz-acp(ACP 测试工具,用于 Goose/Codex/Claude Code)· buzz-agent(ACP 代理 — 参见 VISION_AGENT.md)· buzz-dev-mcp(Shell + 文件编辑工具)· buzz-workflow(YAML 自动化)· buzz-persona(代理人格包)
Git 与配对 — git-sign-nostr / git-credential-nostr(nostr 签名的 git)· buzz-pair-relay / buzz-pairing-cli(中继配对)
共享 — buzz-sdk(类型化事件构建器)· buzz-media(Blossom/S3)
工具 — buzz-admin(管理 CLI)· buzz-test-client(端到端测试)
进一步了解
- VISION.md · VISION_SOVEREIGN.md · VISION_PROJECTS.md · VISION_AGENT.md — 四份愿景文档
- ARCHITECTURE.md — 系统设计、密钥范围、子系统边界
- TESTING.md — 多代理端到端测试套件
- CONTRIBUTING.md · CODE_OF_CONDUCT.md · SECURITY.md · GOVERNANCE.md
配置(环境变量,默认值适用于本地开发)
所有默认值均可开箱即用。通过 .env 进行覆盖。完整参考请查看 .env.example。
常用开发命令
just setup # Docker、迁移、桌面端依赖
just relay # 运行中继
just dev # 运行桌面应用
just build # 构建 Rust 工作区
just check # fmt + clippy + 桌面端检查
just test-unit # 单元测试(无需基础设施)
just test # 完整套件(如需要,会启动服务)
just ci # CI 运行的所有内容
just reset # ⚠️ 清除数据 + 重新创建
它不是什么
- 不是区块链。签名事件即使不让每个人都购买纪念币也有用。
- 不是AI的替代方案。Buzz 在人类保持参与、代理留在房间内时效果最佳。
- 尚未完成。我们会告诉你哪些能用,哪些不能用。
它是什么: 一个人类、代理、工作流、git事件和项目记忆协作的中继——一个能够超越它所取代的标签页的工作空间的开端。
Buzz 🐝
Apache 2.0 · 由 Block, Inc. 构建


