dsh-desktop-restart-button:为 Windows 桌面端补上标题栏重启与冷启动动画

前言

在 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 在应用内安装:

  1. 打开 设置 → 插件。
  2. 搜索 dsh-desktop-restart-button(或从本地 tarball 安装)。
  3. 重启应用一次。

非 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 插件页。

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

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

Xiaoye