NeMo Relay 插件构建指南
帮助将可复用的 NeMo Relay 运行时行为封装为可配置插件。
技能明确要求最小化、JSON兼容配置、避免凭据和原始生产载荷,并要求验证无副作用、通过PluginContext注册及失败回滚;但未规定用户确认、权限边界、具体数据流或回滚操作细节,因此扣5分。
流程在验证、诊断、注册和部分失败处理上自洽,且提供了评测报告;但没有该技能实现的提交测试、依赖版本或可复现关键路径,异常输入和错误反馈示例也有限,因此扣11分。
适用场景、排除场景、运行面和多语言绑定较清楚,触发条件较具体;但没有中文使用支持、环境兼容矩阵或非适用边界的深入说明,因此扣4分。
SKILL.md结构清晰,包含配置、绑定、失败模式和检查清单;skill-card提供Apache 2.0、所有者、版本和评测信息,但缺少Instructions和Examples推荐章节,作者格式不符合报告要求,维护责任、变更记录和更新路径不完整;用户提供的许可证元数据为NOASSERTION也降低确定性,因此扣6分。
内容直接覆盖配置形状、确定性验证、PluginContext注册、禁用组件验证和回滚要求,静态上足以完成核心设计指导;但没有该技能产出的可直接使用代码、代表性结果或与替代方案的量化比较,按静态上限计7分。
包含固定修订版、评测任务、指标和结果,提供了一定审计线索;但评测材料不是该技能关键路径的可独立复现实验,缺少提交测试和多来源交叉证据,因此扣6分。
- 评测报告是静态声明,不能替代对关键插件路径的独立执行验证;应补充真实测试、依赖版本和失败回滚测试。
- 文档没有给出各绑定的完整代码示例、兼容性范围、中文说明或运维级回滚步骤。
- 发布前应核对技能许可证元数据NOASSERTION与Apache-2.0声明的一致性,并明确维护者和更新渠道。
这个 Skill 能做什么,适合哪些场景?
该技能指导开发者把可复用的 NeMo Relay 进程级行为封装为由配置激活的插件。它强调使用稳定的插件 kind、JSON 兼容配置、无副作用的确定性校验,以及通过 PluginContext 进行可回滚注册。内容覆盖订阅器、护栏、请求拦截和执行拦截等运行时表面。它适合跨应用、团队或启动路径复用行为,不适合一次性请求级逻辑或依赖运行时对象的配置。
指导代理确定插件是否必要,选择首个运行时表面,设计 snake_case 配置结构和诊断规则,并在初始化前完成校验。它要求错误诊断阻止初始化和注册,要求通过 PluginContext 注册实际行为,并测试启用、禁用组件、校验失败和部分注册失败回滚。对于需要结构化 CLI 编辑的动态插件,它还指导声明 config_schema 能力并引用本地 Draft 7 或 Draft 2020-12 JSON Schema 文件。该技能本身不提供具体插件实现或自动执行这些操作。
- NeMo Relay 开发者需要把订阅器或护栏封装为多个应用可复用的进程级插件。
- 平台团队需要在改变运行时行为前校验操作员提供的共享插件配置。
- 工程团队需要通过配置启用、禁用或逐步发布请求拦截和执行拦截逻辑。
- 插件作者需要确保注册失败时不会留下部分激活的运行时行为。
这个 Skill 有哪些优点和局限?
- 覆盖从插件边界、配置设计到校验、注册、测试和回滚的完整开发流程。
- 明确要求校验无副作用,并在注册失败时处理部分激活风险。
- 兼顾跨 Rust、Python、Node.js 以及文件和部署系统的 JSON 配置兼容性。
- 提供对 config_schema、禁用组件校验和敏感信息处理的具体约束。
- 这是方法和设计指南,不包含可直接运行的插件代码、脚本或测试套件。
- 未说明 NeMo Relay 的具体版本、构建工具、运行命令或平台矩阵。
- 实现者仍需自行确定插件 kind、配置字段、诊断格式和具体运行时行为。
- 插件级方案不适合一次性请求、租户级行为或依赖客户端、凭据和框架对象的配置。
如何安装这个 Skill?
使用仓库 README 中的 skills CLI 安装指定技能:
npx skills add nvidia/skills --skill nemo-relay-plugin-build --yes
也可以指定 Codex:
npx skills add nvidia/skills --skill nemo-relay-plugin-build --agent codex --yes
README 未说明该单个技能的其他手动安装步骤。
如何使用这个 Skill?
安装后,在需要构建可配置 NeMo Relay 插件时提示代理,例如:“为可跨应用复用的 NeMo Relay 请求拦截行为设计并校验一个插件,并确保通过 PluginContext 注册且支持失败回滚。” 具体插件代码、构建命令和运行环境配置未在该技能中提供。
这个 Skill 与同类方案有什么区别?
如果只需一次性或租户级行为,技能建议使用 scope-local middleware;如果只需包装直接工具或 LLM 调用,使用 nemo-relay-instrument-calls;如果只需选择导出器路径,使用 nemo-relay-plugin-observability。