MemoryCustodian

MemoryCustodian

MemoryCustodian 透過將關鍵上下文儲存為純 Markdown,並透過清單僅載入與任務相關的部分,為編碼代理提供持久的、儲存庫原生的專案記憶,從而最大限度地減少跨會話和團隊的提示開銷。
https://github.com/waittim/MemoryCustodian?ref=producthunt&utm_source=aipure
MemoryCustodian

產品資訊

更新時間:2026年07月30日

什麼是 MemoryCustodian

MemoryCustodian 是一個輕量級的「專案記憶」系統,適用於 AI 編碼代理,可幫助它們在會話中保留重要內容——決策、限制、被拒絕的方法和當前專案形狀——而無需依賴聊天歷史記錄或臃腫的指令提示。它將持久性上下文作為可審查、可差異化的 Markdown 保存在您的儲存庫中(通常在 `docs/memory/` 下),並提供快速、離線優先的 Python(僅限標準庫)CLI 以及代理整合(例如 Codex、Claude Code、Gemini 風格的技能)。目標是使專案知識可在代理之間移植,並像程式碼一樣易於人類稽核,同時保持運行時上下文小巧且有意。

MemoryCustodian 的主要功能

MemoryCustodian 是一個離線優先的程式碼代理「專案記憶」系統,它將持久性上下文(決策、限制、被拒絕的方法和當前專案形狀)以純 Markdown 格式儲存在您的儲存庫中。它不依賴於貼上大量提示或聊天歷史記錄,而是使用清單優先的工作流程,僅將與任務相關的記憶檔案載入到代理的上下文包中,從而使會話保持輕量級,同時使知識可檢查、可比較、可在代理/團隊之間移植,並可透過確定性的、僅限標準庫的 Python CLI 進行維護,該 CLI 具有受保護的預覽優先變異(例如,壓縮/遺忘/遷移)。
儲存庫原生 Markdown 記憶: 將持久的專案知識儲存在 `docs/memory/` 下,作為純 Markdown,以便人類可以像程式碼一樣審查、比較、提交和回溯記憶——無需向量資料庫、RAG 索引或雲端依賴。
清單優先選擇性載入: 代理讀取 `manifest.md` 然後讀取 `brief.md`,並且只載入與當前任務(規劃/實施/工件)相關的特定檔案,最大限度地減少提示膨脹,同時保留關鍵上下文。
跨平台的輕量級代理引導: 生成小型引導檔案(例如,`AGENTS.md`、`CLAUDE.md`、`GEMINI.md`),這些檔案將代理指向清單,而不是嵌入大型指令塊,支援 Codex、Claude Code、Gemini 風格代理和通用 shell 使用。
具有受保護維護的確定性 CLI: 提供 `init/status/check/read/add/enable/forget/compact/migrate` 命令;維護操作是預覽優先和結構保留的,在應用更改之前進行預算檢查和安全變異計畫。
範圍內、選擇性加入的記憶模組: 將可選知識(例如,`rules/`、`profiles/`、`areas/`、`archive/`)排除在預設上下文之外,直到清單明確啟用,從而允許子系統特定的記憶,而不會污染每個任務。
隱私安全的遺忘和歸檔控制: 支援帶有墓碑和編輯保護的軟/硬遺忘和清除流程,以及受控歸檔(例如,最舊的決策歸檔),這需要明確確認以避免意外的語義丟失。

MemoryCustodian 的使用案例

維護長期程式碼庫的軟體團隊: 捕捉架構決策、限制和被拒絕的方法,以便新的代理會話(和新的工程師)不會重新討論先前的選擇,從而減少跨衝刺的重複調試和返工。
受監管或離線環境: 用於金融、醫療保健、國防或氣隙企業環境,其中不允許雲端記憶服務;僅限標準庫的 CLI 和本地 Markdown 儲存支援完全離線的工作流程。
多代理/工具互通性: 跨不同代理主機(Codex、Claude Code、Gemini 風格代理)標準化專案記憶,以便團隊可以在不丟失上下文或重建提示的情況下切換工具。
諮詢和代理交接: 交付包含可審計、儲存庫內記憶包(簡報/決策/限制/不使用)的客戶專案,該記憶包保留了未來維護者的理由和界限。
複雜的單一儲存庫和子系統所有權: 使用 `areas/` 和清單路由僅載入與領域相關的記憶(前端、同步、基礎設施等),幫助代理有效地工作,而無需將整個組織的上下文拖入每個任務。

