入门
理解插件生命周期
理解插件生命周期 — 学习如何构建入门 dsh 插件。
你需要知道的生命周期
一个 dsh 插件经历明确的生命周期:初始化、激活、运行、关闭。理解这个生命周期能帮你写出懂得自己清理的插件。
初始化
export function apply(ctx, config) {
// 1. 注册能力
ctx.commands.register('my-cmd', { ... });
ctx.tools.register({ ... });
// 2. 设置清理钩子
ctx.onShutdown(() => {
cleanupResources();
});
// 3. 不返回任何值——生命周期由 dsh 管理
}激活与去激活
插件在 profile 启动时激活,在停止时去激活。onShutdown 钩子是你关闭连接、释放锁、清理临时文件的机会。
状态管理
把插件状态存在 ctx 属性里,不要用全局变量。这让你的插件可测试且 profile 隔离。