Examples
Plugin Runtime Composition
什么时候应该保持 plugin 很薄,什么时候应该把能力放进 lifecycle-owned plugin runtime
Plugin Runtime Composition
设计 plugin 时,一个很关键的问题是:
这段逻辑到底应该待在 plugin actions / hooks 里,还是应该放进 lifecycle-owned plugin runtime?
适合保持轻量 plugin 的场景
- 显式用户 action
- hook 参与
- system prompt 注入
- setup / usage 协议
- 较小的 runtime HTTP surface
更适合 lifecycle-owned runtime 的场景
- queue worker
- cron engine
- 持久 session pool
- 长连接
- stop 时必须回收的内存 runtime state
一个实用判断
如果这段能力必须被 start、stop、recover 或随时间 poll,那它通常更适合 lifecycle-owned plugin runtime,而不只是一个薄 action。
可以参考的内建例子
chat:queue worker 归属于 plugin 实例task:cron engine 归属于 plugin 实例schedule:纯 lifecycle 基础设施 pluginshell:长期 shell sessions 归属于 plugin 实例