引言
平台构建应用Agent,想到了大名鼎鼎的"Dify",搜索找到了博友实验并写作的"Windows平台源码部署Dify教程(不依赖Docker)",参考它进行上机操练,花了不少时间,踩了不少坑也没有成功。借助于AI平台IMA-DeepSeek,处理了一些重要细节操作,几经试验探索,终于达到预期目标。特别归纳整理过程出来,以助力应用求索者。
IMA-DS借力
ima-ds借力,如下图所示,咨询提示词:WIN10或WIN11下不用DOCK和CONDA安装运行精简DIFY,说明使用数据库的下载安装,叙述整个DIFY及其相关软件的下载安装过程。

环境与软件准备
电脑Windows系统满足以下基础条件:
- 操作系统: Windows 10 或 Windows 11。
- Python:需要Python 3.8 - 3.11 版本。这里安装使用Python 3.11,确保在安装时勾选"Add Python to PATH"或将其所在目录与子目录scripts写入Path环境变量中。
- Node.js:用于构建前端。需要Node.js v18.x 或更高版本,这里使用node-v20.9.0-x64.msi。
- Git:用于克隆代码仓库。
下载并安装PostgreSQL数据库
Dify依赖PostgreSQL数据库。以下是Windows下的安装步骤:
- 下载:访问PostgreSQL官网的Windows下载页面(https://www.postgresql.org/download/windows/),下载最新的安装程序(.exe文件)。
- 安装:运行安装程序,在安装向导中,请务必记住设置的超级用户(postgres)密码。其他设置如安装目录、数据目录、端口(默认5432)等可保持默认。
- 验证:安装完成后,可以通过开始菜单中的"pgAdmin 4"图形化工具连接数据库。在连接服务器时,输入安装时设置的密码即可。
- 创建数据库:连接成功后,使用pgAdmin的查询工具或命令行,执行SQL命令 CREATE DATABASE dify; 来创建名为 dify 的数据库。也可以如下图通过可视方式构建dify数据库。

下载并安装Redis
Redis用于缓存和队列等临时数据存储。Windows下,可以通过https://github.com/microsoftarchive/redis/releases或https://github.com/tporadowski/redis/releases,下载最新的.msi安装包进行直接安装,但版本较低,如Redis-x64-5.0.14.1.msi;也可以从官网直接下载较高的版本,如redis-7.0.11-windows.zip,但需要通过命令启动 Redis 服务端而且每次开机都需要手动启动。只有部分版本如Redis-x64-5.0.14.1.zip可以将 Redis 服务添加到 Windows 资源管理器,实现开机后自动启动,并且能够在Windows服务窗口查看和操控,如下图所示:
redis-server.exe --service-install redis.windows.conf --loglevel verbose
redis-server --service-start
安装与测试:安装完成后,Redis通常会作为Windows服务自动启动。可以在命令提示符中运行redis-cli来测试连接,并执行SET mykey "Hello"和GET mykey等命令验证是否正常工作。

获取Dify源码并配置Python环境
克隆代码并切换版本:打开命令提示符或PowerShell,执行以下命令:
git clone https://github.com/langgenius/dify.git
cd dify
git checkout tags/v0.15.4
git克隆速度很慢,可以直接从https://gitcode.com/GitHub_Trending/di/dify/tags/0.15.4下载zip压缩包。
配置Python虚拟环境与依赖
进入后端目录并创建虚拟环境:
cd api
python -m venv dify-env
dify-env\Scripts\activate
安装管理工具Poetry及其依赖
pip install poetry
poetry install
生成最简 requirements.txt 依赖集:执行 poetry export -f requirements.txt --output requirements.txt 命令,可以将当前虚拟环境中的依赖导出为一个标准的 requirements.txt 文件。
配置Dify环境变量
在dify/api/目录下,复制环境变量示例文件并配置关键参数。
复制文件:copy .env.example .env
编辑.env文件,设置任意字符的42位SECRET_KEY、postgreSQL和redis的密码,关键配置如下图所示。

初始化数据库并启动后端服务
数据库迁移:在激活的虚拟环境中,执行以下命令来创建数据库表结构:python -m flask db upgrade
启动Dify API后端服务:python -m flask run --host 0.0.0.0 --port=5001
服务启动后,后端API将在 http://localhost:5001 运行。
(可选)启动异步任务Worker:如果需要处理数据集导入等异步任务,可以新开一个命令行窗口,在相同虚拟环境下运行:python -m celery -A app.celery worker -P gevent -c 1 --loglevel INFO -Q dataset,generation,mail,ops_trace,app_deletion

集中数据库表管理Navicat下postgre迁入数据表的情形与redis操作情形,如下图所示。

构建并启动前端服务
进入前端目录并安装依赖:
cd ../web
npm install
配置前端环境变量:copy .env.example .env.local
编辑.env.local文件,确保以下API地址指向刚启动的后端:
NEXT_PUBLIC_API_PREFIX= http://localhost:5001/console/api
NEXT_PUBLIC_PUBLIC_API_PREFIX= http://localhost:5001/api
启动前端开发服务器:npm run dev
前端服务启动后,默认在http://localhost:3000可访问。

访问Dify并配置Qwen与DeepSeek模型
访问与初始化:打开浏览器,访问 http://localhost:3000。首次进入会引导您创建管理员账号。
配置模型供应商:登录后,点击右上角头像进入"设置",在"模型供应商"部分添加新的供应商。
对于Qwen(通义千问):需要获取其API密钥。在模型供应商设置中,选择"通义千问"或"自定义"(如果提供),填入从阿里云平台获取的API Key和相应的API Base URL。
对于DeepSeek:同样,需要获取其API密钥。在模型供应商设置中,选择"DeepSeek"或"自定义",填入从DeepSeek平台获取的API Key和其API地址(例如 https://api.deepseek.com)。
关于本地模型:如果您想使用通过Ollama等工具本地部署的Qwen模型,可以选择"Ollama"作为供应商,模型名称填入如 qwen:7b,基础URL填入 http://localhost:11434(需确保Ollama服务已运行)。
成功标志:当您能在Dify控制台(http://localhost:3000)正常访问,并且可以在应用编排中选择您配置好的Qwen或DeepSeek模型进行对话测试时,说明部署成功。





