# 微内核 + 插件化 + AI 智能体:ForgeAdmin 企业级后台框架的设计思路 ## 前言 做了这么多年企业级开发,我发现一个很有意思的现象: **每个公司都在重复造后台管理系统的轮子。** 用户管理、角色权限、菜单字典、操作日志、文件上传……这些功能每个项目都要写一遍,换个公司又从头再来。 市面上不是没有开源后台框架,但用下来总觉得差点意思: - 有的太轻量,只能做个简单的 CRUD,稍微复杂点的业务就撑不住 - 有的太臃肿,什么功能都往里塞,改起来牵一发动全身 - 有的架构老旧,还在用几年前的技术栈,新人接手都费劲 - 最关键的是——**没有一个真正把 AI 能力用好的** 所以我决定自己做一个:**ForgeAdmin**。 它不是又一个"轮子",而是一套**可持续演进的企业级后台工程体系**。 今天这篇文章,我想聊聊 ForgeAdmin 的设计思路,以及我们是如何把"微内核插件化"和"AI 智能体"结合起来的。 --- ## 一、架构设计:微内核 + 插件化 ### 1.1 为什么要插件化? 做企业级项目的同学应该都有体会: > 项目一开始的时候架构都挺清晰的,做着做着就变成了"屎山"。 为什么?因为业务是不断变化的。今天加个工作流,明天接个第三方登录,后天又要做多租户……需求一个接一个,代码越堆越多,最后谁都不敢动。 **传统的单体架构,扩展性太差了。** 所以 ForgeAdmin 从第一天起,就确定了**微内核 + 插件化**的架构方向。 ### 1.2 三层架构设计 ForgeAdmin 的后端采用三层架构: ``` ┌─────────────────────────────────┐ │ 应用层 (Application) │ ── 按场景聚合插件,对外提供接口 ├─────────────────────────────────┤ │ 业务插件层 (Plugin) │ ── 8 大业务插件,按需引入 ├─────────────────────────────────┤ │ 技术启动层 (Starter) │ ── 20 个技术 Starter,底层能力 ├─────────────────────────────────┤ │ 核心框架层 (Framework) │ ── 微内核,插件管理、基础工具 └─────────────────────────────────┘ ``` **核心框架层**:最轻量的内核,只负责插件管理、基础工具类、通用异常处理等。 **技术启动层**:20 个 Starter,每个负责一个底层技术能力: - forge-starter-auth — 认证授权 - forge-starter-cache — 缓存抽象 - forge-starter-orm — ORM 封装 - forge-starter-tenant — 多租户隔离 - forge-starter-datascope — 数据权限 - forge-starter-crypto — 字段加解密 - forge-starter-log — 操作日志 - forge-starter-file — 文件存储 - forge-starter-excel — Excel 导入导出 - forge-starter-job — 任务调度 - forge-starter-message — 消息中心 - forge-starter-idempotent — 接口幂等 - forge-starter-social — 第三方登录 - forge-starter-websocket — WebSocket - forge-starter-trans — 分布式事务 - …… **业务插件层**:8 大业务插件,每个插件都是独立的业务模块: - forge-plugin-system — 系统管理(用户、角色、菜单、字典、组织) - forge-plugin-generator — 代码生成(低代码设计器、代码生成) - forge-plugin-ai — AI 智能体(智能体引擎、模型管理) - forge-plugin-flow — 工作流(Flowable 集成、流程设计) - forge-plugin-job — 任务调度(定时任务管理) - forge-plugin-message — 消息中心(站内信、通知模板) - forge-plugin-data — 数据可视化(大屏设计、报表) - forge-plugin-external — 外部集成(第三方系统对接) **应用层**:按业务场景聚合插件,比如: - forge-admin-server — 后台管理服务 - forge-app-server — App 接口服务 - forge-report-server — 大屏报表服务 - forge-flow-server — 独立流程引擎服务 ### 1.3 插件化的好处 **按需加载,避免臃肿** 用什么插件引什么,不需要的功能一行代码都不会进你的项目。 **独立演进,互不影响** 每个插件都是独立的模块,可以单独升级、单独测试。改工作流插件,不会影响系统管理插件。 **易于扩展,降低门槛** 想加新功能?开发一个新插件就行,不用理解整个项目的代码。 **企业级质量** 每个 Starter 都经过生产环境验证,拿来就能用。 --- ## 二、核心能力:不止是 CRUD 很多人觉得后台框架不就是"增删改查"吗?有什么难的? 说实话,CRUD 确实不难,但**企业级后台远不止 CRUD**。 ForgeAdmin 提供的能力,覆盖了企业后台 90% 以上的通用需求。 ### 2.1 多租户 SaaS 能力 现在做 SaaS 的越来越多,多租户是绕不开的话题。 ForgeAdmin 的多租户能力: - **租户级数据隔离**:行级隔离,不同租户的数据完全分开 - **租户独立配置**:参数、字典、文件存储,每个租户可以自己配 - **租户管理员**:每个租户有自己的管理员,管理自己的用户 - **数据权限**:在多租户基础上,还能再做一层数据范围控制 实现方式是基于 MyBatis-Plus 的插件机制,对 SQL 做自动增强,业务代码完全无感知。 ### 2.2 RBAC + 数据权限 权限系统是后台的核心。ForgeAdmin 的权限体系分三层: 1. **菜单权限**:控制用户能看到哪些菜单,动态路由 2. **按钮权限**:控制用户能看到哪些按钮,细粒度控制 3. **数据权限**:控制用户能看到哪些数据,按组织、按角色、按自定义规则 数据权限这个功能特别实用。比如销售只能看自己的客户,部门经理能看部门的,管理员能看全部的,配置一下就搞定,不用在代码里到处写判断。 ### 2.3 Flowable 工作流 审批流是企业系统的刚需。ForgeAdmin 集成了 Flowable 7.0,提供完整的工作流能力: - **流程模型设计器**:在线 BPMN 编辑器,拖拽式设计流程 - **节点配置**:审批人、抄送人、条件分支、并行网关 - **流程发起**:业务表单关联流程,一键发起 - **待办任务**:统一的待办中心,通过、驳回、转办 - **流程追踪**:时间轴展示审批记录,一目了然 最关键的是,**工作流是作为插件存在的**。不需要工作流的项目,不引这个插件就行,完全不影响其他功能。 ### 2.4 低代码表单/列表设计器 这是 ForgeAdmin 的重头戏,也是我们花了最多精力打磨的功能。 **表单设计器**: - 30+ 表单组件,拖拽式布局 - 可视化配置属性、校验规则、联动逻辑 - 支持分组、标签页等复杂布局 - 生成的代码直接可用,不是中间格式 **列表设计器**: - 多级表头、行列合并 - 排序、筛选、搜索配置 - 批量操作按钮配置 - 导出导入模板配置 **核心优势**: ✅ **生成生产级代码**:跟资深开发手写的没区别,规范的命名、清晰的结构 ✅ **双向同步**:设计器改了代码同步,代码改了设计器也能识别 ✅ **可下载代码包**:生成的代码可以下载后二次开发 ✅ **一键生成完整模块**:前端页面 + 后端接口 + 菜单权限 + 字典配置 --- ## 三、AI 赋能:让开发效率再上一个台阶 如果说插件化架构是 ForgeAdmin 的骨架,那 **AI 智能体引擎**就是 ForgeAdmin 的灵魂。 ### 3.1 为什么要做 AI 智能体? 大模型火了这么久,但很多开发者的用法还停留在"问 ChatGPT 怎么写代码"的阶段。 **AI 应该更深入地融入开发流程,而不只是一个聊天工具。** 所以 ForgeAdmin 内置了一套完整的 **AI 智能体引擎**,把 AI 能力直接做到了框架里。 ### 3.2 内置 7 大智能体 | 智能体 | 功能 | |--------|------| | 🧠 低代码业务系统生成 Agent | 根据业务需求自动划分领域、生成数据模型和低代码应用草稿 | | 📋 流程 BPMN 生成助手 | 自然语言描述 → 自动生成 Flowable BPMN XML 流程配置 | | 🗄️ CRUD 配置生成器 | 自然语言描述或数据库表结构 → CRUD 配置 JSON | | 📊 大屏生成助手 | 根据用户需求自动生成数据可视化大屏布局 | | 💬 智能客服 | 内置 AI 对话能力,可接入业务知识库 | | 🔧 代码生成字段顾问 | 根据数据库字段信息推荐 Java 类型、表单组件、字典类型、验证规则 | | 🏗️ 代码生成 Schema 构建器 | 根据自然语言描述推断数据模型 Schema | ### 3.3 智能体引擎特性 - **完整生命周期管理**:草稿 → 发布 → 下线,跟管理后台的其他功能一样 - **多模型支持**:阿里百炼、OpenAI、DeepSeek、Ollama、智谱、Moonshot,想用哪个用哪个 - **MCP 工具扩展**:智能体可以调用外部工具,能力可扩展 - **会话记录持久化**:所有对话都有记录,支持回溯和复盘 - **提示词模板管理**:每个智能体的 Prompt 都可以单独配置和优化 ### 3.4 实际效果怎么样? 举个例子:你想做一个客户管理系统。 **以前**:设计数据库 → 建表 → 写实体类 → 写 Mapper → 写 Service → 写 Controller → 写前端页面 → 配置菜单 → 配置权限…… 少说大半天。 **现在用 ForgeAdmin 的 AI 智能体**: 1. 输入:"帮我做一个客户管理系统,包含客户名称、联系人、电话、邮箱、地址、客户等级、备注" 2. AI 自动生成数据模型 Schema 3. AI 自动生成表单和列表配置 4. 一键生成完整代码 5. **5 分钟搞定** 当然,复杂的业务逻辑还是要自己写,但 80% 的重复劳动,AI 都能帮你做了。 --- ## 四、AI 数据大屏:一句话生成可视化 数据可视化大屏也是很多企业的刚需,但做过大屏的同学都知道: > 调样式、调布局、调动画、对接数据…… 一个大屏做一周是常事。 ForgeAdmin 的 AI 大屏功能,就是为了解决这个痛点。 ### 4.1 自然语言生成 你只需要用自然语言描述需求: > "帮我做一个销售数据大屏,包含总销售额、订单数、客户数,按地区分布的地图,按月份的趋势图,还有 TOP10 产品排行" AI 会自动生成大屏的布局和组件,你再微调一下就好。 ### 4.2 可视化编辑 生成的大屏可以用拖拽编辑器继续调整: - 30+ 可视化组件(折线图、柱状图、饼图、雷达图、地图、数字翻牌器……) - 主题定制,内置多套主题,也可以自定义 - 数据源配置,支持接入真实的业务 API - 交互配置,钻取、联动、筛选 ### 4.3 一键发布 设计好的大屏,点一下发布,就变成一个可以直接访问的页面了。 --- ## 五、前端:Vue 3 + Naive UI + UnoCSS 前端部分,ForgeAdmin 也有自己的坚持。 ### 5.1 技术选型 - **Vue 3.5**:Composition API,开发体验好 - **Naive UI 2.42**:TypeScript 友好,组件丰富,主题定制能力强 - **Vite 7**:开发环境启动快,热更新快 - **Pinia 3**:状态管理,比 Vuex 更简洁 - **UnoCSS**:原子化 CSS,写样式飞快 ### 5.2 内置组件 ForgeAdmin 封装了 20+ 常用业务组件: - 字典选择器(DictSelect / DictTag) - 区域选择器(省市区三级联动) - 用户选择面板 - 图标选择器 - 文件上传组件 - 图片上传组件 - SQL 编辑器 - 滑动验证码 - …… 这些组件在实际项目中用得特别多,封装好之后能省很多事。 ### 5.3 多端支持 - **PC 管理后台**:forge-admin-ui,功能最全 - **移动端 H5**:forge-h5-ui,响应式设计,权限与 PC 端打通 - **大屏设计器**:forge-report-ui,独立部署 - **文档站**:forge-docs,VitePress 搭建 --- ## 六、项目现状与未来规划 ### 6.1 项目现状 ForgeAdmin 从 2024 年初开始开发,到现在已经迭代了一年多: - 累计提交 450+ 次 - 发布了 v1.0、v1.1 等多个版本 - 核心功能基本稳定,可以在生产环境使用 - 已有多家企业和开发者在项目中使用 - 持续保持高频迭代,平均每周 2-3 次更新 ### 6.2 短期规划(3 个月内) - 低代码设计器持续优化,支持更多复杂场景 - AI 智能体能力增强,新增更多内置 Agent - 移动端 H5 功能完善,覆盖更多业务场景 - 文档体系优化,增加视频教程 - 社区运营加强,增加用户案例展示 ### 6.3 中期规划(6 个月内) - 可视化流程设计器升级,支持更复杂的流程编排 - 数据大屏组件库扩充,支持 3D 地图、3D 柱状图等 - 插件市场上线,支持第三方插件开发和分发 - 更多 AI 能力集成(AI 测试、AI 运维、AI 文档生成) ### 6.4 长期规划(1 年以上) - 打造 Forge 生态,形成完整的企业级开发工具链 - 低代码能力从内部工具升级为独立产品 - 探索 AI 原生开发范式,重塑软件开发流程 --- ## 七、写在最后 做开源项目是一件很有意思的事。 从最开始的"我想做一个好用的后台框架",到现在有了插件化架构、AI 智能体、低代码设计器、数据大屏…… ForgeAdmin 已经远远超出了我最初的设想。 但我知道,这还只是开始。一个好的开源项目,需要时间的打磨,也需要社区的参与。 如果你也在做企业级后台开发,如果你也对插件化架构、AI 赋能开发感兴趣,欢迎来试试 ForgeAdmin。 觉得好用的话,点个 Star 支持一下~ 有问题或者建议,也欢迎提 Issue,我们一起把它做得更好。 > **项目地址**:https://gitee.com/ForgeLab/forge-admin > **在线演示**:http://www.dlforgelab.com:8084/forge/login > 体验账号:admin / 123456 --- **关于作者**: ForgeLab 团队,专注于企业级开发工具和低代码领域的探索。