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 会依次执行:

  • 定位到 demo Profile 文件夹;
  • 读取其中的 cordis.patch.yml(即点菜单);
  • 根据菜单中的引用,加载对应的 Bundle;
  • 依据菜单中的配置,决定启用或禁用哪些插件,并最终完成启动。

总结

  • Profile 是你的“配置现场”,负责管理插件启停、参数调整等运行时行为;
  • Bundle 是你的“功能仓库”,负责承载插件代码与能力定义。

开发时,你专注于构建 Bundle;使用时,你通过 Profile 灵活编排它们。两者分工明确,共同构成了 DSH 灵活、可插拔的插件生态。


posted @ 2026-08-20 09:14  刘阳-jokerleon1688  阅读(1)  评论(0)    收藏  举报