SuperAPI AI 工具集

validating-flow

通用与其它

查看项目

更新于 10-16 00:20

技能介绍

用途:在编写或修改 Robomotion 流程后、运行或提交前,校验流程及其全部子流程是否符合 pspec schema,并支持循环式「先校验、再修复」。

用法:robomotion validate <flow-dir>;不带参数时默认校验当前目录的 main.ts;也可直接传入文件路径。成功时退出码 0,stderr 显示 ✔ <folder> validated,其中 <folder> 是含 main.ts 的文件夹名而非流程名,stdout 无输出;可与运行组合使用:robomotion validate write-to-clipboard/ && robomotion run write-to-clipboard/

主要检查项:节点 id 为 6 位小写十六进制且唯一;节点类型存在于所属包的 pspec;节点属性名匹配 pspec schema(捕获拼写、大小写与虚构属性错误);端口编号是否正确;f.addDependency() 的命名空间与版本是否存在于包索引;文件是否可被 Designer 读取(单个 @robomotion/sdk 导入、节点写在 create 回调内、不使用展开或辅助函数);函数代码格式是否规范(一行多语句、整块一行、重复粘贴的块)。

不检查项:触发路径是否可达 Core.Flow.Stop(仅当完全没有 Stop 时自 robomotion 26.9.8 起发出 warning: no Core.Flow.Stop node,且仍通过;未被连线的 Stop 不会被识别);与 Stop 并排的 Debug、Log 叶子节点;Goto→Label 循环接线;缺失的必填属性;变量引用一致性;业务逻辑正确性——这些均需人工核查。

常见错误修复:未知属性用 robomotion describe node <type> 查看;节点类型不存在用 robomotion get nodes <keyword> 查找;无效输出端口参考 describe 的输出数量;无法加载 pspec 时核对命名空间拼写或用 robomotion get packages <keyword>;Designer 无法读取时按声明方式书写文件;函数格式错误时逐行书写 func 内每条语句。

限制:validate 不写入 *.designer.ts,需要 JSON 输出或 Designer 刷新时改用 robomotion build;与 build 一样会删除无 SubFlow 节点引用的 subflows/<id>.ts 并给出提示。其他平台支持与收费信息暂未提供。