@xpert-ai/plugin-sdk 导出。
能力模型
能力键是一个冻结对象,包含稳定 ID、说明和仅用于 TypeScript 推导的 API 类型:get() 和 require() 推导出准确 API 类型,也能让宿主与动态加载的插件通过稳定 ID 对齐同一份契约。
能力注册表提供四个操作:
在智能体中间件中解析能力
智能体中间件可通过context.runtime.capabilities 访问当前执行范围内的能力注册表:
get();只有在插件已确认该能力是当前操作的必要前提时,才使用 require():
在 NestJS 服务提供器中解析能力
服务端插件的服务提供器可以注入平台能力注册表。若插件需要兼容尚未提供该能力的宿主版本,请将依赖声明为可选:运行时包中的能力
继续阅读详细参考:
定义能力与测试消费者
createRuntimeCapability<T>() 可为宿主或插件子系统创建类型化能力键。不要复用现有 platform.* ID 来承载不同契约。如果消费者不应注册实现,请使用只暴露 get() 的只读 RuntimeCapabilityResolver。
DefaultRuntimeCapabilityRegistry 注册类型化模拟实现:
兼容性规则
- 从
@xpert-ai/plugin-sdk导入能力键和 API 类型,不要在插件中复制接口。 - 将能力可用性视为运行时条件。插件安装成功,并不代表宿主服务、提供器、绑定或已注册沙箱操作一定就绪。
- 在异步边界传递可移植引用和结构化 DTO,不要通过队列或持久化聊天元数据传递原始文件字节、持有者令牌、宿主路径或实现实例。
- 将能力返回值限制在当前授权范围内;后续任务或回调应重新解析所需资源。