QuickBlue 微服务架构评估报告 v11.0

评估日期: 2026-08-15
评估范围: QuickBlue-parent-pg 全项目(9 模块 + 前端)
上一版本: v10.0(2026-06-30)
基准环境: Spring Boot 3.5.16 + Spring Cloud 2025.0.3 + Spring Cloud Alibaba 2025.0.0.0 + PostgreSQL 18 + JDK 21
v12.0 展望: 融入"一切皆插件"架构思想,核心理论 + 渐进式整合路线详见第 12 章


目录

  1. 版本演进摘要

  2. 架构概览

  3. v10.0 P0 修复项验证

  4. v11.0 新增功能

  5. 模块健康度评估

  6. 安全深度评估

  7. 前端评估

  8. 数据库与基础设施

  9. 清单评分

  10. 风险与改进建议

  11. 总结

  12. v12.0 架构演进展望:融入"一切皆插件"设计思想


1. 版本演进摘要

1.1 v10.0 → v11.0 关键变化

类别变化项v10.0v11.0
框架升级Spring Boot 版本3.2.x3.5.10 (跨 2 个大版本)
框架升级Spring Cloud 版本2023.0.42025.0.1
框架升级Spring Cloud Alibaba2025.0.0.0 (首次引入)
框架升级Micrometer Tracing旧 Sleuth1.4.4 (替代 Sleuth)
安全修复SM4 密钥外置✅ 已修复已验证 — 环境变量注入 + 启动校验
安全修复Gateway Fail-Closed✅ 已修复已验证 — authFailOpen=false
安全修复Druid WallFilter✅ 已修复已验证 — 所有环境启用
安全修复密码标记✅ 已修复已验证 — 28 处 [安全] 注释
新功能代码生成器自动发现❌ 不存在🆕 新增 — pg_database 动态发现
新功能Report 报表模块🟡 开发中稳定 — 完整引擎 + 4 类导出
集成AgentScope Java 2.0❌ 不存在🆕 新增 — 智能体开发框架,替代手写推理循环
基础设施链路追踪升级SleuthMicrometer Tracing 1.4.4
前端登录 UX 优化有闪烁修复 — loading 状态流畅
存量风险CORS 硬编码❌ 未修复仍存在
存量风险XSS 过滤器❌ 未修复仍存在
存量风险CSRF 禁用❌ 未修复仍存在
存量风险AI Agent CRUD🟡 部分 TODO🟡 无变化
存量风险AI 迁移脚本空文件仍为空

1.2 版本历史

版本日期关键里程碑
v9.02026-06-20首次全面扫描,发现 4 个 P0 安全风险
v10.02026-06-30P0 安全修复落地,Report 模块初具,AI 增强,升 Spring Boot 3.5.10
v11.02026-08-06P0 修复全部验证通过,代码生成器自动发现,Report 模块稳定,登录 UX 优化

n

2. 架构概览

2.1 服务拓扑

2.2 模块清单

#模块端口数据库Java 文件成熟度
1QuickBlue-gateway808020+🟢 稳定
2QuickBlue-system8081quickblue_system60+🟢 稳定
3QuickBlue-business8082quickblue_business25+🟢 稳定
4QuickBlue-support8083quickblue_support50+🟢 稳定
5QuickBlue-ai8084quickblue_ai40+🟡 部分完整
6QuickBlue-report8085quickblue_report35+🟢 稳定
7QuickBlue-admin90905+🟢 稳定
8QuickBlue-common30+🟢 基础库
9QuickBlue-api15+🟢 远程接口(@HttpExchange)

2.3 技术栈矩阵

层级技术版本状态
框架Spring Boot3.5.16
微服务Spring Cloud2025.0.3
微服务 AlibabaSpring Cloud Alibaba2025.0.0.0
网关Spring Cloud Gateway4.2.x (Boot 3.5)
认证Sa-Token + JWT + Redis1.44.0
ORMMyBatis-Plus + Flyway3.5.8 / 11.0.1
数据库PostgreSQL18⚠️ PG18
连接池Druid1.2.25
缓存Redis + Redisson3.50.0
注册/配置Nacos2.4.3
消息队列RocketMQ Spring Boot Starter2.3.1
分布式事务Seata2.0.0🟡 依赖存在
链路追踪Micrometer Tracing + Brave + Zipkin1.4.4 / 6.1.0🟡 默认关闭
流控降级Sentinel1.8.8✅ Web 接口限流/系统保护
弹性Resilience4j2.1.0✅ RPC 熔断(@HttpExchange 调用)
AIpgvector + OkHttp SSE0.5.1
文档Knife4j + SpringDoc4.6.0 / 2.8.6
内部调用@HttpExchange + RestClient(LoadBalancer 负载均衡)Spring 6.2.x 内置
前端Vue 3 + Ant Design Vue 43.4.27 / 4.2.5
安全Argon2id + SM4 国密 + BouncyCastle1.80

