DSH 版本檢測 | dsh-sm-version-display

前言

下面介紹 DeepSeek Harness(DSH)Web 插件 dsh-sm-version-display。這個插件用於在 Web 界面的側邊欄“設置”按鈕上方顯示當前已安裝的 dsh 版本,並檢測 npm registry 與官方 GitHub Release 的新版本。

安裝該插件後,你可以在界面直接查看當前 DSH 版本、比較 npm 與 GitHub 的版本信息,以及通過插件內置的流程執行更新或管理備份。插件由維護者 hjj345 開發,遵循 MIT 許可證。

核心功能

側邊欄版本卡片

插件在側邊欄底部“設置”按鈕上方顯示一個圓角版本卡片,該卡片獨佔一行。

  1. 運行時讀取:host 半區在渲染頁面時讀取已安裝的 @deepseek-ai/dsh 版本,DSH 升級並重啓後自動跟隨。
  2. 安全回退:host 版本暫時不可用時顯示“版本未知”,不會猜測或僞造固定版本。
  3. 交互功能:卡片內提供刷新按鈕,檢查期間顯示加載狀態,完成後顯示 DSH 原生 Toast。
  4. 響應式與主題:側邊欄摺疊爲窄欄時顯示圓形版本圖標,文本空間不足時自動換行。卡片和圖標會跟隨淺色和深色主題適配,並使用 DSH 設計系統變量。
  5. 懸停提示:鼠標懸停在卡片或窄欄圖標上時,會顯示插件英文名 dsh-sm-version-display 及當前版本。

版本檢測與比較

插件會自動檢測並比較 npm 和 GitHub 兩個來源的版本。

  1. 檢測觸發:頁面加載、每 30 分鐘以及窗口重新回到前臺時進行檢查。結果在 DSH 進程內緩存,設置頁重新打開後仍可查看。
  2. 來源:
    • npm:檢測官方 npm registry。
    • GitHub:檢測官方 GitHub Release。
  3. 容錯機制:GitHub API 受限時自動改用官方 Releases Atom Feed;npm 檢測不受影響。
  4. 版本類型:GitHub 版本區分預發佈 Alpha、測試版 Beta、公測版 RC 和正式版 Release。
  5. 語義化比較:內置輕量版本比較邏輯,支持 Alpha、Beta、RC、正式版和多位數字版本號比較。

DSH 設置頁

在 DSH 設置中註冊了“DSH版本檢測”一級頁面,整體復刻參考插件的設計。

  1. 設置卡片:包含插件名稱、副標題、開關、通用設置、關於插件和安裝命令。
  2. 三語支持:支持簡體中文、English、繁體中文,默認簡體中文,並持久化語言選擇。
  3. 展開式檢測:在設置頁按鈕下方並排顯示 npm 與 GitHub 版本、類型、發佈時間、Release 鏈接、當前安裝方式和插件管理方式。
  4. 排序位置:位於參考插件 sm-context-piano(排序 21)下方,使用默認齒輪圖標(排序 22)。

更新與備份

插件提供了完整的更新流程和備份管理能力。

雙路徑更新

  1. 自動更新:更新前必須確認風險,默認備份。支持 host 後臺自動執行,自動更新時顯示執行命令、實時輸出、成功/失敗狀態和重啓要求。
  2. 手動更新:打開完整命令和步驟,支持手動逐條執行。更新前建議備份 .dsh 配置和 profile 數據。
  3. 安全限制:僅執行 host 內固定的精確版本命令;請求僅限本機迴環地址;GitHub 源碼版本無對應 npm 包時僅提供手動構建步驟。

備份管理

  1. 備份選擇:更新確認時默認備份,也可明確跳過(跳過後本次更新不提供備份回滾)。可選擇 DSH 所在電腦上的保存目錄,並記住上次位置。
  2. 備份查看:統一查看默認及已登記自定義目錄中的完整、失敗和中斷備份,顯示實際文件大小合計,支持刷新、掃描指定目錄。
  3. 備份刪除:支持批量刪除已登記目錄中的備份。刪除備份不可撤銷;刪除當前任務對應的完整備份後,該任務將無法回滾。正在使用的備份不允許刪除。
  4. 失敗恢復:備份失敗後顯示停止時間、原因和已複製大小,可重新備份並重試。只有完整且校驗通過的對應備份才能回滾。

安裝與啓用

先執行安裝命令,插件會安裝到 DSH Web profile 中:

dsh plugin --profile web add @hjj345345/dsh-sm-version-display

安裝完成後,需要重啓 DSH Web 服務以使插件生效:

dsh web

使用示例

安裝完成後,你可以通過以下方式使用插件:

  1. 檢查語法:在插件根目錄下檢查源碼語法。
    npm run check
  1. 構建插件:執行構建命令打包 host 和 client 半區。
    npm run build
  1. 打開設置:在 DSH 界面打開設置,選擇“DSH版本檢測”頁面進行版本檢測、更新或備份管理。

安全與隱私

插件在設計和實現上遵循安全原則:

  1. 權限範圍:host 半區只讀取本機已安裝的 DSH 包清單中的版本字段和安裝路徑類型,不向瀏覽器暴露絕對路徑。
  2. 請求隔離:更新路由只接受本機迴環地址和匹配 token,命令和參數在 host 內固定,不接受瀏覽器傳入任意命令。
  3. 數據安全:請求不攜帶 DSH 登錄憑據、會話內容或用戶文件,插件也不會讀取聊天內容。
  4. 備份邏輯:備份列表不掃描整臺電腦,僅掃描指定目錄;大小爲備份普通文件的邏輯大小合計,不包含鏈接目標。備份不會跟隨備份內鏈接刪除外部文件。
羽毛球分组比赛记分
小程序二维码

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

小夜