# 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`