准备运行环境
Dify 自托管版对机器的最低要求不高,普通家用服务器或小型云主机都能跑起来。官方 README 给出的最低配置:
- CPU ≥ 2 核
- 内存 ≥ 4 GiB
- 操作系统:Linux / macOS / Windows 均可
部署方式走 Docker Compose,所以先装 Docker 和 Docker Compose v2.24.0 或更高版本。Linux 用户按 Docker 官方文档 装好 Docker Engine,Compose 插件会一起带上来。装好后验证一下:
docker --version
docker compose version
两条命令都能正常输出版本号,环境就准备好了。

拉取代码并启动 Dify
Dify 的部署文件都集中在仓库的 docker/ 目录里,先把仓库拉下来:
git clone https://github.com/langgenius/dify.git
进入 Docker 部署目录,复制一份环境变量模板:
cd dify/docker
cp .env.example .env
docker/.env.example 里包含数据库密码、Redis、向量库、对象存储等关键配置,Dify 默认已经填好一组可用的本地值,直接用就能跑通。如果想自定义域名、密钥、第三方模型 API Key 等,可以编辑刚生成的 .env 文件。
然后一键拉镜像并启动:
docker compose up -d
第一次执行会拉取十几个镜像(api、worker、web、db、redis、nginx 等),需要等几分钟。完成后用 docker compose ps 看一眼,所有容器都应该是 running 或 healthy 状态。

端口与组件说明
默认端口(与仓库 docker/.env.example 中的 EXPOSE_NGINX_PORT 对应):
| 端口 | 服务 | 用途 |
|---|---|---|
| 80 | Nginx | Web 控制台和 API 入口 |
| 5432 | PostgreSQL | 元数据、对话日志、向量存储 |
| 6379 | Redis | 缓存、Celery 任务队列 |
| 9000 | 对象存储 | 上传文件、文档、生成的图片 |
这套 Compose 主要包含以下服务:
- api / worker:Dify 的后端 API 和异步任务执行进程
- web:前端控制台(基于 Next.js)
- db:PostgreSQL,主存储
- redis:缓存和异步队列
- nginx:对外统一暴露 80 端口
- ssrf_proxy / sandbox:保护 LLM 请求与代码执行沙箱
具体服务定义与最新字段以仓库 docker/docker-compose.yaml 当前版本为准;如果想了解所有可调环境变量,参考 官方环境变量文档。
初始化管理员账户
服务起来后浏览器打开 http://localhost/install,进入初始化页面。

按提示填写:
- 管理员邮箱
- 管理员密码
- 点击”设置”完成
随后自动跳转到登录页,用刚设置的账号登录进入主控制台。
> 80 端口被占用时,改 docker/.env 里的 EXPOSE_NGINX_PORT,然后 docker compose up -d 重启;或者直接 docker compose down 后再启动。
认识四个核心概念
登录之后,Dify 的界面可能会因版本迭代略有差异,但围绕四个核心概念展开:
- 应用(App):最终对外提供服务的实体,可以是聊天助手、文本生成应用、工作流、Agent 等
- 知识库(Knowledge Base):上传文档后自动分块、向量化,用于检索增强生成(RAG)
- 工作流(Workflow / Chatflow):把多个步骤串起来的可视化编排画布
- 模型(Model):底座大模型,Dify 本身不生产模型,只负责对接各种供应商

理解这四层关系后,后面的操作就是把它们组合起来。
配置模型供应商
进入「设置 → 模型供应商」,Dify 支持的供应商覆盖范围比较广(以官方 模型供应商列表 为准):
- 闭源商用模型:GPT 系列、Claude、Gemini 等
- 开源模型:通过 Ollama、vLLM、Xinference 等本地推理引擎接入
- 国内云厂商:通义千问、文心一言、智谱、DeepSeek、Moonshot 等
- OpenAI API 兼容服务:只要目标服务兼容 OpenAI 的
/chat/completions接口就能加进来
新增一个供应商的通用流程:
- 点对应供应商卡片右上角的”设置”
- 填入 API Key(部分供应商还需要 Base URL、自定义模型名等)
- 点”保存”,下方会显示已连接以及该供应商可用的具体模型列表

