# work **Repository Path**: xbos1314/work ## Basic Information - **Project Name**: work - **Description**: WorkFox 是一个基于微服务架构的企业级低代码应用开发平台,旨在帮助企业快速响应业务需求,通过可视化配置和少量代码,高效构建现代化的中后台管理系统。平台深度融合了动态表单、工作流引擎、智能AI与强大的权限管理体系,是您数字化转型的理想之选。 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2025-06-02 - **Last Updated**: 2026-05-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: 低代码 ## README # WorkFox - 企业级低代码应用开发平台 WorkFox 是一个基于微服务架构的企业级低代码应用开发平台,旨在帮助企业快速响应业务需求,通过可视化配置和少量代码,高效构建现代化的中后台管理系统。平台深度融合了动态表单、工作流引擎、智能AI与强大的权限管理体系,是您数字化转型的理想之选。 ### 平台亮点 - **🚀 低代码开发**:通过可视化的表单设计器和流程编排工具,非技术人员也能参与应用构建,极大缩短开发周期,降低技术门槛。 - **🤖 AI 赋能**:集成 Spring AI,可无缝对接多种大语言模型。提供智能问答、内容生成、知识库等能力,让您的应用更具智慧。 - **🧩 微服务架构**:基于 Spring Cloud Alibaba 构建,模块化设计,职责清晰,易于扩展和维护,确保系统的高可用和高性能。 - **🛡️ 精细化权限**:内置强大的用户与权限管理(UPMS),支持多租户、RBAC模型,可实现菜单、按钮、数据等多维度的精细化权限控制。 - **🌊 灵活的工作流**:提供强大的工作流引擎,支持复杂的业务流程审批,可与动态表单无缝集成,实现业务流程自动化。 --- ## 技术栈 项目采用了一系列现代化的技术栈,确保了系统的高性能、高可用和易维护性: - **核心框架:** Spring Boot 3.2.5, Spring Cloud 2023.0.1, Spring Cloud Alibaba 2022.0.0.0-RC2 - **持久层:** MyBatis-Plus 3.5.5 - **服务治理:** Nacos (服务发现与配置中心) - **网关:** Spring Cloud Gateway - **认证授权:** Sa-Token - **AI 集成:** Spring AI、Ollama - **开发语言:** Java 17 --- ## 项目预览 [在线预览地址](http://lqb666.cn:8084/) 账号:admin 密码:123456 ## 模块说明 项目采用多模块设计,职责清晰,便于独立开发和维护。 ```text . ├── work # 父POM,统一管理项目依赖和插件 ├── common # 公共模块,封装工具类、通用DTO、全局配置等 ├── common-api # 公共API模块,定义服务间通信的Feign接口 ├── common-auth # 认证授权模块,处理登录、权限校验、多租户逻辑 ├── work-gateway # API网关,负责请求路由、聚合和安全过滤 ├── work-upms # 用户权限管理(UPMS),管理用户、角色、部门、菜单等 ├── work-flow # 工作流引擎,处理业务流程和任务审批 ├── work-form # 动态表单,支持在线设计表单和管理数据 ├── work-ai # AI模块,集成大语言模型,提供智能化服务 ``` ### 各模块功能 - **`work` (父项目):** 作为项目的根`pom.xml`,定义了所有子模块的公共依赖版本和Maven插件,确保版本一致性。 - **`common`:** 存放整个项目通用的代码,如响应结果封装、常量、枚举、基础工具类、公共实体和DTO等,避免代码重复。 - **`common-api`:** 定义服务间调用的API接口。通过使用Feign客户端,实现了声明式的、类型安全的服务间HTTP调用。 - **`common-auth`:** 系统的安全核心,基于Sa-Token实现。它不仅处理用户的登录认证和接口的权限校验,还集成了多租户的隔离逻辑。 - **`work-gateway`:** 所有外部请求的统一入口。基于Spring Cloud Gateway,它提供了动态路由、请求过滤、负载均衡、熔断降级等网关功能。 - **`work-upms`:** 系统的基础用户权限管理模块,负责维护组织架构,包括用户、部门、岗位、角色以及菜单和按钮级别的权限。 - **`work-flow`:** 业务流程管理模块。它提供了一套完整的工作流解决方案,允许用户定义、执行和监控业务流程。 - **`work-form`:** 动态表单模块,允许非开发人员通过可视化界面配置和生成表单,用于数据收集和流程审批,极大提高了业务灵活性。 - **`work-ai`:** AI功能集成模块(可选)。基于 **Spring AI** 构建,提供统一的API与多种大型语言模型(LLM)进行交互。系统支持通过数据库动态配置模型参数,可以灵活接入并切换不同的AI模型提供商。 - **模型支持:** 可通过`AiModel`实体进行配置,支持接入任何兼容OpenAI接口的语言模型,例如 **Ollama**、**DeepSeek**,以及官方的 **OpenAI** 模型等。 - **核心功能:** 为系统赋予智能问答、内容生成、知识库检索等AI能力。 --- ## 部署说明 ### 环境准备 在部署和运行本系统前,请确保以下环境已正确安装和配置: - **JDK 17** 或更高版本 - **Maven 3.x** - **MySQL 8.0** 或更高版本 - **Nacos 2.x** (作为服务发现和配置中心) - **Redis latest** (数据缓存) - **Minio latest** (文件存储) - **Rabbitmq latest** (目前主要用于记录日志,后期会扩展用途) - **Qdrant latest** (AI模块,存储、搜索和管理向量化数据) - **Ollama latest** (AI模块,运行向量模型或其他LLM模型) ### 使用 Docker Compose 部署 项目支持使用 Docker Compose 进行一键部署,简化了环境配置和管理。编排文件位于 `documents` 目录下。 在执行编排文件前请先修改对应的挂载目录及密码等信息。 如需正常使用AI模块,需要修改模型管理中对应的api-key。Ollama 需要拉取对应配置中的向量模型: ```shell ollama pull nomic-embed-text ``` **1. 环境准备** - **Docker:** 确保已安装 Docker Engine 和 Docker Compose。 - **数据库和Nacos:** - 您可以选择使用 `documents/docker/common/docker-compose.yml` 来快速启动一个包含 `MySQL`, `Redis`, `Nacos`, `Minio`, `Rabbitmq`, `Qdrant`, `Ollama` 的基础环境。 - 如果您已有外部的数据库或Nacos服务,请确保网络可以访问,并相应修改配置。 **2. 初始化数据库** - 将 `documents/sql` 目录下的SQL脚本导入到您的MySQL数据库中: - `work_admin.sql` - `work_ai.sql` - `work_flow.sql` - `work_form.sql` **3. Nacos 配置** - 访问Nacos控制台。 - 将 `documents/nacos` 目录下的 `.yml` 配置文件导入到Nacos中。这些文件定义了各个微服务的运行配置: - `work-application-dev.yml` (公共配置) - `work-upms-dev.yml` - `work-form-dev.yml` - `work-flow-dev.yml` - `work-ai-dev.yml` - `work-gateway-dev.yml` **4. 启动基础服务** 如果您需要启动项目所需的基础中间件(MySQL, Redis, Nacos, Minio, Qdrant, Ollama),请执行: ```bash cd documents/docker/common docker-compose up -d ``` **5. 启动应用服务** 当基础服务和配置都准备就绪后,启动所有核心应用服务: ```bash cd documents/docker/work docker-compose up -d ``` 该命令会一次性启动 `work-upms`, `work-form`, `work-flow`, `work-ai`, 和 `work-gateway` 等服务。 **6. 访问系统** 等待所有服务启动成功后,您可以通过网关地址访问系统。默认网关端口请参照 `work-gateway` 的相关配置。 --- ## CI/CD ### 构建自定义 Jenkins 镜像 项目的 `Jenkinsfile` 流水线使用 `docker-compose` 来部署和管理应用服务。因此,标准的 Jenkins 镜像无法满足需求,需要构建一个包含了 Docker 和 Docker Compose 的自定义镜像。 项目内已提供 `Dockerfile` 用于构建此镜像,位于 `documents/docker/jenkins/Dockerfile`。 **构建步骤:** 1. **进入 Dockerfile 所在目录** ```shell cd documents/docker/jenkins ``` 2. **执行构建命令** ```shell docker build -t work-jenkins:latest . ``` 该命令会基于 `jenkins/jenkins:lts-jdk17` 镜像,额外安装 `docker` 和 `docker-compose`,并创建一个名为 `work-jenkins:latest` 的新镜像。 构建完成后,您可以在 Jenkins 中使用此镜像作为流水线代理(Agent),以确保 `docker-compose` 命令可以被正确执行。 3. **运行jenkins容器** ```shell docker run -d --name jenkins \ -p 8080:8080 \ -v /home/docker/jenkins_home:/var/jenkins_home \ -v /var/run/docker.sock:/var/run/docker.sock \ -v /home/nginx/html:/home/nginx/html \ jenkins-with-docker ``` 4. **jenkins配置** 请参考官网