[最新]Dify v1.7.2版本更新:工作流可视化和节点搜索
Dify 发布了 1.7.2 版本,这次更新带来了工作流可视化和节点搜索两项新功能。除了新增功能外,还对现有能力做了一些优化,比如 Notion 数据库行提取更顺畅、工作流 API 版本规范更清晰。同时,团队也修复了多个问题,包括腾讯云向量数据库全文搜索异常、工作流知识检索缓存漏洞等。在安全方面也有加固,比如修复了 XSS 漏洞。整体上,这次更新让使用体验更直观,也更稳定。
🚀 v1.7.2 新增功能
工作流可视化:在最新的版本中,工作流功能出现了一项颇具意义的改进,系统加入了关系面板,用以直观呈现节点之间的依赖关系。具体来说,当使用者在界面中选中任意节点并按下 Shift 键时,原本隐藏在流程背后的逻辑脉络会以连线的形式展现出来。这一设计不仅提升了操作的直观性,也使得复杂流程的理解与把控更为清晰。

节点搜索:在此次更新中,工作流编辑器增添了节点搜索功能。借助这一改进,用户能够在复杂的工作流中快速定位所需节点,避免了逐一查找的低效过程。这一功能的引入,显著提升了编辑与管理大型工作流的便利性。。

⚙️功能增强

Notion 数据库行提取:Notion 数据库集成功能现在能够按原始顺序提取行,并附加行页面链接。
工作流 API 版本规范:现在你可以在工作流和聊天 API 中指定工作流版本了。
工具 JSON 响应:工具 JSON 响应现在支持日期时间和通用唯一识别码(UUID)了,这使得相关集成更加强大。
API 文档:API 文档已经过重新设计,采用了现代风格,提升了用户体验。
工作流节点对齐:通过增强的节点对齐选项,让你的工作流看起来更加整齐。
服务 API 文件预览端点:新增了一个用于预览服务 API 文件的端点,这使得管理和调试服务更加容易。
测试容器测试:我们非常重视稳定性!@NeatGuyCoding 及其他人一直在努力为各类服务(账户、应用、消息、工作流等)添加测试容器测试,以确保我们的服务坚如磐石。
🛠️ 漏洞修复

