前言¶
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 中启用。
典型用法¶
- 按上一节完成安装。
- 完全退出 DeepSeek Harness,再重新打开。当前正在运行的 Electron 主进程已经加载了旧的托盘代码,必须重启一次才能看到新菜单;只关闭窗口会隐藏到托盘,不算退出。
- 右键 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 一次,补丁与菜单才会生效。