3. v10.0 P0 修复项验证

v10.0 报告标记了 4 个 P0 修复项为"已完成"。v11.0 重新验证如下:

3.1 SM4 密钥外置 — ✅ 已验证通过

v10.0 状态: 硬编码 A3f$7cLp#2mN8!zQ 在两处
v11.0 实际代码:

文件实现方式状态
Sm4Util.javaSystem.getenv("SM4_ENCRYPT_KEY") → 未配置时 throw new IllegalStateException✅ 严格
ApiEncryptServiceSmImpl.java@Value("${sm4.encrypt.key}") Spring 注入,无默认值✅ 严格

评估: 密钥已彻底外置,且启动即校验,杜绝了源码泄露导致密钥暴露的风险。

3.2 Gateway 认证 Fail-Closed — ✅ 已验证通过

v10.0 状态: 双 onErrorResume 默认放行
v11.0 实际代码:

评估: 默认安全,符合"最小权限"原则。运维可在紧急情况下通过 Nacos 动态切换。

3.3 Druid WallFilter — ✅ 已验证通过

Nacos 共享配置 (postgresql-common.yaml):

评估: SQL 注入防护已启用。三个放宽项是为 Flyway 和 PG 语法兼容的合理权衡。

3.4 配置文件密码标记 — ⚠️ 部分完成

已完成: 28 处 YAML 文件添加 [安全] 注释标记
未完成: .env.example 模板文件未在代码仓库中找到(v10.0 标记为"已创建")

所有模块启动类均通过 EnvLoader.load() 向上查找 .env 文件:

.env 文件缺失影响: 无 .env.example 模板,新开发者不知道需要配置哪些环境变量。


4. v11.0 新增功能

4.1 代码生成器自动发现(NEW)

问题: v10.0 及之前版本,代码生成器数据源列表硬编码在 application.yaml,新增数据库需手动修改配置。

v11.0 实现:

优势:

4.2 Report 报表模块稳定化

v10.0 时 Report 模块处于"开发中",v11.0 已达稳定状态:

组件文件数功能描述
Controller4分类/数据源/定义/执行
Service4业务逻辑 + EntityComment 辅助
Entity4分类/数据源/定义/日志
DAO4MyBatis-Plus BaseMapper
引擎层20+构建器/数据源/表达式/缓存/SPI/4类导出
迁移脚本1V1.0.0__report_init.sql (8.9 KB, 4 张表)

核心能力:

权限: 管理员拥有全部 17 个权限,非管理员权限查询标记为 "TODO 待实现细粒度权限查询"

4.3 登录 UX 优化

修复项修复前修复后
校验失败闪烁loading=true → 校验失败 → 瞬间 loading=false,按钮闪一下"请稍候"校验通过后才 loading=true,失败不回显
登录成功闪烁finallyloading=false → 按钮变"登录" → 然后跳转成功时 loading 不重置,按钮持续显示"请稍候"直到页面跳转
按钮文案"登录中"(与按钮"登录"语义重复)"◌ 请稍候"(通用 loading 表达)

5. 模块健康度评估

5.1 模块详细评估

