前言¶
在 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 核实,插件能力如下:
- 向
sidebar.footer.action槽位注入刷新按钮(UI 依赖@deepseek-ai/dsh-client-ui-*等 inject 声明)。 - 点击后调用
remote.pluginManager的listBundles()与listPlugins(),刷新远端插件清单。 - 约 200ms 后执行
window.location.reload();宿主按当前cordis.patch.yml与已激活 bundle 重渲index.html,客户端重新引导并加载新客户端 bundle。 - 弹出确认框,降低误触导致整页重载的概率。
- 界面文案支持中文 / 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 换成你本机克隆或解压后的实际路径。
方式二:pnpm link¶
若需绕过 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。
典型用法¶
安装并完成一次页面刷新后,侧边栏底部会出现圆形刷新图标:
- 点击刷新图标;
- 在确认框中确认(避免误触);
- 插件先刷新插件清单,再在约 200ms 后重载整个页面。
对于内建插件管理器已支持「应用即生效」的场景,该按钮是快捷入口;对于经 CLI 安装、或必须整页重载才可见的客户端插件,它相当于一次点击的「手动重启替代品」。
兼容性与依赖¶
- DSH:0.2.0-rc.2 桌面版(
desktopprofile) - 平台:
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 上同名包混淆。