DSH Quality
入门
3 分钟阅读

理解插件生命周期

理解插件生命周期 — 学习如何构建入门 dsh 插件。

最后更新:2026-08-26

你需要知道的生命周期

一个 dsh 插件经历明确的生命周期:初始化、激活、运行、关闭。理解这个生命周期能帮你写出懂得自己清理的插件。

初始化

ts
export function apply(ctx, config) {
  // 1. 注册能力
  ctx.commands.register('my-cmd', { ... });
  ctx.tools.register({ ... });

  // 2. 设置清理钩子
  ctx.onShutdown(() => {
    cleanupResources();
  });

  // 3. 不返回任何值——生命周期由 dsh 管理
}

激活与去激活

插件在 profile 启动时激活,在停止时去激活。onShutdown 钩子是你关闭连接、释放锁、清理临时文件的机会。

状态管理

把插件状态存在 ctx 属性里,不要用全局变量。这让你的插件可测试且 profile 隔离。