模块功能完整度代码规范安全加固测试覆盖文档综合
gateway████████░░ 85%████████░░ 85%███████░░░ 75%░░░░░░░░░░ 0%██████░░░░ 60%🟢 80
system█████████░ 95%████████░░ 85%████████░░ 80%░░░░░░░░░░ 0%██████░░░░ 60%🟢 82
business██████░░░░ 65%████████░░ 80%███████░░░ 70%░░░░░░░░░░ 0%█████░░░░░ 50%🟢 70
support████████░░ 85%████████░░ 85%████████░░ 80%░░░░░░░░░░ 0%██████░░░░ 65%🟢 81
ai████████░░ 75%████████░░ 85%███████░░░ 70%░░░░░░░░░░ 0%█████░░░░░ 50%🟢 75
report████████░░ 85%█████████░ 90%██████░░░░ 65%░░░░░░░░░░ 0%████░░░░░░ 45%🟢 75
common████████░░ 80%█████████░ 90%████████░░ 80%░░░░░░░░░░ 0%██████░░░░ 60%🟢 80
admin████████░░ 80%████████░░ 80%█████░░░░░ 55%░░░░░░░░░░ 0%████░░░░░░ 40%🟢 70

5.2 Write/Read 模式分类

模式模块特点
纯 Writebusiness业务表单 + 流程,表驱动
纯 Readreport报表读取,无业务写入
Write+Readsystem, support, ai配置管理 + 查询
基础设施gateway, admin, common路由/监控/基础库

5.3 AI 模块 TODO/桩代码清单

文件方法当前状态
AgentController.javalist()返回 ResponseDTO.ok() 无数据
AgentController.javacreate()返回"创建成功"无实际保存
AgentController.javaupdate()返回"更新成功"无实际更新
AgentController.javadelete()返回"删除成功"无实际删除
AiragSessionServiceImpl.javagetMessagesBySessionId()返回 List.of(),注释"需要 AiragMessageMapper"
AiragSessionServiceImpl.javasaveMessage()仅打印日志,注释"需要 AiragMessageMapper"
V5__init_ai_schema.sql整个文件空文件 (0 B)
V9__unify_snowflake_id.sql整个文件空文件 (0 B)

已完善的功能: ChatController (同步+SSE)、AiragApp CRUD、AiragKnowledge CRUD、AiragModel CRUD、Agent 发布/启用/禁用/执行/流式执行


6. 安全深度评估

6.1 认证与授权

检查项状态详情
密码算法✅ 优秀Argon2id + 自定义盐值
国密加密✅ 已修复SM4 密钥从环境变量注入,启动校验
JWT 持久化✅ 良好Sa-Token JWT + Redis 持久化
RBAC 权限✅ 完善6 张权限表,含数据权限规则
数据权限✅ 创新@DataScope 注解 + SQL 注入规则
会话管理✅ 良好在线用户管理 + 强制下线
三级等保✅ 完善双因子认证/密码复杂度/文件检测/定期改密
Gateway 鉴权✅ 已修复Fail-Closed 默认拒绝
Token 续期⚠️ 未实现当前无静默续期,Token 过期需重新登录

6.2 网络安全

检查项状态风险等级详情
Gateway CORS✅ 已加固🟢 低CORS_ALLOWED_ORIGINS 环境变量 + allowCredentials 默认 false
AI 模块 CORS🔴 硬编码🟠 中allowedOriginPatterns("*") + allowCredentials(true) 硬编码在 SseConfig.java
Admin 模块 CORS🔴 硬编码🟠 中allowedOriginPatterns("*") + allowCredentials(true) 硬编码在 AdminSecurityConfig.java
CSRF🔴 已禁用🟡 低Admin 模块 csrf.disable(),SaaS 后台无 Cookie 场景影响较小
XSS🔴 缺失🟠 中全项目无 XSS 过滤器,未使用 Jsoup
HTTPS⚠️ 待确认🟡 中配置文件中未见强制 HTTPS 配置

6.3 数据安全

检查项状态风险等级详情
SQL 注入✅ 已防护🟢 低Druid WallFilter 启用 + MyBatis-Plus 参数化查询
敏感数据加密✅ 良好🟢 低SM4 传输加密 + Argon2id 存储加密
日志脱敏⚠️ 部分🟡 中启动日志打印配置摘要,需确认不泄露密码
文件上传✅ 良好🟢 低等保模块含文件检测
数据库备份✅ 良好🟢 低support 模块含 pg_dump 备份工具

6.4 Druid WallFilter 配置分析

放宽项风险必要性建议
multi-statement-allow🟠 批处理注入Flyway 迁移脚本Flyway 完成后可考虑关闭
comment-allow🟢 低迁移脚本注释可接受
none-base-statement-allow🟢 低PG :: 类型转换可接受

6.5 .env 文件现状

