dsh-header-controls:會話右上角電源控制

前言

在 DeepSeek Harness(DSH)的開發預覽階段,頻繁的進程重啓與退出是日常開發的一部分。目前官方界面尚未提供直觀的電源控制入口,開發者通常需要依賴命令行或系統任務管理器來結束進程。dsh-header-controls 是一個靜態 Web 插件,它在會話日誌左側注入了「重啓」與「註銷」膠囊按鈕,復刻了官方版式的交互體驗,旨在解決這一痛點。

核心功能

該插件提供以下具體能力:

  1. 重啓一鍵直達:無需二次確認。點擊按鈕後,當前 dsh 進程會優雅退出,由純 Node.js 助手根據配置重新拉起服務,頁面會自動輪詢並刷新,無需手動打開新標籤頁。
  2. 註銷兩步確認:點擊註銷按鈕後,按鈕狀態會變紅進入確認態,需再次點擊才真正關閉整個 dsh 進程,防止誤觸。
  3. 純 Node 重啓助手:重啓邏輯通過 lib/relaunch-helper.cjs 實現,不依賴 PowerShell 或任何第三方庫,直接讀取系統環境進行操作。
  4. 皮膚感知:插件能檢測頁面的 data-dsh-maid-atelier 屬性,在對應皮膚下自動切換爲深海藍配色,否則使用默認樣式。
  5. 安全校驗:宿主路由僅允許 loopback 訪問,並強制校驗自定義請求頭 x-dsh-header-controls: 1,以防止 CSRF 攻擊。

安裝與啓用

安裝過程需要手動操作,不依賴現有的插件管理器。

  1. 克隆倉庫到本地:
    git clone https://github.com/kgwdonkey/dsh-header-controls.git
  1. 在 DSH 的 profile 目錄下創建插件鏈接。以 Windows 爲例(需管理員權限或開發者模式):
    mklink /J "%USERPROFILE%\.dsh\profiles\node_modules\dsh-header-controls" "<克隆到的路徑>"
Linux 或 macOS 用戶請使用 `ln -s` 命令進行軟鏈接。
  1. 在 profile 目錄的 cordis.patch.yml 文件末尾追加註冊項:
    - $insert: node_modules/dsh-header-controls/lib/index.js
  1. 重啓 DSH,在會話頁右上角(Session log 左側)即可看到新增的按鈕。

使用方法

重啓和註銷的操作邏輯如下:

  • 重啓:直接點擊膠囊按鈕。系統會退出當前進程,隨後自動拉起並刷新頁面,整個過程耗時約 10~30 秒,取決於啓動速度。
  • 註銷:點擊按鈕後按鈕變紅,此時爲確認態;再次點擊即可關閉 dsh 進程。關閉後需通過桌面快捷方式重新啓動。

配置與注意事項

插件依賴於 DSH 的啓動配置文件來執行重啓操作。

  1. 配置讀取:重啓助手會讀取 %LOCALAPPDATA%\DeepSeekHarness\launcher.config.json,從中獲取 node(執行路徑)、repo(倉庫路徑)、profile、port 和 host 等參數。
  2. 默認回退:若缺少配置文件或文件內容缺失,插件會使用默認回退值(如 node=process.execPath、profile=web 等)。
  3. 系統墊片:如果 DSH 沒有預構建產物,插件會回退使用系統安裝的 dsh 命令墊片來啓動服務。
  4. 適用環境:該插件目前適用於 DSH 的 dev preview 版本(0.1.0-rc.x,web profile)。

結語

dsh-header-controls 通過極簡的代碼實現了對 DSH 進程的精細控制。如果你正在使用 DSH 的 web profile 進行開發,且習慣通過界面按鈕而非命令行來管理服務狀態,這個插件能顯著提升開發效率。

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

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

小夜