乐于分享
好东西不私藏

推荐一个给AI编程助手用的记忆升级工具:Beads

推荐一个给AI编程助手用的记忆升级工具:Beads

如果你在用AI编程助手写代码,一定遇到过这样的场景:让AI帮你重构一个模块,结果它做到一半突然“失忆”,忘了前面的决策;或者你想让它基于之前的任务继续,它却需要你从头把所有上下文再喂一遍。这些问题归根结底是因为大多数AI助手没有持久化记忆,它们的工作记忆就像一次性纸杯,任务一结束就清零了。

今天要推荐的开源项目Beads,就是专门解决这个痛点的工具。

Beads由gastownhall开发,目前在GitHub上已经收获了超过21.5k颗星1.4k次fork,社区活跃度非常高。它的定位非常明确——为编码AI提供持久化的结构化记忆。简单说,它把AI在开发过程中的任务、依赖、状态等信息存储在一个基于Dolt的分布式图数据库中,让AI能够像人类开发者一样知道自己做到了哪一步、哪些任务被阻塞、哪些已经完成。

Beads的核心是一个名为“bd”的命令行工具,安装之后,你在项目根目录运行bd init就能完成初始化。之后告诉你的AI助手去读取bd相关的指令,AI就可以通过bd来记录和查询工作进度。比如,AI创建一个新任务时可以用bd create "修复登录bug" -p 1 -t bug,然后当任务准备就绪可以处理时,用bd ready就能列出所有没有阻塞的任务。AI完成一个任务后,用bd close就能标记关闭,整个过程完全通过命令行完成,对AI非常友好。

为什么Beads能做到“不忘事”?秘密在于它底层使用Dolt作为数据库。Dolt是一个支持版本控制的SQL数据库,拥有单元格级别的合并能力、原生分支功能以及通过远程同步的能力。这意味着AI的每一步操作都被记录在版本历史中,即使多个AI代理同时在同一个项目的不同分支上工作,也不会产生冲突。Beads使用基于哈希的ID(例如bd-a1b2)来标识每个issue,这种机制天然避免了多分支合并时的碰撞问题,非常适合团队协作或者多个AI代理并行的场景。

除了基本的任务跟踪,Beads还设计了一套丰富的功能来适应复杂的开发流程。它支持层次化ID,比如一个Epic是bd-a3f8,它下面的任务可以是bd-a3f8.1,子任务可以是bd-a3f8.1.1,这样就能完整地表示需求分解树。它还有“内存压缩”功能,当旧任务被关闭后,系统可以对它们进行语义上的“衰减”,总结关键信息,释放上下文窗口,避免AI被过时的细节淹没。另外,Beads支持消息类型的issue,带有线程回复功能,支持临时生命周期,甚至可以像邮件一样委派,非常适合做团队内的异步沟通记录。

对于开发者个人来说,Beads还可以工作在“隐身模式”下。如果你不想在项目的Git仓库里留下.beads目录,可以用bd init --stealth,这样所有的数据都保存在本地,不提交到代码仓库。如果你是开源项目的贡献者,可以用bd init --contributor将规划用的issues路由到一个独立的仓库里,比如用户目录下的~/.beads-planning,这样不会把实验性的任务带进你的Pull Request。如果你有仓库的写入权限,Beads会自动检测角色,并不需要额外配置。

Beads的安装方式非常灵活。最推荐的是通过Homebrew一键搞定:brew install beads。Node.js用户也可以用npm全局安装:npm install -g @beads/bd。此外还有安装脚本、Go开发者可以直接go install,甚至Windows用户也有专门的安装方式。项目官方提供了详细的安装指南,并且特别强调安全验证——所有发布的二进制文件都有对应的校验和,安装脚本在安装前会自动验证,确保你不会下载到被篡改的版本。

Beads还支持两种存储模式。默认是嵌入式模式,Dolt直接以进程内方式运行,数据存放在项目的.beads/embeddeddolt/目录下,单写者场景下会自动加文件锁,简单可靠。如果你需要多写者并发,可以用bd init --server开启服务器模式,连接到一个外部的Dolt SQL服务器,这样多个AI代理可以同时读写。服务器模式支持配置主机、端口甚至Unix域套接字,适合在沙箱环境如Claude Code中使用,避免端口冲突。

在数据备份和迁移方面,Beads也考虑得很周到。bd backup命令可以让你把数据库备份到指定目录,也可以从备份中恢复到一个新项目,切换存储模式也非常方便。这对于CI/CD场景或者需要频繁重置环境的开发者来说是一大福音。

更值得留意的是,Beads并不依赖Git。它的底层数据库就是Dolt,所以即使你用的版本控制系统是Sapling、Jujutsu或者Piper,甚至根本就没有Git仓库,Beads一样能正常工作。只需要设置BEADS_DIR环境变量指向数据库目录,然后运行bd init --quiet --stealth,所有核心命令都不需要调用Git。这对于非Git的VCS用户或者需要临时测试环境的场景来说非常友好。

如果你是在做长周期项目开发,或者使用AI助手时经常被“断片”困扰,Beads值得你花十分钟试试。它就像一个外挂的大脑,帮你和AI一起记住所有任务的状态和上下文。目前项目还在持续更新,最新版本v1.0.3发布于2026年4月,社区维护活跃,文档也很完善。你可以在GitHub上搜索“gastownhall/beads”找到它,或者直接访问项目文档网站了解更多细节。

感兴趣的读者可以访问项目Github网址,了解更多细节:
https://github.com/gastownhall/beads