


在智能应用开发平台 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 Executions 和 Advanced 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 部署步骤
- 备份自定义 Compose 文件
bash
cd docker
cp docker-compose.yaml docker-compose.yaml.$(date +%s).bak
- 获取最新代码
bash
git checkout main
git pull origin main
- 停止服务
bash
docker compose down
- 备份数据
bash
tar -cvf volumes-$(date +%s).tgz volumes
- 升级服务
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. 源码部署步骤
- 停止运行中的 API、Worker 与 Web 前端服务。
- 切换至指定版本分支:
bash
git checkout 1.13.0
- 更新 Python 依赖:
bash
cd api
uv sync
- 执行数据库迁移:
bash
uv run flask db upgrade
- 重新启动全部服务。
七、其他修复与优化摘要
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 智能,让每一条工作流都具备学习、判断与自适应能力。