DeepSeek Harness (DSH) 採用插件化架構,這意味着擴展功能非常靈活,但也帶來了風險:一個編寫不當的插件可能在啓動時拋出異常,導致整個 Web UI 崩潰。dsh-plugin-guard 是爲此設計的插件,它通過隔離機制,確保單個插件的故障不會拖垮整個系統。
它是什麼¶
dsh-plugin-guard 是 DSH 的安全守護插件。它在 Settings → Plugins 中提供一個專門的 Plugin Guard 標籤頁。該插件監控用戶配置的插件,掃描其完整性,並在檢測到損壞或異常時將其隔離,確保 Web 客戶端始終能夠正常啓動。
核心功能¶
- 掃描與隔離:自動驗證所有用戶安裝的插件。對於會在啓動時導致崩潰的插件,將其隔離並標記爲“損壞”,同時保持 Web 客戶端運行。
- 插件控制:支持啓用、暫停或卸載用戶插件。這些配置會持久化保存到配置文件中。
- 雙語界面:界面支持英文和中文,並會自動跟隨 DSH 的語言設置。
- 一鍵自更新:通過 npm 檢查新版本,並提供“Update now”按鈕,支持直接在插件界面內更新自身。
- 獨立修復腳本:提供
lib/profile-guard.js,可在 Web 客戶端啓動前運行,修復受損的配置文件。
安裝與啓用¶
使用 DSH CLI 安裝:
dsh plugin --profile web add dsh-plugin-guard
如果需要手動安裝,需編輯 <dsh-home>/profiles/web/package.json:
{
"dependencies": {
"dsh-plugin-guard": "^0.1.0"
},
"dsh": {
"profile": {
"bundles": ["dsh-plugin-guard"]
}
}
}
然後在該配置文件目錄下運行 pnpm install(或 npm install),最後重啓 Web 客戶端。
典型用法¶
1. 更新插件
打開 Settings → Plugins → Plugin Guard,點擊 Update now 按鈕,等待安裝完成後重啓 Web 客戶端。
2. 修復受損配置
如果 Web 客戶端因插件損壞而無法啓動,可以直接運行守護腳本來修復:
node <dsh-home>/profiles/web/node_modules/dsh-plugin-guard/lib/profile-guard.js
注意事項¶
- 權限與範圍:該插件不會修改 DSH 應用程序安裝目錄,僅維護用戶配置文件(如
package.json、cordis.patch.yml)。 - 網絡請求:僅向 npm registry 發起只讀的版本檢查請求,不發送任何數據或進行遙測。
- 生效時機:禁用或卸載該插件需要重啓 DSH 才能生效。
總結¶
dsh-plugin-guard 爲 DSH 生態提供了一道安全防線。通過隔離機制和自更新能力,它解決了“壞插件拖垮系統”的痛點。對於依賴插件化架構的開發者而言,這是一個保障開發環境穩定性的必要工具。