初始化
This commit is contained in:
135
README.md
Normal file
135
README.md
Normal file
@@ -0,0 +1,135 @@
|
||||
# EasyFlow
|
||||
|
||||
EasyFlow 是一个面向企业场景的 Java AI 应用开发平台,提供智能体、工作流编排、知识库(RAG)、插件调用、MCP 接入和系统管理能力。
|
||||
当前后端已基于 `easy-agents` 与 `easy-agents-flow` 生态进行整合。
|
||||
|
||||
## 核心模块
|
||||
|
||||
### 后端聚合模块
|
||||
- `easyflow-api`:对外 API 层,包含 admin/public/usercenter/mcp 接口。
|
||||
- `easyflow-commons`:公共能力层(基础工具、AI 公共组件、缓存、文件存储、验证码、鉴权等)。
|
||||
- `easyflow-modules`:业务模块层(AI、系统、日志、任务、数据中心、认证等)。
|
||||
- `easyflow-starter`:启动层,`easyflow-starter-all` 为完整可运行服务。
|
||||
|
||||
### 前端项目
|
||||
- `easyflow-ui-admin`:管理后台前端。
|
||||
- `easyflow-ui-usercenter`:用户中心前端。
|
||||
- `easyflow-ui-websdk`:Web SDK 示例/开发工程。
|
||||
|
||||
## 环境要求
|
||||
|
||||
- JDK 17+
|
||||
- Maven 3.8+
|
||||
- MySQL 8+
|
||||
- Redis 6+
|
||||
- Node.js >= 20.10.0
|
||||
- pnpm >= 9.12.0
|
||||
|
||||
## 快速启动(开发环境)
|
||||
|
||||
### 1. 初始化数据库
|
||||
在 MySQL 中导入:
|
||||
- `sql/01-easyflow-v2.ddl.sql`
|
||||
- `sql/02-easyflow-v2.data.sql`
|
||||
|
||||
### 2. 启动后端
|
||||
在项目根目录执行:
|
||||
|
||||
```bash
|
||||
mvn -DskipTests clean package
|
||||
java -jar easyflow-starter/easyflow-starter-all/target/easyflow-starter-all-0.0.1.jar --spring.profiles.active=dev
|
||||
```
|
||||
|
||||
默认端口:`8111`(见 `easyflow-starter/easyflow-starter-all/src/main/resources/application.yml`)。
|
||||
|
||||
### 3. 启动前端
|
||||
管理后台:
|
||||
|
||||
```bash
|
||||
cd easyflow-ui-admin
|
||||
pnpm install
|
||||
pnpm dev
|
||||
```
|
||||
|
||||
用户中心:
|
||||
|
||||
```bash
|
||||
cd easyflow-ui-usercenter
|
||||
pnpm install
|
||||
pnpm dev
|
||||
```
|
||||
|
||||
默认测试账号:`admin / 123456`
|
||||
|
||||
## 后端 Jar 包构建与部署
|
||||
|
||||
### 构建 Jar
|
||||
|
||||
```bash
|
||||
mvn -DskipTests -Dmaven.javadoc.skip=true clean package
|
||||
```
|
||||
|
||||
产物路径:
|
||||
- `easyflow-starter/easyflow-starter-all/target/easyflow-starter-all-0.0.1.jar`
|
||||
|
||||
### 启动 Jar(生产建议)
|
||||
|
||||
```bash
|
||||
java -jar easyflow-starter/easyflow-starter-all/target/easyflow-starter-all-0.0.1.jar --spring.profiles.active=prod
|
||||
```
|
||||
|
||||
可通过环境变量覆盖关键配置(示例):
|
||||
|
||||
```bash
|
||||
SPRING_DATASOURCE_URL=jdbc:mysql://127.0.0.1:3306/easyflow?useInformationSchema=true&characterEncoding=utf-8
|
||||
SPRING_DATASOURCE_USERNAME=easyflow
|
||||
SPRING_DATASOURCE_PASSWORD=123456
|
||||
SPRING_REDIS_HOST=127.0.0.1
|
||||
SPRING_REDIS_PASSWORD=your_redis_password
|
||||
```
|
||||
|
||||
## 前端 dist 包构建与部署
|
||||
|
||||
### 构建 dist
|
||||
管理后台:
|
||||
|
||||
```bash
|
||||
cd easyflow-ui-admin
|
||||
pnpm install
|
||||
pnpm run build
|
||||
```
|
||||
|
||||
用户中心:
|
||||
|
||||
```bash
|
||||
cd easyflow-ui-usercenter
|
||||
pnpm install
|
||||
pnpm run build
|
||||
```
|
||||
|
||||
构建产物:
|
||||
- `easyflow-ui-admin/app/dist`
|
||||
- `easyflow-ui-usercenter/app/dist`
|
||||
|
||||
### 部署方式(Nginx)
|
||||
将 dist 目录部署到 Nginx 静态目录,并配置反向代理:
|
||||
- `/api/` -> 后端服务
|
||||
- `/userCenter/` -> 后端服务
|
||||
|
||||
可直接参考:
|
||||
- `easyflow-ui-admin/scripts/deploy/nginx.conf`
|
||||
- `easyflow-ui-usercenter/scripts/deploy/nginx.conf`
|
||||
|
||||
## Docker Compose 一键部署(可选)
|
||||
|
||||
在项目根目录执行:
|
||||
|
||||
```bash
|
||||
docker compose up --build -d
|
||||
```
|
||||
|
||||
默认端口:
|
||||
- 后端 API:`8080`
|
||||
- Admin:`8081`
|
||||
- UserCenter:`8082`
|
||||
|
||||
Reference in New Issue
Block a user