v0.6.0
v0.6.0
插件市场结构性升级:Plugins 页拆分「发现 / 已安装」二级导航(发现为默认页),已安装页与发现页同一卡片观感,并支持插件更新检测、单插件更新与一键全部更新。同版交付企业治理增强(市场目录镜像、内置插件 tarball 装机完整性复核)与主页一键重启。
Changes
- 市场二级导航:点击 Plugins 后在顶部导航下方显示「发现 / 已安装」二级导航,发现(目录浏览)为默认页;已装列表从发现页内联区块收敛为独立整页,两页共用同一卡片骨架,目录能匹配上的已装插件透传描述/分类/星标/链接
- 插件更新检测:npm 形态安装的非受管插件自动比对 npm registry latest——进入市场页即检测,已安装页可手动重跑;spec 能解析出具体版本(
pkg@1.2.3、npm:pkg@1.0.0、裸版本)才参与,范围 spec(^ ~)与github:/file:等协议形态如实不可检;部分包查询失败不放大为整体失败,全部可检包都失败才报错 - 插件更新:有新版本的插件显示「更新」按钮与
v当前 → v最新;更新 = 以name@latest重装,与一键安装同一 dsh 闸门、插件策略白名单、审计台账与构建脚本审批流;「全部更新(N)」顺序执行(共享同一 profile,pnpm 并发会争锁),结束汇总,中途撞上审批挂起即停 - 市场目录镜像(企业):设置页新增「插件目录源」,可指向返回同一 plugins.json 契约的内网镜像;留空 = 内置官方源;非空必须显式带
https:///http:// - 内置插件完整性复核(企业):构建链为两个内置授权插件 tarball 产出 sha256 摘要并随安装包分发;装机后每次使用前复核,校验和文件缺失或摘要不符一律拒绝启用(fail closed,无绕过出口)
- 一键重启 dsh web:主页新增重启按钮(服务运行中可用);先关后启并沿用当前访问模式,关闭失败即中止重启,不在未知状态上强行拉起
- README 勘误:目录源名称对齐 awesome-dsh-plugin.com curated 目录(2700+ 插件)
- e2e smoke 修复:补齐
market_snapshot未 mock 导致 plugins 步骤中断的既有断裂,断言对齐二级导航后的页面结构
验证
cargo test:77 项全部通过(含 spec 版本解析、registry 响应解析、策略合并、校验和复核等新增测试)cargo clippy --all-targets:无告警vitest:41 项全部通过(含二级导航、更新检测、单更新与全部更新用例)pnpm run test:e2e:9 步全部通过pnpm run check:release -- --tag v0.6.0:版本三处一致、release notes 存在、bundle resources 路径有效
升级说明
- 无破坏性变更与配置迁移:
market_catalog_url默认为空即官方源,行为与上一版一致 - 已装插件中
github:/file:形态的条目不出更新按钮(来源不是 npm registry),列表管理与移除照常可用 - 首次从旧版升级后,内置授权插件在首次修复/安装时即走校验和复核;正常分发的安装包不受影响