beads

一个分布式、基于 Git 的图形问题追踪器,为编码智能体提供持久化、结构化内存,用于长期任务管理。

GoMITAgent
⭐ GitHubhttps://github.com/steveyegge/beads
25,703
Star 数
+5,768
Star 增速
2026年7月28日
最后更新
3,124
点击数

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 编码代理存在两个关键限制:

  1. 上下文窗口短 — 长期任务会被遗忘或截断。
  2. 无持久化任务状态 — 在 Markdown 中编写的计划脆弱、无结构且易于丢失。

Beads 通过充当结构化的外部内存来解决这两个问题:任务存储在数据库中(由 Dolt 提供支持),通过 git 进行版本控制,并通过一个简单的带 JSON 输出的 CLI 暴露给代理。


主要功能

🔷 基于 Dolt 的存储

Beads 使用 Dolt,一个支持单元格级别合并、原生分支和通过 Dolt 远程同步的版本控制 SQL 数据库。这意味着任务数据库本身拥有完整的类 git 历史记录。

🤖 代理优化接口

所有命令默认输出 JSON,使代理能够轻松地以编程方式解析结果。bd ready 命令会自动检测没有未解决阻塞任务的任务,指导代理接下来该做什么。

🔗 依赖图

任务可以通过类型化关系链接:

  • blocks / blocked_by
  • relates_to
  • duplicates
  • supersedes
  • replies_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 编码工具的人的实用选择。