DSH Tray Restart:在 Windows 托盘菜单中一键重启桌面端

前言

DeepSeek Harness(DSH)桌面端常驻系统托盘,日常通过右键菜单打开主界面或退出。开发插件、切换 Host 配置或应用更新后,往往需要让 Electron 主进程重新加载;若只关窗口,进程仍留在托盘,托盘菜单也不会反映新安装的 Host 插件。官方开发菜单里有「重启应用与 Host」,但入口不在托盘里,Windows 用户每次都要先打开主界面再找菜单。

下面介绍社区插件 DSH Tray Restart(维护者 maqian1632,GitHub:maqian1632/dsh-tray-restart)。它在 DSH 原有托盘菜单中插入「重启 DeepSeek Harness」,不增加第二个托盘图标,点击后与开发菜单中的重启逻辑一致:关闭 Host、窗口和托盘后再拉起整个桌面应用。

这是什么

DSH Tray Restart 是分类为「客户端」的 Host 插件(dsh-plugin-tray-restart,版本 1.0.0,MIT)。作用可以概括为:在 Windows 系统托盘菜单中增加 重启 DeepSeek Harness,一键关闭并重新启动整个桌面应用。

当前 README 写明适配 DeepSeek Harness Desktop 0.2.1-rc.3,支持 Windows 10/11;package.json 中 engines.dsh 为 >=0.2.1-rc.3 <0.3.0。

核心功能

安装并完全重启 DSH 后,托盘右键菜单大致为:

打开 DeepSeek Harness
重启 DeepSeek Harness
────────────
退出 DeepSeek Harness

具体能力(均来自仓库 README):

  • 在 DSH 原有托盘菜单中插入「重启 DeepSeek Harness」,不创建第二个托盘图标。
  • 点击后调用桌面端现有的 app.relaunch() 和 quitWithoutConfirmation():先正常关闭 Host、窗口和托盘,再重新启动应用。
  • 托盘菜单的其他项、DSH 主界面和其它菜单保持不变。
  • 文案跟随 DSH 当前语言:中文为「重启 DeepSeek Harness」,英文为「Restart DeepSeek Harness」。

「重启」与桌面端开发菜单中的「重启应用与 Host」使用同一套逻辑,会跳过退出确认;正在运行的任务会被中断,Host 会先执行正常关闭流程。

实现方式(使用前需知)

DSH 没有向插件暴露系统托盘菜单 API,托盘由 Electron 主进程直接创建。该插件在激活时对桌面安装目录中的 resources/app.asar 做一次等长、幂等的补丁:

  • 只替换 lib/main.js 中的 DesktopTray 区域;
  • 替换后文件长度不变,所有 asar 条目的偏移量保持有效;
  • 同步更新 asar 头中 lib/main.js 的 SHA-256 完整性记录;
  • 已是最新补丁时直接跳过;旧版本补丁会原位升级,不会重复插入。

补丁只增加一个托盘菜单项,不会联网、不会读取会话内容,也不会修改 DSH 的其他行为。插件修改的是桌面壳的 app.asar,属于安装目录级别的变更,不是普通 UI 插件;需要 DSH 安装目录可写。若安装在 Program Files 等受保护目录,补丁可能失败,README 建议用户级安装或以足够权限运行一次。

若 DSH 升级后托盘实现或相关 API 标识发生变化,插件会拒绝写入并记录警告,而不是生成可能出错的菜单。DSH 自动更新会覆盖 app.asar;下次启动插件会自动重新打补丁,更新后第一次启动仍可能显示旧菜单,再完全退出并启动一次即可。

安装与启用

从插件市场安装

插件上架后,在 DSH 的 插件 → 发现 / 插件市场 搜索「Tray Restart」并安装。目录页:https://www.skillhub.cn/plugins/maqian1632/dsh-tray-restart。

从 GitHub 安装

仓库地址:https://github.com/maqian1632/dsh-tray-restart。

让 Agent 使用 plugin_manager 从该 GitHub 仓库安装,或把仓库放到本地后按下一节从本地目录安装(README 未给出 dsh plugin add github:... 形式的固定命令,以文档为准)。

从本地目录安装

在 DSH 插件管理中使用 plugin_manager 安装本目录:

plugin_manager action=install_bundle
target=<本目录绝对路径>

安装后插件会在当前 desktop profile 中启用。

典型用法

  1. 按上一节完成安装。
  2. 完全退出 DeepSeek Harness,再重新打开。当前正在运行的 Electron 主进程已经加载了旧的托盘代码,必须重启一次才能看到新菜单;只关闭窗口会隐藏到托盘,不算退出。
  3. 右键 Windows 系统托盘中的 DSH 图标,点击 重启 DeepSeek Harness。

适用场景与注意

适合谁: 经常在 Windows 上使用 DSH 桌面端、需要通过托盘快速重启整个应用(例如刚装 Host 插件、调试托盘相关行为、希望与开发菜单重启等价操作)的用户。

注意:

  • 仅 Windows;托盘菜单是 Windows 桌面端功能。
  • 安装前请阅读源码与 MIT 许可证,确认接受对 app.asar 的补丁方式;插件以当前 DSH 进程权限运行。
  • 禁用或移除插件会停止后续自动补丁,但不会主动移除已写入当前 app.asar 的托盘项;安装新版本 DSH 会随应用文件恢复,或按 README 用备份的原始 lib/main.js 还原。

故障排查(摘自 README):

现象 处理
托盘菜单没有「重启 DeepSeek Harness」 确认已完全退出 DSH 后重新打开
插件显示已安装但没有生效 检查插件是否 active;查看 Host 日志中是否有 could not add Restart DeepSeek Harness... 警告
安装在 Program Files 下失败 改用用户级安装或授予安装目录写权限
DSH 更新后第一次启动没有新菜单 退出再启动一次,插件会在新版本上重新打补丁

结尾

DSH Tray Restart 把「重启整个桌面应用」放进 Windows 托盘右键菜单,与官方开发菜单重启逻辑一致,适合不想每次进主界面找菜单的场景。安装后务必完全退出再打开 DSH 一次,补丁与菜单才会生效。

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

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

小夜