SuperAPI AI 工具集

nemo-relay-plugin-build

智能体与模型

查看项目

更新于 10-16 02:34

技能介绍

用途:当需要把可复用的 NeMo Relay 运行时行为(如订阅者、护栏、拦截器等)封装为可由共享配置激活、跨应用或团队复用的插件时使用。不适用于一次性或租户临时行为(应使用 scope-local middleware)、仅仪器化调用或仅选择导出器路径的场景。

主要能力:支持两种交付模型——随宿主发布的嵌入式组件,或独立发布的动态包(manifest 支持的 rust_dynamic 原生库或 worker gRPC 工作进程)。插件暴露稳定的 kind 字符串,接收 JSON 兼容的组件配置;校验须确定性且无副作用,返回结构化诊断;注册通过 PluginContext 安装真实行为并支持失败回滚。动态插件可在 relay-plugin.toml 声明 config_schema 以支持结构化 CLI 编辑。

使用方式:先判断是否确需插件,再选交付模型;原生动态插件需据包约束/锁文件确定目标 Relay 版本。选取一种运行时表面,定义小巧的 snake_case JSON 配置与诊断规则,先校验后初始化,通过 PluginContext 注册,并测试激活、禁用、校验失败与回滚。绑定入口:Python 为 nemo_relay.plugin,Node.js 为 nemo-relay-node/plugin,Rust 为 nemo_relay::plugin。

限制:原生插件是受信任的 C-ABI 扩展,运行于 Relay 进程且不沙箱化;worker 仅提供进程隔离而非安全沙箱。配置不得包含可调用对象、客户端、凭据、文件句柄或缓存;禁用组件也应尽量校验。原生版本需匹配:Relay 0.7 使用同步类型化回调或原生 ABI v3,约束 compat.relay=">=0.7,<0.8";0.8 使用类型化异步 SDK 中间件,约束为 ">=0.8.0,<1.0",且不得阻塞 SDK 自有执行器。部分细节暂未提供,需参考公开动态插件指南,勿凭记忆复现 ABI 或 worker 协议。