DSH 插件开发(8.20)
开发与使用流程示例
假设你开发了一个名为 my-tools 的插件包,并希望将其接入 DSH,整个流程分为三个阶段:
1. 打包阶段:创建 Bundle
将你的插件代码编写为符合规范的 npm 包,并在 package.json 中通过 dsh.bundle.patch 字段,指定插件配置入口文件 cordis.patch.yml。此时,my-tools 便成为一个可被 DSH 识别的 Bundle。
2. 安装阶段:注册到 Profile
执行以下命令,将 my-tools 安装到名为 demo 的 Profile 中:
dsh plugin --profile demo add ./my-tools
该命令会完成两件事:
- 使用
pnpm将插件包下载至 Profile 的node_modules目录下; - 自动在 Profile 目录的
cordis.patch.yml中写入引用,将my-tools这个 Bundle 的功能清单合并到“点菜单”中。
3. 启动阶段:按需加载
执行以下命令启动 demo Profile:
dsh --profile demo
DSH 会依次执行:
- 定位到
demoProfile 文件夹; - 读取其中的
cordis.patch.yml(即点菜单); - 根据菜单中的引用,加载对应的 Bundle;
- 依据菜单中的配置,决定启用或禁用哪些插件,并最终完成启动。
总结
- Profile 是你的“配置现场”,负责管理插件启停、参数调整等运行时行为;
- Bundle 是你的“功能仓库”,负责承载插件代码与能力定义。
开发时,你专注于构建 Bundle;使用时,你通过 Profile 灵活编排它们。两者分工明确,共同构成了 DSH 灵活、可插拔的插件生态。

浙公网安备 33010602011771号