← Back to home@Mr54233

dsh-restart-now

One-click full-app restart plugin for DeepSeek Harness desktop (DSH) — 侧边栏一键重启 DeepSeek Harness 桌面版

Stars
0
Language
JavaScript
Created
Oct 9, 2026
Updated
Oct 10, 2026

Introduction

dsh-restart-now

DSH 桌面版一键重启插件:在侧边栏底部与设置页各加一个「重启应用」入口, 点击后安全地退出并重新拉起 DeepSeek Harness 桌面应用。

工作原理

  • 宿主半边(lib/index.js)注册两条路由:
    • GET /plugins/dsh-restart-now/environment —— 环境探测(desktop / web)
    • POST /plugins/dsh-restart-now/restart —— 重启动作
  • 门禁顺序:allowRestart 总开关 → 环境判定(非 desktop 一律 403, 绝不触碰 web 环境的进程)→ Q6 围栏(loopback 直连 + 无转发头 + Origin==Host,防浏览器端任意页面打本机端口)→ exe 存在性 fail-fast。
  • 重启机制(v0.7 勘误,WMI 逃逸树 + 单一杀手):宿主把助手脚本写到 %TEMP%\dsh-restart-now-helper-<stamp>.cjs,经 WMI(Win32_Process.Create, 父进程为 WmiPrvSE,脱离宿主进程树,不会被 taskkill 连坐)拉起 node 助手; 助手全权执行:延时 → taskkill /PID <ppid> /T /F → 轮询旧进程退出 → 重新拉起 DeepSeek Harness.exe。失败写 %TEMP%\dsh-restart-now-*.err.log。
  • 客户端半边(lib/client.js)启动时探测环境,仅 desktop 挂载 sidebar.footer.action 与 settings.section 双入口;web 环境零挂载。

配置

设置页「重启应用」区块可直接编辑并保存(落 restart-now.config.json); 也可在 profile 的 cordis.patch.yml 条目 config 块中设置。 优先级:代码默认 < patch 条目 < 配置文件(UI 保存写入文件层)。

键默认说明
allowRestarttrue总开关,false 时动作口返回 403 disabled
confirmtrue点击后二次确认
hideSidebarButtonfalse隐藏侧栏底部重启入口(保存后立即生效)
delayMs50应答后到杀树的延时(毫秒,0–60000)
exePath''exe 绝对路径;留空时从当前安装位置自动推导

安装

在 DSH 桌面版所在机器上运行:

dsh plugin --profile desktop add dsh-restart-now

DSH CLI 会通过 pnpm 从 npm 安装插件,并将其登记到桌面 profile;不需要下载或解压项目源码。安装完成后重启 DSH。升级时再次运行该命令。

适用范围

  • 操作系统:暂时仅支持 Windows 10/11。重启链路(WMI Win32_Process.Create、 wscript VBS 派发、taskkill /T、DeepSeek Harness.exe 路径推导)目前全部是 Windows 机制;在其他系统上安装后插件不挂载任何入口,动作口返回 403 unsupported-platform。macOS / Linux 支持在计划中。
  • DSH Desktop:0.2.0 及以上(验证于 0.2.0-rc.2)。注意 DeepSeek Harness.exe 文件属性里的 44.0.0 是内嵌 Electron 运行时版本,不是产品版本;产品版本以 dsh --version / 包 @deepseek-ai/dsh-desktop 为准。Web profile / dsh web 下插件不生效(不挂载入口,动作口拒绝并提示使用 dshmarket 的宿主重启)。

开发

npm test   # node:test