Beads:Dolt 驱动的分布式图问题跟踪器,为 AI 智能体提供持久内存!
Beads由 Dolt 驱动为 AI 智能体提供持久内存的分布式图问题跟踪器Beads 是一款由 Dolt 驱动的面向 AI 智能体的分布式图问题跟踪器支持 macOS、Linux、Windows、FreeBSD 平台相关文档可查看https://gastownhall.github.io/beads/ 。它为编码智能体提供了持久、结构化的内存用依赖感知图取代了杂乱的 Markdown 计划使智能体能够处理长期任务而不会丢失上下文。快速开始若要快速开始使用 Beads首先需安装 beads CLI全局安装不要将此仓库克隆到项目中可通过命令curl -fsSL https://raw.githubusercontent.com/gastownhall/beads/main/scripts/install.sh | bash进行安装。接着在项目中初始化使用cd your-project进入项目目录后运行bd init。最后告知智能体使用bd进行任务跟踪可通过echo Use bd for task tracking AGENTS.md实现。需要注意的是Beads 是一个只需安装一次即可在各处使用的 CLI 工具无需将此仓库克隆到项目中。特性- **Dolt 驱动**它采用具有单元格级合并、原生分支功能以及通过 Dolt 远程仓库实现内置同步的版本控制 SQL 数据库。- **智能体优化**支持 JSON 输出、依赖跟踪和自动就绪任务检测。- **零冲突**基于哈希的 IDbd - a1b2可防止多智能体/多分支工作流中的合并冲突。- **压缩**语义化的内存衰减功能可总结旧的已关闭任务以节省上下文窗口。- **消息传递**支持带线程的消息问题类型--thread、临时生命周期和邮件委托。- **图链接**提供 relates_to、duplicates、supersedes 和 replies_to 等图链接用于构建知识图谱。基本命令命令操作bd ready列出无开放阻塞项的任务bd create Title -p 0创建一个 P0 任务bd update --claim原子性地认领一个任务设置分配人 进行中状态bd dep add链接任务阻塞、相关、父子关系bd show查看任务详情和审计轨迹层级与工作流Beads 支持史诗级任务的层级 ID如bd - a3f8史诗任务、bd - a3f8.1任务、bd - a3f8.1.1子任务。**隐身模式**运行bd init --stealth可在不将文件提交到主仓库的情况下本地使用 Beads适合在共享项目中个人使用详见下面的无 Git 使用部分。**贡献者与维护者**在开源项目中工作时贡献者分叉仓库运行bd init --contributor可将规划问题路由到单独的仓库例如 ~/.beads - planning避免实验性工作进入 PR维护者有写入权限Beads 会通过 SSH URL 或带凭证的 HTTPS 自动检测维护者角色若使用无凭证的 GitHub HTTPS 但有写入权限只需执行git config beads.role maintainer。安装- brew install beads适用于 macOS / Linux推荐。- npm install -g beads/bd适用于 Node.js 用户。其他方法还包括安装脚本、go install、从源码安装、Windows、Arch AUR 等。要求系统为 macOS、Linux、Windows 或 FreeBSD完整的安装指南见 docs/INSTALLING.md。**安全与验证**在信任任何下载的二进制文件之前需根据发布的 checksums.txt 验证其校验和。安装脚本会在安装前验证发布校验和手动安装时首次运行前需自行进行此验证。在 macOS 上scripts/install.sh 默认保留下载的签名通过设置BEADS_INSTALL_RESIGN_MACOS 1可显式选择本地临时重新签名。Windows 防病毒误报指导和验证工作流见 docs/ANTIVIRUS.md。存储模式Beads 使用 Dolt 作为数据库有两种模式可供选择- **嵌入式模式默认**使用bd initDolt 在进程内运行无需外部服务器数据存储在 .beads/embeddeddolt/ 中仅支持单写入者强制文件锁定这是大多数用户的推荐模式。- **服务器模式**使用bd init --server连接到外部 dolt sql - server数据存储在 .beads/dolt/ 中支持多个并发写入者可通过标志或环境变量配置连接标志环境变量默认值--server - hostBEADS_DOLT_SERVER_HOST127.0.0.1--server - portBEADS_DOLT_SERVER_PORT3307--server - socketBEADS_DOLT_SERVER_SOCKET无使用 TCP--server - userBEADS_DOLT_SERVER_USERrootBEADS_DOLT_PASSWORD无BEADS_DOLT_CLI_DIR本地 Dolt 数据库路径用于 CLI 推送/拉取**Unix 域套接字**使用--server - socket通过 Unix 套接字而非 TCP 进行连接可避免并发项目之间的端口冲突适用于沙盒环境如 Claude Code因为文件级访问控制比网络允许列表更简单。Dolt 服务器必须使用dolt sql - server --socket启动套接字模式不支持自动启动。当BEADS_DOLT_SERVER_MODE 1指向 Beads 外部管理的 Dolt 服务器时如果bd dolt push / bd dolt pull必须使用本地 dolt CLI例如仅在当前 shell 中存在的 git 协议远程仓库或凭证则设置BEADS_DOLT_CLI_DIR使用实际的 Dolt 数据库目录而非服务器根目录。**备份与迁移**使用bd backup可备份数据库并在不同模式之间迁移如bd backup init /path/to/backup设置备份目标并推送bd backup sync进行同步bd init或bd init --server后使用bd backup restore --force /path/to/backup恢复到新项目任何模式完整的迁移说明见 docs/DOLT.md。社区工具社区构建的 UI、扩展和集成的精选列表见 docs/COMMUNITY_TOOLS.md包括终端界面、Web UI、编辑器扩展和原生应用。无 Git 使用Beads 无需 Git 即可工作Dolt 数据库是存储后端Git 集成钩子、仓库发现、身份验证是可选的。通过export BEADS_DIR/path/to/your/project/.beads和bd init --quiet --stealth可进行无 Git 初始化所有核心命令无需调用 Git 即可工作如bd create Fix auth bug -p 1 -t bugbd ready --jsonbd update bd - a1b2 --claimbd primebd close bd - a1b2 Fixed。BEADS_DIR 告知 bd 将 .beads/ 数据库目录放置的位置绕过 Git 仓库发现。--stealth在配置中设置no - git - ops: true禁用所有 Git 钩子安装和 Git 操作适用于非 Git 版本控制系统Sapling、Jujutsu、Piper无需 .git/ 目录单体仓库将 BEADS_DIR 指向特定子目录CI/CD实现隔离的任务跟踪无仓库级副作用评估/测试在 /tmp 中使用临时数据库等场景。如需在无 Git 的情况下使用守护进程模式可使用bd daemon start --local详见 PR #433。文档Beads 提供文档网站版本化、安装指南、智能体工作流、Copilot 设置、文章、同步分支模式、故障排除、常见问题解答等相关文档。