可视化工作流/运行与调试(Execution & Debugging)

5.11 运行与调试(Execution & Debugging)

Pop 工作流的运行与调试系统为你提供了完整的实时监控、错误定位、数据查看和逐节点调试能力。
无论你正在构建简单流程还是大型自动化工程,掌握调试技巧都能显著提升你的开发效率。

本章将介绍:

  • 工作流的运行模式
  • 单节点调试(Debug Node)
  • 运行日志(Execution Log)
  • 错误提示与堆栈信息
  • 常见问题排查
  • 性能与调试技巧

🚀 一、运行方式概览

Pop 提供三种运行方式:

1. 整体运行(Run Workflow)

点击顶部工具栏 ▶ 运行工作流 即可触发完整流程执行。

适合用于:

  • 验证整体逻辑
  • 生成最终结果
  • 应用发布前的完整检查

2. 单节点调试(Run This Node)

右键节点 → 运行此节点

适合用于:

  • 检查该节点输入是否正确
  • 查看当前节点输出内容
  • 调试脚本(PSL)
  • AI 提示词测试

3. Debug 模式自动高亮

运行时:

  • 当前执行的节点会高亮(蓝色)
  • 成功节点高亮为绿色
  • 失败节点标红并显示错误图标

这使你可直观追踪流程的执行路径。


📜 二、运行日志(Execution Log)

运行日志位于画布底部,是调试的核心工具。
每执行一个节点,系统会记录:

内容 说明
输入 节点收到的数据(value / type / meta)
输出 节点返回的数据
时间 执行耗时(ms)
状态 成功、失败、中断
错误 错误信息、堆栈、提示建议

你可以:

  • 展开/折叠每个节点的日志
  • 查看原始 JSON 数据
  • 复制日志内容
  • 重新运行该节点

🪜 三、逐节点调试技巧

调试复杂流程时,可以采用逐节点推进:

步骤 1:从入口节点检查输入

确保 input 的字段、类型、路径正确。

步骤 2:测试关键节点

右键节点 → 运行此节点
确认脚本、AI、HTTP、文件处理逻辑是否正确。

步骤 3:观察数据流

结合运行日志,查看每个节点的输入与输出是否符合预期。

步骤 4:修复错误(红色节点)

错误的节点会显示红框,并附带错误 Tooltip。


❌ 四、错误与异常类型

Pop 会自动捕获节点执行期间的错误并分类展示:

1. 配置错误(Config Error)

例如:

  • AI 节点模型未选择
  • HTTP 地址为空
  • 必填字段缺失

解决方式:检查节点右侧属性面板。

2. 输入数据错误(Input Error)

例如:

  • 上游返回 null
  • JSON 结构不符合预期
  • 文件格式不支持

解决方式:查看上游节点日志。

3. 脚本错误(PSL Error)

例如:

TypeError: Cannot read properties of undefined

日志中会显示:

  • 错误行号
  • 表达式内容
  • 修复提示

4. 运行时错误(Runtime Error)

例如:

  • HTTP 请求失败
  • AI 模型超时
  • 文件路径错误

系统会展示错误堆栈与建议。


🧭 五、调试常见技巧

✔ 1. 在中间节点输出调试信息

使用字典节点将中间值打印出来:

{
  "debug_value": {{nodes.sn(5).output}}
}

✔ 2. 使用脚本节点打印

你可以在 PSL 中构建输出:

return {
  step: "after_clean",
  content: cleanedText,
};

✔ 3. 拆分复杂流程

将复杂流程拆成多个小模块(Module)便于调试。

✔ 4. 使用“运行此节点”定位问题

快速定位是哪一步出错。

✔ 5. 查看原始 JSON

某些节点(如 HTTP、文件处理)会返回复杂结构,推荐展开原始 JSON 查看字段名。


🧠 六、常见问题排查(FAQ)

❓ 为什么节点一直显示“等待中”?

可能上游节点未执行成功。
检查上游是否为红色。

❓ 为什么我的脚本总是 undefined?

可能是:

  • 输入端口为空
  • 写错字段:value / output / meta
  • 脚本未 return

❓ AI 节点返回乱码?

确认输入是否包含非法字符,或使用 UTF-8。

❓ 文件类节点读取失败?

注意:路径必须是 Pop 允许的虚拟路径,而不是本地绝对路径。

❓ 图表显示为空?

检查绑定的字段是否为数组或 JSON 数据。


⚡ 七、性能调试技巧

1. 避免脚本中处理大型文件

图片、PDF 应使用文件节点处理。

2. 避免过多循环节点

循环节点作用类似 forEach,数据量大可能影响性能。

3. 使用模块分离计算逻辑

模块内部运行更高效,也便于重用。

4. AI 节点尽量减少冗长上下文

减少 Token 可显著提升速度。


🎯 八、小结

Pop 的调试体验旨在实现:

  • 可视化的全流程追踪
  • 多粒度调试(整流 / 单节点)
  • 详细的错误反馈
  • 完备的运行日志系统
  • 对大型复杂业务流程的调试友好性

掌握本章内容,你将能够:

  • 快速定位问题
  • 高效修复错误
  • 轻松调试大型工作流
  • 构建更加可靠、可维护的自动化系统