WwW7olFWwW/dsh-cbm-keeper ↗★ 0

dsh-cbm-keeper

自动同步知识图谱至各项目最新提交 适合使用 CBM 且需要图谱实时跟上代码库 Git 变更的开发者。

套件
dsh-cbm-keeper
相容性
待驗證
版本
0.1.0
授權
MIT
最近更新
2026年10月4日

安裝

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:WwW7olFWwW/dsh-cbm-keeper

dsh-cbm-keeper CI

English | 中文

用一行 MCP row 把 Codebase Memory(CBM)接進 DeepSeek Harness(DSH)時,痛點不在查詢,而是圖譜會靜默過期:MCP 的 cwd 是 profile 級常數(CBM 的監看與 auto-index 因此落在錯的樹)、CBM 內建 watcher 不產生可觀測的重建、MCP 工具 index_repository 有 60 秒上限。實測圖譜曾落後 33 小時/37 個提交/988 個檔案,而所有人都以為它是新的。

dsh-cbm-keeper 把落後判定、條件式重建與觀測這三件事做對 —— 不改 CBM、不改 DSH、不需要 systemd timer。

安裝

dsh plugin --profile web add github:WwW7olFWwW/dsh-cbm-keeper

裝完不用重啟,卡片在 設定 →「CBM 圖譜」(沒有就重整一次頁面;但改動 lib/ 之後要重啟 dsh web 才換代)。建議同時關掉上游那個無條件的全量重建(每次 session 白燒約 61 秒/658 MB):

codebase-memory-mcp config set auto_index false

功能

  • 落後判定:圖譜 Branch.head_sha 對 git rev-parse HEAD,給精確 behindBy;沒有 Branch 節點時退用 indexed_at/DB mtime。證據不足回報「無法判定」,不假裝新鮮。
  • 條件式重建:只排入落後的專案,全域併發 1;已對上 HEAD 時 POST /rebuild 回 queued: 0。
  • 繞過 MCP 的 60 秒上限:重建以子行程呼叫 codebase-memory-mcp cli index_repository。
  • 存檔後自動追上:每專案檔案監看與防抖;chokidar 缺席時退回 node:fs.watch。
  • 觀測與控制:設定頁卡片與 REST 控制面同源,卡片上的每個動作都能用 curl 打。
  • 一鍵開圖:卡片與每個專案列都有 CBM 圖譜 UI 的連結(?project= 直達單一專案);UI 沒開或連不上時如實標示,不給點了會壞的按鈕。

相容版本

插件DSHCodebase Memory
0.1.x>=0.2.0-rc.2(實測 0.2.0-rc.2;由 engines.dsh 宣告)codebase-memory-mcp@0.11.0(清單外版本在卡片上轉為警告)

設定

15 個 volatile 欄位與 7 條 REST 路由:docs/CONFIGURATION.md

已知限制

chokidar 是可選相依;以家目錄為根的專案不支援 CBM 監看(上游安全政策);圖譜的結構宣告不可作為證據。 其餘見 docs/LIMITATIONS.md。

移除

dsh plugin --profile web remove dsh-cbm-keeper
rm -rf ~/.dsh/cbm-keeper

開發

node --test test/*.test.js   # 115 項單元測試,不需要真的索引

改完 lib/ 需 systemctl --user restart dsh-web 才生效(link: 安裝的 ESM 快取不會熱載入)。

架構|驗證現況|需求規格|貢獻指南|變更記錄|問題回報

授權

MIT © 2026 WwW7olFWwW