Alyosha28/dsh-plugin-updater
Alyosha28★ 0TypeScript最后同步: 2026-08-16
—
README 摘要
@dsh-external/dsh-plugin-updater DSH 插件更新中心:自动追踪 DSH 环境中所有插件的版本,与 npm registry / GitHub releases 的最新版比对,把待更新插件以卡片形式展示(界面参考 CC Switch 版本更新 组件样式),一键执行「下载 → 完整性校验 → 替换 → 热重启」,失败自动回滚; 支持定期自动检查(可配置频率)并在发现新更新时站内通知(右上角铃铛)。 开源仓库:github.com/Alyosha28/dsh-plugin-updater · Topic: dsh-plugin 能力总览 能力 说明 全量版本追踪 扫描 Cordis loader 的全部条目(178+),解析每个插件 package.json 的安装版本 最新版比对 npm registry 优先;GitHub-only 包走 releases/tags/默认分支(API 限流时自动降级 git ls-remote ,不耗配额) 一键更新 下载(带进度)→ 完整性校验(npm sha512/sha1,GitHub gzip CRC + 包名/版本复核)→ 备份 → 替换 → 热重启 失败回滚 替换前完整备份;任何一步失败自动恢复旧文件并重建旧代 fiber 热重启 清模块缓存 → 重新 import → registry 重建 fiber(生产验证的重载配方),含 client 模块 rev 补扫 定期自动检查 默认 6 小时(可配 1h/6h/12h/24h/7d),发现新更新写入站内通知(铃铛徽标) 主动通知 右上角悬浮铃铛:未读通知数 + 待更新插件数徽标,弹窗列表 + 全部已读 AI 工具 dsh plugin update (check/status/update):AI 可代用户检查与更新插件 安全护栏 默认不更新 DSH 托管核心包(allowCoreUpdates 可放开);源码链接(link/junction)安装不原地更新;拒绝自更新;变更 API 带同源校验 界面(参考 CC Switch) - 设置 → 插件更新 页面:卡片网格,每卡 = 插件图标 + 名称 + 状态徽标 (黄「可更新」/ 绿「已是最新」/ 红「检查失败」)+ 当前/最新版本行 + 来源标签(npm/GitHub/DSH 托管/源码链接)。 - 发现更新时顶部出现品牌色横幅「发现 N 个可更新的插件」,工具条出现 全部更新(N) 按钮;每张卡右下角有醒目的 更新 按钮。 - 更新中:按钮切换为进度条(阶段 + 百分比 + 明细),完成后卡片变绿、 顶部浮出成功/失败 toast。 - 页面底部为自动检查设置:频率、通知开关、核心包开关。 更新管线(每插件) 架构 HTTP API(同源): 配置 字段 默认 说明 check…
在 GitHub 查看完整 README →