dsh-version-autoupdate:DeepSeek Harness 版本膠囊與一鍵更新

前言

DeepSeek Harness(DSH)的設計理念是“一切皆插件”,這使得通過插件管理運行時版本變得必要。在多環境部署中,手動檢查 Web 進程版本、磁盤版本以及 npm 上的最新發布,並完成安裝與重啓,是一個重複且容易出錯的流程。dsh-version-autoupdate 是一個雙面 Cordis 插件,旨在通過一個可拖動的浮動膠囊,提供可視化的版本檢測、安裝和確認重啓工作流。

功能

該插件主要提供以下能力:

  1. 版本可視化:顯示可拖動的浮動版本膠囊,實時反映運行版本、磁盤版本和 npm 目標版本。
  2. 自動檢測:默認每 60 秒檢測一次版本狀態;執行更新期間會加快刷新頻率。
  3. 包管理支持:支持 npm、pnpm 和 Yarn Classic 的全局安裝。
  4. API 與系統集成:提供 HTTP API 用於狀態查詢和更新操作;支持離線安裝和 systemd 服務管理。
  5. 靈活的更新策略:支持 preview(含 alpha/rc)和 stable(僅正式版)兩個渠道。

安裝與啓用

通過 npm 全局安裝該插件包:

npm i -g dsh-version-autoupdate

安裝完成後,通過 DSH 的插件管理流程加載該包。該包聲明瞭 dsh.bundle.patch 和 exports["./client"]。如果需要手動配置 profile,Host 插件行配置如下:

- id: dsh-version-autoupdate
  name: dsh-version-autoupdate
  config:
    channel: preview
    updatePolicy: platform

啓動或重啓 dsh web 後,通過浮動膠囊查看版本並執行檢查、安裝、確認重啓。

配置

插件提供以下配置項:

字段 默認值 說明
packageManager npm 指定包管理器,支持 npm、pnpm、yarn 或 auto。
packageManagerPath 無 包管理器可執行文件的絕對路徑(仍會覈對全局安裝目錄)。
channel preview 更新渠道。preview 取語義化最高版本(含 alpha/rc);stable 僅取正式版,無正式版時回退。
updatePolicy platform 更新策略。platform 默認:Windows 允許 CLI 更新,Linux/macOS 僅檢測。full 可啓用支持的 CLI 更新操作。
minAvailableMemoryMb 400 Linux 可用內存低於閾值時拒絕更新,設爲 0 可關閉。
installTimeoutMs 1200000 安裝總超時時間(默認 20 分鐘)。
offlineInstall auto 離線安裝策略。always / never 可覆蓋,隨包模板使用 never。
systemdUnit dsh-web.service 離線安裝時用於停止和啓動的 systemd unit 名稱。
restartDelayMs 2000 確認重啓後的延遲時間。

重啓日誌、離線日誌和狀態文件存儲在非空的 DSH_HOME 中(未設置時默認爲 ~/.dsh)。插件未提供獨立的 home 配置項。

使用與限制

  1. 全局安裝限制:只有當包管理器的全局目錄與當前運行包的真實路徑一致時,才執行全局安裝。npx、本地項目、源碼或未知安裝來源不執行全局安裝。
  2. 桌面版差異:桌面版請使用 DSH 官方更新流程;插件尚未接入桌面原生 updates bridge,桌面版和 npx 不提供進程重啓功能。
  3. Windows 行爲:Windows 不自動重啓,需要用戶手動點擊確認。
  4. API 接口:插件提供以下 HTTP API:
    • GET /dsh-version-updater/status
    • POST /dsh-version-updater/check
    • POST /dsh-version-updater/install
    • POST /dsh-version-updater/restart
    • POST /dsh-version-updater/start-update(兼容舊入口)

結尾

dsh-version-autoupdate 爲 DSH 插件開發者提供了一個可視化的版本管理方案,通過標準化的 Host 配置和 HTTP API,能夠較好地融入現有的部署流程。在使用前,請務必確認包管理器的全局目錄路徑與運行環境一致,並根據操作系統策略選擇合適的 updatePolicy。

GitHub 倉庫

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

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

小夜