插件结构与生命周期入门

插件开发更新于 2026-08-16 · 约 2 分钟阅读

最小插件长什么样#

一个 DSH 插件本质上是一个普通的 Node.js 项目仓库。概念上的最小结构如下(示意,具体文件名以官方文档为准):

my-plugin/
├── package.json      # 包信息与依赖
├── 清单文件           # 声明插件名称、入口、能力
└── src/              # 插件逻辑代码

清单文件的作用#

清单文件相当于插件的「身份证」:DSH 加载插件时先读它,得知插件叫什么、入口在哪、暴露了哪些能力。把清单写准确,是插件能被正确识别和展示的前提。

生命周期钩子#

插件从加载到退出大致经历几个阶段,每个阶段都有对应的钩子(hook)供你挂自己的逻辑,示意如下:

// 示意代码,非精确 API
onLoad()    // 插件被加载时:初始化状态、注册能力
onUnload()  // 插件被卸载时:清理资源

常见约定#

  • 加载阶段做幂等的初始化:重复加载不应当出错
  • 卸载阶段释放你申请的一切资源:定时器、文件句柄、网络连接
  • 不要在模块顶层做耗时操作,把重活放进加载钩子

下一步#

结构清晰之后,发布只需一个 topic,见发布插件到 DSHub;更细的工程习惯见调试与最佳实践。精确的 API 名称与字段定义请始终以 DSH 官方文档为准。