前言¶
在使用 DeepSeek Harness 进行开发时,有时需要重启桌面应用以加载新配置或修复某些状态。手动关闭窗口再重新打开效率较低。dsh-plugin-restart 插件在窗口标题栏提供了一个按钮,点击即可将整个应用关掉并重新拉起。此外,仓库中附带一个本地工具,可以将“重启 DeepSeek Harness”添加到系统托盘菜单中。插件版本 2.0.0 的运行时是最初的 v0.1.0(逐字节一致)。
组件说明¶
该插件包含两个部分:运行时(插件本身)和补丁工具。
- 插件(运行时):负责在窗口标题栏添加重启按钮。点击后执行“杀壳 → 拉起应用 → 抬窗两次”的操作。该组件不提供设置页,也没有锁定机制。
tools/patch-shell-tray.mjs:给桌面壳的托盘菜单添加一项“重启 DeepSeek Harness”。此项走壳自己的app.relaunch()+quitWithoutConfirmation()逻辑,托盘图标由 Electron 自己移除,不会留下幽灵图标。
安装与启用¶
插件本身作为 DSH 插件安装即可:
# 作为 DSH 插件安装即可
托盘工具用法¶
托盘补丁不是插件提供的,而是一个本地可回退的壳补丁工具。它需要直接操作 app.asar 文件。运行目录下的 tools/patch-shell-tray.mjs,支持以下命令:
# 检查已安装的 asar 是否带补丁
node tools/patch-shell-tray.mjs status
# 从原始备份生成暂存包并逐文件校验
node tools/patch-shell-tray.mjs build
# 45 秒后由 WMI 创建的独立进程完成切换(推荐)
node tools/patch-shell-tray.mjs detach
# 立即切换
node tools/patch-shell-tray.mjs swap
# 还原原始 asar 并重启
node tools/patch-shell-tray.mjs revert
注意事项¶
- 仅支持 Windows:插件已在 Windows 上验证过。
- 权限限制:托盘补丁无法由插件直接提供。因为托盘菜单在桌面壳的主进程(Electron API)中,而插件只有两个落脚点——宿主机(纯 Node,无 Electron API)和页面(preload 只暴露固定的
dshDesktop),无法向托盘菜单添加任何项。 - 幽灵图标:标题栏按钮重启是“杀进程”式重启,Windows 对被强杀进程的行为可能留下幽灵托盘图标;托盘那一项不会。
- 应用更新:厂商打包应用(如重装或更新)会覆盖
app.asar,此时需重新运行build+detach来应用补丁。
总结¶
该插件提供了快速重启 DeepSeek Harness 的能力。配合托盘补丁工具,可以在系统托盘中直接重启应用。使用时需注意 Windows 限制以及应用更新后需重新应用补丁。