前言¶
在 DeepSeek Harness(DSH)里做智能体或插件开发时,桌面端经常要反复改配置、装插件、看 Host 是否按预期起来。官方 Windows 桌面窗口的菜单栏(应用 / 编辑)由 Electron preload 写死,没有对外暴露重启 IPC,也没有可用的 CLI 重启入口;开发构建里才有 app.relaunch() 一类菜单项。dsh plugin --profile desktop 也不能用来管桌面 profile,因为桌面 profile 完全由 Electron 应用自己管。
社区插件 dsh-desktop-restart-button(维护者 jh0oo)走桌面端唯一支持的扩展点:向 Host 的 index 注入表 推一行内联脚本,在标题栏追加「重启」按钮,并可选地把冷启动时的「正在加载设置…」换成一段纯 CSS/SVG 的开机动画。安装与卸载都不修改 app.asar,Shipped 应用本体保持不变。
这是什么¶
dsh-desktop-restart-button 是面向 DeepSeek Harness Desktop(Windows) 的 profile 插件:标题栏一键重启当前桌面进程,以及可配置的冷启动加载页替换。代码与说明见 GitHub 仓库;社区目录页为 SkillHub 条目。许可证为 MIT,当前包版本为 0.1.3(以 package.json 为准)。
核心功能¶
标题栏重启按钮¶
按钮出现在标题栏,紧挨在 应用、编辑 之后。点击后走服务端路由 POST /dsh-desktop-restart-button/restart,再经 PowerShell / WMI / wscript.exe 链在 Job Object 之外 拉起真正的重启脚本,避免「杀了桌面进程,重启子进程也跟着死」的 Electron 行为。
作者在本机测得:点击到窗口再次出现约 5 秒,大头在 Host 启动,而非重启脚本本身。
冷启动开机动画(可选)¶
默认在 Host 尚未就绪时,用科技风动画替换原先单独的 [role="status"] 加载态;真正的引导向导文案不受影响。动画无 canvas、无 requestAnimationFrame 循环;支持 prefers-reduced-motion 时退回静态展示。
配置项 bootAnimation 默认为 true;设为 false 可恢复应用原本的「正在加载设置…」文案。因注入行在启动时收集一次,改配置后需重启应用生效。
安全与行为边界¶
- 重启路由仅接受
dsh-app://app与 loopback 来源,避免任意网页触发。 restart.ps1在动手前用IsProcessInJob自检;若仍在应用 Job 内,会通过 WMI 重新派发并退出,不会误关应用。- 先尝试正常关窗,超时再强杀;重启发不起来时最长重试约一分钟。
- 日志路径:
%USERPROFILE%\.dsh\dsh-desktop-restart-button.log。
安装与启用¶
桌面 profile 不能用 CLI 管理。按 README 在应用内安装:
- 打开 设置 → 插件。
- 搜索
dsh-desktop-restart-button(或从本地 tarball 安装)。 - 重启应用一次。
非 Windows 上插件会加载但不显示按钮(菜单栏与 WMI/PowerShell 路径仅 Windows 有效)。纯 dsh web 会话没有 preload 菜单栏,插件无害但不可见。
运行环境要求(来自 package.json):dsh 为 >=0.2.0-rc.2 <0.3.0-0,Node >=20。插件以当前 DSH 进程权限运行,安装前宜自行审阅源码与 MIT 许可证。
典型用法¶
关闭开机动画,保留原文案¶
在插件配置中写入:
- id: dsh-desktop-restart-button
name: dsh-desktop-restart-button
config:
bootAnimation: false
保存后重启 DSH 桌面应用。
日常开发中的重启¶
改完插件或 Host 相关设置后,点标题栏重启即可,无需手动结束进程再找快捷方式。注意:桌面 Host 每次启动绑定随机端口,重启后原先页面 URL 无效,按钮不会替你导航回上一页。
适用场景与注意¶
| 维度 | 说明 |
|---|---|
| 适合谁 | 在 Windows 上用 DSH 桌面端做插件/配置迭代、需要频繁干净重启的开发者 |
| 平台 | dsh.bundle.platforms: ["win32"],仅 Windows |
| 形态 | 仅桌面 Electron 窗口;Web 端无菜单挂载点 |
| 重启目标 | 默认 process.execPath;异常时回退路径为作者文档中的 D:\deepseek\DeepSeek Harness.exe |
生态上 DSH 强调「一切皆插件」;SkillHub 等目录为社区站点,与 DeepSeek / 幻方无官方从属关系,本文不以「官方应用商店」口吻描述安装入口。
结尾¶
dsh-desktop-restart-button 用 index 注入在不动 app.asar 的前提下,补上 Windows 桌面端缺失的重启入口,并可选美化冷启动等待界面。需要细节、问题反馈或源码时,见 GitHub:jh0oo/dsh-desktop-restart-button 与 SkillHub 插件页。