Dify 工作流(Workflow) 中,callback 机制(回调机制) 是一个非常重要的设计,用于实现异步任务的结果回传与流程继续执行。下面解释它的 作用、原理和典型应用场景 👇


🧩 一、callback 机制的核心作用

一句话概括:
在 Dify 工作流中,callback 机制用于在外部异步任务(如调用第三方接口、工具执行、人工操作等)完成后,将结果回传给工作流引擎,从而继续执行后续节点。

换句话说:

  • 当工作流中的某个节点无法立即获得结果(例如调用外部 API 需要几秒钟甚至几分钟),
  • Dify 会“暂停”工作流,并等待回调。
  • 当外部系统通过 callback URL 把结果返回后,Dify 才会恢复并继续执行接下来的流程。

⚙️ 二、工作原理(执行流程)

以下是 callback 机制在 Dify 中的典型工作原理:

1️⃣ 工作流执行到某个“异步节点”

例如一个节点调用了外部服务:

{
  "type": "tool_call",
  "tool": "external_api",
  "callback_required": true
}

此时 Dify 知道该节点不是立即完成的。


2️⃣ Dify 暂停执行 & 返回 callback URL

Dify 会返回一个唯一的 callback URL,例如:

https://api.dify.ai/v1/workflow/callback/<task_id>/<node_id>

同时会告诉调用方(或插件):“请在任务完成后,把结果 POST 到这个 URL”。


3️⃣ 外部系统异步执行任务

比如:

  • 你调用了一个第三方机器学习模型;
  • 或者一个人工标注平台;
  • 或者是一个长时间运行的 Python 脚本。

当这些任务完成后,外部系统就会向 Dify 的 callback URL 发送结果。


4️⃣ Dify 接收到回调 → 恢复执行

Dify 收到 callback 请求后,会:

  1. 验证任务标识;
  2. 记录结果;
  3. 将结果传入节点输出;
  4. 继续执行后续的工作流节点。

💡 三、callback 的典型应用场景

场景 说明 示例
🔄 调用外部异步接口 外部接口响应需要时间 上传文件到云服务后等待转码完成再回调
🤖 异步 AI 任务 调用模型需要长时间计算 异步推理任务,如语音转文本、大模型生成
👤 人工审批节点 人为操作无法自动完成 审批流中等待人工确认,审批完成后 callback
🧠 工具或Agent执行 工具执行后才返回结果 Dify Agent 使用外部工具(如数据库查询)后回调结果

🧱 四、callback 机制的接口结构(示例)

1️⃣ Dify 返回 callback 信息

当你启动工作流时,Dify 返回:

{
  "status": "waiting_callback",
  "callback_url": "https://api.dify.ai/v1/workflow/callback/task_123/node_4"
}

2️⃣ 外部系统完成任务后调用:

POST https://api.dify.ai/v1/workflow/callback/task_123/node_4
Content-Type: application/json

{
  "result": {
    "status": "success",
    "data": {
      "summary": "文件已转码完成"
    }
  }
}

3️⃣ Dify 收到后自动恢复执行

后续节点可通过 {{ node_4.output.summary }} 获取返回数据。


🔒 五、安全与幂等性

Dify 通常会在 callback URL 中包含:

  • 唯一任务ID(防止串任务)
  • 签名验证(防止伪造回调)
  • 幂等控制(重复回调不会触发多次执行)

🚀 六、结合 Dify 工作流的使用价值

功能 没有 callback 时 有 callback 后
异步任务 无法暂停等待结果 可等待异步返回
外部系统交互 只能阻塞式等待 外部完成后主动触发
人机协同 无法介入人工流程 支持人工干预、审批
可扩展性 受限 任何系统都可接入

总结一句话:

Dify 的 callback 机制是让工作流“挂起并恢复”的关键机制,使得 Dify 不仅能串联同步 AI 节点,还能与外部系统、人工操作、长任务完美配合,实现真正的异步工作流编排。


「Dify 工作流 callback 机制时序图」

在这里插入图片描述

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