dify 1.7.0 版本正式发布!依然是两周一版本的发布节奏。本次更新主要带来了工具插件支持 OAuth 2.0 认证及刷新令牌,另外还增加了插件可自动升级策略;
增强功能有代理节点引用归属、插件弃用通知等;
还修复了 Docker 网络、模型选择器等多处错误,并对用户体验、批量处理等进行了改进。(还是老样子,为了尽量减少个人认知偏差影响,以下内容由大模型翻译而来):
🚀 v1.7.0 新增功能
1.7.0 版本包含诸多功能,可拓展我们应用程序的灵活性并提升性能。以下是本次更新的内容。
🏗️ 主要功能:工具插件中的 OAuth 支持
工具插件现在支持 OAuth 2.0 认证,用户无需手动管理 API 密钥,就能安全地连接第三方服务。这其中还包括对刷新令牌的支持,可维持长期的认证会话。
🏗️ 主要功能:插件自动升级策略
插件现在可依据可配置的升级策略和回滚机制自动更新。系统会监控插件仓库,并在确保与您的 Dify 版本兼容的情况下,无缝执行升级操作。
⚡ 增强功能
引用和归属:代理节点现在支持引用和归属来源的功能,由 @chiehw 提供。#18558
插件弃用通知:通过 @RockChinQ 引入的过时插件弃用通知,让您能提前做好应对准备。#22685
带查询参数的 API 密钥认证:现在通过 @ACAne0320 的贡献,支持在查询参数中使用 API 密钥,提供了更简化的安全方法。#21656
音频配置界面:由 @marcelodiaz558 引入,可直接从界面自定义应用程序的音频设置。#21957
变量建议:由 @le0zh 实现,现在建议的问题可以使用变量了,这将上下文感知提升到了一个新的水平。#17340
工作流的拖放功能:起始节点变量和代码节点变量现在支持拖放操作,正如 @Minamiyama 所做贡献那样,简化了工作流创建。#22150 #22127
每个应用程序的自定义最大活动请求数:由 @qiaofenlin 带来,可通过自定义设置管理应用程序的流量。#22073
可选的 OpenTelemetry(OTel)端点配置:由 @hieheihei 新增此项,确保最佳的可观测性实践。#22492
RFC 5322 电子邮件验证:由 @NeatGuyCoding 实现,确保合规性以及更智能的电子邮件验证。#22540
动态导入提升性能:由 @WTW0313 带来的智能改进,通过动态组件导入提升应用程序的性能。#22614
外部跟踪 ID:通过 @qiaofenlin 的外部跟踪 ID 传播功能,可在不同系统间保持可追溯性。#22623
🐛 错误修复
省略可选参数:感谢 @ACAne0320,清除了不必要的 None 设置。#22171
Docker 网络修复:由 @krikera 解决了插件的 Docker 文件 URL 网络问题。#21382
插件安装:由 @Garden12138 解决了一个持续存在的安装故障。#22156
模型选择器和应用程序选择器:由 @hjlarry 消除了选择器方面的问题。#22291
会话管理:由 @Colstuwjx 提供的开放会话管理,实现了快速可靠的基础架构。#22306
元数据和文件处理:由 @helojo 等人修复了更智能的文档筛选和错误处理问题。#19305
⚙️ 改进
用户体验:由多位贡献者(@quicksandznzn、@kerwin612、@kushagra21-afk)改进了 Opik 工作流跟踪跨度名称、提升了提示框用户体验并处理了字符限制问题。#22356 #21383 #22679
批量处理和向量索引:由 @issac2e、@jubinsoni 等人才加强了后端优化,实现了更快、更可靠的操作。#22726 #22661
仓库配置:得益于 @laipz8200 的努力,可轻松配置仓库实现方式。#21458
UUIDv7 实现:由 @QuantumGhost 通过 SQL 和 Python 实现添加了独特的标识符。#22058
升级指南
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.0
- 3. 更新Python依赖:
cd api
uv sync
- 4. 运行迁移脚本:
uv run flask db upgrade
- 5. 重新运行API服务器、Worker和Web前端服务器。
变更内容
– fix(custom_tool):省略可选参数,而非将其设为 None
– minor fix:移除重复内容、修复拼写错误,并为获取 MCP 服务器添加限制
– feat(tool):增加通过查询参数支持 API 密钥认证的功能
– fix:调整页眉和数据集更新的布局样式
– fix:解决插件的 Docker 文件 URL 网络问题(#21334)
– feat:在应用配置界面添加音频配置设置
– feat:支持建议问题中的变量
– fix:修复因不一致导致的插件安装失败问题
– chore:提取上次运行的通用逻辑
– fix(emoji-picker):调整表情选择器的样式(#22161)
– fix(web):优化 AppInfo 组件布局(#22212)
– feat(workflow):为起始节点的变量列表项添加拖放支持
– fix:优化工作区面板宽度计算
– fix:迭代 itemType 支持对话变量(#22220)
– 在密码正则表达式中拒绝空白字符
– test:为 PassportService 添加全面的单元测试,并优化异常处理
– 为账户服务添加单元测试
– minor fix:错误的 “and”
– chore:将 ruff 升级至 0.12.x 版本
– fix:工具的模型选择器和应用选择器无法正常工作
– fix(ui):当起始节点的列表中只有一个变量时,防止变量图标隐藏
– test(web):添加密码正则表达式测试用例
– 修复后端的 Enum 部分,使其与前端保持一致
– test:为登录装饰器添加全面的单元测试
– 更新 README.md
– fix:防止按下“回车”时触发表单提交操作
– fix:代码节点解析对象类型参数时出错
– Chore:用 lodash-es/noop 替换 lodash/noop
– Fix:移除高度和溢出样式设置
– feat(api/repo):允许配置仓库实现
– fix:在执行长延迟操作前关闭会话
– 更新 README.md
– fix:阿里云跟踪的标题和描述
– 将 opik workflow_trace 的跨度名称改进为节点名称
– 提供一套支持 1.6.0 版本的 Kubernetes 清单
– chore:将 nextjs 升级至 15.3 版本
– 表格存储向量支持更多方法
– feat(config-modal):在起始节点的变量名输入中添加空格转下划线的功能
– fix(plugin):在插件列表 API 中引入 response_type 参数,以支持分页响应
– fix:在代理模式下,当指定输入变量时,“手动”选项的元数据过滤不生效
– 修复工作流节点迭代器
– fix:代码结果包含“error”字段
– fix(prompt-editor):当起始节点的环境变量和对话变量具有破坏性时,显示错误警告
– fix:为没有 operationId 的根端点生成确定性的 operationId
– fix:移除 PickerPanel 的内边距
– fix:会话统计包含来自调试器的数据
– fix:创建 API 工作流运行仓库时出错
– fix:更新条件项以支持变量类型获取
– fix:禁止在聊天历史中编辑问题
– chore:添加 SQLALCHEMY_POOL_USE_LIFO 选项和缺失的 SQLALCHEMY_POOL_PRE_PING 环境变量默认值
– 修复潜在的泄漏问题
– 为 bindingCount 添加工具提示
– test:为控制台认证和授权装饰器添加全面的单元测试
– minor fix:使用 Pydantic 的 model_validate 而非已弃用的 parse_obj
– fix:当变量值改变时,PromptEditor 应重置
– 改进工具提示用户体验,默认启用延迟显示
– refactor(api):改进 SegmentType 以实现精确的序列化/反序列化
– feat(api):在 SQL 和 Python 中添加 UUIDv7 实现
– fix:为浅色和深色主题的聊天气泡添加背景色
– 修复阿里云跟踪的 session_id
– Chore:更新 GitHub 模板
– feat:用应用描述自动填充 MCP 服务器描述 #22443
– feat(variable-list):为代码节点中的变量添加拖放功能
– feat(app):支持每个应用自定义 max_active_requests
– feat:在代理节点添加引用和归因
– feat:添加 OpenTelemetry 端点配置
– 更新 bug_report.yml
– 修复 mcp 错误未输入的问题
– fix:移除第二阶段未使用的类的无效代码
– chore:移除未使用的代码
– fix(signin):改进登录按钮 UI(#22433)
– Perf/web:应用授权优化
– Feat:更改用户电子邮件
– fix (ci):移除 test_url_signer
– minor code fix:移除重复的类型检查分支
– fix:代码节点检查小数精度
– chore:翻译国际化文件
– fix:日语 dateTimeFormat
– minor bug fix:错误的默认指标端点
– minor typo fix:移除调试代码并修复拼写错误
– fix:在提示生成器中使用用户提供的模型(#22541)
– feat:根据 RFC 5322 验证电子邮件
– test:添加全面的 OAuth 认证单元测试
– fix:修复 Python SDK 中 WorkflowClient 和 KnowledgeBase 客户端的导入问题。添加 WorkflowClient 的文档。
– 更新图标
– minor translation fix:修复翻译重复和拼写错误,修正日期格式
– feat:支持工具插件的 OAuth 认证
– 移除覆盖
– 修复 jinja2 变量命名不一致的问题
– Fix:docx 中的 pict 类型图片未被处理
– fix:移除数据集 API 中冗余的部分成员列表检索
– 为非 mcp 移除 node-info
– feat(workflow_cycle_manager):移除冗余的仓库方法并添加缓存
– 使用 nolyfill 减少下载大小
– refactor:修复一些类型错误
– fix(docs):将工作流 API 参数名称从 workflow_id 更正为 workflow_run_id
– 修复 mcp 服务器地址的有效性检查
– 修复 celery 配置
– chore:翻译国际化文件
– refactor:解耦 Node 和 NodeData
– fix:管理员反馈使用与普通反馈相同的 create_feedback 方法
– refactor:优化事件分发模式(复杂度降低 92%)
– feat:将组件转换为动态导入以提高性能
– Fix #22508
– 修复文本分割器
– test:添加全面的 API 密钥认证服务测试
– fix:纠正 phoenix 的工作流和聊天流跟踪
– feat:在 api/.env.example 中更新 VECTOR_STORE 支持的类型
– fix:恢复 package.json 和 pnpm-lock.yaml 中的 globals 依赖
– fix(docs):统一 workflow_run_id 与其他语言的样式
– chore:当 .editorconfig 无更改时,跳过 SuperLinter 检查
– Fix:从标签的 href 属性中移除 ${basePath}
– Fix:用原生 UTC 时间替换日期时间模式
– test:添加全面的 Auth 服务模块单元测试
– fix:解决测试配置中 Redis 模拟导入错误
– 通过配置文件启用向量索引前缀名称
– chore:将 pnpm 版本更新至 10.13.1
– fix(i18n):改进日语中“dupulicate”等技术术语的翻译
– fix(i18n):在所有语言中统一模板变量名称为 {{count}}
– fix(i18n):将“道具”改为“ツール”(日语)
– fix(i18n):更新日语中“optional”的翻译
– fix:避免使用 node_data.version 来判断工具节点版本
– chore:改进 mcp_client 和 mcp_tools_manage_service 的代码
– oxlint 检查
– 增加字符限制
– minor fix:修复解散租户检查权限总是失败的问题
– fix:知识检索验证错误
– refactor:移除未使用的 dissolve_tenant 静态方法
– fix:在 .env.example 中更正 CELERY_BROKER_URL 的文档
– fix:更新 analyticdb 向量以按元数据进行过滤
– fix:调整工具选择器弹出窗口样式(#22622)
– test:为 Firecrawl 和 Watercrawl 认证提供程序添加全面的单元测试
– fix:改进全文搜索(elasticsearch)中的文档过滤
– Perf:移除用户个人资料加载
– fix:防止应用类型描述溢出卡片
– feat:更新文件管理器和文件工厂实现
– fix:更新批量操作组件的样式
– fix:完善 OpenAPI 模板中的 file_upload 模式(#22700)
– fix:深色模式下文本/图标的颜色显示错误
– fix:迁移循环依赖
– 修复不正确的 mcp method_name
– chore:使用“json_list”而非“json”以避免歧义
– chore:为 pypdfium2 添加 fonts-noto-cjk 依赖
– fix:防止在视口压缩期间工作区面板宽度的 localStorage 污染(#22745)
– test:为 AuthType 添加全面的单元测试
– 优化腾讯向量知识库删除错误处理,支持批量处理
– refactor:修改修改对象子树面板中变量选择器的触发方式(#22237)
– feat:插件弃用通知
– 修复市场中的导入错误
– fix:单步节点执行初始化错误
– fix:为弃用通知组件添加缺失的翻译函数
– feat(trace):支持外部跟踪 ID 传播
– feat:在 markdown 组件中支持自定义组件
– fix(web):添加 dayjs relativeTime 插件
– chore:翻译国际化文件
– fix:表格存储向量数据库支持元数据过滤
– 修复邀请成员模板
– fix:无效的预期元数据值类型错误
– fix:#22784
– refactor:集中处理电子邮件国际化
– 映射列
– feat:OAuth 刷新令牌
– chore(tests):移除过时的测试
– 在继续解析之前添加检查,确保输入文本是字符串
– feat:将 WorkflowAppRunner 与 AppRunner 解耦
– fix:通过将外部 MCP 调用与事务分离,解决数据库锁定超时问题
– feat:插件自动升级策略
– FEAT:腾讯向量搜索支持与之前的分数计算方法向后兼容
– chore:翻译国际化文件
– feat:性能优化
– fix:将 @headlessui/react 更新至 2.2.1 版本
最新评论
您好,这是一条评论。若需要审核、编辑或删除评论,请访问仪表盘的评论界面。评论者头像来自 Gravatar。