Dify Workflow 起始节点

Dify Workflow 的起始节点决定流程如何被启动;User Input 适合按需用户或 API 调用,Trigger 适合定时、Webhook 或插件事件自动触发。

#tech / ai #type / concept #status / growing #resource / dify

[!info] related notes

Dify Workflow 起始节点

一句话定义

Dify Workflow 起始节点决定 Workflow 是由用户或 API 按需启动,还是由定时任务、Webhook、插件事件等外部事件自动触发。

核心机制 / 工作原理

Workflow 常见有两类起始方式:

User Input

User Input 节点用于收集用户输入并启动 Workflow / Chatflow。

它适合:

  • 用户在 Web 应用中填写表单后运行。
  • 后端服务通过 API 调用 Dify 应用。
  • 上游系统明确知道要传哪些字段。

User Input 中可以定义自定义输入字段,例如短文本、长文本、数字、选择项、JSON、文件等。下游 LLM、Code、条件分支和 Output 节点可以引用这些变量。

Trigger

Trigger 是 Workflow 专用的自动触发起点,用于让流程不等待用户主动调用,而是被外部事件唤醒。

它适合:

  • 定时任务,例如每天早上生成日报。
  • Webhook,例如收到订单事件后自动处理。
  • 插件事件,例如 Slack、Gmail 等外部系统事件。

Chatflow 总是从用户消息开始,因此不使用 Trigger。

最小例子 / 最小场景

如果要做一个短视频脚本生成器,前端或 FastAPI 提交:

  • product_name
  • target_audience
  • selling_points
  • style
  • platform
  • duration_seconds

然后 Dify Workflow 生成固定 JSON 脚本,这时应该选择 User Input。

如果未来要做“每天自动扫描商品列表并批量生成脚本”,才更适合改用 Trigger。

选择速记

问题选择
用户或后端 API 主动传参运行User Input
每次运行前需要填写表单变量User Input
需要定时运行Trigger
需要响应第三方 WebhookTrigger
需要外部插件事件自动唤醒Trigger
要做 Chatflow 对话User Input

和 Output / End 的关系

Dify 旧文档和一些界面习惯里会把结束节点称为 End;当前文档中更常见的名字是 Output。

对 Workflow 来说:

  • Output 用来显式返回变量给终端用户或 API 调用方。
  • Workflow 可以没有 Output 节点也运行成功。
  • 如果通过后端 API 调用且没有 Output,调用方拿不到需要的结果。

因此 video-craft-agent 这类需要把 script_json 交给 FastAPI 的流程,必须配置 Output,把清洗后的 script_json 暴露出去。

边界与易混淆点

  • User Input 不等于只能由真人点击;后端 API 调用也可以传入这些字段。
  • Trigger 不适合 V0.1 的手动表单提交场景,它更偏自动化和事件驱动。
  • 起始节点只决定流程如何开始,不决定中间是否能调用 LLM、Code、Tool 或 Knowledge Retrieval。
  • Output 只决定流程返回什么,不负责校验 JSON;校验应放在 Code 节点或后端。

参考来源

创建于 2026/6/8 更新于 2026/6/8