Documentation Index
Fetch the complete documentation index at: https://base.bangwu.me/llms.txt
Use this file to discover all available pages before exploring further.
Beads
Beads 是一个面向编码 Agent 的图状 issue tracker。它的命令行工具叫bd,底层存储使用 Dolt 这个带版本控制能力的 SQL 数据库。
它最值得关注的点不是“又一个待办清单”,而是给 Agent 一个结构化任务图,让长任务、多分支、多 Agent 协作和上下文压缩都更容易处理。
它解决什么问题
Markdown 计划很好起步,但任务一长就容易失控:- 依赖关系藏在自然语言里
- 多个 Agent 可能改同一份计划文件
- 已完成内容继续占上下文
- 恢复任务时要重读大量描述
- 分支、机器或 Agent 之间交接很脆弱
核心模型
Beads 把 issue 存成结构化记录,而不是纯文本笔记。 几个关键概念:- Issue:任务、bug、epic、消息或其他工作项。
- 依赖关系:父子任务、阻塞、关联、重复和替代关系。
- Ready 队列:
bd ready列出当前没有开放阻塞的任务。 - 声明任务:
bd update <id> --claim让 Agent 原子化认领任务。 - 压缩:旧的已关闭任务可以被总结,减少上下文消耗。
- JSON 输出:命令设计上更方便 Agent 和脚本解析。
基本用法
先安装 CLI,再在项目里初始化:| 命令 | 用途 |
|---|---|
bd ready | 列出没有阻塞的任务。 |
bd create "Title" -p 0 | 创建高优先级任务。 |
bd update <id> --claim | 原子化认领任务。 |
bd dep add <child> <parent> | 添加依赖或层级关系。 |
bd show <id> | 查看详情和操作历史。 |
存储模式
Beads 主要有两种存储模式:- Embedded mode:
bd init使用进程内 Dolt 数据库,是默认模式,适合多数个人或单写者工作流。 - Server mode:
bd init --server连接外部dolt sql-server,更适合多写者并发访问。
BEADS_DIR 和 bd init --stealth 做 git-free usage,适合 CI、评测、monorepo、非 git 版本控制,或者不想污染共享仓库的个人任务跟踪。
什么时候用
这些场景可以考虑 Beads:- 编码任务会跨很多轮或很多天
- 多个 Agent 或多个分支需要协作
- 任务依赖比普通 checklist 更重要
- 希望任务状态机器可读,而不是只写在自然语言计划里
- 想保留进度,但不想把全部历史塞进 prompt
它在 Agent harness 里的位置
在 Agent harness 设计里,Beads 属于记忆与协调层:- 把任务状态从模型上下文里外化出来
- 给 Agent 一个可查询的 ready 队列
- 通过生成 ID 和结构化存储减少冲突
- 让交接更容易,因为任务状态不再只藏在聊天历史里
git worktree、browser harness、仓库里的 AGENTS.md 配合使用。背后的思路一样:把稳定状态从模型里拿出来,放进可检查的项目基础设施。
采用前要检查什么
- 决定
.beads/应该提交、忽略,还是用 stealth mode。 - 给 Agent 自动化时优先使用 JSON 输出。
- 多 Agent 场景里,先测试认领任务和依赖更新。
- 信任下载的二进制前,先确认校验和或签名策略。
- 任务标题和依赖关系保持简短,方便 Agent 快速扫描。
