dsh-restart:为 DSH 增加可控重启与恢复入口

前言

DSH 的理念是「一切皆插件」。修改 profile 的 cordis 组合、settings 等配置后,通常需要重启整个 DSH 进程才能生效。如果只是手动停进程再启动,agent 侧缺少统一入口,页面也需要手动刷新。

dsh-restart 把重启做成插件:提供模型工具、斜杠命令、设置卡片和「立即重启」按钮,并支持重启后自动继续的提示词,以及可选的看门狗自动拉起。

这是什么

dsh-restart 是一个 DSH 重启插件,用于重启整个 DeepSeek Harness 进程,以重新加载插件与配置。它是 host + client 双半:host 侧提供重启接口,client 侧在设置页提供配置卡片和按钮。

当前已核实信息包括:

  • 仓库路径:https://github.com/anweat/dsh-restart
  • package.json 版本:0.1.2
  • 许可证:MIT
  • Node 版本要求:^22.19.0 || >=24.0.0
  • client 平台:web
  • bundle patch:./cordis.patch.yml

核心功能

模型工具 restart_harness

restart_harness 是模型工具,让 agent 直接安排一次进程重启。可选参数 delayMs 可用于延迟重启。

/restart 斜杠命令

/restart 是 UI 里的斜杠命令,用于手动触发一次 DSH 重启。

配置卡片

配置卡片位于:

设置 → 插件 → 插件配置 → 「DSH 重启」

在卡片中编辑配置后,改动即时写入 settings.yaml。可编辑项包括:

  • legacyRestart:旧 PowerShell/WMI/taskkill 重启方式,默认关闭,默认使用 Node 原生方式。
  • continuePrompt:重启后自动继续时注入给 agent 的提示词。
  • watchdogEnabled:崩溃/关闭时自动拉起 DSH,默认关闭,需谨慎。
  • watchdogCooldownMs / watchdogPollMs:看门狗冷却与轮询间隔。

「立即重启」按钮

「立即重启」按钮会先读取当前进程身份,安排重启后等待新进程恢复,并自动刷新页面。

相关接口行为如下:

  • 只读 GET 返回 { pid, startedAt }
  • 重启 POST 仅接受来自环回地址(127.0.0.1 / localhost)的同源请求。
  • 经反向代理或远程访问时会被拒绝,返回 403

安装与启用

已核实资料没有提供可直接复制的一行安装命令,提供的是 profile 配置方式:把包加入 profile 依赖,并挂进 bundle。

先确认当前环境满足 Node 版本要求:

"engines": {
  "node": "^22.19.0 || >=24.0.0"
}

profiles/<profile>/package.json 中加入依赖和 bundle:

// profiles/<profile>/package.json
{
  "dependencies": {
    "dsh-restart": "0.1.2"
  },
  "dsh": {
    "profile": {
      "bundles": [
        "dsh-restart"
      ]
    }
  }
}

如果 profile 中已有其他 bundle,在 bundles 数组中追加 "dsh-restart" 即可。

接着重启 DSH,可通过 /restartrestart_harness 触发。刷新页面后可以看到配置卡片;之后通过卡片重启时会自动等待并恢复页面。

典型用法

1、首次启用

在 profile 中加入 dsh-restart 依赖并挂进 bundle,然后重启 DSH。刷新页面后进入「设置 → 插件 → 插件配置 → DSH 重启」,即可看到配置卡片。

2、让 agent 安排重启

agent 可调用 restart_harness。需要延迟重启时,可传入 delayMs

3、手动重启

在 UI 中执行:

/restart

4、配置重启后继续

在卡片中设置 continuePrompt。重启后自动继续时,该提示词会注入给 agent。

5、适配旧重启方式

在卡片中开启 legacyRestart,使用旧 PowerShell/WMI/taskkill 重启方式。该项默认关闭,默认使用 Node 原生方式。

6、开启可选看门狗

在卡片中谨慎开启 watchdogEnabled,并按需设置:

  • watchdogCooldownMs
  • watchdogPollMs

看门狗默认关闭。

本地构建

如果需要本地构建,已核实命令如下:

pnpm install
node scripts/link-dsh-workspace.mjs --source <path-to-deepseek-harness>
pnpm run build

构建时,host 半由 tsc 输出到 lib/index.js@deepseek-ai/* 保持外部依赖;client 半由 tsdown 打成单文件 lib/client.js

适用场景与注意

适合以下情况:

  • 需要频繁修改 profile 的 cordis 组合、settings 后重启 DSH。
  • 希望 agent 能在任务中安排一次进程重启。
  • 希望重启后根据 continuePrompt 自动继续。
  • 需要适配旧 PowerShell/WMI/taskkill 重启方式。
  • 需要可选的看门狗自动拉起 DSH。

使用前注意:

  • dsh-restart 会以当前 DSH 进程权限运行,并会重启进程。安装前应检查源码与 MIT 许可证。
  • legacyRestart 默认关闭。
  • watchdogEnabled 默认关闭,需谨慎开启。
  • 重启 POST 仅接受来自环回地址的同源请求,经反向代理或远程访问会返回 403
  • package.jsonpeerDependencies 包含 @deepseek-ai/*;其中 @deepseek-ai/dsh-llm 的完整版本在已核实资料中被截断,部署前应按当前 DSH 环境核对。

链接

  • GitHub:https://github.com/anweat/dsh-restart
  • 社区目录页:https://www.skillhub.cn/plugins/anweat/dsh-restart
羽毛球分组比赛记分
小程序二维码

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

小夜