前言¶
下面介紹 DeepSeek Harness(DSH)Web 插件 dsh-sm-version-display。這個插件用於在 Web 界面的側邊欄“設置”按鈕上方顯示當前已安裝的 dsh 版本,並檢測 npm registry 與官方 GitHub Release 的新版本。
安裝該插件後,你可以在界面直接查看當前 DSH 版本、比較 npm 與 GitHub 的版本信息,以及通過插件內置的流程執行更新或管理備份。插件由維護者 hjj345 開發,遵循 MIT 許可證。
核心功能¶
側邊欄版本卡片¶
插件在側邊欄底部“設置”按鈕上方顯示一個圓角版本卡片,該卡片獨佔一行。
- 運行時讀取:host 半區在渲染頁面時讀取已安裝的
@deepseek-ai/dsh版本,DSH 升級並重啓後自動跟隨。 - 安全回退:host 版本暫時不可用時顯示“版本未知”,不會猜測或僞造固定版本。
- 交互功能:卡片內提供刷新按鈕,檢查期間顯示加載狀態,完成後顯示 DSH 原生 Toast。
- 響應式與主題:側邊欄摺疊爲窄欄時顯示圓形版本圖標,文本空間不足時自動換行。卡片和圖標會跟隨淺色和深色主題適配,並使用 DSH 設計系統變量。
- 懸停提示:鼠標懸停在卡片或窄欄圖標上時,會顯示插件英文名
dsh-sm-version-display及當前版本。
版本檢測與比較¶
插件會自動檢測並比較 npm 和 GitHub 兩個來源的版本。
- 檢測觸發:頁面加載、每 30 分鐘以及窗口重新回到前臺時進行檢查。結果在 DSH 進程內緩存,設置頁重新打開後仍可查看。
- 來源:
- npm:檢測官方 npm registry。
- GitHub:檢測官方 GitHub Release。
- 容錯機制:GitHub API 受限時自動改用官方 Releases Atom Feed;npm 檢測不受影響。
- 版本類型:GitHub 版本區分預發佈 Alpha、測試版 Beta、公測版 RC 和正式版 Release。
- 語義化比較:內置輕量版本比較邏輯,支持 Alpha、Beta、RC、正式版和多位數字版本號比較。
DSH 設置頁¶
在 DSH 設置中註冊了“DSH版本檢測”一級頁面,整體復刻參考插件的設計。
- 設置卡片:包含插件名稱、副標題、開關、通用設置、關於插件和安裝命令。
- 三語支持:支持簡體中文、English、繁體中文,默認簡體中文,並持久化語言選擇。
- 展開式檢測:在設置頁按鈕下方並排顯示 npm 與 GitHub 版本、類型、發佈時間、Release 鏈接、當前安裝方式和插件管理方式。
- 排序位置:位於參考插件
sm-context-piano(排序 21)下方,使用默認齒輪圖標(排序 22)。
更新與備份¶
插件提供了完整的更新流程和備份管理能力。
雙路徑更新¶
- 自動更新:更新前必須確認風險,默認備份。支持 host 後臺自動執行,自動更新時顯示執行命令、實時輸出、成功/失敗狀態和重啓要求。
- 手動更新:打開完整命令和步驟,支持手動逐條執行。更新前建議備份
.dsh配置和 profile 數據。 - 安全限制:僅執行 host 內固定的精確版本命令;請求僅限本機迴環地址;GitHub 源碼版本無對應 npm 包時僅提供手動構建步驟。
備份管理¶
- 備份選擇:更新確認時默認備份,也可明確跳過(跳過後本次更新不提供備份回滾)。可選擇 DSH 所在電腦上的保存目錄,並記住上次位置。
- 備份查看:統一查看默認及已登記自定義目錄中的完整、失敗和中斷備份,顯示實際文件大小合計,支持刷新、掃描指定目錄。
- 備份刪除:支持批量刪除已登記目錄中的備份。刪除備份不可撤銷;刪除當前任務對應的完整備份後,該任務將無法回滾。正在使用的備份不允許刪除。
- 失敗恢復:備份失敗後顯示停止時間、原因和已複製大小,可重新備份並重試。只有完整且校驗通過的對應備份才能回滾。
安裝與啓用¶
先執行安裝命令,插件會安裝到 DSH Web profile 中:
dsh plugin --profile web add @hjj345345/dsh-sm-version-display
安裝完成後,需要重啓 DSH Web 服務以使插件生效:
dsh web
使用示例¶
安裝完成後,你可以通過以下方式使用插件:
- 檢查語法:在插件根目錄下檢查源碼語法。
npm run check
- 構建插件:執行構建命令打包 host 和 client 半區。
npm run build
- 打開設置:在 DSH 界面打開設置,選擇“DSH版本檢測”頁面進行版本檢測、更新或備份管理。
安全與隱私¶
插件在設計和實現上遵循安全原則:
- 權限範圍:host 半區只讀取本機已安裝的 DSH 包清單中的版本字段和安裝路徑類型,不向瀏覽器暴露絕對路徑。
- 請求隔離:更新路由只接受本機迴環地址和匹配 token,命令和參數在 host 內固定,不接受瀏覽器傳入任意命令。
- 數據安全:請求不攜帶 DSH 登錄憑據、會話內容或用戶文件,插件也不會讀取聊天內容。
- 備份邏輯:備份列表不掃描整臺電腦,僅掃描指定目錄;大小爲備份普通文件的邏輯大小合計,不包含鏈接目標。備份不會跟隨備份內鏈接刪除外部文件。