网易首页 > 网易号 > 正文 申请入驻

dify 1.17.0发布:Agent沙箱云端化、技能管理、统一追踪等超多新特性!

0
分享至




引言

Dify 作为一款优秀的开源 LLM 应用开发平台,持续以惊人的速度迭代。2026 年 8 月 28 日,Dify 正式发布1.17.0版本。本次更新堪称里程碑,不仅带来了Agent 运行时架构的重构(支持 E2B 云沙箱、Home Snapshots、技能管理),还引入了可复用 LLM 环境变量循环内人工输入统一追踪Cloudflare TurnstileAzure Key VaultTiDB 向量全文搜索等大量重磅功能。此外,安全加固、可访问性大幅提升、工作流稳定性改进以及大量 Bug 修复,让这个版本成为生产环境升级的优选。

本文将基于官方发布说明,全面解析 Dify 1.17.0 的所有新特性、改进、安全增强、环境变量变更、数据库迁移以及升级指南,帮助开发者和运维人员快速了解并顺利升级。

一、Agent 领域重大升级:从本地沙箱到云端 E2B,再到技能管理 1. E2B 云沙箱支持

此前 Dify Agent 的 shell/代码执行只能运行在本地沙箱中。1.17.0 引入了E2B 云沙箱后端,用户可以通过设置DIFY_AGENT_RUNTIME_BACKEND选择后端。新增的docker-compose.e2b.yaml文件可以直接部署 E2B 组件栈,同时 E2B 流量经过身份验证,模板也会在发布时同步。这意味着 Agent 执行环境可以弹性扩展、隔离性更好,非常适合生产级部署。

2. 构建时 Home Snapshots(主目录快照)

当 Agent 构建被应用(发布)时,系统会捕获 Agent 沙箱主目录的完整状态——包括已安装的包、准备的文件和工作状态。后续运行已发布的 Agent 时,将从该快照恢复主目录,确保 Agent 从构建时的精确文件系统状态启动。这一特性极大地提升了 Agent 的可重现性和一致性。

3. 工作区级别的 Skill 管理

Skills(技能)是可复用、带版本控制的能力包,包含代码和工具定义,Agent 可以发现并调用它们。1.17.0 新增了工作区级别的技能管理器,支持草稿 → 发布 → 版本生命周期,并配套 Web UI(技能列表、构建面板、文件编辑器)。开发者可以像管理代码库一样管理 Agent 技能,实现能力沉淀与共享。

4. 上下文感知的历史压缩

长对话不再撑爆模型上下文窗口。Dify 会解析每个模型的有效窗口,并分层压缩:先清理旧的工具结果,然后总结更早的历史,从而在预算内保留最近的上下文。这显著提升了长时间运行的 Agent 的稳定性和成本效率。

二、可复用 LLM 环境变量:一处定义,处处引用

在复杂工作流中,多个 LLM 节点往往需要配置相同的提供商、模型、模式和参数。1.17.0 允许用户定义一次共享的 LLM 环境变量(例如for_summarizefor_research),然后在任意 LLM 节点中引用。当需要切换模型或调整参数时,只需修改一处,所有节点自动同步。该引用关系在 DSL 导入导出、片段、RAG 管道和协作编辑中都能正确保持,极大降低了维护成本。

三、循环与迭代节点内支持人工输入(Human-in-the-Loop)

此前人工输入表单只能在主流程中暂停和恢复。1.17.0 实现了在 Loop 和 Iteration 节点内部使用人工输入,并且支持跨页面刷新正确暂停和恢复,适用于调试和已安装的应用。这使得在重复性工作中加入审核、批准等人工干预步骤成为可能,大幅扩展了工作流的适用场景。

四、统一追踪(Provider-Neutral Unified Tracing)

OPS_TRACE_UNIFIED_ENABLED开启后,系统在核心层一次性组装完整的父子 span 树(工作流、聊天流、消息、节点、循环、迭代、嵌套工作流),然后仅将传输委托给轻量级适配器。首批适配器包括PhoenixLangSmith,默认关闭,完全向后兼容。新增的 GenAI span 可以展示 LLM TTFT、Agent ReAct 步骤、工具调用以及失败的 LLM 节点,为深度可观测性提供了强大支持。

五、Cloudflare Turnstile 验证码支持

