用途:在机器人上运行 Robomotion 流程,跟踪 agent 模式事件流并处理失败。
主要能力与用法:
- 预检:robomotion validate <flow-dir> 在本地捕获 pspec/schema 错误,退出码 0 表示通过,1 表示 stderr 有错误。应先校验成功再提交。
- 选择机器人:robomotion get robots 查看可用及已连接的机器人;首次在一个项目里需询问用户选择,之后通过 --robot <name> 传给 run,选择会记入项目的 .robomotion/run.json。若无机器人连接,可在征得同意后用 robomotion robot connect --robot "<name>"(需 26.9.8 或更高版本),并用 robomotion robot status/disconnect 管理。
- 触发运行:robomotion run <flow-dir> 会本地构建、校验、解析机器人,并向 /v1/flows.agent.run 提交,打印 Session id。
- 观察:run 默认跟踪会话日志(Linux/macOS 为 ~/.config/robomotion/agent/logs/sessions/<studio_id>.jsonl,Windows 为 %LOCALAPPDATA%\Robomotion\agent\logs\sessions<studio_id>.jsonl)。运行在 flow_end 或 flow_error 事件结束,不要等待 agent_mode 的 end。
- 退出码:0 成功,1 流程错误,2 跟踪超时,3 未选择机器人或日志不可达。相关参数:--no-follow、--log-wait <s>、--timeout <s>。
- 复查日志:robomotion logs --last、--studio <id>、-f、--raw。
- 循环:validate → run → 观察 → 修复 main.ts,最多重试 3 次;修复通过后可 git 提交(main.ts 与 main.designer.ts 一并提交)。
- 运行时若产生文件,可询问用户是否打开(xdg-open / open / start),非交互场景改为在报告中展示内容与完整路径。
- 开发中的包可用 robomotion package dev/off/status 从源码运行。
适用场景:在用户自己的机器人上验证并执行 Robomotion 流程、观察事件、诊断并修复节点错误。
限制:从 Robomotion.ChatAssistant.ChatIn 开始的流程不应在此运行,应使用 running-chat-assistant 技能;流程没有屏幕,日志是唯一判断依据,未出现 flow_end status=success 不得声称运行成功。部分细节(如收费、价格)暂未提供。