wdx0614/dsh-restart-plugin--packages-dsh-restart-plugin ↗★ 0
dsh-restart-plugin
Adds a Restart entry to DeepSeek Harness that quits the app and launches it again. 适合频繁调整插件、需要快速重启或关闭桌面应用的用户;存在任务时提示中断风险并要求确认。
같은 패키지 이름의 다른 저장소
설치
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:wdx0614/dsh-restart-plugin#6725a0d6c8645eb0f5bfe043e608e287b475d6ae&path:packages/dsh-restart-pluginDSH 电源菜单(dsh-restart-plugin)
给 DeepSeek Harness(DSH)桌面版 加一个电源按钮:点一下,可以重启 DSH 或关闭 DSH。
安装/启用/禁用/卸载插件后,常常要重启 DSH 才生效;而 DSH 桌面版关掉窗口只是收进托盘, 真正退出或重启要去托盘菜单里翻。这个插件把这两个动作搬到侧边栏底部,一步到位。
Windows / macOS 桌面版 · 纯本地 · 无遥测 · MIT
功能
- 电源按钮在侧边栏最底部一行的右侧(头像右边)。点击向上弹出菜单。
- 二级菜单两项,图标 + 文字:
- 重启 DSH(环形箭头)— 关闭应用,几秒后自动重新打开。
- 关闭 DSH(门 + 箭头)— 完全退出应用,不重新打开;下次需手动启动。
- 有任务时会拦一次:如果有正在运行或已排期的任务,会明确提示「任务会被中断」, 需要再点一次「仍然重启 / 仍然关闭」才执行。绝不静默中断。
- 非桌面环境明确拒绝:
dsh web之类环境里会说明无法自动重启,而不是假装成功。 - 跟随主题:颜色只用
--dsw-*主题变量,浅色/深色自动适配。 - 键盘可用:菜单里 ↑/↓ 移动、Enter/空格执行、Esc 关闭、点菜单外也能关。
安装
在 DSH 里安装(二选一):
设置 → 插件 → 添加插件 → 输入仓库地址
或用插件管理器安装本地路径(把 `` 换成本机实际路径):
dsh plugin --profile desktop add /packages/dsh-restart-plugin
装完重启一次 DSH,按钮才会出现(Host 半需要重启才加载)。
详细步骤见 docs/安装与使用.md。
它是怎么实现「重启」的
Host 是 Electron 的子进程,纯插件没法让 Electron 主进程调用 app.relaunch()——那需要改壳。
所以本插件用「看门狗 + 优雅关闭」:
- 用户选「重启 DSH」并确认;
- 关闭前先拉起一个脱离的看门狗子进程,它等待 Host 真正退出;
- Host 走 cordis 正规的关闭通道退出(等于正常退出 DSH);
- 看门狗随后用原可执行文件重新启动
DeepSeek Harness.exe。
「关闭 DSH」走同一套退出流程,只是不拉看门狗——没有人去重新打开应用。
详见 docs/实现原理与风险.md,其中有实测与未验证之分的标注。
验证状态
| 项目 | 状态 |
|---|---|
| 单元测试 27 项 | ✅ 全通过(实测) |
| 看门狗端到端 4/4 | ✅ 全通过(实测) |
| 完整重启链路 8/8 | ✅ 全通过(假进程仿真,实测) |
| 真机重启(3 次) | ✅ 应用确实关闭并自动重开(实测,见 测试记录) |
| 窗口自动置顶 | ✅ 已修复并真机验证(实测) |
| 有任务时二次确认 | ✅ 实测返回 409 要求确认 |
| 非桌面环境拒绝 | ✅ 实测返回 409 not-desktop |
| 电源按钮 + 二级菜单 | ✅ 已实现;界面观感待真机确认(未验证) |
| 托盘残留一个幽灵图标 | ⚠️ 已知缺陷,接受(无 CPU/内存开销,悬停即消失;彻底修需改 Electron 壳) |
目录结构
packages/dsh-restart-plugin/ 插件源码(可安装的 cordis bundle)
package.json 包清单(dsh.bundle.patch + dsh.client)
cordis.patch.yml Loader 补丁,插入 Host 行
index.js Host 半:重启/关闭控制器 + HTTP 路由 + 看门狗
client.js Client 半:电源按钮 + 二级菜单 + 确认框
locale/{en,zh}.json 插件列表里的显示元数据
icon.svg 插件图标
tests/ 单元测试
tools/ 验证与诊断脚本
docs/ 使用说明与原理文档
文档
| 文件 | 内容 |
|---|---|
| docs/安装与使用.md | 小白向:怎么装、怎么用、出问题怎么办 |
| docs/实现原理与风险.md | 原理、实测证据、已知缺陷与风险评估 |
| docs/真机重启测试记录.md | 3 次真机测试的完整过程与证据 |
许可
MIT,见 LICENSE。