前言¶
DeepSeek Harness(DSH)把大量行爲放進 profile、cordis.patch.yml 和各類 bundle。升級 DSH、增刪插件或改 patch 之後,常見困惑是:新選項爲什麼沒生效、舊配置被誰覆蓋、工作區裏有沒有衝突或明文密鑰。人工 diff 成本高,也不一定覆蓋資產體積和工具調用統計。
dsh-config-guard 是掛在 DSH 設置頁上的只讀診斷插件:彙總配置繼承關係、資產與衝突項、工作區健康分,以及基於宿主會話緩存的工具使用統計。它不寫配置、不落狀態、不導出憑證、不發外部請求。
這是什麼¶
維護者 lixiaojie(GitHub:lixiaojie/dsh-config-guard)。目錄分類爲 admin-security。當前 package.json 版本爲 0.2.0,許可證 MIT。
定位一句話:Read-only DeepSeek Harness settings plugin——配置繼承清單、資產與衝突報告、工作區健康度、真實工具使用情況,且不寫任何內容。
與同一倉庫內的「完整版」(scripts/dsh-config-guard/)相比,本發佈樹只保留檢查能力:沒有逐項補齊、臨時關閉、導出/導入遷移包等寫路徑;test/readonly.test.js 約束非 GET 請求被拒、完整讀取不改 profile 目錄。
核心功能¶
下面按 README 中「它能回答什麼」歸納,均可在設置頁「配置繼承守衛」中查看。
配置繼承與升級影響¶
- 每行配置標註:
完全繼承、需補齊、已釘住、第三方行,並列出缺失的鍵——用於排查「升級後新選項爲什麼沒生效」。 - 彙總需補齊的行數,以及版本釘住的依賴、未啓用的 bundle——用於評估「升級會丟掉什麼」。
工作區資產與衝突¶
- 對 20 類資產統計文件數與體積。
- 衝突檢查包括:孤兒配置行、失效的
link:、已被移除的 bundle、明文密鑰、未登記技能等。
工具使用與會話統計¶
- 讀取
~/.dsh/storages/session_projcache/sessions/*.json中的按日工具計數(無消息正文、無會話回放)。 - 展示覆蓋窗口、會話數、高頻工具、在用模型等,回答「這些工具是否真的在用」。
工作區健康度¶
- 0–100 分評分;建議僅爲文字,無一鍵執行類按鈕。
profile 快照(只讀版行爲)¶
自 v0.4 起,完整版會滾動快照 package.json(bundle 名單)、cordis.patch.yml、preset-overrides.json 並與上一份對比。本只讀版不寫快照:若完整版曾留下快照則用於對比;新裝環境以靜態不變量檢查爲主。cookie 計數爲對桌面端 Cookies 庫的只讀聚合,打不開則標爲不可用且不拋錯。
宿主接口與數據邊界¶
讀: cordis.patch.yml、profile 的 package.json、ctx.configEditor.configuration()、資產目錄,以及上述會話緩存 JSON。
寫: 無。lib/ 中無 writeFileSync / copyFileSync / rmSync,無 configEditor.edit;卸載後不留痕跡。
HTTP 僅兩個 GET:/config-guard/state、/config-guard/assets;其它方法返回 405,未知路徑 404。
安裝與啓用¶
要求 Node >=20。DSH 側 package.json 聲明兼容 >=0.2.1-rc.5,在 0.2.2-rc.1 上測試;依賴宿主能力包括 webServer、configEditor、pluginManager、appReady。
安裝步驟:
- 在插件包目錄執行下列命令(資料原文,勿用憑空的
dsh plugin add拼接):
node install.mjs --profile desktop
- 重啓 DSH。
- 打開 設置 → 配置繼承守衛。
卸載與演練:
node install.mjs --profile desktop --uninstall
node install.mjs --profile desktop --dry-run
--dry-run 只打印計劃,不實際安裝。
典型用法¶
安裝並重啓後,從設置頁進入「配置繼承守衛」即可,無需額外配置文件字段(資料未列出用戶側配置項)。
可依次查看:
- 分類清單與健康度、檢查項。
- 配置繼承行級標註與缺失鍵。
- 資產體積與衝突列表。
- 工具調用聚合(基於宿主已有緩存)。
倉庫內測試命令供維護者或自審源碼時使用:
node --test test/*.test.js
node test/smoke.mjs
只讀冒煙會驗證 GET 通過、非 GET 被拒、profile 目錄零新增。
適用場景與注意¶
適合: 長期在單 profile 上疊 patch 與 bundle 的 DSH 用戶;升級前後想快速看清「需補齊」與衝突;想對照會話統計判斷 MCP/工具是否閒置。
注意:
- 插件以當前 DSH 進程權限運行,能讀到的配置與會話緩存都會納入報告;安裝前應閱讀 GitHub 倉庫 源碼與 MIT 許可證。
- 設置頁截圖說明使用示例數據,非真實用戶配置。
- 社區目錄站(如 skillhub 插件頁)與 DeepSeek / 幻方無官方從屬;發現與安裝渠道以目錄站與 README 爲準,本 README 說明 npm 包名
dsh-config-guard用於目錄站從 npm 安裝的路徑,與本地install.mjs流程並列存在,按你實際採用的發佈渠道操作。
結尾¶
dsh-config-guard 把配置繼承、資產衝突、健康分與工具使用收成一份只讀報告,適合在改 patch 或升級 DSH 前先掃一眼。詳情與源碼見 GitHub,目錄入口見 skillhub 插件頁。