dsh-update-notifier:DeepSeek Harness 插件版本巡檢工具

DeepSeek Harness 的核心理念是“一切皆插件”。當插件安裝後,如果不主動查詢,很難察覺其是否更新。dsh-update-notifier 解決了這一信息差,通過定時掃描,在版本更新時請求用戶確認。

這是什麼

這是一個由 Stuart Hu 維護的插件,用於監控已安裝 DSH 插件的 npm 版本。它每小時對比一次本地安裝與註冊表的 latest 標籤,發現新版本時通過 UI 氣泡請求批准。它本身從不執行升級,而是將批准指令交給 DSH Agent 執行。

核心功能

  1. 定時與手動檢查:默認每小時檢查一次,也可通過 /check-updates 命令立即手動觸發。
  2. 審批氣泡:新版本以氣泡形式呈現,用戶勾選後,Agent 執行升級。
  3. 記憶拒絕:未勾選的版本會被記錄在 <profileDir>/.dsh-update-notifier.json 中,下次不再詢問,除非 registry 的最新版本變更。
  4. 安全執行:插件不直接運行包管理器,僅向 Agent 發送文本指令。

安裝與啓用

通過 DSH CLI 安裝插件:

dsh plugin --profile web add dsh-update-notifier

安裝後需要重啓 dsh 進程才能生效。該插件需要 Node.js 18+ 環境(用於全局 fetch),且與 dsh 0.1.0-rc.6+ 兼容。

典型用法

手動檢查

在 DSH 會話中輸入以下命令,立即掃描當前會話的插件更新:

/check-updates

系統會返回檢查結果,並彈出批准氣泡。如果氣泡無法顯示(例如無 UI 環境),結果中會直接包含升級命令。

執行升級

  1. 在氣泡中勾選需要升級的插件。
  2. DSH Agent 會接收到指令並執行類似以下的命令:
pnpm --dir <profileDir> add <pkg>@<latest>

配置檢查頻率

在 cordis.patch.yml 中配置 update-notifier 節點:

update-notifier:
  interval: 3600000  # 默認 3600000ms (1小時),最小 60000ms
  initialDelay: 10000  # 啓動後 10 秒開始第一次檢查

適用場景與注意

適用場景

  • 需要長期維護插件版本的 DSH 用戶。
  • 想要統一管理多個插件更新,避免遺漏的場景。

限制與注意事項

  • 僅限註冊安裝:插件必須是通過 npm 安裝到 node_modules 的,本地鏈接或內置插件不可見。
  • 僅限 latest 標籤:插件不支持鎖定 next、beta 等預發佈版本,或 Pin 到特定版本。
  • 一次一個氣泡:如果當前已有氣泡處於待回答狀態,新的檢查會被跳過或拒絕。
  • 插件退出機制:插件本身可以在其 package.json 中聲明 { "dsh": { "updateNotifier": false } } 來退出更新通知。
  • 安全機制:插件不會嘗試升級任何未獲批准的包。批准後的命令由 Agent 執行,插件層不直接操作 shell。

短結尾

dsh-update-notifier 通過將版本檢查與審批流程整合到 DSH 會話中,解決了手動維護插件版本的痛點。它通過 /check-updates 命令和配置文件提供了靈活的控制,確保了升級操作的安全性。

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

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

小夜