前言¶
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