DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

maxwell234smith /

maxwell234smith/dsh-desktop-update-entry

Verified

DSH 桌面版插件:在侧栏常驻一个「检查更新」入口(官方指示器只在有更新时才出现)

★ 0 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@51dc3859

dsh-desktop-update-entry

给 DSH 桌面版在侧栏底部加一个常驻的「检查更新」入口。

为什么需要它

DSH 桌面版自带的更新指示器只在有更新活动时才渲染 (dsh-client-ui-settings-general 的 DesktopUpdateIndicator:phase === 'idle' 时直接 return null), 所以「已经是最新版」的时候,侧栏里没有任何手动检查更新的入口—— 设置 → 通用 里的「当前版本」只是一行文字,托盘菜单只有「打开应用 / 退出」。

本插件补上这个入口:无论有没有更新,侧栏底部始终有一个可点的状态位。

显示什么

壳的相位 展开侧栏 收起侧栏 点击后
空闲(已是最新) 「检查更新」 状态点 打开官方更新弹窗(壳会做一次检查)
checking 让位给官方指示器 转圈 —
available 让位(官方显示「新版本 x.y.z」) 状态点 —
downloading 让位 转圈 —
verifying / installing 让位 转圈 —
ready 让位(官方显示「安装并重启」) 状态点 —
error 让位(官方显示「重试更新」) 状态点 —

两条规则:

  1. 展开侧栏时互补:有更新/出错时官方指示器本来就会出现(就在右侧设置行里), 本入口此时返回 null 让位,避免两个一模一样的按钮并排;空闲时官方不渲染,由本入口补上。
  2. 收起侧栏时兜底:官方指示器在窄状态(wide: false)不渲染,所以本入口始终保留一个状态点。

入口出现在 sidebar.footer.action 席位(order: 1000,紧挨着右侧的「设置 / 更多」按钮), 与官方的 cordis 角标并列,不覆盖任何自带 UI。

它怎么工作

桌面壳在页面里注入了 globalThis.dshDesktop.updates(协议版本 1):

bridge.status()            // Promise<presentation>  → { phase, percent?, version? }
bridge.subscribe(listener) // 壳每次推送新相位都会回调
bridge.open()              // Promise<void>          → 打开官方更新弹窗

插件只做三件事:订阅这个桥、把状态渲染成一个按钮、点击时转发给 bridge.open()—— 更新的检查、下载、校验、安装全部仍由官方壳执行,插件不碰任何文件、不发任何网络请求。

在普通浏览器(没有这个全局量)里插件完全静默,不注册任何 UI。

安装

# 从 GitHub 安装(推荐锁到 tag 或某个提交,见仓库 Releases)
dsh plugin --profile desktop add github:maxwell234smith/dsh-desktop-update-entry#v0.1.0

# 本地开发:直接链接源码目录
dsh plugin --profile desktop add link:D:\path\to\dsh-desktop-update-entry

也可以在 DSH 网页版 侧边栏 → 插件 → 安装 bundle 里填 github:maxwell234smith/dsh-desktop-update-entry。 装完刷新一次页面。零运行时依赖、零构建步骤。

测试

node --test

用 node:vm 把 lib/client.js 装进带假 window/document/react 的环境, 验证导出与席位注册、无桥时静默、八个相位的文案与可点状态、点击转发、以及订阅推送。

License

MIT

—/ 5

No ratings yet

Verified DSH bundle

Commit 51dc3859982b

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout