dify 1.13.0——Human-in-the-Loop与工作流执行架构全面升级,释放AI与人的协作潜力

在智能应用开发平台 Dify 的 1.13.0 版本中,迎来了里程碑式的更新。本次版本不仅在工作流执行层面进行了系统性重构,更推出了令人瞩目的 "Human-in-the-Loop(HITL)人机协作节点",让人类智能与人工智能的融合进入新阶段。本文将为你详细解析 Dify 1.13.0 的所有更新点、架构变化、配置注意事项和升级指南,让你全面掌握这一版本的全部技术亮点。


一、核心特性:Human-in-the-Loop (HITL)

Dify 1.13.0 最大的创新在于引入了 Human Input 节点,这是一个革命性更新,让人类输入成为工作流原生组成部分。此前的工作流往往只能在"自动化"或"手动执行"两种模式之间切换,对于需要人工判断的高风险场景,这种二元结构显得捉襟见肘。而 HITL 的引入,弥合了这种"信任鸿沟",让自动化流程具备人工纠偏能力。

1. 背景说明

以往工作流要么完全由 AI 自动执行,要么依赖人工操作,这导致在涉及关键业务判断的场景中,难以平衡 AI 的效率与人工的可靠性。现在,Dify 支持将人工审核步骤直接嵌入工作流执行图中,实现真正的智能协作。

2. 核心功能

(1)原生工作流暂停机制

在流程关键节点插入"Human Input"节点,工作流即会暂停,等待人工输入。这对于涉及敏感决策或需人工校验的数据场景尤为必要。

(2)人工审核与编辑

暂停后系统会生成可视化界面,人工可审阅 AI 输出内容,修改关键变量(如草稿、数据结果等),再继续执行流程,从而保证精准度。

(3)操作路由控制

可配置自定义按钮,如"批准"、"拒绝"、"升级处理"等,用于决定后续工作流路径。不同操作对应不同的逻辑分支,实现高度灵活的决策流。

(4)多渠道输入方式

人工输入表单可通过 Web 应用或邮件推送形式完成。在云环境下,邮件方式可能受订阅计划或功能设置影响。


二、架构更新:支持暂停和恢复的工作流机制

为支持 HITL 所需的状态化暂停与恢复机制,Dify 对执行引擎进行了全面重构。

1. 执行架构变化

  • Workflow-Based Streaming ExecutionsAdvanced Chat Executions 现均由 Celery workers 执行。
  • 非流式的工作流运行仍在 API 进程中处理。
  • 所有暂停/恢复路径(包括 HITL)均通过 Celery 恢复执行,事件流式返回经由 Redis Pub/Sub 实现。

2. 大规模部署及自托管建议

Dify 引入了新的 Celery 队列:workflow_based_app_execution。标准部署模式可直接使用,但对于高并发、高吞吐环境,官方建议进行如下优化:

  • Scale Workers(扩展 Worker 数量):根据工作负载增加对该队列的 Worker。
  • Dedicated Redis(专用 Redis 实例) :大规模部署推荐配置 PUBSUB_REDIS_URL 指向专用 Redis;使用 Redis Cluster 模式结合分片 PubSub,可实现水平扩展与稳定高性能。

三、重要升级提示

1. 新增 Celery 队列要求

必须确保部署配置(Docker Compose、Helm Chart 等)包含监听 workflow_based_app_execution 队列的 Worker。否则,流式执行和恢复任务(包括 HITL)将无法处理。

2. 额外 Celery 队列

新增 api_token 队列。当 ENABLE_API_TOKEN_LAST_USED_UPDATE_TASK=true 时,需要部署 Worker 监听该队列,用于定期批量更新 API Token 的 last_used_at 时间戳。


四、配置环境变量更新

为了支持新的架构设计,Dify 1.13.0 增加了多项环境变量,尤其在大型部署场景下需要重点关注 Redis PubSub 相关配置。

★ 关键配置变量

  • PUBSUB_REDIS_URL :指定用于 API 与 Celery 之间 PubSub 通信的 Redis URL。未设置时默认使用标准 REDIS_* 配置。
  • PUBSUB_REDIS_CHANNEL_TYPE :设置事件流通道类型。可选项:pubsub(默认)或 sharded。高并发环境强烈推荐使用 sharded
  • PUBSUB_REDIS_USE_CLUSTERS :设置为 true 以启用 Redis 集群模式,与分片通道结合时实现水平扩展。

★ 其他新增配置项

  • WEB_FORM_SUBMIT_RATE_LIMIT_MAX_ATTEMPTS:限制每个 IP 的网页表单提交次数(默认 30 次)。
  • WEB_FORM_SUBMIT_RATE_LIMIT_WINDOW_SECONDS:提交限流时间窗口(默认 60 秒)。
  • HUMAN_INPUT_GLOBAL_TIMEOUT_SECONDS:工作流暂停等待人工输入的最长时间(默认 604800 秒,即 7 天)。
  • ENABLE_HUMAN_INPUT_TIMEOUT_TASK:启用人工输入超时检查后台任务(默认 true)。
  • HUMAN_INPUT_TIMEOUT_TASK_INTERVAL:设置超时检查任务的执行间隔(默认 1 分钟)。
  • ENABLE_API_TOKEN_LAST_USED_UPDATE_TASK:启用周期性批量更新 API Token 使用时间任务(默认 true)。
  • API_TOKEN_LAST_USED_UPDATE_INTERVAL:批量更新任务的执行间隔(默认 30 分钟)。
  • SANDBOX_EXPIRED_RECORDS_CLEAN_BATCH_MAX_INTERVAL:设置清理保留数据任务的随机延迟间隔(默认 200 毫秒),用于降低数据库压力峰值。

五、其他重要更新亮点

(1)可靠性与正确性提升

  • 增加迁移时的去重检测与租户默认模型的唯一约束,防止重复数据。
  • 修复了工具删除过程中的类型不匹配问题。
  • 修复 FastOpenAPI 集成导致的身份解析错误问题。
  • 修复文件类响应消息类型识别错误。
  • 优化工作区权限行为,非管理员用户不再显示邀请操作。

(2)性能与可扩展性优化

  • 利用插件清单预缓存及 AppListApi 查询优化降低后端负载与控制台延迟。
  • 提高大数据任务的稳定性:分割数据库会话、批量清理执行、索引优化与节流机制显著减少系统波动。

(3)API 与平台增强

  • 新增终端用户查找服务接口,支持租户和应用范围内的访问控制。
  • 提升工作流运行历史在状态切换时的刷新逻辑体验。
  • 优化 MCP 工具集成,可提取与上报使用元数据(包括 Token 与成本统计字段)。

(4)安全性增强

  • 移除 ECharts 中的动态 new Function 解析机制,对不支持的代码返回显式错误,零注入风险。

(5)国际化支持

  • 新增 荷兰语(nl-NL) 本地化支持,进一步完善国际化覆盖。

六、升级指南

1. 注意事项

如果你使用自定义的 CELERY_QUEUES,务必确保其中包含:

  • workflow_based_app_execution
  • 当启用 API Token 更新任务时,还需包含 api_token

2. Docker Compose 部署步骤

  1. 备份自定义 Compose 文件
bash 复制代码
cd docker
cp docker-compose.yaml docker-compose.yaml.$(date +%s).bak
  1. 获取最新代码
bash 复制代码
git checkout main
git pull origin main
  1. 停止服务
bash 复制代码
docker compose down
  1. 备份数据
bash 复制代码
tar -cvf volumes-$(date +%s).tgz volumes
  1. 升级服务
bash 复制代码
docker compose up -d

如遇数据库连接错误,例如:

复制代码
failed to connect to `host=db_postgres user=postgres database=dify_plugin`: hostname resolving error

请改用以下命令启动:

bash 复制代码
docker compose --profile postgresql up -d

3. 源码部署步骤

  1. 停止运行中的 API、Worker 与 Web 前端服务。
  2. 切换至指定版本分支:
bash 复制代码
git checkout 1.13.0
  1. 更新 Python 依赖:
bash 复制代码
cd api
uv sync
  1. 执行数据库迁移:
bash 复制代码
uv run flask db upgrade
  1. 重新启动全部服务。

七、其他修复与优化摘要

Dify 1.13.0 中完成了大量代码重构与性能调优,涵盖前后端、测试体系与任务消费机制。主要变化包括:

  • 工作流执行队列新增支持 workflow_based_app_execution,确保所有流式任务与暂停恢复逻辑可被正确消费。
  • 修复 Redis 客户端导致的高 CPU 使用问题,系统稳定性提升显著。
  • 批量删除与数据库会话优化减少资源阻塞。
  • 优化工作流节点输出描述与状态图标展示,提高可视化一致性。
  • 新增综合测试用例覆盖 Human Input 节点功能,确保 HITL 模块稳定。
  • 增强工作流运行历史管理与 UI 更新体验。
  • 加强 API Token 队列处理逻辑与 Redis 通信稳定性。
  • 重构核心数据库任务,使知识检索节点与数据库操作彻底解耦。
  • 引入类型安全环境变量与升级到 zod v4,增强配置可靠性。
  • 优化网页主题视觉与暗亮模式变量。
  • 修复多语言、组件样式、数据索引、权限逻辑等细节问题。

八、总结与展望

代码地址:github.com/langgenius/dify

Dify 1.13.0 是一次从架构到底层执行机制的重大演进。

这一版本的 Human-in-the-Loop (HITL) 功能,让工作流不再是纯粹的自动化流水线,而成为人工智能与人类智慧协同的闭环系统。AI 的高效与人类的决策能力得以融合,真正实现信任与效率的平衡。与此同时,架构层面的重新设计、Redis Pub/Sub 与 Celery 队列优化,让 Dify 能够从单机轻量级部署平滑过渡到企业级高并发场景。

性能更高、架构更稳、协作更强、国际化更完备------Dify 1.13.0 已成为 AI 工作流平台发展的又一重要里程碑。


结语

Dify 1.13.0 的发布,标志着智能应用从"机器自动化"迈入"人机协同"的新阶段。这不仅是技术上的跃升,更是智能生产力工具进化的方向。随着 HITL 节点的成熟和架构扩展机制的完善,未来的 Dify 将更好地连接人类思维与 AI 智能,让每一条工作流都具备学习、判断与自适应能力。

相关推荐
文艺倾年2 小时前
【强化学习&SWE】如何无容器化进行强化学习训练
人工智能·分布式·大模型
ZhengEnCi2 小时前
06. Embedding模型与向量化
人工智能
人机与认知实验室2 小时前
人类智能中依然存在还未被发现的新机制
人工智能
Dr.AE2 小时前
AI+教育行业分析报告
大数据·人工智能·教育电商
永无魇足2 小时前
感知器算法
人工智能
njsgcs2 小时前
GSV-TTS-Lite 示例
人工智能
xcLeigh2 小时前
AI的提示词专栏:用 Prompt 生成正则表达式进行文本匹配
人工智能·ai·prompt·提示词
Eloudy2 小时前
直接法 读书笔记 06 第6章 LU分解
人工智能·算法·ai·hpc
cxr8282 小时前
分享openclaw“记忆同步与冲突检测” 脚本
人工智能·ai智能体·openclaw