主题
4.2 创建应用:空白画布、模板与 DSL 导入
创建应用前,先想清楚用户如何使用它:是提交一份材料后等待结果,还是需要连续聊上几轮?这个区别会影响应用类型、变量保存方式和调试方法。本节结合工作室界面,介绍空白创建、模板复制和 DSL 导入三条路径。
第一步:进入开发者的核心操作台 ——“探索工作室”
在登录 Dify 主页后,你可以通过左侧导航栏的【工作室】按钮,或点击主页“最近”模块右侧的快捷通道一键直达:

💡 小贴士:点击 “探索工作室 →” 后,你将进入所有已创建应用(Chatbot、Chatflow、Workflow、Agent)的统一管理中枢。
工作室 (Studio) 控制台界面说明
进入工作室后,呈现在你眼前的就是开发者的完整资产面板:

我们对界面上的核心功能区域进行说明:
1. 顶部多维筛选与搜索栏 (Filter Bar)
当你的项目越来越多时,快速定位资产至关重要:
- 类型 (Type):支持按应用形态精准过滤(全部、聊天助手 Chatbot、对话工作流 Chatflow、任务工作流 Workflow、智能体 Agent);
- 标签 (Tags):支持自定义业务标签(如“HR助手”、“生产环境”、“研发内部工具”);
- 创建者 (Creator):团队协同场景下按成员筛选应用;
- 排序方式 (Sort By):按“最近修改时间”或“创建时间”排序;
- 搜索框 (Search):按应用名称或描述关键字检索。
2. 应用卡片与状态展示 (App Cards)
每个已创建的应用都会以卡片形式陈列(如上图中的【面必过chatbot】):
- 应用图标与名称:直观区分不同机器人;
- 应用类型标识:明确标记当前应用是
CHATFLOW(对话工作流)、WORKFLOW(任务流)还是AGENT; - 主要功能描述:如“模拟面试和简历优化”,让团队成员一眼看清职责;
- 标签管理与修改时间:支持快速贴标签与查看历史更新状态;
- 独立 WebApp 访问入口:点击卡片右下角的地球图标 🌐 即可直接打开免登录/公开访问的网页对话窗口。
3. 右侧核心操作区:三种创建应用方式对比
点击右上角蓝色的 + 创建 按钮,会弹出一个三合一下拉菜单。这代表了 Dify 中最高频的三种开发路径:
| 创建方式 | 适合人群与场景 | 核心优势 | 生产建议 |
|---|---|---|---|
| 📄 创建空白应用 (Create from Blank) | 需求明确、流程需要定制的业务开发 | 自行确定每个节点的输入、输出与流转逻辑 | 适合从头设计核心业务流程 |
| 🗂️ 从应用模板创建 (Create from Template) | 初学者学习、寻找最佳实践灵感 | 开箱即用,已配好高质量 Prompt 与示例节点 | 快速验证可行性与打样原型 (MVP) |
| 📑 导入 DSL 文件 (Import DSL File) | 跨环境部署、团队协作资产交付、社区开源分享 | 拖入 .yml 文件 恢复节点与连线 | CI/CD 发布、灾备备份与环境迁移利器 |
📌 什么是
{ } Snippets代码片段库? 点击+ 创建左侧的{ } Snippets按钮,可以管理和复用你常用的小代码段(如数据清洗 Python 脚本、正则表达式提取器、标准 JSON 解析器),在不同工作流之间复用,极大提升开发效率。
工作流与 Chatflow 选型决策指南
很多初学者在点击“创建空白应用”时容易混淆:什么时候选【工作流 Workflow】,什么时候选【对话流 Chatflow】?
1. 任务工作流 (Workflow)
- 核心思路:函数式流水线(
Output = f(Input))。 - 运行特征:接收参数 -> 经过中间多个节点协同运算 -> 产出固定结构的数据并结束。每一次调用都是全新且独立的,无历史对话负担。
- 典型代表:文章摘要器、合同风险筛查、批量数据清洗与转格式。
2. 对话工作流 (Chatflow)
- 核心思路:带状态机(State Machine)与多轮会话记忆的交互系统。
- 运行特征:保留用户每一轮的聊天记录(
sys.conversation_id),支持在对话中根据用户最新回复动态分支流转。 - 典型代表:智能面试官(如面必过chatbot)、通用客服助理、角色扮演私教。
导入成功之后,先做一次最小验证
DSL 可以理解为一份施工图:它记录节点和连线,但接收这份图纸的环境仍要备齐材料。文件导入成功后,模型授权、工具凭据、知识库绑定和变量引用都需要在当前工作区检查。
建议保留一份原始导入副本,再在练习副本中修改。第一次运行只验证一条最短路径,例如输入一句话、调用一个模型、返回一句回复。这样模型连接失败时,不会被几十个节点的报错掩盖。
| 检查项 | 通过的标志 | 未通过时先处理什么 |
|---|---|---|
| 模型与插件 | 节点能选择当前可用的模型 | 安装对应插件,重新选择模型 |
| 凭据 | 单节点调用成功 | 检查授权、余额与服务地址 |
| 输入变量 | 运行面板能填写必填字段 | 检查变量名、类型和默认值 |
| 文件输入 | 提取节点返回简历正文 | 换一份短小的文本文件对照测试 |
| 输出引用 | 预览中看到实际结果 | 检查回复节点绑定的字段 |
练习时可以把同一个“文章摘要”任务分别建成工作流和对话流:前者一次交齐文章与要求,后者允许用户补充“再短一点”。比较两次运行中资料从哪里来,比只记应用名称更容易理解它们的区别。
导入 DSL 后再做四项复核
DSL 解决的是流程结构迁移,并不会把原工作区的全部环境一并搬过来。正式接着修改之前,建议逐一核对模型供应商、变量与文件、插件凭据、应用类型与兼容提示。
- 模型与供应商:确认每个 LLM 节点已经重新绑定到当前工作区可用的模型,不能只看节点名称是否还在。
- 变量与文件:检查开始节点的字段类型、必填项、文件限制和后续引用,尤其注意旧变量改名后留下的失效引用。
- 插件与凭据:插件要在当前工作区安装,授权信息通常也要重新填写;先单独运行工具节点,确认参数和返回值仍符合预期。
- 应用类型与版本差异:核对导入结果是工作流还是对话流,并查看平台给出的兼容提示。导入完成不等于行为完全一致。
复核完成后,再保存一份当前环境可运行的副本。以后更换模型或插件时,保留这份基线,可以快速判断问题来自流程改动还是运行环境变化。
参考资料
- Dify 官方工作流编排指南:https://docs.dify.ai/v/zh-hans/guides/workflow
- Dify 官方 DSL 规范解析:https://docs.dify.ai/v/zh-hans/guides/workflow/dsl
- Dify 官方 GitHub 讨论区与 DSL 共享库:https://github.com/langgenius/dify/discussions
本节回顾
应用类型应由交互方式决定。导入示例后,先验证模型与输入输出,再逐步接通完整流程。
继续阅读:4.3 模型供应商与工具插件。