基于 Spring Boot 3.5 + Spring Cloud 2025 的企业级全栈平台,集成 AI 智能体能力,面向教学实训场景(类似学习通)持续演进。
| 层级 | 技术 | 版本 |
|---|---|---|
| 语言 | Java / TypeScript | 21 / 5.x |
| 后端框架 | Spring Boot + Spring Cloud | 3.5.16 / 2025.0.3 |
| 前端框架 | Vue 3 + Vite + Pinia + Ant Design Vue 4 | - |
| 数据库 | PostgreSQL + pgvector | 16+ |
| ORM | MyBatis-Plus | 3.5.8 |
| 缓存 | Redis (Redisson) + Caffeine | 3.50.0 / 3.1.8 |
| 认证鉴权 | Sa-Token + JWT | 1.44.0 |
| 注册/配置 | Nacos | 2.4.3 |
| 网关 | Spring Cloud Gateway | 2025.0.3 |
| 消息队列 | RocketMQ | 2.3.1 |
| 链路追踪 | Micrometer Tracing + Zipkin | - |
| 弹性 | Resilience4j(RPC 熔断)+ Sentinel(Web 限流/系统保护) | 2.1.0 / 1.8.8 |
| AI 引擎 | AgentScope 2.0 + LangChain4j | 2.0.0 / 1.12.2 |
| 工作流 | LiteFlow | 2.15.0 |
| 文档解析 | Apache Tika | 3.2.3 |
| API 文档 | Knife4j + SpringDoc | 4.6.0 |
work_quickblue_postgresql/├── QuickBlue-parent-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 # 本地开发环境变量├── QuickBule-admin-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 | 20+ | - | 前端构建 |
| PostgreSQL | 16+ | 5432 | 主数据库 |
| Redis | 7+ | 6379 | 缓存 |
| Nacos | 2.4+ | 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-parent-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-parent-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 QuickBule-admin-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-parent-pg/QuickBlue-modules/QuickBlue-ai/AI智能体架构与开发指南.md |
| AI 智能体开发计划 | QuickBlue-parent-pg/QuickBlue-modules/QuickBlue-ai/AI智能体开发计划.md |
| Nacos 配置手册 | QuickBlue-parent-pg/nacos_config/Nacos配置手册.md |
| 安全配置指南 | QuickBlue-parent-pg/nacos_config/安全配置指南.md |
| 链路追踪使用指南 | QuickBlue-parent-pg/nacos_config/链路追踪使用指南.md |
| 报表设计器路线图 | QuickBlue-parent-pg/QuickBlue-modules/QuickBlue-report/report-designer-roadmap.md |
| 报表组件规划 | doc/报表组件规划.md |