前言¶
DeepSeek Harness (DSH) 採用“一切皆插件”的架構。當插件安裝、升級或運行時出現異常——例如啓動失敗、服務靜默失效或依賴關係斷裂——傳統的排查手段往往難以定位根因。dsh-repair 插件旨在提供一套針對 DSH 部署的診斷與修復技能,解決這些問題。
是什麼¶
這是一個由 gezi-wen 維護的 DSH 插件。它包含一份技能,隨插件一同進入 agent 的技能目錄。該技能專注於修復安裝失敗、死插件、依賴橋損壞以及升級過程中的問題。
安裝¶
使用官方命令安裝:
dsh plugin --profile web add dsh-repair
核心功能¶
插件通過一系列腳本和技能覆蓋了 DSH 運維中的常見痛點:
-
啓動與文件系統故障
- 檢測 Boot 在 readiness 階段之前崩潰的情況(如
ERR_MODULE_NOT_FOUND、cannot resolve profile bundle)。 - 修復插件
node_modules中 junction/symlink 穿透損壞的問題。 - 通過
link-doctor.js審計或修復 symlink 與 junction。
- 檢測 Boot 在 readiness 階段之前崩潰的情況(如
-
運行時靜默失效
- 診斷服務靜默失效的情況,例如模型頁缺少提供方、按鈕失效等。
- 處理配置能解析但
apply拋異常的問題。 - 解決適配器靜默丟棄它目錄裏沒有的模型 id 的情況。
- 使用
inspect-session.js從會話文件提取運行時證據。
-
依賴橋
- 處理樹外插件(
link:)拿不到宿主核心包時的橋機制。 - 使用
bridge-doctor.js進行只讀體檢。 - 使用
bridge-rebuild.js重建依賴橋(優先 dry-run)。
- 處理樹外插件(
-
升級流程
- 升級前:停實例、備份、隔離預演。
- 升級後:三層驗證與
settings.yaml複查。
-
Windows 遠程作業
- 跨機經 SSH 收拾 Windows 上的 DSH 時,覆蓋進程生命週期、引號轉義、PowerShell、pnpm junction、路徑漂移等坑點。
腳本用法¶
插件附帶六個腳本,用於具體修復操作:
bridge-doctor.js:依賴橋體檢與重建。bridge-rebuild.js:依賴橋重建(dry-run 優先)。bridge-lib.js:共用探測邏輯。dep-diff.js:比較兩棵node_modules版本表。inspect-session.js:從會話文件取運行時證據。link-doctor.js:審計/修復 symlink 與 junction。
技術細節¶
- 包類型:本包是 ESM 包,但上述六個腳本使用 CommonJS 編寫。
- 路徑解析:路徑一律從
--home或$DSH_HOME解析,沒有寫死任何一臺機器,支持跨機操作。 - 許可:MIT 許可證。
注意事項¶
- 本插件以當前 dsh 進程權限運行,安裝前應檢查源碼與許可證。
- 安裝時,包內的
skills/會被註冊爲一個技能根。
參考資料¶
- 插件目錄:https://www.skillhub.cn/plugins/gezi-wen/dsh-repair
- 代碼倉庫:https://github.com/gezi-wen/dsh-repair