Dify 工作流(Workflow) 中,callback 机制(回调机制)
Dify 的 callback 机制是让工作流“挂起并恢复”的关键机制,使得 Dify 不仅能串联同步 AI 节点,还能与外部系统、人工操作、长任务完美配合,实现真正的异步工作流编排。
在 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 请求后,会:
- 验证任务标识;
- 记录结果;
- 将结果传入节点输出;
- 继续执行后续的工作流节点。
💡 三、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 机制时序图」

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



所有评论(0)