运维系统jdk21升级
Go to file
75681 293198b12d 实现真正的MCP (Model Context Protocol) 版本
不改动原有流程的基础上,新增了支持动态工具调用的MCP版本:

## 主要变更

### 1. 核心MCP组件
- 新增 MCPServer: 提供MCP工具的注册、管理和执行
- 新增 MCPTool: MCP工具定义数据结构
- 新增 MCPResponse: MCP响应统一格式
- 新增 AIAnswerServiceMCP: 基于MCP的AI回答生成服务
- 新增 AIAnswerMCPController: MCP版本REST API控制器

### 2. MCP工具支持
- repair_query: 根据工单ID查询工单详细信息
- repair_feedback_query: 查询工单feedback处理结果
- similarity_search: 基于文本相似度检索相似案例
- knowledge_query: 知识库精确匹配查询

### 3. LLM集成扩展
- QwenChatService: 增加MCP工具调用支持
- ChatRequest/ChatResponse: 添加MCP相关字段
- 实现动态工具调用和结果整合逻辑

### 4. API端点
- GET /api/ai/mcp/tools: 获取可用MCP工具列表
- POST /api/ai/mcp/answer: MCP版本AI回答生成
- POST /api/ai/mcp/answer/stream: MCP版本流式回答
- POST /api/ai/mcp/compare: 对比MCP与原版本结果
- GET /api/ai/mcp/test/{toolName}: 测试特定MCP工具

### 5. 配置支持
- application.yml: 添加完整的MCP配置项
- 支持工具启用/禁用、缓存、超时等配置

## 技术特点

1. **动态工具调用**: LLM可根据需要动态选择和调用工具
2. **数据源一致**: 使用与原版本完全相同的数据库查询
3. **优先级保持**: 维持feedback > 相似案例 > 通用建议的优先级
4. **完整监控**: 记录工具调用日志、执行时间、成功率等
5. **降级机制**: 工具调用失败时自动降级处理
6. **无侵入性**: 原有功能完全不受影响,通过配置控制启用

## 架构对比

- 原版本: 硬编码数据库查询 → 预处理prompt → LLM
- MCP版本: LLM动态调用MCP工具 → 实时数据获取 → 智能回答生成

## 文档
- 新增 MCP_IMPLEMENTATION.md: 详细的实现文档和使用指南

这个实现确保了结果的一致性,同时为未来的功能扩展提供了更灵活的架构基础。
2025-08-17 21:12:46 +08:00
.vscode 优化向量化服务性能:实现高效并行处理和批量API调用 2025-08-14 15:35:54 +08:00
db 优化向量化服务性能:实现高效并行处理和批量API调用 2025-08-14 15:35:54 +08:00
src 实现真正的MCP (Model Context Protocol) 版本 2025-08-17 21:12:46 +08:00
.gitignore 优化AI答案生成系统和修复多项关键问题 2025-08-16 14:55:00 +08:00
COMPILATION_FIXES_SECURITY_REVIEW.md 优化向量化服务性能:实现高效并行处理和批量API调用 2025-08-14 15:35:54 +08:00
ERROR_CAPTURE_GUIDE.md 实现可配置错误日志捕获和管理系统 2025-08-12 14:49:55 +08:00
LLM_STREAMING_SUMMARY.md 优化向量化服务性能:实现高效并行处理和批量API调用 2025-08-14 15:35:54 +08:00
MCP_IMPLEMENTATION.md 实现真正的MCP (Model Context Protocol) 版本 2025-08-17 21:12:46 +08:00
README.md 优化向量化服务性能:实现高效并行处理和批量API调用 2025-08-14 15:35:54 +08:00
frontend-api-documentation.md 优化向量化服务性能:实现高效并行处理和批量API调用 2025-08-14 15:35:54 +08:00
pom.xml bug修复、embedding计算相关逻辑 2025-08-14 18:23:36 +08:00

README.md

YouFool DevOps 广东运维管理系统 (CW)

Spring Boot Java PostgreSQL SpringDoc OpenAPI

🎯 项目概览

YouFool DevOps 运维管理系统(广东)是基于 Spring Boot 框架开发的企业级运维管理平台。

核心特性

  • 🔧 运维报障管理: 完整的故障报告、处理流程和状态跟踪
  • 👥 组织架构管理: 用户、工程师信息管理和权限控制
  • 📋 任务分配系统: 领导任务分配和工作流管理
  • 📊 数据统计分析: 多维度数据统计和报表生成
  • 🔄 实时通信: WebSocket 支持的实时消息推送
  • 📝 错误日志管理: 可配置的错误捕获和日志管理系统

