Dify 源码启动教程(非 Docker 版本 / Windows 环境)
本文总结 Dify 在 Windows 上源码启动的全过程(不依赖 Docker),用于记录踩坑点和完整流程。
一、拉取 Dify 源码仓库
git clone https://github.com/langgenius/dify.git
cd dify
二、后端 API 服务配置与启动(Python)
2.1 进入后端目录
cd api
2.2 新建 .env
文件
copy .env.example .env
然后根据实际情况修改配置,主要修改postgres和redis等
2.3 安装 Python 依赖(Python ≥ 3.11)
使用 uv
替代 pip 进行依赖安装:
pip install uv
uv pip install .
注意: 有些依赖可能未能一次性安装成功,可手动补上,示例如下:
pip install python-docx
pip install opendal
# 还有报错缺啥安装啥
三、数据库迁移
先确保 PostgreSQL 启动,并创建dify数据库
然后执行迁移命令:
flask db upgrade
四、启动后端服务
4.1 启动 Flask 服务
flask run --host 0.0.0.0 --port=5001 --debug
4.2 启动 Celery 后台任务服务
celery -A app.celery worker -P solo --without-gossip --without-mingle -Q dataset,generation,mail,ops_trace --loglevel INFO
五、前端项目配置与启动(Vite + React)
5.1 进入前端目录
cd ../web
5.2 新建 .env.local
文件
copy .env.example .env.local
5.3 安装依赖
尝试直接使用 npm install
,如果失败(多半是 React 版本等 问题),则使用如下替代方案:
npm install react@18.2.0 react-dom@18.2.0 --registry=https://registry.npmmirror.com --legacy-peer-deps
npm install typescript@^5 --save-dev --registry=https://registry.npmmirror.com --legacy-peer-deps
npm install -g pnpm
pnpm install --registry=https://registry.npmmirror.com
5.4 启动前端服务
npm run dev
六、插件守护服务(Dify 插件功能需要)
⚠️ 很多人卡在这个“5002”服务没有启动。官方文档未详细说明该服务必须单独运行,以下是完整配置方式。
6.1 克隆插件守护服务仓库
git clone https://github.com/langgenius/dify-plugin-daemon.git
6.2 准备 Go 环境并安装依赖
go mod tidy
go mod download
6.3 新建 .env
文件并配置
copy .env.example .env
根据实际情况修改配置项,保持与主项目(dify)中的 Redis、PostgreSQL 保持一致。
该服务默认监听 5002
端口,是插件功能的必要后台服务。
6.4 启动插件守护服务
cd cmd/server
go run main.go
启动成功后应看到服务监听在
http://localhost:5002
,否则前端涉及插件调用时将报错。
七、常见坑位总结
- PostgreSQL 数据库必须提前创建,否则 Flask 启动报错:
FATAL: database "xxx" does not exist
- 插件守护服务(5002 端口)没启动会导致前端报 500 和 后台报错
八、参考链接
- CSDN 源码安装 dify plugin daemon 找不到问题