前言¶
DeepSeek Harness(DSH)採用“一切皆插件”的架構。隨着插件數量增加,同名服務註冊、版本漂移等問題會引發衝突,導致 DSH 閃退。DSH 衝突管家(P2M)用於自動攔截此類衝突,按插件累計使用時長排序並隔離肇事插件,同時提供統一的插件啓停與優先級管理。
它是什麼¶
dsh-p2m 是一個由 GiantAxeint 維護的 DSH 插件衝突管理器。它屬於 admin-security 類別,採用 MIT 許可證。
P2M 的核心作用是:
1. 自動攔截:攔截同名服務註冊、版本漂移等會導致 DSH 閃退的衝突。
2. 優先級與隔離:按用時排序,隔離肇事插件。
3. 統一管理:統一管理插件啓停、動態維護優先級。
核心能力¶
根據已覈實的事實,該插件具備以下能力:
- 自動攔截與隔離:自動攔截同名服務註冊、版本漂移等衝突,按用時排序並隔離肇事插件。
- 試用門禁:新插件啓用前在子進程中試跑,若崩潰則提供“取消開啓”或“無視風險繼續使用”的選項。
- 啓動前體檢:啓動前進行 peer 版本體檢和靜態掃描全補丁層。
- 零運行時依賴:插件自身不依賴運行時環境,連 YAML 解析器也內置。
- 統一管理:統一管理插件啓停、動態維護優先級。
安裝與啓用¶
環境要求:DSH(CLI 全局安裝)、Node ≥ 18。
使用官方 CLI 安裝:
dsh plugin --profile web add github:GiantAxeint/DSH-P2M
安裝後,P2M 會自動工作。其 Entry ID 固定爲 p2m,Guard 自愈機制依賴此 ID,請勿修改。
工作機制¶
P2M 採用分層優先級機制:
* Tier 0:DSH 本體(識別規則:name 以 @deepseek-ai/ 開頭,或配置的 coreEntryIds)。
* Tier 1:P2M 自身(Entry ID 爲 p2m)。
* Tier 2:其他插件(按 usage.json 累計使用毫秒降序排序)。
決策鐵律:
* 任何決策永遠不禁用 Tier 0 和 Tier 1。
* 同層衝突犧牲“用時短者”。
數據與日誌¶
P2M 的數據存儲在 <DSH_HOME>/p2m/(默認 ~/.dsh/p2m/)。
關鍵文件:
* plugin-guard.yml:唯一 guard 文件,被禁插件的持久名單。
* usage.json:每插件累計使用時長臺賬。
* incidents.jsonl:衝突/隔離/恢復的流水日誌。
* state.json:P2M 自身狀態。
日誌示例:
每次 DSH 啓動加載 P2M 時,日誌中會出現一行:
[p2m] boot #11 | guard=<...> | autoIsolate=true
boot #N 表示本機累計第 N 次成功執行 boot 例程。
API 調用¶
在 DSH 運行期,可通過 ctx.p2m 調用以下方法:
- 列表與狀態:
ctx.p2m.list(),ctx.p2m.status() - 臺賬與流水:
ctx.p2m.usage(),ctx.p2m.incidents(n) - 衝突管理:
ctx.p2m.scanConflicts(),ctx.p2m.enable(id),ctx.p2m.disable(id) - 體檢與門禁:
ctx.p2m.preflight(),ctx.p2m.trial(id)
注意事項¶
- Entry ID 固定:P2M 的 entry id 固定爲
p2m,Guard 自愈機制依賴它。 - 決策邊界:涉及 DSH 本體與自身的決策永遠只報告、不自動禁用。
- 安裝限制:官方
dsh plugin add是“下載即重啓”流,P2M 無法在重啓前介入該流。
總結¶
P2M 是一個爲 DSH 插件系統提供衝突檢測、隔離與優先級管理的工具。它通過試用門禁和啓動前體檢,降低了插件衝突導致的閃退風險,適合需要管理大量 DSH 插件的用戶。