为了防护认证端点被滥用,1.17.0 引入了可选的Turnstile 挑战,用于登录和邮箱验证码登录流程。管理员可以配置站点密钥、密钥和允许的主机名。这为自托管实例增加了一层机器人防护,且无需牺牲用户体验(Turnstile 通常无需用户交互)。

六、Azure Key Vault / 可插拔 KMS

新版本引入了KMS 提供者抽象,并首先支持 Azure Key Vault,用于密钥配置、加密和解密,支持密钥轮换配置。这是迈向外部管理加密密钥的重要一步,满足企业级安全合规需求。

七、TiDB Vector 全文与混合搜索

TiDB Vector 部署现在可以启用全文检索和混合检索TIDB_VECTOR_ENABLE_FULLTEXT_SEARCH,默认关闭),使用多语言全文索引与向量搜索结合,提升检索效果。

八、更广泛的模型与文件处理

  • 图像文件直接传递给多模态模型:LLM 节点和 Agent 现在可以将图像文件直接传递给多模态模型,非视觉附件不再被静默丢弃。

  • 多模态检索指导:帮助用户为包含图像的知识库正确选择嵌入模型。

  • 音频 ASR 支持audio/x-m4a,音频 MIME 类型验证更准确。

九、Go to Anything (⌘K / Ctrl+K)

在任何控制台页面按下⌘K(Windows/Linux 为Ctrl+K)即可打开命令面板,快速跳转到应用、Agent、技能、知识库、插件或工作流节点,或通过斜杠命令触发快捷操作。本版本中,Agent 和技能也可被搜索,图标命令系统在所有域中重构以保持一致性。

十、其他新增功能

  • ODT(OpenDocument Text)文档提取

  • 工具插件的日期 / 日期选择器参数类型

  • 老挝语(lo-LA)语言支持

  • 旧对话自动清理任务ENABLE_CONVERSATION_CLEANUP_TASK),控制数据增长。

  • 市场直接嵌入集成分类,工具/插件发现更流畅。

十一、改进亮点 1. 大规模可访问性(a11y)优化

数百处控制台改进使其对键盘和屏幕阅读器友好:真实的语义、图标操作的辅助名称、认证/安装页面的主标题、键盘可访问的成员/工具选择器以及正确的 ARIA 状态。


2. 工作流创作体验提升

  • • 工作流生成器现在优先推荐已安装和配置的工具。

  • • 画布状态在历史更新后得到保留,不再出现刷新渲染循环。

3. 工作流与运行时稳定性
  • • Web 工作流运行可重现。

  • • SSE 流在终端事件时干净结束。

  • stop在非流式节点间被正确遵守。

  • • 暂停的工作流清除过期的取消信号。

  • • 默认执行时间从 1200 秒提高到 3600 秒。

4. 内部质量

大量单元测试迁移到真实 ORM 模型 / SQLite 会话,类型更严格,不影响用户行为。

十二、安全增强

  • 认证加固:Turnstile 挑战、邮箱验证码尝试限制和令牌过期、暂停电子邮件域处理、短期 Agent 授权令牌。

  • 访问控制 / 所有权范围:数据集、文档、RAG、对话、工作区凭证、OAuth 客户端等资源均绑定到其所有者和应用范围,关闭了多个未授权访问路径。

  • SSRF 与出站加固:出站 HTTP 连接阶段限制为 5 秒,Agent/binding 下载和运行超时可配置,SSRF 阻止错误消息更准确。

十三、Bug 修复(精选)
  • • 防止 Redis Streams 中丢失workflow_started事件以及被取代执行的运行丢失/重复。

  • • 将工作流时间戳标准化为 naive UTC,为失败、取消和中断的运行保留快照和历史。

  • • 防止跨标签页聊天对话切换,不再丢弃 Agent 聊天中的非视觉附件。

  • • 修复 Qwen/VL 系统消息顺序(合并系统消息并置于最前)。

  • • 修复 Elasticsearch-JA 适配器的document_id映射和 VectorType。

  • • 避免 Bedrock 空 schema 字段。

  • • 所有 nginx 上游使用动态 DNS 解析。

  • • 保留文本上传的 UTF-8 字节大小。

  • • 大量 Web/UI 修复:恢复邮箱验证码和密码表单提交、移动端登录溢出、Toast 堆叠、模型选择器间距等。

