dsh-dist-manager:DSH 插件分发目录管理插件

DSH 生态强调模块化,插件开发通常涉及维护一个 dist/ 目录来存放分发包。随着版本迭代,目录中会积累大量旧文件,手动管理容易出错。dsh-dist-manager 旨在解决这一问题,自动管理 dist/ 目录下的版本归档。

核心功能

该插件提供了一套完整的分发目录管理方案,核心能力包括:

  • 自动归档:扫描 dist/ 目录下的插件包,按插件名分组并按版本号排序。
  • 版本管理:保留最新版本在 dist/ 根目录,将旧版本移至归档目录。
  • WebUI 管理:在 DSH 的设置页 → 插件归档小节提供管理界面。
  • 一键操作:支持一键归档所有插件、一键清理所有归档。
  • 查看状态:实时显示插件总数、当前版本数、已归档版本数。
  • 版本恢复:从归档目录恢复特定版本到 dist/ 根目录。
  • 归档清理:清理特定插件或所有插件的归档。

安装

通过以下命令安装插件:

dsh plugin --profile web add <插件目录>

安装后重启 WebUI 即可生效。

典型用法

发布新版本后
1. 运行 pnpm pack 生成新的 .tgz 文件到分发目录。
2. 打开 WebUI 设置页,点击「📦 一键归档所有」。

需要恢复旧版本
在归档详情中找到目标版本,点击「恢复」按钮。

清理存储空间
在插件列表中点击「🗑️ 清理」或「🗑️ 清理所有归档」。

配置

配置读取优先级为:cordis.yml 的 Config 字段 > config.json 文件 > 默认路径。

不配置时,默认取插件目录上级的 dist/(适用于 link 安装场景)。建议在 cordis.yml 中直接配置:

{
  "distDir": "<你的插件分发目录>/dist",
  "archiveDir": "<你的插件分发目录>/dist/archive",
  "autoArchive": true,
  "keepVersions": 1
}

配置项说明:
* distDir:dist 目录路径。
* archiveDir:归档目录路径。
* autoArchive:是否自动归档(预留功能)。
* keepVersions:保留的版本数量(预留功能)。

注意事项

  • 路径安全:所有文件操作都经过路径验证,防止路径穿越攻击。
  • 错误处理:所有操作都有完善的错误处理和用户反馈。
  • 实时更新:状态变化后自动刷新界面。
  • 配置持久化:配置存储在插件目录下,跨重启保持。

许可证

  • 代码(index.js、client.js 与其它源文件):MIT。
  • 文档:CC BY 4.0(需署名莉娅 / @feverZHONG)。

GitHub 仓库 | 插件目录

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

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

小夜