dsh-restart:在 DSH Web 里用 /dsh-restart 延迟重启 Harness

前言

在 DSH Web 上改插件、调配置或升级依赖之后,Harness 进程往往需要重启才能加载新行为。若只能 SSH 到主机上手动 systemctl --user restart,或在外部脚本里杀进程再起,命令界面与真实运行环境是割裂的,也不利于在对话里确认「重启已安排」再断开连接。

下面介绍的 dsh-restart(维护者 yoggu)在 DSH Web 中注册斜杠命令 /dsh-restart,在短延迟后重启当前 Harness 进程或其 systemd 用户单元,以便先把命令响应送回浏览器,再执行重启。插件在 SkillHub 目录中归类为 admin-security;仓库星标为 0,许可证为 MIT(见 GitHub)。

这是什么

dsh-restart 是面向 DSH Web 的 DeepSeek Harness 插件(当前资料中的版本为 v0.1.3)。它解决的是:在 Web 命令面板上安全、可配置地触发「本机 Harness 自身」的重启,而不是由外部工具盲目结束进程。

插件以当前 DSH 进程权限运行;安装前请自行阅读源码与许可证,并确认只有可信用户能访问 DSH 命令面。

核心功能

根据 README 与 package.json 描述,已核实能力如下:

  1. 斜杠命令:提供 /dsh-restart,可选参数指定延迟秒数。
  2. 延迟重启:默认延迟 1 秒再重启,让 HTTP 响应先到达浏览器;当前运行中的 turn 会被中断,页面随后重连。
  3. 重启方式:通过 Plugins → Restart 配置 mode:
    - auto:检测到插件自带的 systemd 单元时使用该单元,否则启动后继进程;
    - unit:指定 systemd 用户单元;
    - exec:可配置 execStdio 等执行相关选项。
  4. 可调延迟:delaySeconds 范围为 1–60 秒(命令行参数与设置页一致语义)。
  5. 环境要求:无需额外凭据,但 DSH 进程必须被允许重启自身,或能调度 systemd 用户 timer。

命令与响应默认英文;在插件设置中将 Command language 设为 Deutsch(language: de)可保留原有德语文案,与 Harness 全局 UI 语言无关。

安装与启用

安装命令须使用官方 README 中的 tagged release 形式(勿凭插件名自行拼接 github:owner/repo):

dsh plugin --profile web add 'https://github.com/yoggu/dsh-restart.git#v0.1.3'

若实际运行的 profile 不是 web,将 --profile web 换成你正在使用的 profile。

必要时重启 DSH Web 以加载命令。卸载:

dsh plugin --profile web remove dsh-restart

package.json 要求 Node >=22.19.0,DSH 引擎 ^0.1.5-rc.2 || ^0.2.0-rc.1,并依赖 @deepseek-ai/cordis、@deepseek-ai/dsh-commands、@deepseek-ai/schemastery 等 peer 依赖。

典型用法

在 DSH Web 命令输入框中:

/dsh-restart       # 使用配置的延迟(默认 1 秒)
/dsh-restart 10    # 10 秒后重启

首次使用前,在 Plugins → Restart 中确认 mode、systemd unit、delaySeconds 与 execStdio 是否符合你的部署方式(systemd 用户服务 vs 直接 exec 后继进程)。

适用场景与注意

适合:自托管 DSH Web、频繁改插件或配置、希望从 Web 内一键安排重启且已用 systemd 用户单元管理 Harness 的开发者或管理员。

注意:

  • 分类为 admin-security 是因为重启等同于高权限运维操作;只应授予能访问 DSH 命令面的可信用户。
  • 插件不会替你校验主机上的 systemd 策略;需保证进程有权重启自身或创建 timer。
  • 开发者在仓库内可运行 npm test(需先安装 peer 依赖);测试 mock 进程 spawn、cgroup 与退出定时器,不会真实调用 systemd 或重启进程。

DSH 生态强调「一切皆插件」;SkillHub 目录页 为社区站点,与 DeepSeek / 幻方无官方从属关系。

结尾

dsh-restart 把「重启 Harness」收进 Web 斜杠命令与设置页,用可配置延迟和多种 mode 适配 systemd 或直接 exec,减少改配置后还要切终端的操作。

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

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

小夜