NeMo Relay 迁移助手
将 NeMo Flow 项目安全地迁移为 NeMo Relay。
技能要求先 dry-run、审阅变更并获得目标根目录的明确确认;辅助脚本限制根目录、拒绝 home/filesystem root 写入,避免跟随符号链接,跳过 dotenv 和常见生成目录,并使用原子替换与 no-replace 重命名。未见恶意、凭据窃取或隐蔽外传行为。扣分原因是没有回滚、备份或事务级恢复机制,且配置文件审阅责任仍主要转移给用户;license 元数据为 NOASSERTION,尽管技能和仓库文件声明 Apache-2.0。
SKILL.md、脚本和评测任务之间的核心流程一致,包含 dry-run、确认根目录、失败退出和路径变化检测,异常反馈也较明确。扣分原因是未提供提交的针对关键路径的测试套件,静态阅读无法确认跨平台安全系统调用、语言特定迁移和锁文件处理实际可运行;部分清理步骤仍依赖用户工具链。
目标用户、迁移场景、支持的语言面和不应替换的 bare flow/Flow/FlowError 范围描述清楚,且不依赖外部 API 或海外在线服务。扣分原因是没有完整说明非适用场景、输入输出契约和触发排除条件,文档仅英文,对中文用户的使用支持有限。
信息按工作流、重命名映射、语言清理、自动化、验证和相关技能分层;技能声明 Apache-2.0,skill-card 提供所有者、版本、评测摘要和风险说明,仓库还提供许可证与安全联系渠道。扣分原因是评测指出缺少推荐的 Instructions 和 Examples 部分,缺少清晰的 changelog、稳定版本策略和技能级维护更新路径,且 license metadata 为 NOASSERTION。
该技能能直接指导 NeMo Flow 到 NeMo Relay 的机械重命名,覆盖多语言、CLI、配置、文档和 FFI,并提供可直接调用的 dry-run/write 命令。评测文件报告了正向任务上的可用结果,但没有提交实际迁移产物或可独立复核的输出。扣分原因是机械替换不能保证行为、依赖或 API 兼容,语言清理和锁文件更新仍需人工及工具链处理,结果需要较多后续验证。
源文件包含明确的替换表、脚本实现、验证命令、评测任务和汇总指标,提供了一定审计线索。扣分原因是评测结论主要是报告性材料,没有提交覆盖关键路径的测试或可独立复现的 CI 证据;静态审查无法验证其运行结果。
- 写入会修改目标项目中的多个源文件和路径;必须人工审阅 dry-run,尤其是配置文件,并确认无未审阅或含凭据文件。
- 该工具只做显式标识符替换,不保证 NeMo Relay 的真实 API、依赖、ABI、构建或运行时兼容;应在隔离分支或可恢复副本中执行并运行各语言测试。
- 未提供明确回滚流程;路径重命名和文件替换失败时可能留下部分完成状态。
- 评测结果和版本信息未由提交的测试套件或 CI 关键路径独立复现。
这个 Skill 能做什么,适合哪些场景?
该技能用于把应用、示例、集成、文档、清单和仓库代码从 NeMo Flow 迁移到 NeMo Relay。它覆盖 Python、Rust、Node.js、Go、C FFI、CLI、配置和可观测性相关表面。流程以机械重命名为核心,并要求进行语言级清理和验证,而不是重写行为。技能声明采用 Apache-2.0 许可证。
它检查工作树并识别受影响的语言和文件表面,解析技能目录与目标路径,运行 Python 迁移辅助脚本进行 dry-run,报告文本编辑和路径重命名;在用户确认目标根目录后执行写入和路径重命名。随后指导更新依赖、导入、包路径、头文件、配置和文档,并搜索残留的 Flow 标识符以及运行相关测试。
- 维护包含 Python 包名、导入路径或原生模块名的 NeMo Flow 项目时,迁移到 NeMo Relay。
- 维护同时包含 Rust crate、Cargo 配置和工作区依赖的项目时,统一更新 Relay 名称。
- 迁移包含 Node.js 包、Go 模块或 C FFI 头文件与符号的跨语言仓库时,执行对应清理。
- 更新 CLI 命令、环境变量、配置目录、文档示例和集成链接中的 NeMo Flow 标识时,避免误改通用的 flow 术语。
- 需要先审阅变更报告、再确认目标根目录并进行受控批量修改时,使用内置辅助脚本。
这个 Skill 有哪些优点和局限?
- 覆盖 Python、Rust、Node.js、Go、C FFI、CLI、配置、文档和集成等多种迁移表面。
- 默认先 dry-run,并要求确认目标根目录后才写入。
- 明确区分兼容性例外,避免把 bare flow、Flow 或 FlowError 误当作产品名称。
- 辅助脚本会跳过常见构建、缓存、供应商和生成目录,也跳过符号链接及凭据型 dotenv 文件。
- 核心工作是名称和路径迁移,不负责行为重写或验证迁移后的功能等价性。
- 脚本默认跳过锁文件;锁文件通常需要由 Cargo、uv/pip、npm 或 Go 工具重新生成。
- 配置文件不会自动被识别为机密,dry-run 报告中的配置文件仍需人工审阅。
- SKILL.md 未提供具体目标项目、平台矩阵或完整测试套件,实际验证需要依赖目标仓库。
- 仓库元数据列出许可证为 NOASSERTION,虽然该技能声明 Apache-2.0,且集合 README 声明 Apache-2.0 与 CC BY-4.0 双许可证。
如何安装这个 Skill?
使用仓库 README 支持的 skills CLI 安装:
npx skills add nvidia/skills --skill nemo-relay-migrate-from-flow --yes
README 未说明该单个技能的固定安装目录;CLI 会提示选择技能和安装目标。
如何使用这个 Skill?
向兼容的代理提出迁移请求,例如:“将这个项目从 NeMo Flow 迁移到 NeMo Relay,并先生成 dry-run 报告。”代理应先运行:
python3 "$SKILL_DIR/scripts/migrate_from_nemo_flow.py" "$TARGET_PATH" --rename-paths
审阅报告并确认目标根目录后,再运行:
python3 "$SKILL_DIR/scripts/migrate_from_nemo_flow.py" "$TARGET_PATH" --write --rename-paths --confirm-root "$TARGET_PATH"
之后执行语言级清理,搜索剩余的显式 Flow 标识符,并运行受影响表面的定向测试。具体测试命令取决于目标仓库;技能未提供单一通用测试套件。