基于 Spring Boot 4.1.1 + Spring Cloud 2025.1.3 的企业级全栈平台,集成 AI 智能体能力,面向教学实训场景(类似学习通)持续演进。
一句话:企业 AI 落地的应用底座。
QuickBlue 是一款面向生产环境的原生 AI 微服务快速开发平台。基于 JDK 21 (LTS) + Spring Cloud 2025 与 Vite 8 + Vue 3,把「每个企业都要重写一遍」的那部分先做好——组织权限、数据安全与审计、服务治理与监控,再叠加开箱即用的 AI 能力(多模型接入 / RAG 知识库 / 应用编排 / 会话)。企业不必重复造地基,直接在上面长自己的 AI 业务。
🧩 双数据库版本:本仓库开源 PostgreSQL 版(含 pgvector 向量检索,一库到底);官方同步提供 MySQL 版(各微服务数据库隔离、独立账号)。数据库层由 Nacos 配置中心集中管理,切换仅调配置,业务代码零侵入。
几乎所有企业都想融合 AI,但真正落地时,卡住的往往不是模型,而是承载 AI 的应用底座。
| 企业想做 AI | 实际会卡在哪 |
|---|---|
| 让 AI 回答业务问题 | 业务数据散在各个系统里,且必须先过权限 —— AI 不能看到不该看的数据 |
| 接一个大模型 | 模型、价格、合规政策都在变,和业务代码绑死后就换不动 |
| 做个 AI 功能 Demo | Demo 一周能做,但能被几百人稳定使用(有账号、有审计、有监控、有运维)是另一回事 |
| 把客户数据喂给 AI | 数据出境、API Key 泄露、等保合规没人敢签字 |
| 上线后持续迭代 | 没有组织架构、菜单权限、操作日志、备份恢复,系统越做越乱,没人敢改 |
💡 模型是发动机,底座是底盘。发动机可以换,底盘必须自己有。
不替代你的业务,只把地基先铺好:
| 层次 | 能力 |
|---|---|
| 权限与组织 | 用户 / 角色 / 菜单 / 按钮 / 部门数据权限,AI 能力天然跑在这套边界之内 |
| AI 能力层 | 多模型中立接入、RAG 知识库、应用编排、多轮会话,模型可替换、可本地私有化 |
| 生产就绪 | 服务监控、操作审计、数据库备份、定时任务、缓存、文件存储、Excel 导入导出 |
| 工程底座 | 微服务拆分、统一网关、配置中心,一份 .env 全局生效 |
按企业选型的真实决策顺序排列:能不能跑起来 → 敢不敢用 → 多久出业务 → 长期谁维护。
| 顺序 | 企业最关心 | QuickBlue 的答案 |
|---|---|---|
| 1 | 能不能跑起来 | 先看见再决策:10 分钟跑起来,不敲命令、不手写配置 |
| 2 | 敢不敢用 | 账号 / 审计 / 三级等保 / 国密 SM4,数据不出境、权限先过闸 |
| 3 | 多久出业务 | 代码生成 70% 提效,地基能力开箱即用 |
| 4 | 长期谁维护 | 组织权限、操作日志、备份恢复、微服务治理齐全,团队敢改 |
企业选型最怕"PPT 很好、跑不起来"。QuickBlue 与绝大多数开源框架最不一样的地方就在这里——别人给你一堆 yml 和 SQL 让你自己拼装,QuickBlue 直接给你一个浏览器安装向导:
全程鼠标操作,不用敲命令、不用手写一行配置、不用手工粘贴 Nacos 配置。
| 层级 | 技术 | 版本 |
|---|---|---|
| 语言 | Java / TypeScript | 21 / 5.x |
| 后端框架 | Spring Boot + Spring Cloud | 4.1.1 / 2025.1.3 |
| 前端框架 | Vue 3 + Vite + Pinia + Ant Design Vue 4 | 3.5.41 / 8.2.1 / 2.1.7 / 4.2.6 |
| 数据库 | PostgreSQL + pgvector | 18 |
| ORM | MyBatis-Plus | 3.5.17 |
| 缓存 | Redis (Redisson) + Caffeine | 4.7.0 / 3.1.8 |
| 认证鉴权 | Sa-Token + JWT | 1.46.0 |
| 注册/配置 | Nacos | 3.2.1(客户端)/ 3.2.4(服务端) |
| 网关 | Spring Cloud Gateway | 5.0.3 |
| 消息队列 | RocketMQ | 2.3.6 |
| 链路追踪 | Micrometer Tracing + Zipkin | - |
| 弹性 | Resilience4j(RPC 熔断)+ Sentinel(Web 限流/系统保护) | 2.4.0 / 1.8.9 |
| AI 引擎 | AgentScope 2.0 + LangChain4j | 2.0.2 / 1.19.0 |
| 工作流 | LiteFlow | 2.15.0 |
| 文档解析 | Apache Tika | 3.2.3 |
| API 文档 | Knife4j + SpringDoc | 5.4.0 / 3.1.0 |
work_quickblue_postgresql/├── QuickBlue-MicroAI-pg/ # 后端 Maven 父工程│ ├── QuickBlue-common/ # 公共模块(8 个子模块)│ │ ├── QuickBlue-common-core # 核心工具类、异常、枚举│ │ ├── QuickBlue-common-database # MyBatis-Plus + Druid 配置│ │ ├── QuickBlue-common-redis # Redisson + Redis 工具│ │ ├── QuickBlue-common-security # Sa-Token + 权限注解│ │ ├── QuickBlue-common-swagger # Knife4j 聚合文档│ │ ├── QuickBlue-common-web # Web 通用配置│ │ ├── QuickBlue-common-log # 日志注解 + AOP│ │ └── QuickBlue-common-excel # EasyExcel 导入导出│ ├── QuickBlue-api/ # 远程接口定义(@HttpExchange 声明式 HTTP,5 个子模块)│ │ ├── QuickBlue-api-system # 系统管理 API│ │ ├── QuickBlue-api-business # 业务 API│ │ ├── QuickBlue-api-support # 支撑 API│ │ ├── QuickBlue-api-ai # AI 服务 API│ │ └── QuickBlue-api-report # 报表 API│ ├── QuickBlue-modules/ # 业务模块实现(5 个子模块)│ │ ├── QuickBlue-system # 系统管理(用户/角色/菜单/部门/数据字典)│ │ ├── QuickBlue-business # 业务模块│ │ ├── QuickBlue-support # 支撑模块│ │ ├── QuickBlue-ai # ★ AI 智能体服务(核心)│ │ └── QuickBlue-report # 报表模块│ ├── QuickBlue-gateway/ # Spring Cloud Gateway 网关│ ├── QuickBlue-admin/ # Spring Boot Admin 监控│ ├── nacos_config/ # Nacos 配置集│ ├── database/postgresql/ # 数据库初始化脚本│ └── .env # 本地开发环境变量├── QuickBlue-MicroAI-webpg/ # 前端管理平台(Vue 3 + Vite)│ └── src/│ ├── views/ai/ # AI 管理页面(8 个模块)│ ├── api/ai/ # AI 模块 API 封装│ ├── router/ # 动态路由│ └── constants/ # 全局枚举(SmartEnum 插件)├── doc/ # 项目文档├── uploads/ # 上传文件存储└── logs/ # 日志文件
| 组件 | 版本 | 端口 | 用途 |
|---|---|---|---|
| JDK | 21 | - | Java 运行时 |
| Maven | 3.9+ | - | 项目构建 |
| Node.js | 24+ | - | 前端构建 |
| PostgreSQL | 18 | 5432 | 主数据库 |
| Redis | 7+ | 6379 | 缓存 |
| Nacos | 3.2+ | 8848 | 注册中心 & 配置中心 |
| 组件 | 端口 | 用途 |
|---|---|---|
| Sentinel Dashboard | 8858 | 流量监控 |
| Zipkin Server | 9411 | 链路追踪 |
| RocketMQ | 9876 | 消息队列 |
项目根目录的 .env 文件已预设开发环境变量,按需修改数据库密码等。
xxxxxxxxxxDB_HOST=localhostDB_PORT=5432DB_USERNAME=sdgs2026DB_PASSWORD=sdgs@1234REDIS_HOST=127.0.0.1REDIS_PORT=6379REDIS_PASSWORD=Nq963369NACOS_SERVER_ADDR=localhost:8848
xcd QuickBlue-MicroAI-pg/database/postgresql
# 按顺序执行 SQL 脚本:# 01_create_databases.sql - 创建数据库# 02_migrate_support.sql - 支撑模块表# 03_migrate_system.sql - 系统模块表(含 AI 菜单)# 04_migrate_business.sql - 业务模块表# 05_create_ai_tables.sql - AI 模块表(需要 pgvector 扩展)注意:AI 模块依赖
pgvector扩展,请先在 PostgreSQL 中安装。
xxxxxxxxxx# 单机模式启动startup.cmd -m standalone启动后访问 http://localhost:8848/ ,导入 nacos_config/ 目录下的配置。
xxxxxxxxxxcd QuickBlue-MicroAI-pgmvn clean install -DskipTests
# 按顺序启动各模块(IDEA 中直接运行 Application 主类)# 1. QuickBlue-system (端口 8081)# 2. QuickBlue-business (端口 8082)# 3. QuickBlue-support (端口 8083)# 4. QuickBlue-ai (端口 8084)# 5. QuickBlue-gateway (端口 8080)# 6. QuickBlue-report (端口 8085)xxxxxxxxxxcd QuickBlue-MicroAI-webpgnpm installnpm run dev访问 http://localhost:5173/ ,默认账号 admin / 密码 admin。
| 功能 | 说明 |
|---|---|
| 用户管理 | 用户 CRUD、角色分配、部门关联、密码策略 |
| 角色管理 | 角色 CRUD、菜单/按钮权限分配 |
| 菜单管理 | 动态菜单树、按钮权限、图标配置 |
| 部门管理 | 组织架构树 |
| 数据字典 | 字典类型 + 字典项 |
| 日志管理 | 操作日志、登录日志 |
| 文件管理 | 文件上传/下载/预览 |
详见 AI 智能体架构 章节。
统一入口(端口 8080)
路由转发 + 负载均衡
Sa-Token 认证校验
CORS 跨域处理
请求日志记录
Spring Boot Admin Server
服务健康检查、内存/线程监控
通过 Nacos 自动发现
xxxxxxxxxx┌─────────────────────────────────────────────────────────────┐│ 前端管理平台 ││ agent/ │ knowledge/ │ model/ │ tool/ │ prompt/ │ session/ │└──────────────────────────┬──────────────────────────────────┘│ HTTP/SSE┌──────────────────────────▼──────────────────────────────────┐│ AI 服务 (端口 8084) ││ ││ ┌─────────────┐ ┌──────────────┐ ┌───────────────────┐ ││ │ AgentScope │ │ ChatModel │ │ Tool Registry │ ││ │ v2.0 推理引擎│ │ Factory/6家 │ │ ConcurrentHashMap │ ││ │ ReAct + SSE │ │ 供应商 │ │ DynamicToolWrapper│ ││ └──────┬───────┘ └──────┬───────┘ └────────┬──────────┘ ││ │ │ │ ││ ┌──────▼─────────────────▼────────────────────▼──────────┐ ││ │ LangChain4j 工具层 │ ││ │ ChatLanguageModel │ EmbeddingModel │ ToolExecutor │ ││ └────────────────────────────────────────────────────────┘ ││ ││ ┌────────────────────────────────────────────────────────┐ ││ │ RAG 管道 │ ││ │ Tika 解析 → 分段(chunk=500) → 向量化 → PgVector 存储 │ ││ └────────────────────────────────────────────────────────┘ ││ ││ 数据层: PostgreSQL + pgvector │ Redis 缓存 │ Nacos 配置 │└─────────────────────────────────────────────────────────────┘
| 模块 | 完成度 | 关键组件 |
|---|---|---|
| Agent 核心引擎 | 80% | AgentScopeService(ReAct 推理)、AgentServiceImpl(7步编排)、同步/SSE 双模式 |
| 多模型适配 | 90% | ChatModelFactoryManager → 6 家供应商:OpenAI / Anthropic / DashScope(通义千问) / Ollama / 千帆 / 智谱 |
| 工具注册中心 | 80% | ToolRegistry(ConcurrentHashMap)、DynamicToolWrapper、4个内置工具 |
| 知识库文档管道 | 80% | 上传 → Tika 解析 → 分段(500/50) → 向量化 → PgVector(状态机:PENDING→PARSING→VECTORIZING→READY) |
| 提示词管理 | 90% | PromptServiceImpl({{变量}} 正则渲染引擎) |
| 工具管理 API | 80% | HTTP/Script 执行器、动态注册/注销 |
| RAG 检索 | 60% | RetrieverFactory(PgVector + OpenAI/Ollama Embedding) |
| 会话管理 | 80% | AiragSession/AiragMessage CRUD |
| 前端管理页面 | 85% | 8 个模块(agent/knowledge/doc/model/tool/prompt/app/session) |
| 工具 | 说明 |
|---|---|
CalculatorTool | 数学表达式计算(安全沙箱) |
WebSearchTool | 搜索引擎查询 |
DatabaseQueryTool | SQL 查询(SELECT 安全限制,Markdown 表格输出) |
FileReadTool | 文件读取(20+ 文本格式,5MB/5000行限制) |
HttpToolExecutor | HTTP REST 执行器(URL 参数替换、自定义 Headers、超时) |
ScriptToolExecutor | JSR223 JS 脚本执行器(注入 params/log 上下文) |
| 控制器 | 端点前缀 | 核心接口 |
|---|---|---|
AgentController | /ai/agent | CRUD、publish、enable/disable、execute、executeStream |
ChatController | /ai/chat | sendMessage、sendMessageStream (SSE) |
AiragKnowledgeController | /ai/knowledge | CRUD |
KnowledgeDocController | /ai/knowledge/doc | upload、process、status、chunks |
ToolController | /ai/tools | CRUD、enable、disable |
AiragModelController | /ai/model | CRUD |
PromptController | /ai/prompt | CRUD、render |
✅ 知识库文档管道(上传→解析→分段→向量化→存储)
✅ 提示词管理({{变量}} 渲染引擎)
✅ 工具管理 API(HTTP/Script 执行器、动态注册)
✅ 前端 8 个管理页面(agent/knowledge/doc/model/tool/prompt/app/session)
✅ 4 个内置工具(Calculator/WebSearch/DatabaseQuery/FileRead)
✅ 数据库菜单集成、Maven 编译通过
| 功能 | 说明 |
|---|---|
| 智能出题引擎 | 基于知识库自动生成选择题/判断题/简答题 |
| 智能批改引擎 | 主观题 AI 批改 + 评分 + 评语 |
| 智能答疑助手 | 基于课程知识库的 RAG 问答 |
| 教案/课件生成 | 从教学大纲自动生成 PPT 和教案 |
| 学习路径推荐 | 基于学生画像的个性化推荐 |
| 功能 | 说明 |
|---|---|
| LiteFlow 工作流接入 | 可视化编排 Agent 协作流程 |
| 多 Agent 协作 | Supervisor/Sequential 模式 |
| MCP 协议集成 | 外部工具/服务标准接入 |
| Agent 发布管理 | 版本管理、灰度发布 |
| 功能 | 说明 |
|---|---|
| 学情分析仪表盘 | 学习时长、正确率、知识掌握度 |
| 知识图谱构建 | 课程知识点关系图 |
| 模型效果 A/B 测试 | 多模型对比评测 |
| 个性化推荐优化 | 基于行为的推荐算法 |
项目支持 6 家模型供应商,至少配置一家即可使用 AI 功能:
通义千问(DashScope):需阿里云 API Key
OpenAI:需 OpenAI API Key
智谱 AI:需智谱 API Key
百度千帆:需百度云 API Key
Ollama:本地部署,无需 API Key
Anthropic:需 Anthropic API Key
在 AI 服务 Nacos 配置(QuickBlue-ai-pg.yaml)中填写对应 API Key。
xxxxxxxxxx-- 在 PostgreSQL 中执行CREATE EXTENSION vector;如果提示找不到扩展,需先安装 pgvector 插件(参考 pgvector GitHub)。
在 application.yaml 或 Nacos 配置中修改各服务端口:
系统服务:8081
业务服务:8082
支撑服务:8083
AI 服务:8084
报表服务:8085
网关:8080
监控:9090
确认 router/index.js 的 buildRoutes() 正常执行(从后端菜单数据库动态构建路由),检查菜单表 t_menu 是否有数据,以及当前用户角色是否有授权。
| 文档 | 路径 |
|---|---|
| AI 智能体架构与开发指南 | QuickBlue-MicroAI-pg/QuickBlue-modules/QuickBlue-ai/AI智能体架构与开发指南.md |
| AI 智能体开发计划 | QuickBlue-MicroAI-pg/QuickBlue-modules/QuickBlue-ai/AI智能体开发计划.md |
| Nacos 配置手册 | QuickBlue-MicroAI-pg/nacos_config/Nacos配置手册.md |
| 安全配置指南 | QuickBlue-MicroAI-pg/nacos_config/安全配置指南.md |
| 链路追踪使用指南 | QuickBlue-MicroAI-pg/nacos_config/链路追踪使用指南.md |
| 报表设计器路线图 | QuickBlue-MicroAI-pg/QuickBlue-modules/QuickBlue-report/report-designer-roadmap.md |
| 报表组件规划 | doc/报表组件规划.md |