優點

可移植和可審計:記憶是儲存庫中的純 Markdown,易於審查、比較和版本控制。
低開銷上下文:清單驅動的選擇性載入避免了提示膨脹,並使代理會話高效。
離線優先和最小依賴:核心 CLI 僅限 Python 標準庫,旨在無需網路服務即可工作。

缺點

需要策劃紀律:生成的 `brief.md` 腳手架必須從權威來源策劃才能值得信賴。
非自動語義檢索:設計上避免了嵌入/RAG,因此相關性取決於良好的清單結構和人類/代理寫作品質。
維護操作可能保守:預覽優先的保障措施和限制(例如,廣泛匹配保護)可能會為期望完全自動清理的用戶增加工作流程步驟。

如何使用 MemoryCustodian

1) 安裝 MemoryCustodian(選擇與您的代理/工作流程匹配的路徑): 選擇一種安裝方法:\n- 要求您的編碼代理從儲存庫安裝技能:https://github.com/waittim/MemoryCustodian\n- Codex(本地市場):從結帳處運行 `codex plugin marketplace add .`,然後運行 `codex plugin add memory-custodian@memory-custodian-dev`。\n- Claude Code(插件):對於本地測試,運行 `claude --plugin-dir .`,或使用 `./install.sh claude` 安裝到個人技能。\n- Gemini 風格的代理:使用 `./install.sh gemini` 或 `gemini skills link ./skills/memory-custodian` 安裝。\n- CLI/源碼結帳:透過 `scripts/memory-custodian ...` 從儲存庫運行,或使用 `python3 -m pip install -e .` 可編輯安裝以獲取 `memory-custodian` 命令。
2) 在專案中初始化 MemoryCustodian(每個儲存庫一次): 為每個目標專案運行一次初始化:\n- 如果作為控制台腳本安裝:`memory-custodian init --project-root /path/to/project --agent all`\n- 從源碼結帳:`scripts/memory-custodian init --project-root /path/to/project --agent all`\n使用 `--agent codex`、`--agent claude`、`--agent gemini` 或 `--agent all` 生成您的代理讀取的精簡引導文件。
3) 了解初始化創建了什麼(記憶體所在位置): 初始化在 `docs/memory/` 下創建預設的持久性記憶體集:\n- `manifest.md`(路由要載入的內容)\n- `brief.md`(當前專案形狀)\n- `decisions.md`(關鍵決策)\n- `constraints.md`(硬性要求)\n- `do-not-use.md`(被拒絕的路徑/墓碑)\n- `inbox.md`(暫存區)\n平台引導文件(例如 `AGENTS.md`、`CLAUDE.md`、`GEMINI.md`)保持精簡,並將代理指向 `docs/memory/`。
4) 在依賴之前策劃生成的簡報: 在 `init` 之後,`brief.md` 以帶有 TODO 的腳手架開始。在將記憶體視為準備就緒之前,從權威的專案來源(README、程式碼、文件)填充它。使用 `memory-custodian status --project-root /path/to/project`(或 `scripts/memory-custodian status ...`)查看簡報是否仍未策劃;`status` 和 `check` 會報告未策劃的簡報。
5) 為任務載入正確的記憶體(清單優先讀取): 代理的預期工作流程是:\n1) 讀取 `docs/memory/manifest.md`。\n2) 讀取 `docs/memory/brief.md`。\n3) 僅載入清單中標記為與當前任務相關的文件。\n對於手動檢查,生成一個上下文包:\n- `memory-custodian read --project-root /path/to/project --task planning`\n- `memory-custodian read --project-root /path/to/project --task implementation`\n- `memory-custodian read --project-root /path/to/project --task artifact`
6) 當某些內容應在當前聊天中保留時,添加持久性記憶體: 使用 CLI 記錄決策/限制/偏好/被拒絕的方法:\n- `memory-custodian add "We chose manifest-first loading." --type decision`\n- `memory-custodian add "Persist sync retry backoff." --type decision --area sync --reason "Keep retries bounded across launches."`\n保持決策條目簡短(該工具強制執行令牌指南,並拒絕過長的寫入,除非您明確允許長條目)。
7) 僅在相關時啟用可選記憶體模組: 可選模組(例如規則、配置文件、區域)是選擇加入的,除非由清單啟用和路由,否則不會載入。根據需要啟用它們:\n- `memory-custodian enable preferences`\n- `memory-custodian enable rules/output`\n- `memory-custodian enable profile/git`\n- `memory-custodian enable area/frontend`\n啟用永遠不會覆蓋現有的模組文件。
8) 使用「do-not-use」來保留被拒絕的方法並避免回歸: 當您有意拒絕某種方法(例如儲存後端或架構)時,請將其記錄在 `docs/memory/do-not-use.md` 中(透過編輯或適當的添加/遺忘工作流程),這樣未來的會話就不會重新提出它。
9) 定期檢查健康狀況和協議兼容性: 運行確定性驗證以確保結構、預算和協議元數據正確:\n- `memory-custodian check --project-root /path/to/project`\n使用 `memory-custodian status` 快速概覽並檢測未策劃的簡報。
10) 壓縮和維護記憶體(預覽優先,安全變異): 使用維護命令保持記憶體小巧和最新:\n- `memory-custodian compact --project-root /path/to/project`\n壓縮受到保護且預覽優先;僅在審查計劃後才應用更改。收件箱壓縮是保守的(例如,精確重複的頂級項目符號單元刪除和墓碑過濾),並期望代理/人類將語義提升到決策/限制中。
11) 安全地忘記過時的資訊(預覽優先): 使用預覽優先的遺忘功能刪除或編輯過時的主題:\n- 預覽:`memory-custodian forget "old deployment note" --mode soft --project-root /path/to/project`\n- 審查後應用:`memory-custodian forget "old deployment note" --mode soft --apply --project-root /path/to/project`\n廣泛匹配需要明確確認(例如 `--allow-broad-match`)。某些情況需要手動重寫;該工具將拒絕不安全的整體刪除。
12) 需要時修復或替換現有設置: 如果文件丟失或元數據需要更新而無需覆蓋策劃的內容:\n- 修復:`memory-custodian init --project-root /path/to/project --repair`\n如果您有意進行完全替換,請使用預覽優先替換,並僅在正確時應用:\n- `memory-custodian init --project-root /path/to/project --replace-existing`\n- 然後僅在列出的文件應替換時添加 `--apply`。
13) 當工具更新時,遷移協議/專案記憶體版本: 當 `check` 報告舊的或丟失的協議元數據時,離線遷移專案清單:\n- 預覽:`memory-custodian migrate --project-root /path/to/project`\n- 審查後應用:`memory-custodian migrate --apply --project-root /path/to/project`
14) 在 Windows 上與源碼結帳使用正確的調用: 在 Windows 上,安裝控制台命令並使用 `memory-custodian ...`。在任何平台上的儲存庫結帳中,您可以將 `scripts/memory-custodian ...` 作為包裝器運行。

MemoryCustodian 常見問題

MemoryCustodian 是一個工具,它透過將決策、限制、被拒絕的想法和專案上下文以純 Markdown 格式儲存在您的儲存庫中,然後只載入當前任務所需的片段,從而為編碼代理提供持久的「專案記憶」。

与 MemoryCustodian 类似的最新 AI 工具

Gait
Gait
Gait 是一個集成 AI 辅助代碼生成和版本控制的協作工具,使團隊能夠高效地追蹤、理解和共享 AI 生成代碼的上下文。
invoices.dev
invoices.dev
invoices.dev 是一個自動化發票平台,直接從開發者的 Git 提交生成發票,並具有 GitHub、Slack、Linear 和 Google 服務的集成能力。
EasyRFP
EasyRFP
EasyRFP 是一個 AI 驅動的邊緣計算工具包,通過深度學習技術簡化 RFP(請求提案)回應並實現實時田間表型。
Cart.ai
Cart.ai
Cart.ai 是一個 AI 驅動的服務平台,提供全面的業務自動化解決方案,包括編碼、客戶關係管理、視頻編輯、電商設置和定制 AI 開發,並提供 24/7 支持。