打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

在智能应用开发平台 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. 1.备份自定义 Compose 文件

cd docker
cp docker-compose.yaml docker-compose.yaml.$(date +%s).bak
  1. 2.获取最新代码

git checkout main
git pull origin main
  1. 3.停止服务

docker compose down
  1. 4.备份数据

tar -cvf volumes-$(date +%s).tgz volumes
  1. 5.升级服务

docker compose up -d

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

failed to connect to `host=db_postgres user=postgres database=dify_plugin`: hostname resolving error

请改用以下命令启动:

docker compose --profile postgresql up -d
3. 源码部署步骤
  1. 1.停止运行中的 API、Worker 与 Web 前端服务。

  2. 2.切换至指定版本分支:

git checkout 1.13.0
  1. 3.更新 Python 依赖:

cd api
uv sync
  1. 4.执行数据库迁移:

uv run flask db upgrade
  1. 5.重新启动全部服务。

七、其他修复与优化摘要

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 智能,让每一条工作流都具备学习、判断与自适应能力。

我们相信人工智能为普通人提供了一种“增强工具”,并致力于分享全方位的AI知识。在这里,您可以找到最新的AI科普文章、工具评测、提升效率的秘籍以及行业洞察。 欢迎关注“福大大架构师每日一题”,发消息可获得面试资料,让AI助力您的未来发展。