Skip to main content
本文档由 AI 自动翻译。如有任何不准确之处,请参考 英文原版。

Dify 应用

Dify 专为智能体应用构建而设计。在 Studio 中,你可以通过拖拽界面快速构建智能体工作流并将其发布为应用。你可以通过 API、Web 或作为 MCP 服务器访问已发布的应用。Dify 提供两种主要的应用类型:Workflow 和 Chatflow。在创建新应用时,你需要选择一种应用类型。
我们推荐选择 Workflow 或 Chatflow 作为你的应用类型。但除了这些之外,Dify 还提供 3 种更基础的应用类型:聊天机器人、Agent 和文本生成器。
应用类型选择器
这些应用类型在底层运行相同的工作流引擎,但提供了更简单的传统界面:
聊天机器人界面

Workflow

构建 Workflow 应用来处理单轮任务。Web 应用界面和 API 提供了便捷的批量执行多个任务的访问方式。
在底层,工作流构成了 Dify 中所有其他应用类型的基础。
每个工作流都以一个 开始节点 开始:用户输入(按需启动,由用户或 API 调用触发)或触发器(自动启动,按计划或响应外部事件)。

Chatflow

Chatflow 是一种特殊类型的工作流应用,在对话的每一轮都会被触发。除了工作流功能外,Chatflow 还具有存储和更新自定义对话特定变量的能力,在大型语言模型节点中启用记忆功能,并在 Chatflow 运行的不同节点流式传输格式化的文本、图像和文件。 Chatflow 始终以用户输入开始。

Dify DSL

Dify DSL(Domain-Specific Language,领域特定语言)是 Dify 用来描述应用的 YAML 格式。它记录应用的搭建和配置,涵盖节点、提示词、变量和各项设置,但不含日志、知识库这类数据。 导出应用时,Dify 会生成它的 DSL;导入时,再根据 DSL 重建应用。分享应用、发布模板、在工作空间或 Dify 实例之间迁移应用,用的都是这种方式。 在 Dify 1.18.0 及以上版本中,导出应用得到的是一个 应用包(.ifpkg),里面除了 DSL 文件,还有应用所需的文件,例如上传的图标,以及 Agent 的 Skill 和文件。更早的版本则只导出 DSL 文件(.yml)。

变量

变量是一个带标签的容器,用来存放信息。之后通过变量名引用,就能找到并使用其中的信息。在构建 Dify 应用时,你会遇到不同类型的变量。

输入

你可以在 用户输入 节点为你的应用终端用户指定任意数量的输入变量来填写。
用户输入节点变量
此外,用户输入节点还带有一组输入变量,你可以在流程中稍后引用。根据应用类型(Workflow 或 Chatflow),会提供不同的变量。
用户输入在每次工作流运行开始时设置,无法更新。

输出

每个节点产生一个或多个输出,可以在后续节点中引用。例如,LLM 节点有以下输出:
LLM 节点输出变量
与输入一样,节点输出也无法更新。

环境变量

搭建 Workflow 或 Chatflow 时添加的环境变量,保存的是整个应用共用的值。 多个节点共用的值,或应用各副本之间需要不同的值(如测试系统或生产系统的 API 端点),都适合放在环境变量里。API 密钥这类机密信息使用 Secret 类型即可:除非你选择包含,否则导出时不会带上它们的值。

会话变量

会话变量仅存在于 Chatflow 中。它们在同一会话的多轮对话中保留各自的值,可用来存放随对话推进而变化的信息,比如待办事项列表或 token 消耗。可通过 变量赋值 节点更新会话变量的值:
会话变量面板

变量引用

在配置输入字段时,你可以通过从下拉菜单中选择,轻松将变量传递给任何节点:
变量选择下拉菜单
你还可以通过键入 / 斜杠并从下拉菜单中选择所需变量,将变量值插入到复杂的文本输入中。
斜杠插入变量
Last modified on October 23, 2026