可视化工作流/输入与输出参数

5.7 输入与输出参数(Workflow Inputs & Outputs)

在 Pop 的工作流体系中,“输入与输出”是决定一个工作流 如何接收数据 以及 如何返回结果 的最基础结构。
无论你要构建:

  • AI 文案生成器
  • 自动图表分析工具
  • 知识库问答流程
  • PDF 报告生成器
  • 数据处理流水线
  • 或完整的小应用(App)

你都需要理解 输入(Inputs)输出(Outputs) 的工作方式。


🧩 一、什么是输入参数(Inputs)

输入参数代表“运行工作流时外部传入的数据”。

它们通常来自:

  • 用户输入(文本 / 表单)
  • 文件(PDF、Excel、图片、JSON)
  • 运行参数(筛选条件、日期范围)
  • 前端应用传入的动态参数
  • 外部 API 调用传递的 payload

输入参数由 入口节点(Entry Node) 统一接收。

示例(在运行窗口中输入):

{
  "title": "2024 年度工作总结",
  "keywords": ["AI", "自动化", "效率"],
  "pdf": <文件>
}

🔢 二、输入参数的类型

Pop 支持多种输入类型,常见包括:

类型 示例 用途
text 字符串文本 AI 问答、摘要、改写
json JSON 对象 / 数组 数据处理 / 图表生成
file PDF、Excel、图片 文档解析、报告生成
number 数值 计算 / 循环控制
boolean true / false 条件分支
array 列表 批处理、循环节点
any 任意类型 灵活场景

输入类型会决定节点是否能正确解析数据。


🛠 三、定义输入参数

在右侧属性面板中点击 “工作流设置”“输入参数” 可以定义输入。

配置内容包括:

字段 说明
名称 (name) 参数在脚本 / 节点引用时使用的变量名
标签 (label) 在 UI 表单中显示的名称
类型 (type) text / number / file / json / boolean
默认值 用户未输入时的默认值
是否必填 决定是否必须提供
描述 参数的说明文字

示例 —— 定义一个日期范围参数:

name: date_range
type: text
required: true
default: ""
label: 日期范围

📥 四、在节点中使用输入参数

所有输入参数在入口节点统一收集,可以在任意节点中获取:

在 PSL 中使用:

const title = input.value.title;
const keywords = input.value.keywords;

在 AI Prompt 中使用:

标题:{{input.title}}
关键词:{{input.keywords}}

在 HTTP 请求节点使用:

GET /api/report?date={{input.date_range}}

输入参数可渗透整个工作流,是数据驱动工作流的核心。


📤 五、什么是输出参数(Outputs)

输出参数代表 工作流最终返回给用户的数据

典型场景:

  • 返回 AI 生成的文案
  • 返回 PPT / PDF 文件下载链接
  • 返回分析结果的 JSON
  • 返回图表渲染所需的数据
  • 返回表格数据(给布局管理器使用)

输出参数由 输出节点(Sink / ResultView) 决定。

例如:

{
  "summary": "这是总结内容……",
  "charts": [...],
  "pdf_url": "https://..."
}

📦 六、定义输出参数

在工作流设置中,你可以定义:

项目 说明
输出名称 输出字段在应用中引用的键名
类型 text / json / file 等
默认值 空文本、空对象、空数组
描述 说明用途

输出参数与页面布局绑定使用:

例如在布局中:

{{workflow.outputs.summary}}
{{workflow.outputs.chart_data}}
{{workflow.outputs.report_file}}

🔄 七、入口节点(Entry Node)与输出节点(Result / Sink)

工作流执行过程中:

  • 入口节点(Entry)负责触发流程与传递输入
  • 输出节点(ResultView / Sink)负责决定最终返回什么

例如:

[Entry] → [AI 总结] → [生成图表] → [ResultView]

或写入文件:

[Entry] → [Excel 生成] → [Sink(写入路径)]

🧠 八、输入输出在应用发布中的作用

当你点击“发布为应用”时:

  • 输入参数 会自动渲染为表单
  • 输出参数 可以绑定到页面布局(图表 / 表格 / 文本)
  • 工作流成为一个“无代码应用”

例如生成报表应用:

用户界面 = 输入参数 + 布局组件
应用逻辑 = 工作流
最终结果 = 输出参数绑定 UI


📝 九、输入输出常见模式

模式 1:文本 → AI → 文本

input.text → llm → result-view

模式 2:文件 → 解析 → AI → 文件

input.file → pdf-toolbox → llm → ppt-generate → result-view

模式 3:JSON → 数据处理 → 图表

input.json → script → chart → layout

模式 4:多输入 → 汇总 → AI → 输出对象

input.multiple → transformer → llm → dictionary → result

🎯 十、小结

输入与输出参数是 Pop 工作流的“入口”和“出口”,决定了:

  • 工作流如何获得外部数据
  • 工作流最终将结果返回到哪里
  • 应用发布时表单与 UI 组件如何绑定
  • 节点之间的数据是如何被串联的

掌握输入输出机制,你就能构建更加灵活且可复用的工作流。