dsh-codebase-watcher

DSH PLUGIN记忆与知识

仓库 www7olfwww/dsh-codebase-watcher

记忆与知识 未标注验证等级 安全审查:未标注 可信度:未标注 可安装插件

为 DeepSeek Harness 提供 Codebase Memory 图谱保鲜能力:自动比对 git HEAD 侦测图谱落后,仅在需要时调用 CLI 条件式重建,并在设置页展示观测卡片与 REST 控制面。

一句话选型结论

按资料字段整理

dsh-codebase-watcher 是记忆与知识类的 DSH 可安装插件,未做沙盒验证,暂无安全审查结论,列出 4 项功能,没有现成安装命令,需要按仓库 README 接入。验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么;涉及密钥或系统权限的,建议先在隔离环境试装。

分类记忆与知识 收录类型可安装插件 验证等级未标注验证等级 安全审查未标注
验证等级 UNKNOWN 未标注验证等级
GitHub 星标 0 复刻 0 · 未关闭 issue 0
最近更新 2026-10-07 创建于 2026-10-04
README 10.2 KB 正文体量,越大说明说明书写得越细

安装

可安装插件
在 DSH 里执行,装完用 dsh plugin list 确认已挂上;标了 L4 / L5 的命令已在沙盒里真实跑通
  1. 1
    确认版本与运行环境

    仓库没有标注兼容版本与 Node.js 要求,先确认你的 DSH 版本能装,再继续。

  2. 2
    执行安装命令

    在 DSH 里执行上面的命令;多包仓库要注意区分具体子包名,别装错包。

  3. 3
    确认已挂载

    用 dsh plugin list 查看列表里是否出现这个插件,出现即挂载成功。

  4. 4
    试跑并检查权限

    加载后跑一个最小用例,确认它能正常工作;同时看它申请了哪些文件、命令或网络权限。

兼容 DSH 版本未标注版本不匹配时安装会报错
Node.js 要求未标注来自仓库 package.json 的 engines 字段
前置依赖无需要同时安装的同级依赖
npm 包名未发布到 npm可用 npm view 查看包信息

能做什么

4 项功能
字段来自项目仓库与公开索引,中文说明由本站标注

dsh-codebase-watcher:让 DeepSeek Harness 的 CBM 知识图谱自动跟上 git HEAD

  • 比对 git HEAD 精确判定图谱落后
  • 仅对落后项目条件式重建
  • 每项目文件监看自动追平
  • 设置页卡片与 REST 控制面同源

上游标签

codebase-memorycordisdeepseek-harnessdshdsh-pluginknowledge-graphmcp

验证等级与安全审查

未标注验证等级
自动化流程结论,不是人工审核
验证等级未标注验证等级上游未给出验证结论,安装前请自行确认
安全审查未标注静态分析结论,未标注不代表已通过审查
仓库健康度未标注按仓库活跃度与最近更新时间给出
可信度未标注综合仓库活跃度与验证结果

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 列出了 4 项功能,能直接看出它解决什么问题。

先想清楚的地方

  • 安全审查还没结论,装之前先看仓库改了什么、要什么权限。
  • 没有现成安装命令,要按仓库 README 手动接入。
  • 验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么。

更适合

  • 需要在记忆与知识场景里给 DSH 补能力的人。
  • 能接受在本地装依赖、愿意自己确认权限的人。

不太适合

  • 只使用 DSH 官方内置能力、不接受第三方插件的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
插件验证等级安全审查星标兼容版本安装命令
dsh-codebase-watcher当前 未做沙盒验证 未标注 0 未标注 无
ruflo L3 · 安装规范通过 低风险 7.4 万 未标注 无
OpenViking L3 · 安装规范通过 低风险 3.9 万 未标注 无
WeKnora L4 · 沙盒安装通过 低风险 3.3 万 未标注 有
distilly L4 · 沙盒安装通过 低风险 2.5 万 未标注 有
EverOS L4 · 沙盒安装通过 低风险 1.3 万 未标注 有

