DeepSeek Harness 插件:dsh-update-checker

前言

DeepSeek Harness (DSH) 採用插件化架構,工具鏈的版本迭代會直接影響運行時的兼容性與功能表現。保持 Harness 本身更新是日常維護中容易被忽略的一環。dsh-update-checker 旨在解決這個問題,它作爲一個配置文件插件,會在啓動時自動檢查 npm 倉庫中的新版本,並在 Web 界面側邊欄提供直觀的更新提示。

這是什麼

dsh-update-checker 是 DSH 的一個 Profile 插件,由 HarryLi-7 維護。其核心作用是監控 @deepseek-ai/dsh 包的發佈情況,當檢測到新版本時,在 Web 界面側邊欄顯示靜默的 GUI 提示,點擊即可進行更新操作。該插件採用 MIT 許可證。

核心功能

該插件實現了以下功能:

  1. 版本檢查機制
    • 啓動時檢查 registry.npmjs.org/@deepseek-ai/dsh(非阻塞啓動)。
    • 檢查結果緩存 6 小時,在 Web GUI 中每 30 分鐘重新輪詢一次。
  2. 智能顯示
    • 僅在檢測到實際存在新版本時顯示提示。
    • 若註冊表不可達或網絡錯誤,靜默失敗,不會報錯或顯示錯誤信息。
  3. 側邊欄交互
    • 在 Web 側邊欄底部顯示一個頁腳項。
    • 展開狀態下顯示圖標及版本號(如 “vX.Y.Z 可用”)。
    • 摺疊狀態下僅顯示圖標。
  4. 操作彈窗
    • 點擊提示後彈出 Popover,顯示當前版本與最新版本。
    • 提供一鍵複製更新命令的功能。
    • 提供跳轉至 npm 頁面的鏈接。
    • 提供“忽略此版本”選項,用於屏蔽特定版本的提示。
  5. 設計與資源
    • 自動適配 DSH GUI 的設計系統(使用 --dsw-* 令牌)。
    • 零磁盤佔用,運行時爲純內存操作。
    • 僅持久化存儲用戶忽略的版本號(存儲於瀏覽器 localStorage,鍵名爲 dsh-update-checker.dismissed)。

安裝與啓用

安裝此插件需要確保環境已安裝 pnpm。

# 從包含插件的目錄執行
dsh plugin --profile web add ./dsh-update-checker

安裝完成後,可以通過以下命令驗證配置是否生效:

dsh --profile web --dump-config

若輸出中包含 # == dsh-update-checker 層,說明配置成功。對於正在運行的 Harness,插件需要重啓後纔會生效,因爲 Profile 的 package.json 不支持熱重載。

典型用法

當插件檢測到新版本時,側邊欄會顯示提示。點擊提示彈窗中的複製按鈕,即可獲取更新命令:

npx --yes @deepseek-ai/dsh@latest --profile web

停止當前 Harness 進程,在終端運行上述命令,隨後重新打開 GUI 即可完成更新。

若需卸載插件,執行:

dsh plugin --profile web remove dsh-update-checker

適用場景與注意

此插件適合需要頻繁更新 DSH Harness 以獲取最新功能或修復的開發者。使用時請注意:
* 插件以當前 DSH 進程的權限運行,建議在使用前檢查源碼與許可證。
* 舊版本 DSH 不支持 dsh plugin 命令,需手動將插件文件複製至 $DSH_HOME/profiles/packages/ 並編輯 cordis.patch.yml。

總結

dsh-update-checker 提供了一種低侵入式的方式管理 Harness 的版本更新。通過側邊欄的靜默提示,開發者可以及時獲知可用更新,減少因版本滯後帶來的潛在問題。更多細節與源碼可參考項目主頁。

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

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

小夜