> 想完全本地离线使用,推荐用 Ollama 接 DeepSeek、Qwen、Llama 等开源模型,完整步骤可以看《Dify + Ollama 搭建私有知识库》。
搭建第一个聊天助手
「工作室 → 创建空白应用 → 聊天助手」是最快的入门路径。
选模型
应用配置页的”模型”下拉框里只显示已经接入的供应商提供的模型。选一个日常够用的,比如 GPT-4o-mini、Claude Haiku 或本地 Qwen2.5。
写提示词
在”提示词(Prompt)”编辑框里写系统指令。一个最小可用的版本:
你是一个乐于助人的助手,回答简洁、准确,必要时分点列出。
如果想让回答风格更稳定,可以在「变量」里定义用户输入字段(比如角色、问题背景),并在提示词里用 {{变量名}} 引用。
测试对话
右侧”调试与预览”面板直接对话测试:
- 输入”介绍一下你自己”
- 看模型是否按预期回应
- 反复改提示词直到满意

满意后点右上角”发布”。
给聊天助手挂上知识库
光靠模型自身回答往往不够准确,需要把内部资料喂给它。
创建知识库
进入「知识库 → 创建知识库」:
- 选择数据源:可以”导入已有文本”,也可以直接上传文件
- 支持的文件格式:PDF、Word、PPT、Markdown、TXT、CSV 等
- 上传后 Dify 会自动预览解析出来的内容
选分段与清洗模式
“分段设置”里建议先用默认的”通用”模式;如果文档结构复杂(多级标题、表格、FAQ),可以换成”父子分段”或”QA 分段”。
选 Embedding 模型
“Embedding 模型”下拉框里显示已经接入到 Dify 的向量化模型,比如 OpenAI 的 text-embedding-3-small,或者本地 BGE 系列。选好后点”保存并处理”。

处理完成后知识库就建好了,可以去”召回测试”页输入问题,看命中了哪几段内容。
关联到聊天助手
回到刚才那个聊天助手的编排页,在「上下文」或「知识库」区域点击”添加”,选择刚才创建的知识库。
接下来在右侧预览面板里提问一个知识库相关的问题,比如:
> 这份文档里 XX 流程是怎么规定的?
模型回答末尾会附带引用段落和来源文件,方便核对准确性。如果回答里没有引用,说明召回环节没命中,回到知识库调整分段策略或换 Embedding 模型重试。

工作流入门
聊天助手适合单轮问答,碰上多步骤、带分支、带工具调用的场景就要上 Workflow。
进入「工作室 → 创建空白应用 → Chatflow」,画布上默认会有「开始 → LLM → 直接回复」三个节点。围绕它做最小改造:
- 开始节点:定义输入变量,比如
user_query - 知识检索节点:从指定知识库里检索与
user_query相关的段落 - LLM 节点:系统提示词里把检索结果拼到上下文里,让模型”如果不知道就回答不知道,不要瞎编”
- 直接回复节点:把 LLM 输出回给用户

可以在节点之间插入条件判断、代码执行、HTTP 请求等节点,搭出多分支甚至循环的工作流。每次改动后点”运行”按钮单步调试,节点执行结果会在右侧面板展开。
发布应用
回到应用编排页,点右上角”发布”,Dify 会提供两种发布方式:
- 嵌入网页 / Web App:拿到一段 iframe 代码或独立 URL,扔到自己的网站或分享出去
- API:拿到一个 OpenAI 兼容的
/chat-messages接口,配合 API Key 直接集成进自家产品
{{图:应用发布对话框,包含 Web App 链接和 API 调用示例代码片段}}
发布后所有改动都会带上版本号,方便回滚。
排查问题的基本思路
第一次部署最容易遇到的几个卡点:
- 端口冲突:80 端口被 Nginx、Apache 占用,按上文改
EXPOSE_NGINX_PORT - 容器反复重启:用
docker compose logs -f api看错误,多数是.env没生成或数据库没起来 - 模型连不上:在「模型供应商」对应卡片里点”检查连接”,单独验证 API Key 是否有效、Base URL 是否可达
- 知识库处理失败:一般是文件编码问题或 PDF 加密,把文件转成纯文本或解除密码后重试
更全面的问题排查可以参考 Dify 官方 FAQ。
继续学习
到这里已经完整跑通了 Dify 的部署、模型接入、知识库搭建、工作流编排与发布一条主线。如果想继续深入,下一步可以看:
- 想了解 Dify 在同类工具中的定位和优缺点,看 Dify 评测
- 想完全离线运行,看 Dify + Ollama 搭建私有知识库教程
- 想把 Dify 用到具体业务里,看 Dify 搭建客服机器人教程
UI 菜单名、字段名会随版本变化,如果文中截图与当前界面不完全一致,请以 Dify 官方文档 为准。

评论(0)