返回案例库案例库

Dify 1.16.0解读:Agent、Linux沙箱和MCP协议升级,Dify开始进入真正的Agent运行时

本文基于 Dify(https://www.53ai.com/news/dify/2025031223659.html) 官方 GitHub 1.16.0 release note(2026 年 7月 17 日发布)整理,重点看这次版本…

大家好,我是独孤风。

本文基于 Dify 官方 GitHub 1.16.0 release note(2026 年 7月 17 日发布)整理,重点看这次版本对 Agent 工程化、自托管升级和生产运行边界的影响。

版本功能和升级步骤可能继续变化,实际部署和升级请以 Dify 官方 release note 和升级说明为准。

核心判断

Dify 1.16.0 最重要的,不是“又加了一个 Agent 功能”,而是 Dify 第一次把 Agent 运行时真正放进了平台主线。

如果说 1.15.0 还主要是在补 CLI、HITL 和长任务处理,那 1.16.0 就开始补另一层东西:Linux 沙箱、Skills、Agent 节点、协议互操作和运行治理。

这次更新可以概括成六个关键词:

方向代表变化这次真正意味着什么
Agent 运行时Dify Agent Beta、Agent App 默认开启Dify 不再只是工作流搭建器,而是在尝试成为 Agent 执行环境
执行边界Linux sandbox、agent_backend、local_sandbox、Landlock平台风险模型从“生成内容风险”升级到“执行动作风险”
编排方式工作流可调用现有 Agent 或内联 AgentDify 开始从节点编排走向任务执行编排
标准互操作MCP 2025-06-18、structured tool output、动态请求头注入企业系统接入开始补协议层细节,不只是“先连上再说”
生成效率/create、/refine、并行生成节点配置、超时控制AI 生成工作流开始从演示能力走向可用能力
升级治理OpenAI Responses 切换、新服务、新 env、新迁移1.16.0 的升级已经不是简单换镜像,而是一次完整的运维变更

1. Dify Agent 不是多一个应用类型,而是 Dify 的平台形态变了

官方这次把 Dify Agent 直接放进主版本更新里,而且明确给了三层能力:

  • 在 UI 里创建 Agent,配置 base prompt、Skills、文件、工具和知识。
  • 用一个 Agent 去帮助你构建另一个 Agent,它可以配置 Linux 沙箱、安装依赖、生成 Skills 和文件。
  • 把 Agent 发布成新的 Web App 使用。

这和以前的 Dify 很不一样。

以前我们更多把 Dify 理解成一个工作流和应用编排平台,重点是模型、知识库、工具、节点和前端入口。现在它开始把“执行”也纳进自己的边界里。

也就是说,Dify 不再只负责把请求路由给模型和工具,而是在尝试接管下面这条链路:

  • Agent 如何拥有运行环境。
  • Agent 如何持有 Skills 和文件。
  • Agent 如何在沙箱里执行命令和代码。
  • Agent 如何被复用到工作流和应用里。

这一步很关键。因为它意味着 Dify 从“AI 应用平台”继续往“Agent 运行平台”挪了一大步。

  1. Linux 沙箱和 shellctl 才是这次最重的工程变化

这次 release note 一开头就给了一个非常强的警告:

Dify Agent 服务只应该提供给可信、非恶意用户。

这句话本身就说明了问题的性质已经变了。

一旦平台内置 Linux 沙箱、Shell 命令执行和 Skills 文件体系,风险就不再只是 Prompt 写得好不好,而是:

  • Agent 能不能执行不该执行的命令。
  • Agent 能不能读到不该读到的文件。
  • Agent 会不会被诱导访问不该访问的地址。
  • Shell 输出里会不会泄露密钥、路径或内部信息。

从自托管角度看,这次最需要认真对待的是下面这些变化:

  • docker-compose 新增了 agent_backend 和 local_sandbox 两个服务。
  • 新增了一组 DIFY_AGENT_* 环境变量,覆盖 Redis、内部 API、plugin daemon、shellctl、运行超时和输出脱敏。
  • 官方明确要求生产环境替换 DIFY_AGENT_SERVER_SECRET_KEY。
  • 新增 SHELLCTL_ENABLE_PATH_ISOLATION,并补了 DIFY_AGENT_SHELL_REDACT_PATTERNS。
  • 安全增强里专门提到 Agent HOME 目录的 Landlock 保护,以及 sandbox enforcement 修复。

这些变化说明,Dify 自己也知道:

真正难的不是“把 Agent 页面做出来”,而是把 Agent 运行时的隔离、鉴权、脱敏、内部服务通信和异常退出处理补齐。

所以 1.16.0 不能简单理解成“Dify 支持 Agent 了”,更准确地说,是 Dify 开始把 Agent 运行底座真正工程化。

  1. 工作流接入 Agent,说明 Dify 开始从“节点编排”走向“任务执行编排”

1.16.0 里还有一个很重要的变化:工作流现在可以直接使用已有 Agent,或者临时创建内联 Agent 节点。

这和以前普通节点式工作流的差异非常大。

普通工作流更像:

  • 输入什么。
  • 调哪些节点。
  • 每一步产出什么结构化变量。
  • 下一步怎么继续处理。

而 Agent 节点更像:

  • 把一个目标交给它。
  • 让它自己决定调用哪些 Skills、工具、文件和知识。
  • 等它完成后再把结果传回流程。

这意味着 Dify 工作流开始同时支持两种执行模式:

  • 确定性更强的节点编排。
  • 自主性更强的 Agent 执行。

这对很多复杂场景是好事,因为有些任务本来就不适合拆成很死的节点,比如:

  • 多步资料整理。
  • 临时文件处理。
  • 带上下文的工具链调用。
  • 半结构化任务执行。

但它也带来一个新问题:工作流的稳定性边界开始变复杂。

以前很多问题集中在节点配置、变量映射和超时。现在还要多看几件事:

  • 这个任务到底该用普通节点还是 Agent 节点。
  • Agent 节点的成本、耗时和结果可预测性是否可接受。
  • 出错后是重试 Agent,还是回退到确定性节点。
  • Agent 生成的中间文件、Skills 和依赖如何治理。

所以这次工作流接入 Agent,不只是“能复用 Agent 了”,而是 Dify 的编排模型开始升级了。

  1. MCP 协议升级别忽略,这次补的是企业接入的协议细节

1.16.0 把 workflow-as-MCP server 升级到了 MCP 2025-06-18,支持 version negotiation 和 structured tool output,同时保持对旧客户端的兼容。

如果只看功能列表,这一条不算醒目,但它其实很硬核。

因为很多团队真正卡住的,不是“Dify 能不能连 MCP”,而是下面这些工程细节:

  • 版本不一致时怎么协商。
  • 工具输出是随便返回文本,还是有结构化约束。
  • 上游请求身份信息怎么安全地下传给 MCPClient。

这次新增的动态 HTTP 请求头注入尤其值得注意。官方允许通过占位符的方式把运行时请求头注入 MCPClient,例如 {{request.headers.X-Custom-Auth}}。

这意味着两件事:

  • MCP 接入可以更自然地对接企业已有网关、代理和按请求鉴权体系。
  • 工具调用终于不一定只能依赖一个平台级静态密钥。

但这件事也不能想当然。动态请求头透传如果没做白名单和审计,很容易把本来不该下发给工具层的身份信息一起带过去。

所以这次 MCP 升级的价值,不只是“协议跟上了”,而是 Dify 开始认真处理企业互操作最容易被忽略的那层实现细节。

5. /create 和 /refine 在补的,不是演示效果,而是 AI 生成工作流的可用性

这次官方还明显加强了 AI 工作流生成体验:

  • 去掉了价值不高的 Ideal output 字段。
  • 以前静态示例提示,改成了基于工作区上下文生成的建议。
  • 节点配置生成开始并行化。
  • 新增 WORKFLOW_GENERATION_TIMEOUT_MS,默认 180 秒。

这类改动看起来不如 Agent 和沙箱那么大,但它很说明 Dify 的方向。

很多所谓“AI 自动生成工作流”的能力,做演示不难,难的是:

  • 生成结果是不是足够贴合现有工作区。
  • 节点配置是不是能一次生成到可改、可跑的程度。
  • 超时以后是卡死,还是能明确结束。
  • 大一点的工作流生成时,速度还能不能接受。

这次并行生成节点配置和超时控制,本质上是在补“生成器自身的工程可靠性”。

这意味着 Dify 不只是想做一个会帮你起草流程的助手,而是在把 AI 生成工作流做成一个真正要长期使用的构建能力。

  1. 这次升级真的不能只拉镜像,几个细节必须单独看

docker-compose 变化很大

官方升级指南明确提醒,这次 docker-compose 改动幅度比较大,尤其是新增了 agent_backend 和 local_sandbox,同时 api 和 worker 也开始依赖 Agent 后端。

如果你维护的是自定义 compose 文件,这次不能只替换镜像标签,必须重新核对:

  • 服务拓扑。
  • env 文件拆分。
  • 端口与内部服务访问关系。
  • 运行超时和关闭策略。

环境变量不只是“多了几个”

官方升级说明里明确写了:

  • 新增 28 个环境变量。
  • 删除 1 个环境变量。
  • 修改 1 个环境变量。

实际新增的重点主要集中在四块:

  • Agent backend 和 sandbox。
  • Redis keepalive 与重连。
  • Workflow generation 超时和并行度。
  • 新用户默认模型和默认插件。

这说明 1.16.0 新增的不是一个孤立功能,而是一整组新的运行面。

企业升级建议

如果你已经在用 Dify,自托管升级到 1.16.0,建议至少先做这几件事:

  1. 先 diff 新旧 docker-compose 和 env 文件,不要直接覆盖升级。
  2. 检查 OpenAI provider 里历史配置的 API type,确认是否还停留在 Chat Completions。
  3. 把 Agent 能力的可用范围限制在可信用户和有限 workspace 内,不要一上来就全员开放。
  4. 审核 DIFY_AGENT_SERVER_SECRET_KEY、DIFY_AGENT_SHELL_REDACT_PATTERNS、路径隔离和内部服务访问边界。
  5. 为 Agent 节点设定明确使用场景,不要把所有任务都丢给 Agent 执行。
  6. 如果要透传动态请求头到 MCPClient,先做白名单和日志审计设计。
  7. 在测试环境完整跑一遍数据库迁移和回归验证,尤其核对你当前版本基线对应的实际迁移范围。

风险提醒

  • 不要把内置 Linux 沙箱理解成“天然安全”,沙箱只是起点,不是生产安全结论。
  • 不要把 Agent 节点理解成“比普通节点更高级”,很多确定性流程仍然更适合传统工作流。
  • 不要把动态请求头注入理解成“所有身份信息都可以透传”,要做白名单和最小暴露。
  • 不要把升级说明里的迁移数字当成唯一事实,必须结合自己的版本基线核对。
  • 不要忽略历史 OpenAI 配置的 API type,尤其是准备接 GPT-5.6 及后续模型时。

Dify 1.16.0 的核心信号是:Dify 不再只是继续补工作流平台,而是第一次把 Agent 运行时、Linux 沙箱、协议互操作和升级治理一起推上主舞台,开始真正进入 Agent 平台阶段。

我正在持续整理《AI时代数据治理实战库》。

它会围绕两条主线展开:

  • Data for AI:数据如何支撑 AI。
  • AI for Data:AI 如何反过来改造数据治理。

前者是基础,后者是新机会。

如果你关心 AI 时代的数据治理、企业 AI 数据底座、RAG、Agent、元数据、血缘、质量、标准、知识图谱、本体论和企业 AI Agent 工程化,加入可以点击   阅读原文  查看。

[登录查看剩余 70% 内容](javascript:void (0);)