dsh-refresh:侧边栏一键刷新插件清单并重载页面

前言

在 DSH(DeepSeek Harness)桌面版里装完新插件,客户端往往还要重新读到最新的 boot manifest,新 bundle 才会真正跑起来。内建插件管理器可以刷新清单,HMR 也会在集合变化时推送新 graph;但 bootstrap 模块的替换仍要求整页刷新。若不想每次 dsh plugin add 之后都关掉整个应用再开,就需要把「刷新清单」和「重载页面」收成一步。下面介绍社区插件 dsh-refresh 的定位与用法。

这是什么

dsh-refresh 是维护者 Woeful001 发布的 DSH 桌面客户端插件(分类:客户端)。它在侧边栏底部操作区、Settings 按钮旁注入一个圆形「刷新」图标;点击后先通过宿主插件管理器的远端接口刷新插件清单,再自动重载页面,使新安装的插件在不重启桌面应用的前提下生效。

仓库:https://github.com/Woeful001/dsh-refresh
社区目录:https://www.skillhub.cn/plugins/Woeful001/dsh-refresh(独立站点,与 DeepSeek / 幻方无官方从属关系)

核心功能

经 README 与 package.json 核实,插件能力如下:

  1. 向 sidebar.footer.action 槽位注入刷新按钮(UI 依赖 @deepseek-ai/dsh-client-ui-* 等 inject 声明)。
  2. 点击后调用 remote.pluginManager 的 listBundles() 与 listPlugins(),刷新远端插件清单。
  3. 约 200ms 后执行 window.location.reload();宿主按当前 cordis.patch.yml 与已激活 bundle 重渲 index.html,客户端重新引导并加载新客户端 bundle。
  4. 弹出确认框,降低误触导致整页重载的概率。
  5. 界面文案支持中文 / English,随当前 locale 选择。

Node 侧 lib/index.js 为占位入口;逻辑集中在 lib/client.js,通过 window.__ModuleLoader__.load 注册客户端 bundle。

为什么需要它

DSH 桌面应用每次页面请求都会根据 cordis.patch.yml 与已安装 bundle 生成 boot manifest。仅安装插件而不重载页面,客户端可能仍用旧 manifest。本插件把内建「刷新清单」与整页重载合并为一次点击;即便远端调用失败,重载本身也会重新读取 boot graph,作为兜底。

安装与启用

包名注意:本插件仓库名为 dsh-refresh,但 npm 上的 dsh-refresh 属于另一个插件(F5 快捷键重载),dsh-refresh-button 也是他人包。请勿执行 npm i dsh-refresh 或 dsh plugin add dsh-refresh。当前版本 0.1.0,未发布到 npm,需从源码目录安装。

方式一:从本地路径安装(推荐)

将仓库放到本机后,在 desktop profile 下添加:

dsh plugin --profile desktop add /path/to/dsh-refresh

把 /path/to/dsh-refresh 换成你本机克隆或解压后的实际路径。

若需绕过 registry 校验,可在 profile 目录用 link 安装:

pnpm --dir ~/.dsh/profiles/desktop add "link:/path/to/dsh-refresh" --config.fetch-retries=0

link 之后,还需把 dsh-refresh 写入 profile 的 dsh.profile.bundles 激活清单(文件位置:~/.dsh/profiles/desktop/package.json)。

方式三:手动写入 profile

将 dsh-refresh 加入 dsh.profile.bundles 数组,并确保依赖已安装到该 profile 的 node_modules。

典型用法

安装并完成一次页面刷新后,侧边栏底部会出现圆形刷新图标:

  1. 点击刷新图标;
  2. 在确认框中确认(避免误触);
  3. 插件先刷新插件清单,再在约 200ms 后重载整个页面。

对于内建插件管理器已支持「应用即生效」的场景,该按钮是快捷入口;对于经 CLI 安装、或必须整页重载才可见的客户端插件,它相当于一次点击的「手动重启替代品」。

兼容性与依赖

  • DSH:0.2.0-rc.2 桌面版(desktop profile)
  • 平台:web(dsh.client.platform)
  • 环境:客户端需提供 remote 与 remote.pluginManager(内建插件管理器所在环境均具备)
  • Node:>= 20
  • Peer:@deepseek-ai/cordis ^4.0.2,react ^18.2.0,react-dom ^18.2.0
  • 许可证:MIT

适用场景与注意

适合经常在 desktop profile 下试装、调试客户端插件的开发者。插件以当前 DSH 进程权限运行;安装前请自行查看 GitHub 源码 与 LICENSE,确认行为符合预期。社区目录与 GitHub 星标等信息以各站点当时展示为准(目录页标注星标为 0)。

小结

dsh-refresh 把「刷新插件清单 + 整页重载」合成侧边栏底部的一键操作,针对 DSH 桌面版装插件后不必重启整个应用这一痛点。安装务必使用本地路径或 profile 配置,勿与 npm 上同名包混淆。

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

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

Xiaoye