十四、环境变量变更 新增变量

Agent 运行时 / 沙箱

  • DIFY_AGENT_RUNTIME_BACKEND

  • DIFY_AGENT_RUN_TIMEOUT_SECONDS

  • DIFY_AGENT_SANDBOX_FILES_BASE_URL

  • DIFY_AGENT_STUB_UPLOAD_FILE_SIZE_LIMIT

  • DIFY_AGENT_BINDING_FILE_DOWNLOAD_COMMAND_TIMEOUT_SECONDS

  • DIFY_AGENT_E2B_API_KEY

  • DIFY_AGENT_E2B_TEMPLATE

  • DIFY_AGENT_E2B_SHELLCTL_PORT

  • DIFY_AGENT_E2B_ACTIVE_TIMEOUT_SECONDS

  • DIFY_AGENT_LOCAL_SANDBOX_ENDPOINT

  • DIFY_AGENT_LOCAL_SANDBOX_AUTH_TOKEN

  • DIFY_AGENT_OUTBOUND_HTTP_CONNECT_TIMEOUT

  • DIFY_AGENT_OUTBOUND_HTTP_READ_TIMEOUT

  • DIFY_AGENT_OUTBOUND_HTTP_WRITE_TIMEOUT

  • DIFY_AGENT_OUTBOUND_HTTP_POOL_TIMEOUT

  • DIFY_AGENT_OUTBOUND_HTTP_KEEPALIVE_EXPIRY

  • DIFY_AGENT_OUTBOUND_HTTP_MAX_CONNECTIONS

  • DIFY_AGENT_OUTBOUND_HTTP_MAX_KEEPALIVE_CONNECTIONS

  • AGENT_BACKEND_BINDING_FILE_DOWNLOAD_TIMEOUT_SECONDS

  • AGENT_BACKEND_HOME_SNAPSHOT_TIMEOUT_SECONDS

认证 / 安全

  • TURNSTILE_SITE_KEY

  • TURNSTILE_SECRET_KEY

  • TURNSTILE_ALLOWED_HOSTNAMES

  • TURNSTILE_EMAIL_CODE_VERIFY_REQUIRED

  • EMAIL_CODE_LOGIN_MAX_ATTEMPTS

  • EMAIL_CODE_LOGIN_TOKEN_EXPIRY_MINUTES

  • KEY_PROVIDER_TYPE

  • AZURE_KEYVAULT_VAULT_URL

  • AZURE_KEYVAULT_KEY_SIZE

  • AZURE_KEYVAULT_ROTATION_INTERVAL_DAYS

知识库 / 检索

  • TIDB_VECTOR_ENABLE_FULLTEXT_SEARCH

  • TIDB_ON_QDRANT_ESTIMATED_STORAGE_LIMITS_MB

  • KNOWLEDGE_UPLOAD_FILE_SIZE_LIMIT_FOR_PAID_PLAN

追踪 / 可观测性

  • OPS_TRACE_UNIFIED_ENABLED

  • OPS_TRACE_PARENT_CONTEXT_TTL_SECONDS

