免费POC, 零成本试错
AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


我要投稿

Dify v1.10.0-rc1:引入事件驱动工作流!

发布日期:2025-11-04 19:47:40 浏览次数: 1888
作者:AI工具推荐官

微信搜一搜,关注“AI工具推荐官”

推荐语

Dify v1.10.0-rc1 带来革命性的事件驱动工作流,让AI应用从被动响应升级为主动决策的智能平台,开发者与企业用户不容错过!

核心内容:
1. 事件驱动工作流的三大触发器类型详解
2. 全新设计的"开始节点"架构与输入参数机制
3. 基于队列的图引擎如何解决企业级自动化痛点

杨芳贤
53AI创始人/腾讯云(TVP)最具价值专家



 

dify v1.10.0-rc1 引入的事件驱动工作流,不仅仅是增加了几种触发器,它标志着Dify正从一个被动的AI工具向一个能够主动响应、智能决策的自动化平台演进。无论你是希望提升业务流程自动化水平的企业用户,还是想要构建更复杂AI应用的开发者,这次更新都值得你立即尝试。

🚀 v1.10.0简介

触发器功能介绍


触发器 = 当发生某件事时 → 执行某个操作


触发器是事件驱动型工作流(Workflow)功能的基础,主要包含以下类型:

  • 定时触发(基于时间的触发器)
  • SaaS 集成事件触发(来自 Slack/GitHub/Linear 等外部 SaaS 平台的事件,通过插件实现集成)
  • Webhook 触发(外部 HTTP 回调)
  • 待讨论项

注意:以上所有功能仅为工作流(Workflow)设计,暂不支持聊天流(Chatflow)、智能体(Agent)及基础聊天(BasicChat)。

Image

📚 设计前提

经过慎重考虑,我们认为原有的 “开始节点” 设计无法充分体现触发器背后的设计理念。因此,我们将 “开始节点” 重新设计为与 Web 应用(WebApp)或服务接口(Service API)绑定的组件。这意味着:


  1. 工作流的输入参数等同于 “开始节点” 定义的表单。

  2. 触发器类型可自定义输入格式,无需遵循 Dify 的 “开始节点” 格式:

  • Webhook:用户可自由定义所需的 HTTP 负载结构。
  • 插件:为特定第三方平台预定义工作流输入参数。
  • 定时触发:仅需单个 $current_time 参数。

基于此,我们推出了 3 种 “开始节点”,它们本质上均为触发器节点。目前,该功能的产品设计已全部完成,UI/UX 设计也已收尾。


触发器的实现将分为以下三部分:


  • WebHook — 在画布(Canvas)中配置 WebHook 相关信息
  • 定时触发(Schedule)— 基于时间的触发器
  • 插件(Plugins)— 插件系统(大多数第三方平台集成需依赖此系统)

⚙️ 基于队列的图引擎

1. 支持更多使用场景

目前,若要在企业环境中搭建类似 “Discord 工单机器人 → Linear 同步” 的功能,需编写自定义粘合代码、预先发布扩展程序,且需从 Discord 开发者控制台手动获取令牌(Token),无法通过简单的一键 OAuth 绑定实现。类似痛点也存在于 GitHub PR 插件审核、Hello Dify 邮件回复等场景中,均需手动执行下载 / 上传 / 触发操作。


2. 减少体验碎片化

尽管可通过外部自动化平台调用 Dify API 实现类似效果,但跨平台体验存在碎片化问题,且许多外部自动化平台正逐步新增自身的大语言模型(LLM)编排能力,进一步加剧体验割裂。


3. 集中配置与管理

开发者通常需部署多个服务来轮询事件。虽然 “端点(Endpoints)” 可提供一定支持,但它并非为触发器场景设计,导致配置流程不够直观。


4. 真实用户需求

社区中有多名用户提出了该功能需求,相关议题编号如下:

  • #9168
  • #4516
  • #19409
  • #21583

升级指南

Docker Compose部署

  1. 1. 备份自定义的docker-compose YAML文件(可选)
cd docker
cp docker-compose.yaml docker-compose.yaml.$(date +%s).bak
  1. 2. 从main分支获取最新代码
