OSChina-ForgeAdmin架构设计.md 14 KB

微内核 + 插件化 + 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 团队,专注于企业级开发工具和低代码领域的探索。