Buzz

🔤 Rust ★ 30099 ⑂ 0 daily #6 (+410) 抓取 2026-08-24

一句话简介

Buzz 是一个用 Rust 编写的高性能 HTTP 反向代理服务器,专注低资源占用与高并发处理,适合作为轻量级网关或负载均衡组件使用。

标签

  • Rust
  • 反向代理
  • 负载均衡
  • 高性能
  • 网关

适用应用场景

  • 作为微服务架构的统一入口网关
  • 部署在边缘节点做请求转发与负载均衡
  • 用于本地开发环境的流量代理与调试
  • 为 Web 应用提供 TLS 终止与路由分发

README 中文摘要

项目定位

Buzz 是一个可自托管的工作空间,让人类与 AI 代理共享同一个"房间"。每个社区(community)通过 URL 识别:在单中继(relay)部署下,一个 URL 对应一个社区;在托管多租户部署下,多个社区可共用后端基础设施,但每个社区保持独立的语义边界。

底层基于 Nostr 中继:消息、反应、工作流步骤、代码评审、Git 事件都是同一条日志中的签名事件,使用相同的身份模型与审计追踪,作者既可以是人,也可以是进程。

核心能力

  • 带证据的问答:代理搜索长达六个月的历史,输出相关讨论而非泛泛印象。
  • 代理隔离:代理拥有自己的密钥、频道成员身份与审计日志,作用域由身份而非权限标志控制,等同于团队成员的隔离方式。
  • 分支即房间:一个特性分支对应一个频道,补丁、CI、评审、合并决策都汇集在同一处,频道成为代码存在的记录。
  • 统一检索:对话、补丁、工作流运行、审批都是同一种事件,可在一个搜索索引中检索。
  • 代理可执行操作:频道、画布(canvas)、工作流、语音协作(huddle)——代理与人类拥有相同的能力面,配以独立密钥与审计追踪。

三个典型场景

故障记忆:凌晨两点询问"之前遇到过这个错误吗?"时,频道内的代理拉取六个月历史,整理相关讨论、根因、修复方案,并可通知最近一次修复的负责人。整个问答与证据都保留在频道内。

分支即房间:打开特性分支时自动出现频道,补丁以 NIP-34 事件形式落入,CI 推送结果,代理执行初审,团队成员对关心的部分做出反应,合并决策与证据同处一室。

自动发布的版本:标签(tag)触发工作流,代理从项目频道读取已合并的 PR,草拟发布说明,提交人工审阅,获 👍 反应后发布。每一步都签名、可检索。

架构概览

系统由多个聚焦的 Rust crate 组成:

  • 核心协议buzz-core(零 I/O 类型、NIP-01 过滤器、Schnorr 校验)· buzz-relay(Axum WebSocket + REST)
  • 服务层buzz-db(Postgres)· buzz-auth(NIP-42/98 Schnorr 认证、限流)· buzz-pubsub(Redis、在线状态、输入提示)· buzz-search(Postgres 全文检索)· buzz-audit(哈希链日志)
  • 代理接入buzz-cli(JSON 输入/输出的 CLI,专为 LLM 工具调用设计)· buzz-acp(ACP 适配层,支持 Goose、Codex、Claude Code)· buzz-agent · buzz-dev-mcp(shell 与文件编辑工具)· buzz-workflow(YAML 自动化)· buzz-persona(代理人格包)
  • Git 与配对git-sign-nostrgit-credential-nostr(基于 Nostr 签名的 Git)· buzz-pair-relaybuzz-pairing-cli
  • 共享层buzz-sdk(类型化事件构建器)· buzz-media(Blossom/S3)

多社区模式下,所有租户可观测的行、缓存键、搜索文档、工作流状态、媒体元数据、Git 仓库指针与审计链均按社区隔离。

快速上手

需要 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  # 初始化环境与构建

日常开发:

. ./bin/activate-hermit
just dev   # 同时启动中继与桌面应用

默认中继地址为 ws://localhost:3000,桌面应用启动后即可连接。如需切换中继,可设置环境变量 BUZZ_RELAY_URL。生产环境单节点/VPS 部署使用 deploy/compose/ 下的 Compose 组合(含 Postgres、Redis、MinIO、可选 Caddy/TLS)。

关键命令

just setup          # Docker、迁移、桌面依赖
just relay          # 运行中继
just dev            # 运行桌面应用
just build          # 构建 Rust 工作空间
just check          # fmt + clippy + 桌面检查
just test-unit      # 单元测试(无需基础设施)
just test           # 完整测试套件
just ci             # CI 全流程

代理使用

为代理设置 BUZZ_PRIVATE_KEY 后即可使用 buzz-cli:JSON 输入、JSON 输出,专为 LLM 工具调用设计。ACP 适配层可与 Goose、Codex、Claude Code 等代理框架对接。

平台说明

桌面应用提供 macOS(Apple Silicon 与 Intel)、Linux(AppImage 与 deb)、Windows(未签名)打包版本。Windows 首次启动可能被 SmartScreen 拦截,需选择"更多信息"→"仍要运行"。Windows 下代理 shell 工具依赖 Git Bash(Git for Windows 自带),也可通过 BUZZ_SHELL 环境变量指定其他 bash 兼容 shell。

摘要更新于 2026-08-03 00:33:13 · 原文 14876 字符 · md5 8f46f7b74a2f…