DeepSeek Harness 插件:dsh-autoupdate(受保護的自動更新與回滾)

DeepSeek Harness (DSH) 採用插件化架構。在維護 DSH 實例時,手動更新核心 CLI 或依賴項容易因版本不匹配或文件鎖定導致服務中斷。dsh-autoupdate 插件通過受保護的更新管道解決了這一問題,確保更新過程安全可控。

插件定位

dsh-autoupdate 是 DeepSeek Harness 的內置自動更新插件。它由維護者 lc23313 開發,採用 MIT 許可證。該插件通過設置頁提供手動檢查入口,並實現了完整的更新事務保護機制,包括健康檢查、自動回滾以及基於熔斷器的降級策略。

核心功能

  • 設置頁 UI:在 DSH 設置頁面添加了“檢查更新”按鈕,提供確認對話框以觸發更新流程。
  • 受保護的更新管道:採用“退出時應用”機制。守護進程在 DSH 進程退出後執行安裝,避免 Windows 環境下的文件鎖定問題。
  • 精確版本與驗證:安裝過程中鎖定精確版本,通過雙重驗證(清單版本 + 二進制運行驗證)確認更新成功。
  • 自動回滾:若更新過程中出現任何失敗,系統會自動回滾到前一版本。
  • 熔斷與降級:內置熔斷器,根據連續失敗次數自動將模式降級爲 auto -> notify -> off。
  • 任意 Dist-Tag 支持:支持跟蹤任何 npm dist-tag(如 latest, rc 等)。

安裝與啓用

通過官方插件渠道安裝:

dsh plugin --profile web add dsh-autoupdate

安裝完成後,重啓 DSH 進程以使插件生效。可以通過以下命令驗證插件是否已註冊:

dsh --dump-config --profile web

典型用法

安裝完成後,插件會自動初始化。狀態和日誌文件位於:
$DSH_HOME/plugins-data/dsh-autoupdate/

查看當前狀態和查看日誌的常用命令:

cat $DSH_HOME/plugins-data/dsh-autoupdate/state.json
cat $DSH_HOME/plugins-data/dsh-autoupdate/autoupdate.log

安全與信任

該插件設計上側重於安全性:
* 最小化權限:僅生成 npm 命令(版本查詢和全局安裝)以及可選的 dsh plugin 命令。
* 隔離寫入:絕不寫入 DSH 擁有的文件(如 settings.yaml 或配置文件)。
* 審計日誌:所有決策過程均記錄在 autoupdate.log 中,便於審計。
* 版本鎖定:安裝過程始終鎖定檢查時解析的精確版本。

依賴要求

使用該插件需要滿足以下環境條件:
* Node.js >= 18
* @deepseek-ai/cordis >= 4.0.0
* @deepseek-ai/schemastery >= 1.0.0

相關鏈接

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

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

小夜