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
羽毛球分组比赛记分
小程序二维码

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

小夜