前言¶
在 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 概括的机制如下:
- 用户点击 Restart。
- Host 处理重启请求; detached helper 结束 Electron 主进程与 Host(按 PID)。
- 等待两者退出后重新启动桌面应用。
- 当前 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 版本与目录页说明为准核对兼容性。
典型用法¶
- 在 desktop profile 执行上述
dsh plugin --profile desktop add ...。 - 按 README 要求手动重启 DSH 桌面应用一次。
- 打开侧栏底部:在 设置 上方看到 Restart 行(桌面宽栏带文字;窄轨仅图标)。
- 安装或更新其他插件后,点击 Restart,等待应用被拉起且页面自动刷新,再验证新插件是否生效。
无需额外配置文件;行为由宿主侧栏与 desktop 重启链路决定。
适用场景与注意¶
适合谁
- 经常在本地 desktop 环境迭代或安装 DSH 客户端插件的开发者。
- 希望避免每次改插件后都从托盘退出再启动的用户。
使用前请注意
- 插件随当前 dsh 进程权限运行;安装前请阅读仓库源码与 MIT 许可证,自行判断是否信任维护者 DONGBIN007 的发布内容。
- 不要在
dsh webprofile 指望该行能重启「桌面」;Web 场景请选对插件类型。 - DSH 社区目录(如 SkillHub 上的条目)是社区生态站点,与 DeepSeek / 幻方无官方从属关系;「一切皆插件」是 DSH 的产品思路,本文仅作插件能力说明。
结尾¶
dsh-sidebar-restart 把「退出托盘再开」收成侧边栏里与 设置 并列的一行 Restart,专门服务 desktop 客户端在装插件或换 bundle 后的真重启与页面 reload。需要目录简介与分类信息时可打开 SkillHub 插件页;安装命令、截图与实现细节以 GitHub 仓库 README 为准。