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


Workflow
构建 Workflow 应用来处理单轮任务。Web 应用界面和 API 提供了便捷的批量执行多个任务的访问方式。在底层,工作流构成了 Dify 中所有其他应用类型的基础。
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 节点有以下输出:
环境变量
搭建 Workflow 或 Chatflow 时添加的环境变量,保存的是整个应用共用的值。 多个节点共用的值,或应用各副本之间需要不同的值(如测试系统或生产系统的 API 端点),都适合放在环境变量里。API 密钥这类机密信息使用 Secret 类型即可:除非你选择包含,否则导出时不会带上它们的值。会话变量
会话变量仅存在于 Chatflow 中。它们在同一会话的多轮对话中保留各自的值,可用来存放随对话推进而变化的信息,比如待办事项列表或 token 消耗。可通过 变量赋值 节点更新会话变量的值:
变量引用
在配置输入字段时,你可以通过从下拉菜单中选择,轻松将变量传递给任何节点:
/ 斜杠并从下拉菜单中选择所需变量,将变量值插入到复杂的文本输入中。
