dsh-process-control:DeepSeek Harness 進程控制插件

前言

DeepSeek Harness(DSH)默認以後臺進程(Windows 下 Start-Process … -WindowStyle Hidden,Linux 下爲後臺服務)啓動。宿主運行在無窗口或無顯式控制台的環境中,出現異常或需要重啓時,缺乏直觀的 UI 入口。

dsh-process-control 是一個 Web 插件,在側邊欄「設置」那一行的右側添加了一個進程控制按鈕,提供重啓宿主、刷新頁面或結束進程的能力。

這是什麼

  • 插件名:dsh-process-control
  • 維護者:baicaibucai1
  • 類別:Web UI、系統
  • 許可證:MIT
  • 定位:DSH 宿主進程管理工具,支持狀態查詢與遠程控制。

核心功能

插件通過一個懸浮按鈕提供以下操作:

  1. 重啓 DSH 宿主:從宿主啓動時的確切命令行重新啓動,並釋放監聽端口。瀏覽器會自動重連。
  2. 刷新頁面:刷新當前 Web 頁面。
  3. 結束進程:終止宿主進程(使用 SIGTERM,失敗時強制退出)。
  4. 獲取狀態:顯示當前宿主的 PID、端口、平臺信息等。
  5. 安全限制:僅接受同源(Same-Origin)的 loopback 請求,拒絕通過代理轉發的請求。

安裝與啓用

通過 DSH CLI 安裝即可自動處理配置:

dsh plugin --profile <profile> add dsh-process-control

該命令會將插件加入 dsh.profile.bundles,並在啓動時合併插件的 cordis.patch.yml。無需手動修改配置文件。

配置說明

在 profile 的 cordis.patch.yml 中,可通過 config 字段控制行爲:

- id: process-control
  config:
    openBrowser: false       # 重啓成功後是否打開默認瀏覽器訪問新地址
    hideCordisPanel: true    # 是否隱藏側邊欄底部的 Cordis 面板入口
  • openBrowser:默認爲 false。重啓後,宿主會生成新的 …/?token=… 地址。由於持久化 Cookie 的存在,通常無需打開瀏覽器;若 Cookie 失效,可將其設爲 true 以打開診斷文件中的地址。
  • hideCordisPanel:默認爲 true。通過註冊同 ID(cordis-panel)且優先級更高的條目來替換原有單元格,使其不渲染內容。這比禁用整個 ui-cordis 更安全,不會影響對話中的 Cordis 工具卡片。

注意事項

  • 二次確認:重啓和退出操作需要二次點擊確認,防止誤觸。
  • 僅 Loopback:插件提供的 HTTP 路由(/status, /restart, /quit)僅驗證 peer address 是否爲 loopback,且禁止 Forwarded 等代理頭,確保僅宿主自身可訪問。
  • ** detached 啓動**:宿主進程通常以 detached 模式啓動,關閉窗口不會終止進程,需通過此插件操作。

適用場景

適用於需要頻繁重啓 DSH 宿主或排查宿主卡死情況,但不想關閉終端或手動操作系統進程的場景。

參考資源

  • 插件目錄:https://www.skillhub.cn/plugins/baicaibucai1/dsh-process-control
  • 源碼倉庫:https://github.com/baicaibucai1/dsh-process-control
羽毛球分组比赛记分
小程序二维码

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

小夜