dify是 GitHub 上 151K★ 的开源 AI 应用平台,它的官方定位很直接——让团队从原型快速走向生产,无需重建技术栈。把可视化 Agent 工作流、可配置 RAG 管道、多模型适配、50+ 工具节点这些能力像搭积木一样组合起来,既能本地 Docker 一键跑起来,也能在 K8s 上规模化部署。

如果你用过 LangChain 写代码编排、用 LangFlow 拖拽节点调试,那么 dify 可以被理解为「把这两件事做到产品级」——再加上一个能直接上手的 Web UI。本文带你拆解 dify 的核心能力、Docker 一键部署体验、与同类平台(LangFlow/n8n)的定位差异,最后分享一段「部署必要性评估」,给正在自建 AI 工作台的团队一些参考。
一、为什么 dify 值得关注
对很多中小团队来说,「做一个 AI 应用」的真实链路是这样的:选模型 → 写 prompt → 接向量数据库做 RAG → 接业务 API → 包一个前端界面 → 处理日志/版本/权限。dify 把这条链路做成可视化操作,后端跑在你自己的服务器上(或 dify 云),前端是开箱即用的 Web UI。
几个值得第一时间记住的关键能力:
- 内置 50+ 工作流节点,覆盖条件分支、循环、多步骤管道
- 支持 Claude/GPT-4 全家桶,也支持 Ollama / DeepSeek 等本地模型
- Docker Pulls 累计 15 万+,生产案例经过验证
一句话理解:dify ≈「AI 应用的 Low-Code/No-Code 平台」,定位介于 Vercel AI 和 LangFlow 之间,但更侧重企业级工作流和部署。
二、核心能力拆解
2.1 可视化工作流编排(Agentic Workflows)
dify 最大的特性就是「图形化拖拽式编排 AI 工作流」。每个节点可以是:
- 调用某个 LLM(Claude / GPT-4 / Ollama 本地模型都行)
- 检索 RAG 知识库
- 调用外部工具(通过 MCP 协议)
- 做条件判断、循环、变量传递
工作流可以从一个用户输入一路延伸到「调用 LLM → 调用工具 → 把工具结果再喂给 LLM → 生成最终回答」,全程在 Web 上拖拽完成,不需要写胶水代码。
2.2 RAG 管道(RAG Pipelines)
dify 的 RAG 不是「丢进一个 PDF 就完事」,而是一条可配置的管道:
- 文档解析:支持多种格式(PDF、Word、Markdown、网页)
- 分块:可调 chunk size、overlap
- 向量化:兼容多种 embedding 模型
- 检索:向量检索 + 关键词检索的混合模式
- 重排序:可加 rerank 步骤提升精度
- 引用追踪:回答时可以定位到原文档段落
这是非常生产可用的 RAG 实现,不是 demo 级。
2.3 Agent 能力
dify 的 Agent 节点支持:
- ReAct / CoT 推理模式
- Tool Use(含 MCP 协议)
- 多轮对话上下文管理
简单说,dify Agent 不只是「能调工具」,而是按主流 Agent 范式(推理 + 行动循环)实现的。
2.4 多模型支持
支持的模型覆盖:
- 商业模型:OpenAI、Anthropic Claude、Azure OpenAI、Gemini、Groq、DeepSeek
- 本地模型:Ollama(任意 GGUF 模型)、Xorbits 等
- 自定义模型:可以通过 API 接入任意 OpenAI 兼容接口
这意味着你可以用 Claude 做主力,用本地 Ollama 做兜底,按成本/性能灵活切换。
三、安装部署:Docker Compose 一键跑起来
dify 官方主推两种部署方式:
3.1 Docker Compose(适合测试 / 小团队)
最低配置:2CPU / 4GB RAM(够跑通 demo) 推荐配置:4CPU / 16GB RAM(生产可用)
git clone https://github.com/langgenius/dify.git
cd dify/docker
cp .env.example .env
# 按需修改 .env(数据库密码、模型 API Key 等)
docker-compose up -d
# 访问 http://localhost:80
启动后默认会跑起来这些组件:
- dify-api(后端 API 服务)
- dify-web(前端)
- PostgreSQL(业务数据)
- Redis(缓存/队列)
- Weaviate(向量数据库,默认)
整个过程一般 5-10 分钟,比手撸 LangChain 服务快得多。
3.2 Helm Chart(K8s 生产部署)
helm repo add dify https://langgenius.github.io/dify-helm
helm install dify dify/dify -n dify --create-namespace
这条路径适合已经在用 K8s 的中大型团队,能复用现有监控 / 日志 / 扩缩容机制。
四、横向对比:dify 和 LangFlow、n8n 怎么选
这三家都做「可视化 AI 工作流」,但定位完全不同:
| 平台 | GitHub Stars | 主语言 | RAG 能力 | 工作流 | 开源 | 典型场景 |
|---|---|---|---|---|---|---|
| dify | 151K | TS + Python | ✅ 完整管道(解析→分块→检索→重排→引用) | ✅ 可视化 | ✅ | AI 应用生产化、Agent 后端 |
| LangFlow | 23K | Python | ✅ | ✅ | ✅ | 快速原型、数据科学家实验 |
| n8n | 199K | TypeScript | ⚠️ 基础 | ✅ 强大 | ✅ | 通用自动化(非 AI 为主) |
怎么选?
- 你要做「生产级 AI 应用或 Agent 后端」:选 dify
- 你想快速验证一个 RAG/Agent 想法:选 LangFlow
- 你做的是「通用工作流自动化」,AI 只是其中一个节点:选 n8n
dify 是这三家里「最像企业级 AI 中台」的一个,生态也比 LangFlow 更成熟。
五、🔴 部署必要性评估(含可借鉴之处)
这一段是给「正在自建 AI 工作台的团队」的判断框架。
5.1 部署必要性评估
结论:是否部署 dify 取决于你的真实需求,不是「开源就一定要跑」。
适合部署的场景:
- 团队没有专职 AI 工程师,需要一个让产品和运营也能拖拽出 AI 应用的平台
- 你正在从原型阶段走向生产,需要 RAG 管道 + 用户权限 + 日志审计
- 数据合规要求私有化部署(dify 全部代码可见,可控)
不一定适合的场景:
- 你已经有 LangChain / LlamaIndex 的成熟自研栈,再叠一层 dify 反而增加维护负担
- 你的需求只是「写几个 prompt 调模型」,不需要工作流
- 团队规模小(5 人以下),用 Claude/OpenAI 的对话产品就够了
5.2 资源与维护成本
dify 自带组件:PostgreSQL + 向量数据库(默认 Weaviate 也支持 ES/Qdrant)+ Redis + 后端 API + 前端。这是一套完整的应用,不是「装一个二进制」那么简单。需要考虑:
- 数据库备份与升级路径
- 模型 API Key 管理(dify 支持集中配置)
- 监控告警(建议接到 Prometheus / Grafana)
如果你所在团队没有「能独立维护一套 Web 应用后端」的人,部署前需要先评估运维负担。
5.3 值得借鉴之处(设计思路)
无论是否部署 dify,下面这些设计思路对任何 AI 平台都有参考价值:
1)RAG 管道分阶段设计 dify 把 RAG 拆成「解析 → 分块 → 向量化 → 检索 → 重排序 → 生成」6 个阶段,每个阶段都可配置/可替换。这意味着你可以针对召回质量定向优化(换 embedding 模型 / 加 rerank),而不是「黑盒一个 RAG」。 借鉴方向:自建 RAG 时,把管道拆成可插拔的步骤,每一步单独评估质量。
2)MCP 协议原生集成 dify 是 MCP Server 的重要推动者,工作流节点可以直接调用 MCP 工具。这意味着工具接入有统一规范,不用每次都写胶水代码。 借鉴方向:如果你在搭建 Agent 平台,工具接入层应该考虑 MCP 协议,而不是每个工具单独做适配。
3)团队协作模型 dify 的多用户权限、应用模板市场、版本历史与回滚机制,是「让团队多人协作产出 AI 应用」的关键设计。 借鉴方向:AI 应用平台不只是「让一个人能跑起来」,还要「让团队能协作、能管理」。这一层往往被忽视。
4)可视化编排降低门槛 dify 用可视化编排让非工程师也能产出 AI 应用,这极大降低了 AI 应用的边际开发成本。 借鉴方向:即使你的平台是给工程师用的,也可以考虑可视化编排作为辅助层(LangFlow 已经验证这条路径可行)。
5)部署灵活性 dify 同时支持云服务、Docker Compose、Helm Chart 三种部署方式,覆盖了从「试用」到「生产」的完整路径。 借鉴方向:自建平台的部署门槛应该做到「单机试用 → 集群生产」平滑过渡,而不是两套完全不同的方案。
六、如果你正在选型
最后给三组读者的小建议:
你是创业者 / 中小团队负责人: dify 的可视化编排 + 一键 Docker 部署能让「没有 AI 工程师的团队」也能跑出生产级 AI 应用,性价比很高。先用 Docker 部署试 2-4 周,如果稳定再考虑 K8s。
你是开发者: dify 适合作为「快速验证 AI 想法的工具」——你不必每次都从 LangChain 写起。如果你的工作主要是「给业务团队提供 AI 能力」,dify 是省时间的选择。
你是大企业 IT: dify 完全开源,可以审计代码;Docker / K8s 部署方式灵活;权限/审计/版本管理这些企业级能力都有。但你需要评估:业务核心链路是否愿意依赖一个 3 年+ 但仍在快速迭代的开源项目。建议先用 dify 跑非核心场景,成熟后再考虑迁移核心。
如果你读完还在犹豫要不要部署,一句话判断标准:当你的需求超过「简单 prompt + 对话」,开始涉及 RAG、工具调用、多模型路由、用户权限中的任意一项时,dify 才开始显现价值。在此之前,先用 SaaS 对话产品验证需求会比直接上 dify 更轻量。