前言¶
DeepSeek Harness(DSH)默認以後臺進程(Windows 下 Start-Process … -WindowStyle Hidden,Linux 下爲後臺服務)啓動。宿主運行在無窗口或無顯式控制台的環境中,出現異常或需要重啓時,缺乏直觀的 UI 入口。
dsh-process-control 是一個 Web 插件,在側邊欄「設置」那一行的右側添加了一個進程控制按鈕,提供重啓宿主、刷新頁面或結束進程的能力。
這是什麼¶
- 插件名:
dsh-process-control - 維護者:
baicaibucai1 - 類別:Web UI、系統
- 許可證:MIT
- 定位:DSH 宿主進程管理工具,支持狀態查詢與遠程控制。
核心功能¶
插件通過一個懸浮按鈕提供以下操作:
- 重啓 DSH 宿主:從宿主啓動時的確切命令行重新啓動,並釋放監聽端口。瀏覽器會自動重連。
- 刷新頁面:刷新當前 Web 頁面。
- 結束進程:終止宿主進程(使用 SIGTERM,失敗時強制退出)。
- 獲取狀態:顯示當前宿主的 PID、端口、平臺信息等。
- 安全限制:僅接受同源(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