dsh-plugin-guard:防止插件崩潰的守護插件

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 生態提供了一道安全防線。通過隔離機制和自更新能力,它解決了“壞插件拖垮系統”的痛點。對於依賴插件化架構的開發者而言,這是一個保障開發環境穩定性的必要工具。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