项目状态
EnvLoader.java (加载逻辑)✅ 已实现 — 从工作目录向上查找 .env
EnvFileEnvironmentPostProcessor✅ 已注册 — 各模块 META-INF/spring 中
.env 文件❌ 不存在(合理,不提交到仓库)
.env.example 模板❌ 缺失 — v10.0 标记为"已创建"但文件中未找到

7. 前端评估

7.1 技术栈

技术版本状态
Vue3.4.27
Vue Router4.3.2
Pinia2.1.7
Ant Design Vue4.2.5
Vite5.2.12
Axios1.6.8
ECharts5.4.3
ApexCharts5.3.6
WangEditor (next)5.6.34
html2pdf.js0.10.1
xlsx0.18.5
SM-Crypto (国密)0.3.13
Day.js1.11.13
vue-i18n (国际化)9.13.1
Lodash4.17.21

7.2 路由结构

7.3 可用性评估

检查项状态备注
组件懒加载import.meta.glob 动态导入
keep-alive报表管理页/数据源页缓存
登录 UX✅ 已优化loading 状态流畅,无闪烁
路由守卫Token 校验 + 动态路由构建
错误处理404/403 兜底 + axios 拦截器
响应式⚠️ 未验证缺少移动端适配说明
国际化❌ 缺失依赖 vue-i18n 已安装,但无实际 i18n 配置和语言包

8. 数据库与基础设施

8.1 数据库清单

数据库用途模块迁移脚本
quickblue_system用户/角色/菜单/部门/租户system已迁移
quickblue_support代码生成器/备份/配置support已迁移
quickblue_business业务表单/流程business已迁移
quickblue_aiAI 对话/知识库/AgentaiV5/V9 为空
quickblue_report报表/分类/数据源/日志reportV1.0.0

8.2 中间件依赖

组件作用版本高可用备注
PostgreSQL 18主存储18❌ 单点PG18 非 Flyway 官方支持
Redis缓存+Session+分布式锁7.x❌ 单点Redisson 3.50.0
Nacos注册中心+配置中心2.4.3❌ 单点集群模式未配置
RocketMQ异步日志/pgvector同步2.3.1❌ 单点Spring Boot Starter
Sentinel流控降级1.8.8✅ 仪表盘Nacos 持久化规则
Seata分布式事务2.0.0❌ 未启用依赖存在但无配置

8.3 PostgreSQL 18 兼容性

组件PG18 兼容风险
Spring Boot 3.5.16通过 JDBC 驱动透明
Druid 1.2.25JDBC 层兼容
Flyway 11.0.1⚠️官方仅支持到 PG17
pgvector 0.5.1有 PG18 构建
MyBatis-Plus 3.5.8JDBC 层兼容

Flyway 是唯一风险点,但实测可用,官方预计后续版本加入 PG18 支持。


9. 清单评分

9.1 可用性清单 — 87/100

#能力评分说明
1API 网关9/10路由/鉴权/限流/CORS 均实现;HTTPS 未强制
2服务注册发现8/10Nacos 正常;集群模式未配置
3负载均衡8/10Spring Cloud LoadBalancer,未配置权重
4配置中心9/10Nacos 共享+独享,.env 加载器完善
5熔断降级7/10Sentinel 依赖存在,规则部分落地
6限流8/10Gateway 路由级限流,report-exec: 100/200
7数据库8/10多库多租户,备份工具完善
8缓存8/10Redis 多 DB 隔离,Redisson 3.50.0 分布式锁
9消息队列7/10RocketMQ 异步日志+向量同步
10分布式事务5/10Seata 2.0.0 依赖存在,无配置
11链路追踪5/10Micrometer Tracing + Zipkin 集成但默认关闭

9.2 可扩展性清单 — 85/100

#能力评分说明
1模块化设计9/109 模块 + common 分层,职责清晰
2多租户8/10租户表 + Sa-Token 多账号体系
3插件体系8/10Report SPI + 策略模式
4数据源扩展9/10代码生成器自动发现 + 独立连接池
5内部调用8/10@HttpExchange + RestClient + LoadBalancer
6弹性7/10Resilience4j 2.1.0(RPC 熔断)+ Sentinel 1.8.8(Web 限流)
7国际化4/10vue-i18n 已装,后端+前端无完整多语言

9.3 安全性清单 — 72/100

