gastownhall/beads
开发工具给编程 Agent 一块可依赖查询、跨会话存续的结构化任务记忆。
如果你经常把长任务交给编程 Agent、然后看着它在会话之间丢失线索,Beads 值得花一个小时评估。它把 markdown 计划换成一个小型数据库驱动的任务依赖图,Agent 可以直接查询。
解决什么问题
用户带着一个多步骤计划开启 Agent 会话,希望工作在上下文重置、切换分支和换一台机器后仍能接续。现在这份计划通常躺在 markdown 文件或聊天摘要里:Agent 得整份重读,分不清哪些任务真正可开工,两个 Agent 同时修改同一个文件还会冲突。用 Beads 时,计划变成 Dolt 数据库里的记录:Agent 用 bd ready 看可认领的任务,用 bd update --claim 领取,办完后 bd close,被阻塞的子任务随之变为就绪。于是任务状态能活在对话之外,而不是一份每次都要重新解析的文档。
有什么不同
Beads 建立在 Dolt 之上——一个带单元格级合并和原生分支的版本化 SQL 数据库,并通过 bd dolt push / bd dolt pull 同步。这个选择才是关键差异:任务状态像数据一样可查询、可合并,基于哈希的 ID(bd-a1b2)让多个 Agent 或分支各自创建条目时不撞号。README 还描述了压缩(compaction)机制,把旧的已关闭任务做摘要,以节省上下文窗口,并提供线程化消息、relates-to、supersedes 等图链接。实际效果是 Agent 可以只问“当前就绪集合”,而不是把整个 backlog 塞进提示词。
代价在于:你引入的是一个数据库,而不是文本文件。存储模式不一样——默认内嵌模式只允许单个写入者,需要并发写入时要接 dolt sql-server;跨机器协作依赖 Dolt remote;升级可能涉及 schema 迁移。这些机制比 markdown 计划重,而且只有当你确实跨 Agent、跨分支或跨机器工作时,同步和共享部分才回本。
谁值得试
适合:已经在用 Claude Code、Codex、Cursor、Factory 等编程 Agent 做长周期、多会话工作的开发者,希望 Agent 不必重读计划就能分清阻塞与就绪任务。共享项目上想本地记录又不把 Beads 文件提交进仓库的人,也可以用 bd init --stealth。不太适合:只想要单次对话里的临时记录,或团队不会维护共享 Dolt remote 的情况。Git 不是必需的:设置 BEADS_DIR 加 --stealth 即可用于非 git 版本控制或 CI。
使用条件与边界
支持 macOS、Linux、Windows、FreeBSD,安装是一个 CLI 加项目内的 bd init;默认会改写 AGENTS.md 并安装 IDE 集成,除非传 --skip-agents 或 --stealth。更实际的约束在日常维护:内嵌模式只有一个写入者,多个 Agent 并发时需要服务器模式;跨机器共享要维护一个 Dolt remote;二进制必须与数据库 schema 匹配,旧二进制遇到版本不符会直接报错退出。升级有固定顺序:先导出、换二进制、运行 bd info --whats-new 和 bd hooks install,对远端数据库还要指定一个克隆执行迁移和推送。用于共享服务器的 HTTP 后端仍标注为实验性。团队采用前建议先读 安装说明 和 升级指南。
HotRepo 点评
HotRepo 只记录到两次登上每日榜:2026-10-24(+29 星)和 2026-10-25(+30 星),没有更早的可比历史,无法据此判断关注度能否持续。项目至今约一年。采用前请先确认你计划锁定的版本对远端数据库的升级路径。
本文由 AI 根据项目 README 生成,更新于 2026年10月25日,以项目官方文档为准。