流程级调试
流程级调试功能允许在 MaaPipelineEditor 中实时运行 Pipeline 任务,观察节点执行过程,查看识别结果,并快速定位问题。
提示
此模块正在绝赞重构中,服务暂不可用。
前置条件
在使用调试功能前,需要满足以下条件:
- 启动 LocalBridge 服务:确保本地服务正常运行
- 连接控制器:完成设备连接
- 配置资源路径:设置包含 Pipeline 资源的目录
使用流程
1. 配置调试参数
在调试面板中配置以下参数:
资源路径
资源路径用于加载 Pipeline 定义、图像资源等文件。支持配置多个路径,后面的路径会覆盖前面的同名资源。
- 自动填充:连接后端后,编辑器会自动尝试从后端配置中获取资源路径
- 手动添加:点击"添加路径"按钮,输入资源目录的绝对路径,路径需要精确到 pipeline 文件夹的根目录,例如
/resource或/base,而非 pipeline 文件夹本身
入口节点
选择任务的起始节点。可以从以下方式选择:
- 在画布中选中节点后,点击"设为入口"按钮
- 在调试面板的入口节点下拉框中手动选择
Agent 连接(可选)
输入 Agent 标识符以连接 Agent 服务。Agent 用于提供 AI 辅助功能。
2. 启动调试
点击"启动调试"按钮开始执行。系统会:
- 验证配置参数的完整性(资源路径、入口节点、控制器)
- 自动保存当前 Pipeline 文件(如果启用了"调试前保存"选项)
- 创建调试会话,加载资源并初始化 MaaFramework
- 从入口节点开始执行任务
3. 查看执行状态
调试过程中,界面会实时更新以下状态信息:
状态标签
- 空闲(灰色):未启动调试
- 运行中(蓝色):正在执行任务
- 识别中(黄色):当前节点正在识别 next 列表
- 执行中(绿色):当前节点正在执行动作
- 已暂停(橙色):任务已暂停
- 已完成(青色):任务执行完毕
实时信息
- 当前节点:显示正在执行的节点名称
- 识别目标:识别阶段显示正在识别的目标节点
- 执行时长:显示任务运行的总时长
4. 识别记录
识别卡片列表
识别记录面板以卡片形式展示每一轮识别的结果:
卡片结构:
- 标题:当前执行的节点(发起识别的节点)
- 时间戳:识别发生的时间
- 识别项:next/on_error 列表中的所有候选节点
识别项状态:
- 🟡 待识别(pending):等待识别
- 👀 识别中(running):正在识别
- ✅ 已命中(succeeded):识别成功
- ❌ 未命中(failed):识别失败
操作:
- 点击"查看"按钮可以查看该识别项的详细信息
- 点击"清空"按钮清除所有识别记录
识别详情
识别详情模态框展示单个识别项的完整信息:
- 基础信息:节点名称、状态、时间戳、父节点、执行次数
- 算法信息:使用的识别算法类型(OCR、TemplateMatch、ColorMatch 等)
- 绘制图像:算法生成的调试图像(如 OCR 框选、模板匹配位置等)
- 最佳结果:识别返回的详细数据(坐标、文本、置信度等)
5. 执行历史
在节点字段面板的"识别记录"标签页中,可以查看与当前选中节点相关的执行历史:
时间线视图
按时间顺序展示节点的执行过程:
- 运行中:蓝色圆点,正在执行
- 已完成:绿色对勾,执行成功
- 失败:红色叉号,执行失败
每条记录包含:
- 执行次数(如果节点被多次执行)
- 开始时间
- 执行耗时
- 错误信息(如果失败)
识别记录标签页
出发节点记录:显示从当前节点发起的所有识别记录(parentNode 等于当前节点)
目标节点记录:显示当前节点作为识别目标的所有记录(识别项中包含当前节点)
6. 停止调试
点击"停止调试"按钮结束任务执行。系统会:
- 停止当前运行的任务
- 断开 Agent 连接(如果已连接)
- 销毁调试会话,释放资源
- 保留识别记录和执行历史供查看
高级功能
调试前自动保存
启用"调试前保存"选项后,每次启动调试前会自动保存当前的 Pipeline 文件,避免因未保存导致的不一致。
打开日志
点击"打开日志"按钮可以在系统默认编辑器中打开 MaaFramework 的运行日志(maa.log),查看更详细的执行信息。
识别记录面板
点击"显示识别记录"按钮可以展开全局识别记录面板,独立显示所有识别记录,方便全局查看和对比。
常见问题
资源路径无法加载
问题:启动调试时提示"加载资源失败"
解决方案:
- 确认资源路径正确,且包含
pipeline子目录 - 检查路径权限,确保后端进程有读取权限
- 查看后端日志,确认具体的错误原因
控制器连接失败
问题:提示"控制器不存在"或"控制器实例不可用"
解决方案:
- 在调试前确保已成功连接 ADB 设备或 Win32 窗口
- 检查 LocalBridge 服务状态
- 尝试重新连接控制器
识别结果不显示
问题:调试过程中没有识别记录产生
解决方案:
- 确认 Pipeline 节点配置正确,包含识别算法和 next 列表
- 检查日志,确认识别过程是否正常执行
- 验证截图功能是否正常(调用截图工具测试)
Agent 连接失败
问题:提示"Agent 连接失败"
解决方案:
- Agent 连接是可选功能,不影响基础调试功能
- 检查 Agent 服务是否启动
- 验证 Agent 标识符是否正确
最佳实践
- 逐步调试:从简单节点开始,逐步扩展到复杂流程
- 查看识别详情:通过绘制图像和最佳结果快速定位识别问题
- 配合日志使用:遇到问题时查看详细日志,获取更多诊断信息