仓库档案

记忆与知识
字段来自项目仓库与公开索引,中文说明由本站标注
作者 / 维护方www7olfwww仓库 dsh-codebase-watcher · 默认分支 main
分类记忆与知识memory
收录类型可安装插件声明了 dsh.bundle、可用 dsh plugin add 安装的条目
开发语言JavaScript仓库主语言
许可证MIT商用或二次分发前请确认条款原文
星标 / 复刻 / issue0 / 0 / 0收录时的数值,非实时
创建 / 更新2026-10-04 · 2026-10-07最后推送 2026-10-07
本站收录2026-10-06首次进入本站目录的时间

README 全文

10.2 KB
作者原文,中文版优先;只做安全转义,不改内容

dsh-codebase-watcher

English | 中文

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

dsh-codebase-watcher 自己判斷圖譜落後多少,只在需要時呼叫 CBM 的 CLI 重建,並把結果擺在設定頁看得見的地方。除了裝這個插件,不必改 CBM 或 DSH 的設定,也不用另外掛 systemd timer。

需求

  • Codebase Memory:需要 codebase-memory-mcp 這支 CLI,實測 0.11.0;清單外的版本可以用,卡片上會轉為警告。它不在 PATH 時卡片顯示「(未解析)」,在設定頁填 cliPath 即可。
  • Node.js ≥ 20.13,DSH ≥ 0.2.0-rc.2;兩者都由本插件的 engines 宣告。Linux 的遞迴 fs.watch 自 Node 20.13.0 才有(nodejs/node#45098),20.0–20.12 會讓每專案監看直接失敗——掃描與條件式重建不受影響。
  • 專案必須是 git 工作樹:落後判定靠 git rev-parse HEAD 與圖譜的 Branch.head_sha 對比。

安裝

npm 上還沒有這個套件,所以 add dsh-codebase-watcher 這個裸名會 404。用下面任一條完整規格:

# 1. GitHub 規格
dsh plugin --profile web add github:WwW7olFWwW/dsh-codebase-watcher

# 2. Release tarball(預先打包,免建置、免授權建置腳本)
dsh plugin --profile web add https://github.com/WwW7olFWwW/dsh-codebase-watcher/releases/latest/download/dsh-codebase-watcher.tgz

# 3. 插件市場:搜 dsh-codebase-watcher

--profile web 是這台機器上的 profile 名字,換成你自己的:dsh plugin --profile <你的 profile> add …。

設定頁接著會多一張「CBM 圖譜」卡片;沒看到就重整一次頁面。

怎麼確認裝成功

curl -s http://127.0.0.1:3080/api/codebase-watcher/state
curl -s http://127.0.0.1:3080/api/codebase-watcher/config
  • state 回得出東西,而且 status.revision 是數字 ⇒ host 半邊活著,掃描跑過至少一輪。
  • config 的 runtime 裡看得到 rebuildCooldownMs ⇒ 新世代已經載入。看不到這個欄位就是還在跑舊的模組快取,重啟 dsh web 即可。

順手關掉上游的全量重建

CBM 的 auto_index 是無條件的全量重建:圖譜剛更新過、HEAD 也沒動,開一個 session 它照樣重跑一次。實測一次 60,980 ms/資料庫 658 MB/峰值記憶體 2.8 GB。

codebase-memory-mcp config set auto_index false

不改的後果是每個 session 白燒一次約 61 秒,而且會和本插件的重建互相重複。插件啟動時偵測到它還開著,會在卡片上留一筆具名警告。

首次啟動

第一次掃描會納管 CBM 已經索引的全部專案,其中落後的會排進重建。重建全域併發 1,單次成本如上——三個專案就可能是三分鐘的 CPU 與數 GB 的峰值記憶體。先縮小範圍再放大:

  • includeProjects:只納管指定的一兩個專案,先拿一個試。
  • autoRebuild: false:只觀察、不動手,確認判定正確再說。

兩個都在設定頁改,改完立刻生效。

功能

  • 落後判定:圖譜的 Branch.head_sha 對上 git rev-parse HEAD,給出精確的 behindBy;沒有 Branch 節點時退用 indexed_at 與資料庫 mtime,證據不足就回報「無法判定」。
  • 條件式重建:只排入落後的專案;圖譜已經對上 HEAD 時,POST /rebuild 回 queued: 0,不產生任何索引工作。
  • 成效看得見:卡片有一塊「成效」,顯示本次啟動以來的重建排入/成功/失敗(被中止的另計,不算失敗)、冷卻與閘門省下的重建次數、以及累計重建耗時。
  • 側邊欄常駐指示:不開設定頁也看得到——有落後專案時一個 warn 圓點、有重建/監看/掃描失敗或專案已不在圖譜時一個 error 圓點;全部已同步時完全不渲染(安靜是預設)。它是純指示,不可點擊。

重建是以子行程呼叫 codebase-memory-mcp cli index_repository,繞過 MCP 工具那個 60 秒上限。每個已納管的專案都有檔案監看與防抖,存檔後自動追上;chokidar 不在時退回 node:fs.watch。

設定頁的卡片與 REST 控制面同源,卡片上的每個動作都能用 curl 打。卡片標題列與每個專案列各有一顆連到 CBM 圖譜 UI 的連結(?project= 直達單一專案);UI 未啟用或網址無效時不給連結,啟用但連不上時標題列仍給連結並標明「未回應」,專案列則不給。

實測

項目 結果
單元測試 node --test test/*.test.js → 244 tests / 244 pass / 0 fail(數字只增不減)
Host 半邊對真實 CBM CLI node tools/verify-keeper.mjs → 23/23
客戶端渲染(夾具,無需伺服器) node tools/verify-client.mjs --fixture-only → 316/316

這三條都能自己重跑。單元測試不需要先索引任何東西;verify-keeper 需要 CLI 在 PATH 與至少一個已索引專案;verify-client 的 --fixture-only 不需要伺服器(CI 同指令),去掉旗標的完整模式會再對執行中的 dsh web 逐值比對,數字隨 live 專案數變動。端到端那條——提交後圖譜追上、索引本身耗時——記在 docs/DEVELOPMENT.md 的驗證現況表。

重建追逐:A/B 對照

0.3.0 的「45 秒冷卻」只把重建風暴壓低頻率,沒有治好它——一個正在被編輯的專案仍然每隔一段時間燒掉一次完整重建,而每一次都在途中被中止,圖譜從頭到尾沒有追上。同一支工具在兩版上的輸出:

0.3.0 0.4.0(dirtySettleSeconds: 90)
編輯期間的重建 10 次 0 次
重建成功 0 次 1 次
被 aborted_previous_preserved 中止 10 次 0 次
停手後追上圖譜 沒有追上 追上
注入探針呼叫 214 66(−69%)
 其中 CBM CLI 112 9(−92%)

npm run bench 可重跑,零外部相依;CI 跑同一支工具並帶 --assert --settle 90,所以這種行為回來會直接紅燈。

這是比例模型,不是實機秒數。 真的 CbmKeeper、真的 node:fs.watch、真的計時器,但 git 探針/CBM CLI/重建本身是注入替身——呼叫次數就等於真實的子行程次數。時間參數等比壓縮約 1/30(比例不變,可以外推),所以「追上」的秒數要乘回去才是真實時間。

為什麼不直接用現成的

  • 同類插件:dsh-codebase-memory 自 2026-08-26 起沒有新提交(2026-10-20 查核),Linux 路徑解析必然失敗又沒有設定可以覆寫,bundle id 還會撞名。
  • CBM 內建的 auto_index:無條件全量重建,每個 session 白燒 61 秒;關掉它則完全沒有自動更新。本插件是「只在落後時重建」。
  • 宿主外部方案:systemd timer 要動宿主;一專案一 profile 要把其餘設定複製 N 份;從專案目錄啟動 DSH 不可能——DSH 由 systemd 常駐,WorkingDirectory 固定。

完整對照表在 docs/REQUIREMENTS.md 第 7 節。

相容版本

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

設定

18 個可調欄位與 7 條 REST 路由:docs/CONFIGURATION.md。欄位就在卡片上改(設定 →「CBM 圖譜」→「顯示設定」),按「儲存變更」立即生效;改壞了可以一鍵恢復預設(只清掉你改過的那些)。

狀態檔在 ~/.dsh/codebase-watcher/state.json,日誌在 ~/.dsh/codebase-watcher/keeper.log;唯讀查詢:curl -s http://127.0.0.1:3080/api/codebase-watcher/state。

已知限制

chokidar 是選用相依,缺席時退回 node:fs.watch。以家目錄為根的專案不支援 CBM 監看(上游安全政策)。圖譜的結構宣告不可作為證據。
其餘見 docs/LIMITATIONS.md。

移除

dsh plugin --profile web remove dsh-codebase-watcher
rm -rf ~/.dsh/codebase-watcher
rm -f ~/.dsh/profiles/web/node_modules/dsh-codebase-watcher

第一行的 profile 名字同樣要換成你自己的;最後一行清的是 pnpm 對 link: 套件的已知殘留:相依移除了,node_modules 裡的符號連結還在。卸載不會刪狀態目錄,要你自己刪。

開發

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

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

授權

MIT © 2026 WwW7olFWwW

常见问题

7 问
答案由本站依据条目字段整理,不引用上游原文
dsh-codebase-watcher 怎么安装?

本站没有抓到该条目的安装命令,请到仓库主页确认安装方式;这类条目多数是生态应用或尚未发布安装包的项目。

dsh-codebase-watcher 的验证等级是什么意思?

未标注验证等级。上游未给出验证结论,安装前请自行确认

dsh-codebase-watcher 安全吗?

未标注。

dsh-codebase-watcher 装之前要先确认什么?

先看它会读写哪些文件、执行哪些命令、连接哪些网络地址;验证等级只说明装得上、跑得起来,不等于安全。涉及密钥或系统权限的,建议先在隔离环境试装。

dsh-codebase-watcher 用的是什么许可证?

上游标注为 MIT。商用或二次分发前请到仓库确认许可证原文。

dsh-codebase-watcher 有哪些功能?

比对 git HEAD 精确判定图谱落后、仅对落后项目条件式重建、每项目文件监看自动追平、设置页卡片与 REST 控制面同源。

这条记录的数据可靠吗?

本站按仓库名去重后合并整理,字段以作者仓库与 npm 元数据为准;安装命令、仓库地址与 README 保持原文,带 L4 / L5 标记的安装命令已在隔离沙盒里真实跑通。

记忆与知识
按星标排序,可作替代方案

ruflo

ruflo

L3 · 安装规范通过 7.4 万 星

OpenViking

OpenViking

面向 DeepSeek Harness 的 OpenViking 记忆与上下文插件:pre-step 自动召回与画像注入、会话捕获、`vik

L3 · 安装规范通过 3.9 万 星

WeKnora

WeKnora

把 WeKnora 知识库接入 dsh 的四个只读工具:列出知识库、混合检索原文片段、按顺序还原单篇文档,以及直接取用 WeKnora 自己

L4 · 沙盒安装通过 3.3 万 星

distilly

distilly

Distilly — Distill how they think into reusable Skills for any Agent o

L4 · 沙盒安装通过 2.5 万 星

EverOS

EverOS

L4 · 沙盒安装通过 1.3 万 星

MemOS

MemOS

L4 · 沙盒安装通过 1.2 万 星

www7olfwww 的其它插件

1 个

插件的元信息来自作者仓库;分类、验证等级与安全结论的中文说明为中文整理,最近核验 —。