#能力评分说明
1认证9/10Sa-Token JWT + Redis,Token 续期缺失
2授权8/10RBAC + 数据权限双体系
3传输加密7/10SM4 国密,HTTPS 未强制
4存储加密9/10Argon2id,已彻底外置 SM4 密钥
5SQL 注入防护8/10WallFilter 启用,有 3 项放宽
6CORS 安全5/10Gateway 已加固,AI/Admin 仍硬编码
7XSS 防护2/10无专用过滤器
8CSRF 防护2/10Admin 模块显式禁用
9日志安全6/10启动日志可能输出配置摘要
10三级等保9/10双因子/密码复杂度/文件检测/定期改密

9.4 可观测性清单 — 55/100

#能力评分说明
1健康检查8/10Actuator + Spring Boot Admin
2日志7/10SLF4J + Logback,统一格式
3链路追踪3/10默认关闭,未推广
4指标监控6/10Druid 监控页 + Sentinel 仪表盘
5告警3/10无配置化告警规则
6审计日志6/10Sa-Token 登录日志,操作审计部分

9.5 工程质量清单 — 50/100

#能力评分说明
1代码规范8/10Lombok/注解统一,少量 TODO 桩代码
2单元测试0/10无测试文件
3集成测试0/10无测试文件
4CI/CD4/10无配置(仅 Maven 编译脚本)
5API 文档8/10Knife4j 全模块覆盖
6数据库版本管理7/10Flyway 各模块独立,AI 为空脚本
7配置管理8/10Nacos + .env 双重机制

10. 风险与改进建议

10.1 风险矩阵

#风险项严重度概率风险等级发现版本状态
R1CORS 硬编码 — AI/Admin 模块 * + credentials:true🟠 中高🔴 需修复v9.0❌ 三版本未修复
R2XSS 缺失 — 无输入/输出过滤🟠 中高🟠 中v9.0❌ 三版本未修复
R3AI 桩代码 — Agent CRUD / 会话消息 TODO🟡 中🟠 中v10.0🟡 无变化
R4AI 空迁移脚本 — V5/V9 为 0B 空文件🟡 中🟠 中v10.0❌ 无变化
R5Report 权限 — 非管理员无细粒度权限🟡 中🟠 中v11.0🆕 发现
R6测试覆盖 — 全项目 0% 测试🟠 中高🟠 中v9.0❌ 三版本未修复
R7中间件单点 — PG/Redis/Nacos/RocketMQ 单节点🟠 中高🟡 低v9.0❌ 基础设施
R8Token 续期 — 无静默刷新🟡 中🟡 低v9.0❌ 未实现
R9CI/CD — 无自动化流水线🟡 中🟡 低v9.0❌ 未配置
R10.env.example 缺失 — 新人不知环境变量🟢 低🟢 低v11.0🆕 发现

10.2 改进建议(按优先级排序)

#改进项影响工作量优先级
1CORS 安全加固 — AI/Admin 模块 CORS 改为环境变量注入,移除硬编码 * + allowCredentials安全风险0.5d🔴 极高
2XSS 过滤器 — Gateway 或各模块添加 WebFlux 兼容的 XSS 过滤器安全加固1d🔴 高
3AI Agent CRUD 完善 — 实现 list/create/update/delete + Session 消息存储查询AI 功能完整性2d🔴 高
4AI 迁移脚本 — 填写 V5/V9 实际 SQL,创建相关表数据一致性1d🔴 高
5创建 .env.example — 列出所有必需环境变量和说明开发者体验0.5d🟠 中高
6Report 权限完善 — 实现 ReportStpInterface 非管理员权限查询权限安全1d🟠 中高
7Token 静默续期 — 免打扰的 Token 刷新机制用户体验1d🟠 中
8中间件高可用 — PG 主从、Redis Sentinel、Nacos 集群基础设施5d🟡 中
9核心模块单元测试 — system/support 核心 Service 测试工程质量3d🟡 中
10CI/CD 流水线 — Jenkins/GitHub Actions 编译+部署效率3d🟡 中

10.3 短期内最值得投入的 Top 3

优先级改进项理由
1CORS 安全加固AI/Admin 两处硬编码,修复成本低(0.5d),安全收益高
2AI Agent CRUD 完善桩代码已存在两个版本,影响功能交付(2d)
3创建 .env.example降低新人上手门槛,支持 SM4/Gateway 安全配置推广(0.5d)

