dsh-sidebar-restart:侧边栏一键重启 DSH 桌面客户端

前言

在 DSH(DeepSeek Harness)里做客户端插件时,改完代码或刚 dsh plugin add 一个新包,往往还要退出托盘里的桌面进程再手动打开,页面才会加载到新 bundle。社区里也有面向 Web 服务重启的插件,但桌面 Electron 主进程这一套是另一条路。下面介绍维护者 DONGBIN007 的客户端插件 dsh-sidebar-restart:在桌面应用侧边栏底部、设置齿轮旁增加一行 Restart(重启),点一次由 Host 触发进程外重启,标签页在新实例就绪后自行刷新,之后日常重启可以只点这一行。

这是什么

dsh-sidebar-restart 是 DSH 社区目录中的客户端类插件(仓库 DONGBIN007/dsh-sidebar-restart)。一句话:在桌面应用侧边栏脚注(sidebar.footer.action)里,在 Settings 旁边增加 Restart 行;点击后请求 Host 重启,独立 helper 按 PID 结束 Electron 主进程与 Host,等待进程退出后再次启动应用,当前标签在替换实例返回新的 boot id 后 reload,从而真正跑起刚安装的插件包。

插件以 MIT 许可证发布,当前 package 版本为 0.1.0(以仓库 package.json 为准)。GitHub 星标数为 0,不代表功能未完成,安装与行为以 README 为准。

核心功能

侧边栏入口

  • 注册在宿主约定的 sidebar.footer.action 插槽(「设置旁的可选操作」)。在默认侧栏布局里,该行出现在 设置齿轮上方(footerActions 在 settingsArea 之上)。
  • 宽侧栏或手机端抽屉展开且宿主显示齿轮文字时:显示 ↻ 图标 + 文案 重启 / Restart,字号与颜色跟随宿主齿轮行。
  • 56px 窄轨折叠态:仅图标,36×36 点击区域,图标 18px,与齿轮轨态一致;组件必须转发插槽传入的 wide 等 props,否则会一直呈仅图标态。

点击后的重启流程

README 概括的机制如下:

  1. 用户点击 Restart。
  2. Host 处理重启请求; detached helper 结束 Electron 主进程与 Host(按 PID)。
  3. 等待两者退出后重新启动桌面应用。
  4. 当前 Web 标签在新的实例应答后 reload,新安装的插件 bundle 才会被加载。

这与「从托盘退出再手动打开」等价,但留在侧边栏里一步完成。

仅桌面 profile

Desktop only。 在普通 dsh web profile 下,该行会渲染为禁用并说明原因(没有可替换的桌面进程)。若要重启的是 Web 服务,应使用另一类插件,例如 README 提到的 dsh-restart-button。

与皮肤的关系

同一套代码在不同皮肤下表现一致:若皮肤把脚注收进账户弹出菜单(例如 dsh-claude-style 的 collapseFooter),该入口会作为菜单行出现,图标仍与宿主控件同一套。

安装与启用

安装针对 desktop profile。README 给出两种方式:

npm 上架后(注释说明「once it is on npm」):

dsh plugin --profile desktop add dsh-sidebar-restart

或直接从 GitHub 仓库安装:

dsh plugin --profile desktop add github:DONGBIN007/dsh-sidebar-restart

安装完成后需要手动重启应用一次,以便插件被加载——README 写明这是最后一次必须手动的重启,之后用侧边栏 Restart 即可。

插件在 package.json 中声明客户端注入 @deepseek-ai/dsh-client-ui-sidebar 与 @deepseek-ai/dsh-client-locale,通过 cordis.patch.yml 打补丁进 bundle;以你本机 DSH 版本与目录页说明为准核对兼容性。

典型用法

  1. 在 desktop profile 执行上述 dsh plugin --profile desktop add ...。
  2. 按 README 要求手动重启 DSH 桌面应用一次。
  3. 打开侧栏底部:在 设置 上方看到 Restart 行(桌面宽栏带文字;窄轨仅图标)。
  4. 安装或更新其他插件后,点击 Restart,等待应用被拉起且页面自动刷新,再验证新插件是否生效。

无需额外配置文件;行为由宿主侧栏与 desktop 重启链路决定。

适用场景与注意

适合谁

  • 经常在本地 desktop 环境迭代或安装 DSH 客户端插件的开发者。
  • 希望避免每次改插件后都从托盘退出再启动的用户。

使用前请注意

  • 插件随当前 dsh 进程权限运行;安装前请阅读仓库源码与 MIT 许可证,自行判断是否信任维护者 DONGBIN007 的发布内容。
  • 不要在 dsh web profile 指望该行能重启「桌面」;Web 场景请选对插件类型。
  • DSH 社区目录(如 SkillHub 上的条目)是社区生态站点,与 DeepSeek / 幻方无官方从属关系;「一切皆插件」是 DSH 的产品思路,本文仅作插件能力说明。

结尾

dsh-sidebar-restart 把「退出托盘再开」收成侧边栏里与 设置 并列的一行 Restart,专门服务 desktop 客户端在装插件或换 bundle 后的真重启与页面 reload。需要目录简介与分类信息时可打开 SkillHub 插件页;安装命令、截图与实现细节以 GitHub 仓库 README 为准。

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

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

小夜