beads

一個分散式、Git 支援的圖形問題追蹤器,為編碼代理人提供持久、結構化的記憶體,以進行長期任務管理。

GoMITAgent
⭐ GitHubhttps://github.com/steveyegge/beads
25,703
Star 數
+5,768
Star 增速
Jul 28, 2026
最後更新
3,124
點擊數

珠子 (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,而無需將任何文件提交到主儲存庫 — 非常適合在共享或開源專案上個人使用。

👥 貢獻者與維護者角色

  • 貢獻者(分支儲存庫):bd init --contributor 將規劃問題路由到單獨的個人儲存庫,將實驗性工作排除在 PR 之外。
  • 維護者:Beads 通過 SSH URL 或經過身份驗證的 HTTPS 自動檢測維護者角色。

基本 CLI 命令

命令 描述
bd init 在您的專案中初始化 Beads
bd ready 列出沒有未完成阻礙的任務
bd create "標題" -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 "使用 'bd' 進行任務追蹤" >> 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 星標 17,300+
分支 1,100+
貢獻者 258
發布 78
主要語言 Go
授權 MIT

適用對象

  • AI 代理開發者,用於構建自主程式碼管道
  • 個人開發者,使用 Claude Code、Copilot 或 Cursor 並希望獲得更好的任務追蹤
  • 團隊,在共享程式碼庫上運行多代理工作流程
  • 開源貢獻者,需要在不污染上游儲存庫的情況下進行個人任務管理

摘要

Beads 填補了 AI 程式碼代理生態系統中的一個關鍵空白:持久、結構化、版本控制的記憶體。通過將基於圖的任務模型與原生 git 的 SQL 後端和對代理友好的 CLI 相結合,它使程式碼代理能夠處理複雜的、跨會話的專案,否則這些專案將超出其上下文限制。其 MIT 授權、跨平台支援和活躍的社群使其成為任何認真使用 AI 程式碼工具的人的實用選擇。