dsh-mycordis:打包与管理 dsh 会话级 Cordis 插件

前言

DSH 的理念是「一切皆插件」。会话级动态插件可以在 dsh 中使用,但如果要把它固化成可重复安装的 dsh 安装包,或保存为可跨会话导入的便携包,仍然需要整理产物。dsh-mycordis 针对这一步,提供 Cordis 插件管理和一键打包能力。

这是什么

dsh-mycordis 是一个 dsh 会话级动态插件。它用于管理 Cordis 插件,并将 dsh 会话级动态 Cordis 插件打包为 dsh 安装包(.tgz)或便携包(.dshplugin.json)。

许可证为 MIT。仓库地址为:

https://github.com/LA7-F/dsh-MyCordis

核心功能

  • 将 dsh 会话级动态 Cordis 插件打包为 dsh 安装包(.tgz)
  • 生成便携包(.dshplugin.json),用于跨会话导入或注册
  • 支持单个与批量一键打包,并可切换 dsh 包/便携包/整包类型
  • 安装 / 卸载 dsh 插件(profile 级真实安装)
  • 导入便携包(仅注册不运行,可恢复启动)
  • 收藏、常驻、恢复、复制跨会话定位信息、同名插件去重
  • 安全加固:信任栅栏、请求体上限、错误脱敏等

安装与启用

资料给出的推荐安装方式之一如下。第一条从 npm 注册表安装,第二条重启 dsh:

pnpm dsh plugin --profile web add dsh-mycordis
pnpm dsh --profile web

真实安装会写入:

$DSH_HOME/profiles/<profile>

重启 dsh 后生效。

典型用法

打包整包

先设置放置目录,再选择“整包”类型。然后勾选插件,点“一键打包”进行批量打包;也可以点每行“打包”进行单个打包。

打包整包会同时产出 dsh 安装包(.tgz)与便携包(.dshplugin.json),每个插件一个子目录。

安装 dsh 包

选择 .tgz 文件上传,并执行:

dsh plugin add

可能需要批准提升沙箱权限,并重启 dsh 后生效。

调用 HTTP API

也可以调用接口完成整包打包:

POST /api/pack-whole

该接口生成 .tgz 与 .dshplugin.json,每个插件一个子目录。

适用场景与注意

适合使用 dsh 会话级动态插件、需要把插件固化成安装包或便携包、并在多个会话间管理这些插件的人。

使用前注意:
- 预览版:Cordis 便携包目前可能只支持 Windows 端使用。
- 会话级动态插件为进程级状态,DSH 重启后需重新导入。
- 真实安装写入 $DSH_HOME/profiles/<profile>,需重启 dsh 生效。
- 安装、卸载、工作区外输出需要提升沙箱权限(弹窗批准)。
- 导入会在 dsh 进程内执行包内代码,只导入可信来源的便携包。
- 请求体上限在资料中不一致:README 提到 10MB 并统一 413;package.json 描述提到 80MB。使用前建议核对源码与实际配置。
- 插件以当前 dsh 进程权限运行;安装前应检查源码与许可证。许可证为 MIT。

结尾

dsh-mycordis 的价值在于把会话级动态 Cordis 插件的打包、安装、导入和管理放在同一个 dsh 插件里处理,减少手动整理产物的步骤。

仓库地址:

https://github.com/LA7-F/dsh-MyCordis
羽毛球分组比赛记分
小程序二维码

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

小夜