Beads (bd) — 为您的编码代理提供内存升级
概述
Beads 是一个开源的 CLI 工具 (bd),旨在为 AI 编码代理(如 Claude Code、GitHub Copilot 及类似工具)提供一个持久化、结构化的内存系统。Beads 不依赖于在会话之间丢失的扁平 Markdown 文件或上下文内便笺板,而是提供一个由版本控制的 SQL 数据库支持的依赖感知任务图。这使得代理能够可靠地跨多个会话、分支甚至多个协作代理来规划、跟踪和执行长期任务。
该项目主要用 Go 编写(91.9%),Python(5.5%)和 Shell(1.1%)作为补充。它支持 macOS、Linux、Windows 和 FreeBSD。
解决的核心问题
AI 编码代理存在两个关键限制:
- 上下文窗口短 — 长期任务会被遗忘或截断。
- 无持久化任务状态 — 在 Markdown 中编写的计划脆弱、无结构且易于丢失。
Beads 通过充当结构化的外部内存来解决这两个问题:任务存储在数据库中(由 Dolt 提供支持),通过 git 进行版本控制,并通过一个简单的带 JSON 输出的 CLI 暴露给代理。
主要功能
🔷 基于 Dolt 的存储
Beads 使用 Dolt,一个支持单元格级别合并、原生分支和通过 Dolt 远程同步的版本控制 SQL 数据库。这意味着任务数据库本身拥有完整的类 git 历史记录。
🤖 代理优化接口
所有命令默认输出 JSON,使代理能够轻松地以编程方式解析结果。bd ready 命令会自动检测没有未解决阻塞任务的任务,指导代理接下来该做什么。
🔗 依赖图
任务可以通过类型化关系链接:
blocks/blocked_byrelates_toduplicatessupersedesreplies_to
这形成了一个真正的知识图谱,而不仅仅是一个扁平列表。
🧠 语义内存压缩
旧的已关闭任务会自动进行摘要(“内存衰减”),以减少上下文窗口的使用,同时保留关键历史记录。
💬 消息系统
内置的 message 问题类型支持带线程的讨论(--thread)、短暂的生命周期以及代理之间的邮件委托。
🪢 分层任务 ID
任务通过基于哈希的 ID 支持史诗/任务/子任务嵌套:
bd-a3f8 (史诗)
bd-a3f8.1 (任务)
bd-a3f8.1.1 (子任务)
基于哈希的 ID 可防止多代理工作流中的合并冲突。
🥷 隐身模式
bd init --stealth 允许您在本地使用 Beads,而无需将任何文件提交到主存储库 — 非常适合在共享或开源项目上进行个人使用。
👥 贡献者 vs. 维护者角色
- 贡献者(分叉的存储库):
bd init --contributor将规划问题路由到单独的个人存储库,将实验性工作排除在 PR 之外。 - 维护者:Beads 通过 SSH URL 或经过身份验证的 HTTPS 自动检测维护者角色。
基本 CLI 命令
| 命令 | 描述 |
|---|---|
bd init |
在您的项目中初始化 Beads |
bd ready |
列出没有未解决阻塞任务的任务 |
bd create "Title" -p 0 |
创建一个 P0(最高优先级)任务 |
bd update <id> --claim |
原子地认领一个任务(设置分配者 + in_progress) |
bd dep add <child> <parent> |
通过依赖关系链接任务 |
bd show <id> |
查看任务详情和审计跟踪 |
安装
# 一行安装
curl -fsSL https://raw.githubusercontent.com/steveyegge/beads/main/scripts/install.sh | bash
# 或通过 npm
npm install -g @beads/bd
# 或通过 Homebrew
brew install beads
# 或通过 Go
go install github.com/steveyegge/beads/cmd/bd@latest
然后在您的项目中初始化:
cd your-project
bd init
echo "Use 'bd' for task tracking" >> AGENTS.md
集成
Beads 与主要的 AI 编码代理和 IDE 集成:
- Claude Code (Anthropic)
- GitHub Copilot
- Cursor, Windsurf, Amp 及其他 MCP 兼容工具
- MCP 服务器可通过 PyPI 上的
beads-mcp访问
社区构建的扩展包括终端 UI、Web仪表板、编辑器插件和原生应用程序。请参阅 docs/COMMUNITY_TOOLS.md 获取完整列表。
项目统计(截至 2026 年初)
| 指标 | 值 |
|---|---|
| GitHub Stars | 17,300+ |
| Forks | 1,100+ |
| Contributors | 258 |
| Releases | 78 |
| Primary Language | Go |
| License | MIT |
适用人群
- AI 代理开发者,构建自主编码管道
- 个人开发者,使用 Claude Code、Copilot 或 Cursor 并希望获得更好的任务跟踪
- 团队,在共享代码库上运行多代理工作流
- 开源贡献者,需要在不污染上游存储库的情况下进行个人任务管理
总结
Beads 填补了 AI 编码代理生态系统中的一个关键空白:持久化、结构化、版本控制的内存。通过将基于图的任务模型与 Git 原生 SQL 后端和对代理友好的 CLI 相结合,它使编码代理能够处理超出其上下文限制的复杂、多会话项目。其 MIT 许可证、多平台支持和活跃的社区使其成为任何认真使用 AI 编码工具的人的实用选择。