其他

  • ENABLE_CONVERSATION_CLEANUP_TASK

  • CONVERSATION_CLEANUP_TASK_INTERVAL

  • CONVERSATION_CLEANUP_BATCH_SIZE

  • UPLOAD_SKILL_FILE_SIZE_LIMIT

  • PLUGIN_MAX_FILE_SIZE

  • MARKDOWN_FORM_FIELD_NAME_EXTRA_CHARS

  • DEPLOYMENT_EDITION(替代EDITION

移除变量
  • EDITION→ 重命名为DEPLOYMENT_EDITION

  • ENTERPRISE_ENABLED

  • AGENT_BACKEND_RUN_TIMEOUT_SECONDS→ 被DIFY_AGENT_RUN_TIMEOUT_SECONDS取代

  • DIFY_AGENT_SHELLCTL_AUTH_TOKEN

  • DIFY_AGENT_SHELLCTL_ENTRYPOINT

修改默认值
  • APP_MAX_EXECUTION_TIME:1200 → 3600

  • WORKFLOW_MAX_EXECUTION_TIME:1200 → 3600

  • OPS_TRACE_RETRYABLE_DISPATCH_MAX_RETRIES:60 → 780

  • GRAPH_ENGINE_SCALE_UP_THRESHOLD:3 → 0

十五、Docker Compose 变更
  • docker/docker-compose.yaml— 修改

  • docker/docker-compose.middleware.yaml— 修改

  • docker/docker-compose.e2b.yaml新增(E2B Agent 沙箱组件栈)

十六、数据库迁移

本版本包含以下新迁移(社区版相关):

  • add_workflow_version_number— 工作流版本号(部署 v2)

  • add_oauth_provider_app_auto_authorize— 静默 OAuth 授权标志

  • add_conversation_cleanup_index— 支持对话清理任务

  • add_workspace_skill_management— 工作区技能管理

  • add_agent_home_snapshot_ledgermake_home_snapshot_references_nullable— Agent 构建时 Home Snapshot 台账及可空引用

  • replace_agent_runtime_sessions_with_*remove_agent_driveclean_legacy_agent_soul_filessimplify_agent_v2_output_contract— 新 Agent 运行时

这些迁移无需手动回填命令,升级时运行flask db upgrade即可。

十七、升级指南 重要提示

  • • 包含新数据库迁移,升级时必须执行。

  • • 环境变量变化显著(大量新增、EDITION重命名为DEPLOYMENT_EDITION、多个默认值修改),请仔细检查.env并更新。

  • • Docker Compose 配置有变化,新增了docker-compose.e2b.yaml,自定义 compose 文件需重新应用本地修改。

  • add_conversation_cleanup_index迁移会在现有数据上创建索引,若对话表很大,执行时间可能较长。

Docker Compose 部署
  1. 1. 备份自定义 compose 和环境文件:

    cd docker
    cp docker-compose.yaml docker-compose.yaml.$(date +%s).bak
    cp .env .env.$(date +%s).bak 2>/dev/null || true
  2. 2. 获取最新代码:

    git fetch --tags
    git checkout main # 或目标发布标签
  3. 3. 停止服务:

    docker compose down
  4. 4. 备份数据卷:

    tar -cvf volumes-$(date +%s).tgz volumes
  5. 5. 检查环境变量变化并重新应用本地定制(记得EDITIONDEPLOYMENT_EDITION)。

  6. 6. 升级:

    docker compose up -d
源码部署
  1. 1. 停止 API 服务器、Worker 和 Web 前端。

  2. 2. 获取最新代码:

    git fetch --tags
    git checkout main # 或目标发布标签
  3. 3. 更新 Python 依赖:

    cd api
    uv sync
  4. 4. 运行迁移:

    uv run flask db upgrade
  5. 5. 重建/重启 Web 前端,然后重启 API 服务器和 Worker。

结语

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

Dify 1.17.0 是一次全面的飞跃,尤其在Agent 基础设施企业级安全可观测性方面。E2B 云沙箱和 Home Snapshots 让 Agent 具备生产级的隔离与一致性;技能管理开启了能力复用的新篇章;统一追踪和可复用 LLM 环境变量大幅提升开发与运维效率。安全加固和访问控制修复也表明 Dify 团队对生产环境的高度重视。

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

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
不接受一国两制?20万岛内武装放下武器,明确台湾最终结局了?

不接受一国两制?20万岛内武装放下武器,明确台湾最终结局了?

旧窗老街
2026-08-24 22:47:41
擅自决定发放奖励资金,造成国家财政资金特别重大损失,昆明市政府原常务副市长陈伟被公诉

擅自决定发放奖励资金,造成国家财政资金特别重大损失,昆明市政府原常务副市长陈伟被公诉

大风新闻
2026-08-28 17:03:24
为什么美航母之争要警惕政治绑架技术决策?

为什么美航母之争要警惕政治绑架技术决策?

风铃草语
2026-08-28 04:22:59
德国热死上万人,中国10万台空调坐火车去救命!欧洲的脸往哪搁

德国热死上万人,中国10万台空调坐火车去救命!欧洲的脸往哪搁

浯江孤舟
2026-08-12 10:49:04
马竞董事会一致拒绝与巴萨谈判 阿尔瓦雷斯转会只剩阿森纳一条路

马竞董事会一致拒绝与巴萨谈判 阿尔瓦雷斯转会只剩阿森纳一条路

坠入温柔晚风
2026-08-28 00:28:39
71岁卢卡申科新伴仅22岁,常年被美女模特环绕,分居妻子杳无音信

71岁卢卡申科新伴仅22岁,常年被美女模特环绕,分居妻子杳无音信

译言
2026-06-21 07:11:28
藏了21年的雷彻底炸了,中国官方发全球征缴令,潘石屹躲得掉吗?

藏了21年的雷彻底炸了,中国官方发全球征缴令,潘石屹躲得掉吗?

明天见灌装冰块
2026-08-13 20:00:24
怪不得做饭怎么都做不出那个味,原来是我太老实了!网友分享爆了

怪不得做饭怎么都做不出那个味,原来是我太老实了!网友分享爆了

另子维爱读史
2026-08-27 21:56:03
16GB+2TB!苹果新品突然上架:8月27日 ,正式预售

16GB+2TB!苹果新品突然上架:8月27日 ,正式预售

科技堡垒
2026-08-26 11:23:03
1988年,他花10万买下深圳荒地,30年后拆迁款把他吓坏

1988年,他花10万买下深圳荒地,30年后拆迁款把他吓坏

灿烂夏天
2025-05-12 14:33:45
43岁范冰冰受封拿督,事业疑获新大佬支持,全面进军海外市场

43岁范冰冰受封拿督,事业疑获新大佬支持,全面进军海外市场

萌神木木
2025-08-24 13:52:35
追梦给库明加泼冷水:年薪1240万加盟森林狼,打不好第一个被换下

追梦给库明加泼冷水:年薪1240万加盟森林狼,打不好第一个被换下

慢享生活集
2026-08-29 02:42:07
住建局领导,偷睡别人老婆,被直播!

住建局领导,偷睡别人老婆,被直播!

地产八卦
2025-08-06 19:25:42
英国遭到拒绝后发出警告,中国若不合作,中企海外资产将被没收!

英国遭到拒绝后发出警告,中国若不合作,中企海外资产将被没收!

冷眼看尽世间繁华
2026-04-05 03:49:18
中方发布撤侨通告,越来越多迹象表明,台当局最后据点要塌?

中方发布撤侨通告,越来越多迹象表明,台当局最后据点要塌?

叮当当科技
2026-08-28 01:30:13
孙宇晨人在香港,为什么回不去北京?

孙宇晨人在香港,为什么回不去北京?

港漂圈
2026-08-28 08:29:00
17胜5平,利物浦首个联赛主场连续22个赛季不败

17胜5平,利物浦首个联赛主场连续22个赛季不败

懂球帝
2026-08-29 02:26:37
逃离北上广!中国年轻人挤爆尼泊尔:30元住店20元上课,太香了

逃离北上广!中国年轻人挤爆尼泊尔:30元住店20元上课,太香了

白米饭怎么吃
2026-08-09 20:40:42
中国,有必要打一场立威之仗吗?

中国,有必要打一场立威之仗吗?

清沐执笔
2026-07-17 16:30:42
孙割抠门是有前提的:不值得一毛不拔,19年白月光3000万眼都不眨

孙割抠门是有前提的:不值得一毛不拔,19年白月光3000万眼都不眨

慢歌轻步谣
2026-08-28 13:33:53
2026-08-29 03:04:49
moonfdd incentive-icons
moonfdd
福大大架构师每日一题
1422文章数 80关注度
往期回顾 全部

科技要闻

AI牛马永不下班!OpenAI让智能体自己找活

头条要闻

救援队抵达国门反复呼喊有没有人 队员:目视一片废墟

头条要闻

救援队抵达国门反复呼喊有没有人 队员:目视一片废墟

体育要闻

曼城花1个亿,买下了摩洛哥的“国民女婿”

娱乐要闻

景甜分手风波,网友:难怪张继科抽身

财经要闻

刑自强:AI投资下半场中国蓄势待发

汽车要闻

东风日产NX8“喜柿橙意”限定色正式上市

态度原创

房产
健康
亲子
艺术
教育

房产要闻

突发,三亚又大量卖地!

脑出血两大夺命风险,早治早保命!

亲子要闻

今天我就要让你知道谁在儿子心里才是第一位!

艺术要闻

镜子里的那个世界,才是真实的人间天堂?看完第一张我就跪了!

教育要闻

2027届注意!上纽、昆杜综合评价如何选?

无障碍浏览 进入关怀版