Plugins
Plugin HTTP 注入
说明 plugin.http.server 的作用、鉴权策略、以及什么样的场景适合用 HTTP 注入
Plugin HTTP 注入
plugin 可以声明:
http: {
runtime: {
authPolicies: [...],
register({ app, getContext, pluginName }) {
// register routes
},
},
}它解决什么问题
它让 plugin 自己声明:
- 需要哪些 runtime HTTP 路由
- 这些路由需要什么鉴权策略
而 server 侧只负责统一装配。
authPolicies
这里声明的是:
- 这组路由应该怎么鉴权
它的意义是:
- plugin 只声明自己的安全需求
- runtime / console 负责消费这份声明
register
这里是真正把路由挂到 runtime Hono app 上的地方。
plugin 不需要自己启动 server,只需要把路由注册函数提供出来。
当前最典型的例子
workboard plugin 当前会注入:
GET /api/workboard/snapshot
这就是现在最标准的 runtime HTTP plugin 例子。
什么时候适合用 plugin HTTP
这些场景通常适合:
- 你要暴露一个专门的 runtime HTTP 端点
- 这个端点更像 plugin 功能面,而不是 session 面
- 你希望它和 plugin 的 availability、鉴权、控制面视图保持一致
什么时候不适合
如果你只是:
- 做一般 session 对话
- 暴露 SDK session 路由
那应该仍然优先使用 agent 自带的 session HTTP 能力,而不是自己重复造一层 plugin HTTP。