dsh-quick-restart-desktop:DSH Desktop 快速重啓插件

前言

DSH(DeepSeek Harness)採用插件化架構。在開發或調試過程中,重啓 DSH Desktop 是應用配置更新或插件變更的常見需求。手動重啓應用不僅效率低下,還可能中斷當前的上下文會話。本插件旨在提供一套標準化的重啓入口,覆蓋命令行、設置面板以及 API 接口。

核心功能

該插件由 MicroWearld 維護,提供以下核心能力:

  1. 重啓應用本體:保持當前 Profile 不變,重啓 DSH Desktop 應用進程。
  2. 切換 Profile 並重啓:支持切換至指定 Profile 並執行重啓操作。
  3. 多入口支持:通過命令行、Web 設置面板、獨立 Web 頁面以及 API 接口提供統一操作入口。

安裝與啓用

在 DSH Desktop 終端(或任何 dsh CLI)中,針對 desktop profile 執行以下命令:

dsh plugin --profile desktop add "link:D:/workspace/dsh-quick-restart-desktop"

安裝後需要重啓 DSH Desktop,插件纔會隨下一次 Loader 組合激活。

典型用法

1. 命令行入口

插件註冊了以下斜槓命令:

  • /desktop-restart:重啓當前 Profile 的應用本體。
  • /desktop-restart <profile>:切換至指定 Profile 並重啓。
  • /desktop-profiles:列出當前 Profile 與全部可發現 Profile。

2. 設置與 Web 入口

  • 設置頁面:進入設置頁面的「快速重啓」面板,列表第一行爲「重啓 DSH Desktop」主按鈕,其他行對應「切換並重啓到此 profile」。
  • 獨立頁面:在瀏覽器中直接打開 http://localhost:<port>/desktop-restart,可查看完整的面板與操作按鈕。

3. API 接口

插件提供基於 JSON 的 HTTP API,監聽在 127.0.0.1:

  • 重啓接口:POST /desktop-restart/api/restart
    • 請求體:{ profile?: string }。不傳參數或參數爲當前 Profile 時,重啓本體;其他情況切換並重啓。
    • 行爲:立即返回「已受理」,不等待進程結束。
    • 限制:要求 JSON content-type,Body 超過 64 KiB 返回 413。
  • 狀態查詢接口:GET /desktop-restart/api/state
    • 返回:{ current, profiles[] }。

技術細節與安全

  • 協議依賴:重啓本體依賴 desktopRuntime.requestRestart()(內部接口);切換 Profile 依賴 desktopProfiles.select()(官方契約)。
  • 安全邊界:API 無鑑權保護,但 webServer 僅綁定迴環地址(127.0.0.1),且重啓請求強制要求 JSON content-type,有效防禦跨源表單攻擊。
  • 兼容性:在普通的 dsh web(無 desktopProfiles)環境中,插件會正常加載但不掛載任何功能,避免報錯。

注意事項

  • 托盤菜單:DSH Desktop 托盤菜單已內置 Profile 切換功能,由 desktop-profiles 插件處理。本插件不註冊托盤條目。
  • 依賴:本插件以當前 dsh 進程的權限運行。安裝前建議檢查源碼與許可證(MIT)。

總結

該插件通過標準化接口解決了 DSH Desktop 的重啓與 Profile 切換問題,適用於開發調試及自動化腳本場景。

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

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

小夜