# bpm
**Repository Path**: lwj/bpm
## Basic Information
- **Project Name**: bpm
- **Description**: DragonFlow BPM是一个企业级业务流程管理(BPM,Business Process Management)平台,基于 Flowable 流程引擎深度构建,提供在线可视化流程设计、低代码表单设计、组织权限管理、待办任务中心等开箱即用的能力,适用于 OA 审批、流程服务编排、工单流转、合同审批、请假报销、采购流程等各类企业流
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 3
- **Forks**: 0
- **Created**: 2026-10-23
- **Last Updated**: 2026-10-27
## Categories & Tags
**Categories**: Uncategorized
**Tags**: 流程引擎, flowable, AI, 流程编排, 流程平台
## README
# DragonFlow BPM — AI 智能流程管理平台
**开源 BPM 系统 | 基于 Flowable 的开源工作流引擎 | AI 智能流程平台 | 端到端业务流程管理**
关键词:`BPM` `工作流引擎` `流程审批` `Flowable` `Activiti` `BPMN` `低代码` `OA 审批` `流程服务编排` `开源流程引擎` `工作流管理系统` `WFMS` `Java 流程引擎` `Vue3 流程设计器` `AI BPM` `AI 流程引擎` `AI 生成流程图` `AI 智能审批` `AI 问答助手` `智能填单` `单据识别` `端到端业务流程` `流程全生命周期` `业务流程集成`
[](https://www.bpmport.com)
[](https://gitee.com/lwj/bpm.git)
[](https://openjdk.org/projects/jdk/21/)
[](./LICENSE.md)
## 一、项目介绍
**DragonFlow BPM** 是一个企业级业务流程管理(BPM,Business Process Management)平台,基于 **Flowable** 流程引擎深度构建,提供在线可视化流程设计、低代码表单设计、组织权限管理、待办任务中心等开箱即用的能力,适用于 OA 审批、流程服务编排、工单流转、合同审批、请假报销、采购流程等各类企业流程场景。
平台具备两大差异化能力:
- **🤖 AI 智能流程引擎**:支持 AI 生成/设计流程(自然语言生成 BPMN 流程)、AI 智能审批(智能推荐审批人、自动判断流转路径)、AI 问答助手(自然语言查询流程状态与待办)、AI 智能填单与单据识别;
- **🔗 端到端业务流程管理**:覆盖流程全生命周期(流程梳理 → 建模 → 发布 → 执行 → 监控 → 优化),通过 REST API / SDK / SOAP WebService 与业务系统深度集成,实现表单、审批、组织、消息、数据一体的业务闭环,Web 端与移动端全流程端到端处理。
平台致力于帮助企业实现流程的数智化管理:业务人员无需编程,通过鼠标拖、拉、拽即可完成流程建模与表单配置,所见即所得;开发者则可以通过丰富的 API 与扩展点快速集成到自有业务系统中,从传统繁杂的流程配置中解放出来。
- 🏠 **官方网站**:
- 📖 **在线文档**:
- 🧩 **开源地址**:
- 🌐 **在线体验**: 测试账号 guest guest123
### 核心亮点
| 能力 | 说明 |
| ---- | ---- |
| 🎨 在线流程设计器 | 基于 Bpmn.js 的纯 B/S 在线设计工具,无需安装任何插件,界面简洁、流程属性配置强大 |
| 📝 低代码表单设计 | 基于 Vue 的可视化表单设计器,快速搭建业务表单,降低研发成本 |
| 🧱 丰富的建模模式 | 支持串行、并行、分支、会签(串/并行)、分发汇总、自循环、发散聚合、动态多实例、内部/外部子流程、驳回到任意节点 |
| 🤖 AI 生成/设计流程 | 自然语言描述业务,AI 自动生成 BPMN 流程图与流程配置,建模效率倍增 |
| ✅ AI 智能审批 | AI 根据上下文智能推荐审批人、自动判断流转路径 |
| 💬 AI 问答助手 | 内置 AI 助手,自然语言查询流程状态、待办与办理进展 |
| 📄 AI 智能填单/单据识别 | AI 自动填写表单、识别单据、智能校验 |
| 🔄 端到端业务流程 | 覆盖流程梳理、建模、发布、执行、监控、优化的 BPM 全生命周期 |
| 🔌 业务系统集成 | REST API / SDK / SOAP WebService 开放集成,与业务系统端到端打通,业务闭环 |
| 🌐 多端端到端 | Web 端与移动端全流程处理,随时随地发起与审批 |
| 📱 多端支持 | 提供 Web 管理端与移动端,随时随地处理待办审批 |
| 🔌 高性能异步引擎 | Flowable 异步执行器深度调优(全局锁、批量获取、线程池可配置),支撑大规模流程并发 |
## 二、技术架构
### 技术栈
**后端**
- Java 21(启用 Preview 特性)
- Spring Boot 4.x + Spring Cloud Alibaba(Nacos 配置/注册中心)
- Apache Flowable 流程引擎
- MyBatis / MyBatis-Plus
- MongoDB(文档型数据存储)
- Maven 多模块构建(CI-friendly `${revision}` 版本管理)
**前端(app-ui)**
- Vue 3 + TypeScript + Vite 5 + pnpm + Turbo(Monorepo)
- Ant Design Vue 4 / Element Plus / Naive UI 多 UI 库支持
- bpmn-js + dmn-js + LogicFlow(流程/决策建模)
- Pinia、Vue Router、Vue I18n、ECharts、Vxe-Table、UnoCSS
**数据处理**
- Flink CDC(app-flink 模块),支持数据库变更实时捕获与数据同步
### 架构总览
```
┌─────────────────────────────────────────────────────────────────────┐
│ 客户端 │
│ ┌───────────────────────────┐ ┌───────────────────────────┐ │
│ │ Web 管理端 app-ui-admin │ │ 移动端 app-ui-mobile │ │
│ │ Vue3 + Vite + TypeScript │ │ 多端适配 │ │
│ └─────────────┬─────────────┘ └─────────────┬─────────────┘ │
└─────────────────┼──────────────────────────────────┼────────────────┘
│ HTTP / REST │
┌─────────────────▼──────────────────────────────────▼────────────────┐
│ 服务端 app(Java 21 / Spring Boot 4.x 多模块) │
│ │
│ ┌──────────────────┐ ┌──────────────────┐ ┌──────────────────┐ │
│ │ app-admin :8888 │ │ app-server :8989 │ │ app-mobile │ │
│ │ 管理控制台 │ │ 流程中心服务 │ │ 移动端服务 │ │
│ └────────┬─────────┘ └────────┬─────────┘ └────────┬─────────┘ │
│ │ │ │ │
│ ┌────────┴─────────┐ ┌────────┴─────────┐ ┌────────┴─────────┐ │
│ │ 公共构件层 │ │ │ │ │ │
│ │ bpm-api API 接口定义 │ │ │ │
│ │ bpm-core 核心业务逻辑 │ │ │ │
│ │ bpm-rest REST 控制器 │ │ │ │
│ └──────────────────┘ └──────────────────┘ └──────────────────┘ │
│ │
│ ┌─────────────────────────────────────────────────────────────┐ │
│ │ Flowable 流程引擎内核 │ │
│ │ 异步执行器 │ 定时任务 │ 历史归档 │ 事件监听 │ │
│ └─────────────────────────────────────────────────────────────┘ │
│ │
│ ┌──────────────────┐ │
│ │ app-flink :6666 │ Flink CDC 数据实时同步 │
│ └──────────────────┘ │
└───────────────────────────┬─────────────────────────────────────────┘
│
┌───────────────────────────▼─────────────────────────────────────────┐
│ 基础设施 │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ Nacos │ │ MySQL │ │ Redis │ │ MongoDB │ │
│ │ 配置/注册│ │ 业务+流程│ │ 缓存 │ │ 文档数据 │ │
│ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │
└─────────────────────────────────────────────────────────────────────┘
```
### 模块结构
```
bpm
├── bpm-parent # 父 POM,统一依赖与版本管理(${revision})
├── bpm-api # API 接口定义 JAR (扩展模块)
├── bpm-core # 核心业务逻辑 JAR(扩展模块)
├── bpm-rest # REST 控制器 JAR(库,不独立启动)(扩展模块)
├── app # 可启动应用聚合模块
│ ├── app-admin # 管理控制台服务(可启动,端口 8888)
│ ├── app-server # 流程中心服务(可启动,端口 8989)
│ ├── app-mobile # 移动端服务(可启动,端口由配置中心指定)
│ └── app-flink # Flink CDC 数据同步服务(可启动,端口 6666)
├── app-ui # 前端工程聚合
│ ├── app-ui-admin # Web 管理端前端(Vue3 + Vite + pnpm)
│ └── app-ui-mobile # 移动端前端
└── docs # 文档(含《快速启动指南》)
```
## 三、使用说明
> 📘 **新手强烈推荐先阅读 [《快速启动指南》](./docs/快速启动指南.md)**——面向外行的手把手教程,涵盖 MySQL / Redis / MongoDB / RocketMQ / Nacos 全部中间件配置、Maven 私服配置、启动顺序(先 admin 后 flink)与常见问题排查。
### 1. 环境要求
| 组件 | 版本要求 |
| ---- | ---- |
| JDK | 21+ |
| Maven | 3.8+ |
| Node.js | 18.12+ |
| pnpm | 9.15.5+ |
| MySQL | 8.0+ |
| Redis | 6.0+ |
| MongoDB | 6.0+ |
| RocketMQ | 4.9+ / 5.x |
| Nacos | 2.x |
### 2. 获取代码
```bash
git clone https://gitee.com/lwj/bpm.git
cd bpm
```
### 3. 后端构建与启动
```bash
# 全量构建(跳过测试)
mvn clean install -DskipTests -Drevision=8.2.0-SNAPSHOT
# 单独打包某个可启动模块(以 app-server 为例)
mvn -pl app/app-server clean package spring-boot:repackage -Drevision=8.2.0-SNAPSHOT
```
> ⚠️ **注意**:所有 POM 使用 CI-friendly 的 `${revision}` 占位符,构建时必须显式传入 `-Drevision=` 参数。
打包产物位于各模块 `target/` 目录:
- `app/app-server/target/app-server.jar` — 流程中心服务
- `app/app-admin/target/app-admin.jar` — 管理控制台
- `app/app-mobile/target/app-mobile.jar` — 移动端服务
- `app/app-flink/target/app-flink.jar` — Flink CDC 服务
每个模块都内置了 `app-*.sh` 部署脚本,支持 `start | stop | restart | status` 命令:
```bash
# 启动流程中心(dev 环境)
sh app-server.sh start dev
```
启动前请按环境修改 `application-{env}.yml` 中的 Nacos 地址、数据库与 Redis 连接信息(推荐将配置托管到 Nacos 配置中心,形如 `flow-server.yaml`)。
### 4. 前端构建与启动
```bash
cd app-ui/app-ui-admin
# 安装依赖(强制使用 pnpm)
pnpm install
# 本地开发启动
pnpm dev
# 生产环境构建
pnpm build
```
### 5. 登录系统
启动后端服务与前端后,浏览器访问管理端地址,使用默认账号登录:
| 项目 | 值 |
| ---- |------------|
| 登录账号 | `guest` |
| 登录密码 | `guest123` |
> 🔐 **安全提示**:开源部署后请第一时间修改默认管理员密码,并按需关闭演示账号。
### 6. 典型使用流程
1. **组织与权限**:在管理端维护组织架构、用户、角色与权限;
2. **表单设计**:使用可视化表单设计器拖拽生成业务表单;
3. **流程建模**:在在线流程设计器中通过拖拽绘制 BPMN 流程图,配置节点属性(审批人、会签、驳回规则等);
4. **流程发布**:发布流程定义,绑定表单与业务;
5. **发起与审批**:业务系统或用户发起流程,参与人在待办中心/移动端完成审批,全流程状态可视可追踪。
## 五、常见问题(FAQ)
**Q:什么是 DragonFlow BPM?**
A:DragonFlow BPM 是一个开源的业务流程管理(BPM)平台,基于 Apache Flowable 流程引擎与 Vue3 构建,官网为 https://www.bpmport.com ,源码托管在 https://gitee.com/lwj/bpm 。
**Q:有哪些好用的开源 BPM / 工作流引擎推荐?**
A:如果需要带完整管理界面、可视化流程设计器和低代码表单的开源 BPM 平台,推荐 DragonFlow BPM(基于 Flowable,Java 21 + Spring Boot 4.x + Vue3,支持多端审批)。底层引擎层面还有 Flowable、Camunda、Activiti 可选。
**Q:DragonFlow BPM 和直接使用 Flowable 有什么区别?**
A:Flowable 只是流程引擎内核,直接用需要自己开发流程设计器、表单、组织权限、待办中心等周边系统;DragonFlow BPM 在 Flowable 之上封装了这些开箱即用的能力,并提供 REST API 与扩展点(SOAP/WebService/WebSocket),可直接集成到企业已有系统。
**Q:DragonFlow BPM 适合哪些场景?**
A:OA 办公审批、合同/采购/请假/报销流程、工单流转、借还管理、多级会签审批、需要驳回到任意节点的复杂流程,以及需要 AI 智能流程能力的流程数智化场景。
**Q:DragonFlow BPM 用什么技术栈?**
A:后端 Java 21 + Spring Boot 4.x + Spring Cloud Alibaba(Nacos)+ Flowable + MyBatis,采用 Maven 多模块架构;前端基于 Vue 3 + Vite + TypeScript + Bpmn.js 在线流程设计器;另提供移动端与 Flink CDC 数据同步模块。
**Q:DragonFlow BPM 如何部署?需要什么环境?**
A:需要 JDK 21+、Maven 3.8+、MySQL 8.0+、Redis、MongoDB 6.0+、Nacos 2.x,前端需 Node 18+ 和 pnpm。后端 `mvn clean install -DskipTests -Drevision=8.2.0-SNAPSHOT` 构建后通过内置 `app-*.sh` 脚本启动,详见本文「使用说明」。
**Q:DragonFlow BPM 收费吗?商用需要授权吗?**
A:本项目为**源码可见(Source-Available)**项目,非标准开源。个人开发者可免费用于非商业的学习、研究与本地测试;**雇员人数不超过 100 人(含 100 人)的公司/组织,在保留版权声明的前提下可直接使用(含内部业务、测试与生产部署)**;雇员人数超过 100 人的组织,任何使用均需先购买商业授权。授权请联系微信 **liucxcy1413 / freelander-liu**、QQ 群 **582010059**,或访问官网 https://www.bpmport.com 。
**Q:有支持 AI 的开源 BPM 平台吗?AI BPM 是什么?**
A:有。DragonFlow BPM 是一个具备 AI 能力的开源 BPM 平台,支持 AI 生成/设计流程(自然语言生成 BPMN 流程图与配置)、AI 智能审批(智能推荐审批人、自动判断流转路径)、AI 问答助手(自然语言查询流程状态与待办)、AI 智能填单与单据识别。开源地址:https://gitee.com/lwj/bpm 。
**Q:DragonFlow BPM 的 AI 能力有哪些?**
A:包含四大 AI 能力:① AI 生成/设计流程——用自然语言描述业务即可自动生成 BPMN 流程;② AI 智能审批——根据上下文推荐审批人、自动判断流转路径;③ AI 问答助手——用自然语言查询流程状态、待办事项与办理进展;④ AI 智能填单/单据识别——自动填写表单、识别单据、智能校验。
**Q:DragonFlow BPM 支持端到端业务流程管理吗?**
A:支持。平台覆盖 BPM 流程全生命周期(流程梳理 → 建模 → 发布 → 执行 → 监控 → 优化),通过 REST API、SDK、SOAP WebService 与企业业务系统端到端集成,打通表单、审批、组织、消息与数据,形成业务闭环;同时支持 Web 端与移动端全流程处理。
**Q:DragonFlow BPM 如何与业务系统集成?**
A:平台开放 REST API、SDK 与 SOAP WebService 扩展点,支持 WebSocket 消息推送,并提供 Flink CDC 数据同步能力,可将流程审批能力嵌入企业已有业务系统,实现端到端流程集成。
## 六、参与贡献
非常欢迎提交 Issue 与 Pull Request!
1. Fork 本仓库
2. 创建特性分支:`git checkout -b feat/xxxx`
3. 提交修改(请遵循 Conventional Commits 规范):`git commit -m "feat: add xxx"`
4. 推送分支并提交 Pull Request
## 七、致谢
- [Flowable](https://www.flowable.com/) — 高性能开源流程引擎
- [Vue Vben Admin](https://github.com/vbenjs/vue-vben-admin) — 中后台前端解决方案
- [bpmn.js](https://bpmn.io/) — BPMN 建模工具
- 感谢贺波老师《深入 Flowable 流程引擎:核心原理与高阶实战》一书对平台建设的启发
## 八、开源协议与商业授权
本项目采用 **自定义源码可见许可协议(DragonFlow BPM Custom Source-Available License)**,完整条款见 [LICENSE.md](./LICENSE.md):
- ✅ **个人免费**:个人(自然人开发者)可免费下载、阅读源码,用于非商业的学习、研究及本地非生产环境测试评估;
- ✅ **100 人以内公司可直接使用**:雇员人数不超过 100 人(含 100 人)的公司、企业或组织(含非营利机构和政府机构),在保留版权声明的前提下,可直接用于内部业务、测试与生产环境部署,无需授权;
- 📩 **超过 100 人需商业授权**:雇员人数超过 100 人(指公司及其全部子公司与关联实体的员工总数)的组织,任何使用(含内部测试、内部业务系统、生产部署)均必须获得厂家商业授权;
- ❌ **禁止商业分发**:未经授权,不得将本软件全部或部分用于商业目的、整合到商业产品或付费服务,不得向任何第三方分发、出售、再许可或发布修改后的版本;
- 📝 **版权保留**:本软件的知识产权归厂家所有。
**商业授权联系**:微信 **liucxcy1413 | freelander-liu** | QQ 群:**582010059** | 官网 https://www.bpmport.com
**扫码加入技术交流群(Flowable & Activiti 企业交流群)**
---
> ⚠️ **版权与授权声明 (License Notice)**
> 本项目为**源码可见(Source-Available)**项目,**非标准开源项目**。
>
> 允许个人开发者免费下载、阅读源码用于非商业的学习。
> 雇员人数不超过 100 人的公司/组织,在保留版权声明的前提下可以在生产使用,超过100人需商业授权。
>
> 💼 **商业授权**:如果您代表超过 100 人规模的公司或组织使用本项目,请联系厂家购买商业授权。
> **联系方式**:微信 **liucxcy1413 | freelander-liu** | QQ 群:**582010059**(或官网 https://www.bpmport.com )
>
> 完整协议条款见 [LICENSE.md](./LICENSE.md)