git checkout 1.9.0
git pull origin 1.9.0
  1. 3. 停止服务(请在docker目录中执行)
docker compose down
  1. 4. 备份数据
tar -cvf volumes-$(date +%s).tgz volumes
  1. 5. 升级服务
docker compose up -d

源代码部署

  1. 1. 停止API服务器、Worker和Web前端服务器。
  2. 2. 从发布分支获取最新代码:
git checkout 1.10.0-rc1
  1. 3. 更新Python依赖:
cd api
uv sync
  1. 4. 运行迁移脚本:
uv run flask db upgrade

    1. 5. 重新运行API服务器、Worker和Web前端服务器。

    变更内容

    • 将工作流控制面板中的 “导出” 按钮替换为 “更多操作” 按钮
    • 新增 “滚动至选中节点” 按钮(位于工作流顶部栏)
    • 新增完善的触发器节点系统,含定时触发器实现
    • 将工作流 “运行” 按钮更新为 “测试运行(Test Run)”,并支持快捷键
    • 新增 “测试运行” 下拉菜单,支持动态选择触发器
    • 优化定时触发器的小时模式计算逻辑,提升 UI 一致性
    • 移除 “工作流功能” 按钮
    • 实现定时触发器验证功能,支持多开始节点拓扑结构
    • 修复 “移除功能” 与 “增强验证” 之间的代码合并冲突
    • 重构 “开始节点” UI 为 “用户输入(User Input)”,优化 “入口节点容器(EntryNodeContainer)”
    • 修复工作流国际化(i18n)文件中重复的 “星期” 键值
    • UI 优化,修复定时触发器的翻译问题及自定义图标
    • 修复切换至 “小时” 频率时未初始化重复字段的问题
    • 实现定时触发器的 “按月” 多选项功能
    • (工作流)新增 “插件触发器节点”,适配统一入口节点系统
    • 将 “测试运行” 下拉菜单中的模拟数据替换为动态工作流选项
    • 重构定时触发器组件,优化整体设计
    • (触发器)实现通用入口功能
    • (触发器)支持指定根节点
    • 实现 WebHook 触发器前端功能
    • (WebHook 触发器)移除冗余的 WebhookParam 类型,简化参数处理逻辑
    • (定时触发器)以用户为中心简化时区处理逻辑
    • 重构工作流执行的错误类型,使用特定错误类型
    • 重构 “RunAllTriggers” 图标名称为 “TriggerAll”,提升语义清晰度
    • 修复 “仅含触发器节点的工作流无法保存” 的问题
    • 修复 “无开始节点的工作流无法打开服务接口” 的问题
    • 实现工作流引导弹窗系统
    • 实现 WebHook 触发器后端 API
    • 修复国际化(i18n)缺失的键值,合并上游主分支代码
    • 重构(侧边栏)应用操作区域,新增切换功能
    • 修复 “仅工作流应显示引导弹窗” 的逻辑
    • 重构 “租户日限流(TenantDailyRateLimiter)”,内部使用 UTC 时间,错误提示支持时区显示
    • 统一 WebHook 触发器与定时节点的样式,修复选中边框截断问题
    • 支持空工作流,优化工作流验证逻辑
    • 提升 WebHook 服务及控制器的代码质量
    • (定时触发器)修正 “按周” 频率的星期计算算法
    • 增强工作流错误处理能力,优化国际化支持
    • 优化工作流检查清单组件的 UI 样式
    • (定时触发器)为 “按周” 频率模式添加时间逻辑,确保与 “按日” 模式行为一致
    • 新增 “应用触发器列表” API
    • 优化工作流模块选择器的搜索功能
    • 优化触发器模块的提示框(Tooltip)设计
    • 实现触发器卡片组件,支持自动刷新
    • 优化触发器卡片的布局间距,移除分隔线
    • 实现 “添加 / 删除 WebHook 触发器时调用 API” 的功能
    • 增强 WebHook 触发器面板的 UI 一致性与交互性
    • 增强 WebHook 触发器面板的 UI 一致性与用户体验
    • 修复工作流卡片切换逻辑,实现极简状态 UI
    • 修复 “执行 WebHook 前未检查 AppTrigger 状态” 的问题
    • 优化定时触发器及 “快速设置” 应用操作按钮的 UI
    • (WebHook)新增基于内容类型(Content-Type)的参数类型处理逻辑
    • 优化时间选择器(TimePicker)底部布局及按钮样式
    • 统一 “测试运行” 快捷键,优化下拉菜单样式
    • 重构触发器节点架构,清理技术债务
    • 实现 WebHook 节点的变量同步功能
    • (WebHook 触发器)移除冗余的错误处理逻辑
    • (应用卡片)限制仅 “开始节点” 可启用切换功能
    • 修复 “WebHook HTTP 方法大小写不敏感” 的问题
    • 在应用日志中添加 “触发器来源” 字段
    • (工作流日志)增强日志 UI,支持排序与状态筛选
    • 修复 “因竞争条件与视口错误导致工作流画布清空” 的问题
    • (WebHook 触发器)调整请求数组类型
    • 修复国际化翻译路径缺失的键值
    • (WebHook)限制状态码范围为 200~399
    • (WebHook)删除冗余变量
    • (WebHook)修正内容类型(Content-Type)
    • (WebHook)调用时验证 application/json 类型的参数
    • (工作流)增强 WebHook 状态码输入框,支持增减按钮
    • 修复 UUID v7 相关问题
    • (WebHook)优化选中类型的 UI 样式
    • (WebHook)使用普通变量替代 InputVar
    • (WebHook)切换内容类型时清空请求体变量
    • 修复 “页面导航时同步空工作流草稿” 的问题
    • (触发器)支持 WebHook 上传文件
    • (触发器)将内容类型从 form 改为 application/octet-stream
    • (触发器)实现插件模块选择器,遵循工具设计模式
    • 修复模块选择器 UI 问题
    • (触发器)新增 WEBHOOK_REQUEST_BODY_MAX_SIZE 配置
    • 优化触发器插件的 UI 布局与响应式表现
    • (触发器)重构 WebHook 服务
    • 为工作流的触发器插件节点添加图标支持
    • 实现触发器插件的前端集成
    • 优化 “测试运行” 菜单及检查清单 UI
    • 实现触发器插件支持,含实时状态同步
    • 为触发器列表添加稳定排序,防止位置错乱
    • 实现触发器插件的认证 UI
    • 在应用级别初始化触发器状态,防止画布刷新导致的状态问题
    • 调整 “滚动至选中节点” 的位置,使其定位到左上角区域
    • (触发器插件)支持 API 密钥(API Key)
    • 修复工作流顶部栏问题
    • (WebHook)防止 SimpleSelect 组件重置用户选择
    • 修复 “仅工作流应调用触发器 API” 的逻辑
    • 优化提示框(Tooltip)与引导弹窗 UI
    • 实现工作流的定时触发器支持
    • 修复 BaseNode 中未向子节点传递 id 属性的问题
    • 修复定时触发器问题
    • (定时触发器)默认设置为每日午夜触发
    • 优化 WebHook 功能
    • (定时触发器)使用成熟库增强 Cron 解析器,完善测试覆盖
    • (工作流)修复 “知识管道重构后引导弹窗无法创建节点” 的问题
    • (重构 / 优化)实现 useState 延迟初始化,避免重复计算
    • 重构:使用 @ns.route 装饰器优化标签 API 路由
    • (国际化)翻译 i18n 文件并更新类型定义
    • 修复:启用 Pyright 类型检查,修正数据集控制器的类型错误
    • 小修复:修正部分翻译(“trunk” 应使用本地化表述)及翻译拼写错误
    • 修复 core/model_runtime



     

    END

    53AI,企业落地大模型首选服务商

    产品:场景落地咨询+大模型应用平台+行业解决方案

    承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业

    联系我们

    售前咨询
    186 6662 7370
    预约演示
    185 8882 0121

    微信扫码

    添加专属顾问

    回到顶部

    加载中...

    扫码咨询