11. 总结

11.1 整体评估

维度v10.0v11.0变化
架构完整性8589+4 (Report 稳定 + 框架大版本升级)
安全性6575+10 (4 项 P0 验证通过)
可用性8286+4 (自动发现 + Seata 引入 + UX 优化)
可观测性7585
工程质量4548+3 (配置管理改进)
综合6671+5

11.2 亮点

  1. 技术栈大版本升级 — Spring Boot 3.5.16 + Spring Cloud 2025.0.3 + Spring Cloud Alibaba 2025.0.0.0,从 3.2.x 跨越 2 个大版本

  2. v10.0 四项 P0 安全修复全部落地且验证通过 — SM4 密钥外置、Gateway Fail-Closed、Druid WallFilter、密码标记

  3. 代码生成器自动发现 — 突破性改进,消除硬编码维护负担

  4. Report 报表模块完整 — 从"开发中"到功能完善的 BI 引擎

  5. 三级等保体系 — 双因子认证、密码复杂度、文件检测齐全

  6. EnvLoader 机制 — 统一的 .env 加载,支持多策略查找

  7. 基础设施升级 — Sa-Token 1.44.0、Druid 1.2.25、MyBatis-Plus 3.5.8、Nacos 2.4.3等全面升级

11.3 不足

  1. CORS 安全 — 三版本未修复,AI/Admin 仍硬编码不安全配置

  2. XSS 缺失 — 三个版本无任何 XSS 防护

  3. AI 模块半成品 — Agent CRUD 桩代码 + 空迁移脚本,影响交付

  4. 测试覆盖 0% — 随着代码规模增长,缺乏自动化验证的风险在放大

  5. 中间件单点 — 所有中间件单节点运行,无高可用方案

11.4 下版本展望 (v12.0)

建议 v12.0 聚焦:


12. v12.0 架构演进展望:融入"一切皆插件"设计思想

本章为前瞻性规划章节,参考 DeepSeek Harness(DSH)的"一切皆插件"架构思想,分析其对 QuickBlue 的适配性、核心理论提炼与渐进式整合路线。本章内容不包含任何代码改动承诺,仅作为 v12.0 起架构演进的指导方针。

12.1 演进动机

v11.0 评估显示 AI 能力面持续膨胀(模型、工具、技能、检索、Agent 循环、会话、沙箱、调度、观测),但现有扩展机制分散、各自为政:

#扩展点现有实现形态与插件模型的差距
1模型ChatModelFactory + ChatModelFactoryManager策略模式,6 大供应商编译期装配,无运行时热插拔
2工具ToolRegistry + airag_toolbuiltin/http/script 三态最接近热插拔,但仅限工具域
3Agent 循环AgentScopeService + ObservabilityMiddleware5 个中间件钩子仅覆盖 AgentScope 单域
4代码生成器CodeGeneratorTemplateService + 16 个 *VariableServicemap 注册最像"插件表"的现成范本
5RAG 检索RetrieverFactory + SimpleRetriever工厂 + 实现检索实现仍为 TODO,未收口
6技能空白
7沙箱空白
8会话事件流AiragSessionServiceImpl桩代码空白
9流程编排LiteFlow 依赖 + airag_flow已建表零接入资产闲置

核心矛盾:能力的增长方式不可控——新增一种能力需要改动既有 Service/工厂/表结构,多租户差异化更是无从谈起。

12.2 参考范式:DeepSeek Harness 的"一切皆插件"

DSH 是什么:DeepSeek 官方的 Agent 开发运行时(Node/TS),核心主张"一切皆插件"——模型、工具、技能、会话、沙箱、存储、循环、调度、UI 九大类能力全部以插件形态存在。

内核:Cordis 元框架,其核心理论可提炼为三点:

  1. 插件一等公民 — 能力即插件,插件即模块化的最小单位;内核不关心插件内部逻辑,只关心插件的生命周期与装配

  2. 内核只做编排 — 插件生命周期管理(加载 / 启用 / 禁用 / 卸载) + 依赖声明与解析(显式 deps,拓扑排序装配) + 可逆效果(每个插件提供逆操作,卸载时完整回滚副作用)

  3. 组合优于继承 — 能力集由"装配了哪些插件"决定,而非"继承了哪个基类";同一能力可多实例、可按租户差异化组合