🏗️ 技术架构

运行环境

  • Java: JDK 21 (OpenJDK)
  • 框架: Spring Boot 2.7.18
  • 构建工具: Maven 3.x
  • 容器: Apache Tomcat 9.0.83

数据层

  • 数据库: PostgreSQL 11.7
  • 连接池: Druid 1.2.23
  • ORM: MyBatis-Plus 3.5.7
  • 数据源: 双数据源架构 (devops + youfool)

核心依赖

  • 企业框架: youfool-framework-springboot 1.1.1-SNAPSHOT
  • 安全框架: Apache Shiro 1.12.0
  • API文档: SpringDoc OpenAPI 1.8.0
  • HTTP客户端: Forest 1.5.16
  • Excel处理: EasyExcel 2.2.6 + Spire.XLS 3.9.1

技术亮点

  • JDK 21 现代化升级: 从 JDK 1.8 升级至 JDK 21支持最新 Java 特性
  • SpringDoc OpenAPI: 从 SpringFox 迁移至现代化 API 文档解决方案
  • 双数据源架构: 支持 devops 和 youfool 两个数据源的事务管理
  • 异步错误日志: 高性能的错误日志捕获和管理系统

📂 项目结构

src/main/java/com/chinaweal/youfool/devops/
├── base/                    # 基础环境模块
│   ├── controller/         # 基础数据控制器 (字典、任务、错误日志等)
│   ├── entity/            # 基础实体类
│   └── service/           # 基础服务层
├── repair/                 # 运维报障模块 (核心业务)
│   ├── controller/        # 报障管理控制器
│   ├── entity/           # 报障相关实体类
│   ├── excel/            # Excel 导入导出
│   ├── scheduled/        # 定时任务
│   └── service/          # 业务服务层
├── org/                   # 组织架构模块
│   ├── controller/       # 用户和工程师管理
│   ├── entity/          # 用户实体类
│   └── business/        # 业务系统集成
├── leaderassign/          # 领导分配模块
│   ├── controller/      # 任务分配控制器
│   └── entity/         # 分配任务实体
├── websocket/            # WebSocket 模块
│   └── server/          # 实时通信服务
├── config/              # 配置类
├── util/               # 工具类
└── DevOpsApplication.java # 应用主类

🚀 快速开始

环境要求

  • JDK 21+
  • PostgreSQL 11+
  • Maven 3.6+

启动应用

# 开发环境启动
mvn clean package -DskipTests=true
mvn spring-boot:run -Dspring-boot.run.profiles=dev

访问地址

API文档分组

  • 组织架构: 用户和工程师管理接口
  • 运维报障: 核心业务功能接口
  • 基础环境: 字典和基础数据接口
  • WebSocket测试环境: 实时通信测试接口
  • 领导分配: 任务分配相关接口

📊 配置说明

环境配置

  • application-dev.yml: 开发环境配置
  • application-prod.yml: 生产环境配置
  • application-local.yml: 本地开发配置

错误日志配置

系统支持完整的错误日志管理,可通过 error-log.* 配置项控制:

error-log:
  enabled: true                    # 全局开关
  startup-enabled: true           # 启动错误日志
  runtime-enabled: true           # 运行时错误日志  
  database-enabled: true          # 数据库错误日志
  business-enabled: true          # 业务错误日志
  log-directory: logs/errors      # 日志目录
  async-write: true              # 异步写入

🛡️ 系统监控

错误日志管理

  • Web界面: /api/error-logs/ 提供完整的日志管理功能
  • 日志分类: 启动、运行时、数据库、业务错误分类存储
  • 自动清理: 支持按天数自动清理历史日志
  • 性能优化: 异步写入,不影响业务性能

数据库健康检查

  • 双数据源监控: devops 和 youfool 数据源健康状态检查
  • 连接信息展示: 启动时显示数据库连接详情
  • 表访问测试: ENGINEER 表数据访问验证

Druid 连接池监控

  • 访问地址: http://localhost:8080/druid
  • 监控内容: SQL执行统计、连接池状态、慢SQL分析
  • 登录信息: admin / 123456

🔒 安全特性

  • Apache Shiro: 基于角色的访问控制 (RBAC)
  • JWT Token: 10小时后端令牌生命周期
  • RSA 加密: 敏感数据加密传输
  • SM3 哈希: 密码安全哈希存储
  • 请求拦截: 全局登录状态验证