腾讯云向量数据库全文搜索:修复了在腾讯云向量数据库全文搜索模式下元数据过滤器未能正确应用的问题。
工作流知识检索缓存:修复了工作流知识检索中的一个缓存漏洞。
HTTP 请求组件:解决了 HTTP 请求组件中一个多部分 / 表单数据边界的问题。
对话变量同步:修复了现有对话中对话变量未同步的问题。
国际化(i18n):全面进行了大量国际化方面的修复和功能增强。
边界情况处理:在社区众多成员的贡献下,我们解决了不少边界情况的漏洞。
跨站脚本(XSS)漏洞:识别并修复了认证验证码页面中的一个跨站脚本漏洞。
🔄 升级指南
Docker Compose部署
1. 备份自定义的docker-compose YAML文件(可选)
cd docker
cp docker-compose.yaml docker-compose.yaml.$(date +%s).bak
2. 从main分支获取最新代码
git checkout main
git pull origin main
3. 停止服务(请在docker目录中执行)
docker compose down
4. 备份数据
tar -cvf volumes-$(date +%s).tgz volumes
5. 升级服务
docker compose up -d
源代码部署
1. 停止API服务器、Worker和Web前端服务器。
2. 从发布分支获取最新代码:
git checkout 1.7.2
3. 更新Python依赖:
cd api uv sync
4. 运行迁移脚本:
uv run flask db upgrade
5. 重新运行API服务器、Worker和Web前端服务器。
📝 变更内容
以下是版本 1.7.2 的更新内容,包含各类修复、优化与新功能:
🐛 修复内容
- 由 @ZeroZ-lab 在 #23060 中修复了注释标题选项组件的代码格式问题。
- @chunglam2525 在 #23058 中修复了 Web SSO 登录重定向至正确 basePath 和 origin 的问题。
- @NeatGuyCoding 在 #23061 中进行小修复,统一使用 AccountInFreezeError。
- @lyzno1 在 #23065 中修复国际化(i18n)问题,补全 app-debug 中所有语言的缺失翻译并清理遗留键(#23062)。
- @crazywoola 在 #23071 中修复了与 i18n 相关的命令失效问题(#23066)。
- @jubinsoni 在 #23078 中为覆盖层添加了深色模式。
- @lyzno1 在 #23069 中修复脚本问题,解决 i18n 检查脚本的路径和逻辑错误。
- @hyongtao-db 在 #23076 中重构代码,移除异常处理器中冗余的完整模块路径。
- @jubinsoni 在 #23079 中实现了工作流执行期间可点击分类器的功能。
- @JzoNgKVO 在 #23084 中修复数字输入框可显示 0 的问题。
- @NeatGuyCoding 在 #23081 中优化错误消息文本。
- @NeatGuyCoding 在 #23086 中修复空集合 WHERE 筛选器问题。
- @ZeroZ-lab 在 #23070 中修复变量配置问题。
- @NeatGuyCoding 在 #23093 中紧急修复:clear_all_annotations 应像 delete_app_annotation 一样执行 delete_annotation_index_task。
- @NeatGuyCoding 在 #23103 中修复错误的赋值问题。
- @NeatGuyCoding 在 #23105 中修复部分翻译内容。
- @wrfly 在 #23089 中重构代码,将 external_trace_id 传入消息跟踪。
- @NeatGuyCoding 在 #23099 中修复 retry_document_indexing_task 耗时显示位置错误的问题。
- @crazywoola 在 #23121 中修复 README.md 中的 i18n 链接。
- @lyzno1 在 #23104 中修复 Web 端迭代面板未遵循 MAX_PARALLEL_LIMIT 环境变量的问题(#23083)。
- @leslie2046 在 #23109 中修复 “int64 类型对象无法 JSON 序列化” 的问题。
- @baonudesifeizhai 在 #23117 中修复 HTTP 节点超时验证问题(#23077)。
- @lyzno1 在 #23133 中修复元数据 API 可空性验证一致性问题。
- @hyongtao-db 在 #23122 中修复:添加缺失的 db.session.close () 以确保会话正确清理。
- @hyongtao-db 在 #23136 中优化代码:使用 Workflow.VERSION_DRAFT 替代硬编码的 “draft”。
- @jubinsoni 在 #23135 中修复无 API 密钥时请求失败的问题。
- @hyongtao-db 在 #23126 中修复:通过修正逻辑检查防止 validate_api_list 中的 KeyError。
- @lyzno1 在 #23123 中清理未使用的 i18n 键,并修复嵌套和占位符问题。
- @nurrochmanmuhammad 在 #23017 中修复 Elasticsearch Cloud 连接器的支持问题。
- @iamjoel 在 #23150 中修复:禁用自动更新后仍在插件详情中显示更新的问题。
- @leslie2046 在 #23074 中修复 Array [string]、Array [number] 的元素及 size 属性问题。
- @Sn0rt 在 #23163 中修复:支持 CELERY_BROKER_URL 中含特殊字符的 URL 编码密码。
- @NeatGuyCoding 在 #23164 中修复 annotation_ids 的错误检查逻辑。
- @NeatGuyCoding 在 #23168 中修复:Flask API 资源对同一 URL 仅接受一个资源的问题。
- @IthacaDream 在 #23170 中修复跟踪任务处理错误。
- @lyzno1 在 #23175 中同步 zh-Hans 和 ja-JP 中的缺失 i18n 键。
- @WTW0313 在 #23192 中更新易受攻击的 eslint 依赖。
- @jubinsoni 在 #23198 中修复嵌入式聊天的样式问题。
- @lyzno1 在 #23182 中修复:防止工作流中插件数据为 null/undefined 导致的客户端崩溃(#23154)。
- @kenwoodjw 在 #23127 中修复远程文件问题。
- @farion1231 在 #23102 中为文件上传控制器添加全面的安全测试。
- @ZeroZ-lab 在 #23209 中修复样式问题。
- @douxc 在 #23195 中修复:当应用访问模式为 PUBLIC 时调用 checkOrSetAccessToken。
- @hyongtao-db 在 #23203 中进行代码清理。
- @lyzno1 在 #23221 中修复:解决应用详情页侧边栏动画故障和布局偏移(#23216)。
- @Mairuis 在 #23228 中修复插件缩进问题。
- @HyaCiovo 在 #23231 中优化深色模式样式(#23222)。
- @ianwoolf 在 #23220 中修复:设置默认值以避免初始化时为空值。
- @asukaminato0721 在 #22885 中优化部分 ORM 类型。
- @ZeroZ-lab 在 #23186 中修复:更新次要按钮的背景色和悬停效果。
- @kenwoodjw 在 #23238 中修复使用 RabbitMQ 时的 Celery 后端问题。
- @baonudesifeizhai 在 #23008 中修复 HTTP 请求组件中 multipart/form-data 边界问题(#22880)。
- @AlanBustamanteRemerge 在 #23160 中改进插件配置表单中布尔字段的处理。
- @wanttobeamaster 在 #23255 中支持表格存储全文搜索的分数归一化。
- @HyaCiovo 在 #23251 中优化组件样式和交互(#23250)。
- @Ruiruiz30 在 #23253 中添加实用的 AKS 一键部署 Helm。
- @NeatGuyCoding 在 #22288 中修复:兼容各版本的 TidbAuthBinding 状态默认值。
- @hyongtao-db 在 #23267 中优化 CI:限制 autofix.ci 仅在官方仓库运行。
- @zxhlyh 在 #23270 中优化变量标签。
- @jingfelix 在 #23282 中修复 ProviderConfig.default 的类型问题。
- @hyongtao-db 在 #23289 中修复 SegmentType 中数组元素验证错误。
- @DazzlingSong 在 #23287 中修复视频和音频扩展名,与网页保持一致。
- @patsnap-liujin 在 #18427 中修复工作流中自定义工具的文件变量处理问题。
- @XiaoXiaoJiangYun 在 #23271 和 #23272 中更新 metadata_service.py。
- @lyzno1 在 #23298 中增强 i18n 检查脚本,支持精确过滤和多行内容。
- @csyourui 在 #13603 中修复无法从文件获取 URL 的错误。
- @MatriQ 在 #23300 中修复变量输入验证问题。
- @NeatGuyCoding 在 #23299 中修复错误的 CSS 类。
- @asukaminato0721 在 #23240 中用 sa 替代 db 以获得类型支持。
- @MatriQ 在 #23306 中修复函数名拼写错误。
- @hyongtao-db 在 #23312 中用 naive_utc_now () 替代已弃用的 datetime.utcnow ()。
- @jubinsoni 在 #23301 中修复切换浏览器标签 / 窗口时聊天窗口 API 调用的问题。
- @hyongtao-db 在 #23321 中修复分段查询的租户 bug 和变量命名拼写错误。
- @lyzno1 在 #23329 中暂时从应用侧边栏移除 TagSelector(根据设计评审)。
- @hyongtao-db 在 #23331 中修复拼写错误(无代码逻辑变更)。
- @jubinsoni 在 #22927 中修复页脚问题。
- @hyongtao-db 在 #23326 中修复与 imported_version 的版本比较问题。
- @lyzno1 在 #23295 中修复安全问题:认证校验码页面的 XSS 漏洞。
- @hyongtao-db 在 #23333 中合并 DocumentDetailApi 和 DocumentDeleteApi 以避免 Flask 路由冲突。
- @jingfelix 在 #23348 中修复所有帮助字段的显示问题。
- @NeatGuyCoding 在 #23350 中修复:当应用数量超过 100 时,fetchAppWithTags 可能返回空值的问题。
- @IthacaDream 在 #23389 中移除 Tool 类中无用的属性。
- @jubinsoni 在 #23332 中增强日志功能。
- @WTW0313 在 #23397 中修复已安装应用预览的语言错误。
- @MatriQ 在 #23375 中修复 no-unused-vars 代码检查问题。
- @hieheihei 在 #23371 中为 Redis 和 HTTP 请求添加 OpenTelemetry instrumentation。
- @lyzno1 在 #23406 中移除 TagSelector 组件中冗余的 useEffect。
- @lyzno1 在 #23407 中解决侧边栏动画问题并改进应用详情页用户体验。
- @GareArc 在 #23283 中优化 Web 应用性能。
- @lyzno1 在 #23446 中改进多个 UI 组件并提升代码质量。
- @lyzno1 在 #23429 中同步 i18n 内容。
- @winsonwhe 在 #23393 中将 Milvus 版本更新至 LTS。
- @LeeeeeeM 在 #23468 中修复错误的 unicode 字符正则表达式。
- @crazywoola 在 #23472 中修复文件找不到的问题。
- @ZeroZ-lab 在 #23451 中优化工作流节点对齐。
- @lyzno1 在 #23462 中修复 API 文档布局和深色模式对比度问题。
- @hyongtao-db 在 #23455 中移除不必要的 issubclass 检查。
- @hyongtao-db 在 #23453 中将 file = 移至文件存在性验证之后。
- @NeatGuyCoding 在 #23483 中优化 contentEnableLabel 的翻译。
- @lyzno1 在 #23490 中增强 API 文档目录,采用现代设计并改进用户体验。
- @lyzno1 在 #23494 中解决 i18n 工作流权限和命名问题。
- @ghmark675 在 #23474 中修复 HTTP 参数中意外多出的等号问题。
- @liugddx 在 #23456 中增强 tool.py 中的响应验证和解析。
- @hyongtao-db 在 #23514 中移除未使用的变量 pruned_memory。
- @lyzno1 在 #23515 中确保 TagSelector 始终可见,以支持无障碍访问和移动设备。
- @hangboss1761 在 #23509 中更新上传组件的引导文本。
- @crazywoola 在 #23533 中添加必填字段的模板。
- @goofy-z 在 #23517 中修复 localtime_to_timestamp 工具在未指定时区时抛出 “no attribute localize” 错误的问题。
- @HyaCiovo 在 #23543 中优化组件样式和交互(#23250)。
- @tomorrowthief 在 #23542 中修复 #23536 相关问题。
- @crazywoola 在 #23555 中修复页脚行为。
- @laipz8200 在 #23562 中从生产环境 Docker 镜像中排除开发依赖。
- @dlmu-lq 在 #23564 中修复腾讯云向量数据库在全文搜索模式下元数据筛选器的正确应用问题。
- @NeatGuyCoding 在 #23568 中优化翻译内容。
- @douxc 在 #23569 中修复:启用自定义品牌时隐藏开源许可证链接。
- @douxc 在 #23571 中修复深色模式下邀请设置页面的样式。
- @BotAndyGao 在 #23475 中解决华为 OBS 操作中的 Windows 路径分隔符问题。
- @lyzno1 在 #23534 中添加服务 API 文件预览端点。
- @laipz8200 在 #23590 中修复:LLM 提示中空数组应转换为空字符串。
- @lyzno1 在 #23585 中修复 AppCard 描述与标签区域重叠的问题。
- @hyongtao-db 在 #23582 中修复数据库查询中不正确的异常处理。
- @yunqiqiliang 在 #23574 中修复:删除数据集时,无论是否存在文档,均确保向量数据库清理(影响所有 33 种向量数据库)。
- @MatriQ 在 #23367 中修复 tailwind 代码检查问题。
- @zhanluxianshen 在 #20926 中优化单词提取器。
- @jubinsoni 在 #22988 中使用 message_file 事件替代 message 事件。
- @crazywoola 在 #23602 中回滚 “feat: improved MCP timeout”。
- @yunqiqiliang 在 #23597 中修复工作流知识检索缓存 bug。
- @lyzno1 在 #23609 中消除 AppInfo 侧边栏动画故障和布局跳动。
- @lyzno1 在 #23614 中修复密钥模态框中 X 按钮的动画故障。
- @ZeroZ-lab 在 #23617 中增强上下文菜单中节点的对齐逻辑。
- @iamjoel 在 #23640 中修复 i18n 选项过长导致插件设置 UI 错乱的问题。
- @yunqiqiliang 在 #23632 中提升 ClickZetta 的稳定性并减少日志冗余。
- @lyzno1 在 #23641 中修复日志界面中的文件类型分类错误。
- @ZombieBlue 在 #23655 中支持导出工作流的全屏图像。
- @lyzno1 在 #23662 中修改 i18n 工作流触发机制,使其在主仓库中运行。
- @laipz8200 在 #23670 中修复:当没有已固定的对话时,对话固定筛选器返回结果不正确的问题。
- @hyongtao-db 在 #23671 中修复 if 块中的裸 raise 问题。
- @lyzno1 在 #23667 中解决数据集容器滚动时圆角消失的问题。
- @laipz8200 在 #23649 中修复现有对话的会话变量同步缺失问题。
- @baonudesifeizhai 在 #23678 中为日期输入格式添加国际化支持(修复 #23266)。
- @liugddx 在 #23672 中修复工作流 Start 节点对自定义文件类型的支持。
- @MatriQ 在 #23653 中修复 sonarjs/no-dead-store 问题。
- @github-actions [bot] 在 #23679 和 #23704 中自动翻译 i18n 文件。
- @lyzno1 在 #23645 中修正日语高级聊天模板中文件预览 API 的位置。
- @lyzno1 在 #23684 中改进登录页面深色模式的 UI 一致性。
- @liugddx 在 #23694 中更新 HTTP 请求超时字段,使用带默认值的 Field。
- @hyongtao-db 在 #23699 中修复 model_setting_map 键不匹配的问题。
- @crazywoola 在 #23685 中添加节点搜索功能。
- @NeatGuyCoding 在 #23703 中为消息服务添加 testcontainers 测试。
- @HyaCiovo 在 #23707 中优化变量快捷方式插入的事件处理,解决不正确的失焦问题(#22981)。
- @lyzno1 在 #23715 中统一 GotoAnything 搜索操作的错误处理。
- @NeatGuyCoding 在 #23713 中增强 doc_form 的空值检查、异常处理和回滚逻辑。
- @WTW0313 在 #23723 中修复模型选择器语言未定义的错误。
- @laipz8200 在 #23728 中为 pydantic computed_field 添加 @Property 装饰器以确保兼容性。
- @laipz8200 在 #23731 中解决 AppGenerateEntity 中的循环导入问题。
- @laipz8200 在 #23734 中移除 DifyAPIRepositoryFactory 中的调试日志语句。
- @lyzno1 在 #23738 中增强 GotoAnything 的用户体验,添加 @ 命令选择器。
✨ 新功能与增强
- @ZeroZ-lab 在 #22968 中添加注释面板功能。
- @kenwoodjw 在 #23111 中支持元数据条件筛选字符串数组。
- @ThreeFish-AI 在 #22646 中优化 Notion 数据库:按行顺序提取行内容并附加行页面 URL。
- @ialisaleh 在 #23196 中为 Phoenix Cloud 实例启用跟踪支持。
- @AlexChim1231 在 #23112 中增强功能:允许通过 API 修改对话变量。
- @wanttobeamaster 在 #23255 中支持表格存储全文搜索的分数归一化。
- @Ruiruiz30 在 #23253 中添加实用的 AKS 一键部署 Helm。
- @somethingwentwell 在 #23320 中添加知识资源源文件的 UI 下载按钮。
- @qiaofenlin 在 #23188 中支持在工作流和聊天 API 中指定工作流版本。
- @lyzno1 在 #23325 中统一应用侧边栏的标签编辑功能,并在 TagFilter 中添加管理入口。
- @jubinsoni 在 #23323 中实现工具插件切换标签时保留已填写数据。
- @Minamiyama 在 #21998 中为工作流添加关系面板,可视化依赖关系。
- @GareArc 在 #23418 中为工作流的 build-push 支持 release/e-* 标签。
- @rouxiaomin 在 #23414 中增强 Dify 中过期数据清理表的范围。
- @yunqiqiliang 在 #22551 中添加 Clickzetta 数据湖向量数据库集成。
- @lyzno1 在 #23383 中增强文档列表的导航和排序功能。
- @crazywoola 在 #23395 中添加模板。
- @jiangbo721 在 #22738 中支持工具 JSON 响应中的 datetime、uuid 等类型。
- @lyzno1 在 #23344 中增强 i18n 自动生成脚本对模板字面量的支持,并添加 app-debug 翻译。
- @NeatGuyCoding 多次添加 testcontainers 测试,覆盖 account service、workflow draft variable service、app service、annotation service 等。
🚀 版本信息
- @WTW0313 在 #23740 中将版本号更新为 1.7.2。