SuperAPI AI 工具集

nemo-relay-build-plugin

智能体与模型

查看项目

更新于 10-16 09:46

技能介绍

用途:当可复用行为需要通过共享配置激活、跨应用或团队复用时,用它把 NeMo Relay 运行时行为打包成插件,例如注册订阅者、护栏、请求拦截、执行拦截或一组相关运行时行为,并为其设定稳定的插件 kind 和激活生命周期。

主要能力:插件暴露稳定 kind 字符串,从共享插件文档接收组件级配置;配置须 JSON 兼容(Rust、Python、Node.js、文件、测试、部署系统通用);校验确定且无副作用,在改变运行行为前返回结构化诊断;注册在校验之后通过 PluginContext 安装真实行为,并支持激活失败时回滚部分设置;禁用组件尽可能地仍执行校验。

配置形态:顶层文档含 version、components、policy,每个组件提供 kind、enabled 与组件级 config,配置键统一使用 snake_case,业务逻辑留在插件代码而非配置中,敏感值用引用而非内嵌。动态插件若要在 nemo-relay plugins edit 中提供结构化字段,需在 relay-plugin.toml 声明 config_schema 能力并通过 [config_schema].path 引用本地 Draft 7 或 Draft 2020-12 JSON Schema;无 schema 插件仍可按原始 JSON 编辑。绑定入口:Python nemo_relay.plugin;Node.js nemo-relay-node/plugin;Rust nemo_relay::plugin。

使用方式:先判断是否真需要插件,否则优先直接埋点或作用域局部行为;选择一种首个运行时面;选定稳定 kind 与最小 JSON 兼容配置;定义缺失字段、不支持值、未知字段、不安全配置和无效组合的诊断;校验后通过 PluginContext 注册;测试激活、禁用组件、校验失败与注册失败回滚;编写启用、支持字段和回滚文档。

限制:不要在配置中放可调用对象、客户端、凭据、框架对象、文件句柄或缓存;校验期间不得做运行时注册;不要跳过禁用组件校验;不要用全局启动代码绕过 PluginContext;首个插件避免混合无关订阅者、请求转换与策略检查;不要导出原始生产载荷或密钥,需先做遥测净化;不要忽略部分激活失败。若只需临时行为用作用域局部中间件;只需首次作用域、工具调用或 LLM 调用用 nemo-relay-instrument-calls;只需选择导出路径用 nemo-relay-setup-observability;调试激活、缺失事件或加载失败用 nemo-relay-debug-runtime-integration。