与 Spring 原生机制的区别:Spring SPI / Starter 本质是编译期装配 + 启动时一次性生效;Cordis 强调运行时热插拔 + 可逆卸载,这是 QuickBlue 当前缺失的关键能力。

12.3 可行性分析

路径方案结论
A:直接移植 DSH将 Node/TS 插件运行时嵌入 Spring 生态不可行 — 技术栈隔离(TS/Node vs Java/Spring),Cordis 无 JVM 官方端口,双运行时维护成本极高
B:Java 侧复刻 Cordis 范式(推荐)自研轻量 PluginRegistry,提炼三条核心理论落地可行 — 内核保持 300~500 行,只做生命周期 / 依赖解析 / 可逆回滚,不做重型框架
C:sidecar 混合DSH 作为可选推理引擎,通过 MCP / HTTP 桥接🟡 可选 — 仅在需要深度 Agent 编排的租户场景启用,不作为主架构

推荐路径 B:收益与风险比最优——不引入第二运行时,复用 Spring 生态,且 9 大能力统一收口为 SPI 后,未来若需接入 DSH 也只需实现一个 Adapter。

12.4 目标架构:PluginRegistry 内核设计

兼容策略(关键原则):既有 ChatModelFactoryManagerToolRegistryRetrieverFactory不推倒重来,而是通过 Adapter 桥接为"内置插件",收敛到单一注册口。存量代码零破坏,逐步迁移。

12.5 整合收益

收益说明
统一注册机制5 处散落 map/工厂收敛为单一 PluginRegistry,消除各自为政
真热插拔运营期动态启用/禁用能力,无需发版即可调整 Agent 能力面
插件级可观测Trajectory 记录每个插件的执行轨迹,问题定位到插件粒度
租户级组合按租户装配不同插件集,SaaS 差异化能力交付
盘活 LiteFlow 资产airag_flow 表 + 流程引擎与插件编排融合,流程即插件组合
降低接入成本新增能力 = 新增一个 Plugin 实现类,无需改动既有 Service

12.6 渐进式整合路线(5 阶段)

阶段版本目标范围
0v12.0存量收尾 + 内核奠基完成存量 P0(CORS/XSS/AI CRUD);定义 Plugin SPI 规范 + PluginRegistry 骨架(生命周期/依赖解析/回滚)
1v12.1工具域试点ToolRegistry → Plugin 化,airag_tool 作为插件存储层,运行期动态启停验证
2v12.2模型 + 检索ChatModelFactoryManagerRetrieverFactory 桥接接入,模型/检索可按插件配置切换
3v13.x能力全收口补齐技能 / 会话事件流 / 沙箱空白,Agent 循环统一收口
4v14.x编排与产品化租户级插件编排 + 管理 UI + LiteFlow 流程融合

各阶段验收标准

12.7 风险与对策

风险对策
过度设计 / 重框架化内核严格控制在 300~500 行,先试点(工具域)后推广,宁缺毋滥
热插拔并发问题插件状态机 + 启用/禁用期间请求排空,规避状态不一致
与 Spring 生态割裂插件内部自由使用 Spring Bean,PluginRegistry 只做编排不接管容器
迁移成本失控全部走 Adapter 桥接逐步替换,禁止一次性重写

12.8 v12.0 行动清单(插件部分)

#事项工作量优先级
1定义 Plugin SPI 与生命周期规范(纯设计文档,先行评审)0.5d🔴 高
2PluginRegistry 内核骨架:生命周期 + 依赖解析 + 可逆回滚2d🔴 高
3工具域试点:ToolRegistry 首个 Plugin Adapter + 运行期启停验证1d🟠 中高
4存量 P0(CORS / XSS / AI CRUD)先行收尾见 10.2🔴 高

说明:v12.0 的插件部分以"设计 + 试点"为主,不追求一步到位的全量改造;全量收口按 12.6 路线分阶段推进,每阶段均可独立验收、独立回退。


报告生成: QuickBlue 架构评估组
技术栈: Spring Boot 3.5.16 + Spring Cloud 2025.0.3 + Spring Cloud Alibaba 2025.0.0.0 + PostgreSQL 18 + JDK 21 + Vue 3.4
项目版本: QuickBlue 4.0.0

← 杩斿洖鏂囨。棣栭〉 ← 返回文档首页