dsh-safe-launch:DeepSeek Harness 安全啓動器插件

DeepSeek Harness (DSH) 採用插件化架構,這意味着通過插件擴展功能非常方便,但也帶來了配置變更和升級可能破壞現有環境的隱患。dsh-safe-launch 是一個專注於管理安全啓動的插件,它通過記錄上次成功的配置、在隔離環境中進行更新試運行以及嚴格檢查插件兼容性,來保障 DSH 實例的穩定性。

插件定位

dsh-safe-launch 是 DSH 的管理安全類插件,由 dHR-P 維護。它的核心價值在於爲 DSH 提供一個“安全網”:在執行任何可能影響運行環境的操作(如核心升級或安裝新插件)之前,先在隔離環境中驗證,只有驗證通過才應用到當前實例。

核心功能

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

  1. 成功啓動配置:基於 ~/.dsh/safe-launch/last-good.json 記錄上次成功的配置。在配置變更前,插件會自動進行備份。
  2. 核心更新試運行:在安裝新版 DSH 核心時,先將其裝入獨立的 runtime/<版本> 目錄,利用隔離的 HOME 和隨機端口啓動測試。只有測試通過,纔會寫入新配置;失敗則自動丟棄候選版本。
  3. 插件兼容性檢查安裝:安裝任何新插件前,插件會複製一份 profile 到臨時目錄,在隔離環境安裝插件,並用當前成功配置在新端口啓動測試。通過後纔會通過官方命令 dsh plugin add 裝入真實的 profile;失敗則僅提示,不影響當前實例。
  4. 插件更新迴歸:批量更新插件時,先備份清單,更新後進行迴歸測試,通過則提交,失敗則回滾。
  5. 安全重啓:使用分離式的 helper 進程接管“停舊-起新-驗活”流程,父進程無需自盡。

安裝與啓用

安裝該插件非常直接,使用 DSH 的插件管理命令即可:

dsh plugin --profile web add github:dHR-P/dsh-safe-launch

安裝完成後,必須重啓 DSH 以完成初始化。插件會自動從當前運行的實例引導出“成功啓動配置”,無需額外步驟。重啓後,插件會處於 pending 引導狀態,此時它提供自動巡檢、升級提示和兼容性安裝功能。

典型用法

1. Web 配置面板

插件提供了一個自包含的網頁管理面板,地址爲:

http://127.0.0.1:3080/dsh-safe-launch/panel

在該面板中,你可以管理安全啓動狀態、查看插件版本與兼容性、檢查清單漂移情況,以及進行重啓或回滾操作。

2. 授權接管桌面啓動器

默認情況下,插件僅作爲增強組件運行。如果需要接管桌面快捷方式,以便通過桌面圖標安全啓動 DSH,需要用戶明確同意。可以通過調用 API 完成:

curl -s http://127.0.0.1:3080/dsh-safe-launch/setup/desktop-launcher -d '{}'

若拒絕接管,則保持純插件模式,調用以下命令:

curl -s http://127.0.0.1:3080/dsh-safe-launch/setup/dismiss-onboarding -d '{}'

3. 插件兼容性安裝

在安裝新插件前,建議使用插件的 API 進行檢查。例如,安裝一個來自 GitHub 的插件:

curl -s http://127.0.0.1:3080/dsh-safe-launch/install-plugin \
     -d '{"source":"github:someone/some-dsh-plugin"}'

該接口會返回一個任務 ID,隨後可以通過 /job 接口輪詢任務狀態與日誌,確認安裝是否成功。

4. 啓動參數自適應

插件支持自動適配不同版本的 DSH CLI 形狀(例如 --profile web 與 web 參數位置的區別)。插件會通過 process.argv 捕獲當前啓動參數,將其模板化存入配置,確保重啓和試運行時使用正確的參數格式。

適用場景與依賴

  • 適用場景:需要頻繁安裝新插件或升級 DSH 核心的開發者;希望保障 DSH 實例不因誤操作而崩潰的環境。
  • 運行環境:依賴 Windows 操作系統、pnpm 必須在系統 PATH 中、Node.js 版本需 ≥ 20。
  • 兼容性:支持任何版本的 DSH。插件採用 default-open 兼容策略,任何 dsh 版本均可安裝,且不會影響宿主啓動。
  • 構建要求:本包無構建腳本(無 prepare/postinstall),不會被 pnpm allowBuilds 攔截。

總結

dsh-safe-launch 通過將高風險操作(更新、安裝)前置到隔離環境進行驗證,解決了 DSH 插件化管理中的穩定性隱患。它不僅是配置的備份工具,更是操作流程的安全守門員。通過其提供的 API 和 Web 面板,開發者可以放心地探索和擴展 DSH 的功能。

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

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

小夜