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 基础设施 plugin
  • shell:长期 shell sessions 归属于 plugin 实例

相关文档