好的,我们来详细说明如何在 Windows 系统下搭建 **Dify**。
**Dify** 是一个开源的 LLM(大语言模型)应用开发平台,它允许你通过可视化界面或 API 快速构建基于大模型的 AI 应用。在 Windows 上搭建 Dify 主要有两种方式:使用 **Docker Desktop**(推荐)或使用 **WSL2**(Windows Subsystem for Linux)。这里我们重点介绍最简单、最推荐的 **Docker Desktop** 方式。
---
### **方法一:使用 Docker Desktop (推荐)**
这是最接近官方推荐流程的方式,也是最简单的方法。
#### **步骤 1:安装必要软件**
1. **安装 Docker Desktop for Windows**
* 访问 Docker 官网:[https://www.docker.com/products/docker-desktop/](https://www.docker.com/products/docker-desktop/)
* 下载并安装 Docker Desktop。安装过程中会提示启用 WSL2,建议同意并完成安装。
* 安装完成后,启动 Docker Desktop,并确保其状态为 "Docker Desktop is running"。
2. **安装 Git for Windows** (可选,但推荐)
* 访问 Git 官网:[https://git-scm.com/download/win](https://git-scm.com/download/win)
* 下载并安装 Git。这将方便你克隆 Dify 的代码仓库。
* 安装完成后,你可以使用 `Git Bash` 或 Windows 命令提示符(cmd)/ PowerShell。
#### **步骤 2:获取 Dify 代码**
1. 打开 **Git Bash**、**命令提示符 (cmd)** 或 **PowerShell**。
2. 克隆 Dify 的官方仓库:
```bash
git clone https://github.com/langgenius/dify.git
```
* 如果没有安装 Git,可以直接在 GitHub 页面 ([https://github.com/langgenius/dify](https://github.com/langgenius/dify)) 点击 "Code" -> "Download ZIP",然后解压到你想要的目录。
3. 进入项目目录:
```bash
cd dify
```
#### **步骤 3:配置环境 (可选)**
Dify 的 `docker-compose.yml` 文件通常已经包含了默认配置。但你可能需要根据自己的需求进行调整,比如:
* 修改端口映射(如果 80 和 81 端口被占用)。
* 配置数据库密码。
* 配置 Redis 密码。
这些配置主要在 `docker-compose.yml` 文件中修改。对于初次尝试,可以使用默认配置。
#### **步骤 4:启动 Dify 服务**
1. 确保你当前的命令行终端在 `dify` 项目目录下。
2. 执行以下命令来启动所有服务(包括 Web UI, API, Worker, PostgreSQL, Redis):
```bash
docker-compose up -d
```
* `-d` 参数表示在后台运行(detached mode)。
* 第一次运行时,Docker 会自动下载所需的镜像(如 `difyai/dify-api`, `difyai/dify-web`, `postgres`, `redis` 等),这可能需要一些时间,请耐心等待。
#### **步骤 5:验证和访问**
1. 检查服务是否都已成功运行:
```bash
docker-compose ps
```
你应该看到 `api`, `worker`, `web`, `db`, `redis` 等服务的状态都是 `Up`。
2. 等待初始化完成。首次启动时,后端服务需要一些时间来初始化数据库和应用。你可以通过查看日志来确认:
```bash
docker-compose logs -f api # 查看 api 服务的日志,-f 表示实时跟踪
```
当看到类似 `Uvicorn running on http://0.0.0.0:8080` 的日志时,通常表示 API 服务已准备就绪。
3. 打开你的 Web 浏览器,访问:
* **Dify Web UI (前端)**: [http://localhost](http://localhost) (默认映射到 80 端口)
* **Dify API (后端)**: [http://localhost/api](http://localhost/api) (API 文档通常在这里)
4. 如果一切顺利,你应该能看到 Dify 的登录/注册页面。
#### **步骤 6:停止和管理**
* **停止服务**:
```bash
docker-compose down
```
* **停止并删除容器和网络**:
```bash
docker-compose down --volumes # 注意:这会删除数据卷,包括数据库数据!慎用。
```
* **重启服务**:
```bash
docker-compose up -d
```
---
### **方法二:使用 WSL2 + Docker**
如果你更习惯 Linux 环境,或者 Docker Desktop 遇到兼容性问题,可以使用 WSL2。
1. **安装 WSL2**:
* 以管理员身份打开 PowerShell 并运行:
```powershell
wsl --install
```
* 重启电脑。这会安装默认的 Linux 发行版(通常是 Ubuntu)。
* 启动 Ubuntu,创建用户名和密码。
2. **在 WSL2 中安装 Docker**:
* 参考 Docker 官方文档在 WSL2 的 Linux 发行版中安装 Docker Engine。
* 或者,你仍然可以在 Windows 上安装 Docker Desktop,并配置它与 WSL2 集成(Docker Desktop 设置 -> Resources -> WSL Integration)。
3. **在 WSL2 中操作**:
* 打开 WSL2 的终端(如 Ubuntu)。
* 执行与 **方法一** 中 **步骤 2** 到 **步骤 5** 相同的命令(`git clone`, `cd dify`, `docker-compose up -d` 等)。
---
### **注意事项**
1. **资源要求**:Dify 及其依赖的服务(PostgreSQL, Redis)会占用一定的内存和 CPU。确保你的 Windows 机器有足够的资源(建议 8GB+ RAM)。
2. **端口冲突**:确保 `docker-compose.yml` 中映射的端口(如 80, 81, 5432, 6379)在你的主机上没有被其他程序占用。如有冲突,修改 `docker-compose.yml` 中的 `ports` 配置。
3. **网络**:确保你的网络可以访问 Docker Hub 以下载镜像。
4. **数据持久化**:`docker-compose.yml` 通常会使用 Docker volumes 来持久化数据库(PostgreSQL)和向量数据库(如 Weaviate, Qdrant)的数据。即使容器重启,数据也不会丢失。
5. **更新**:要更新 Dify 到最新版本,进入 `dify` 目录,执行 `git pull`,然后 `docker-compose down`,再 `docker-compose up -d`。Docker 会自动拉取新镜像。
按照以上步骤,你应该能够在 Windows 系统上成功搭建并运行 Dify 平台。如果在过程中遇到具体错误,可以根据错误信息进一步排查。