主要修复: 1. 创建统一Redis连接管理器 (src/core/redis_manager.py) - 单例模式管理所有Redis连接 - 懒加载连接,避免重复初始化 - 线程安全的连接管理 2. 更新所有Redis使用模块 - TokenMonitor: 使用统一Redis管理器 - AISuccessMonitor: 移除重复Redis连接代码 - SystemOptimizer: 统一Redis连接管理 - ConversationHistoryManager: 使用统一Redis管理器 3. 修复DialogueManager重复初始化 - 使用懒加载属性(@property)避免重复创建监控器 - 只有在实际使用时才创建实例 4. 优化启动性能 - 避免重复的Redis连接创建 - 消除重复的TSP助手初始化 - 减少启动时的日志输出 技术改进: - 单例模式Redis管理器 - 懒加载组件初始化 - 统一连接管理 - 线程安全设计 解决启动卡顿问题,提升系统响应速度
Web应用蓝图架构
概述
本项目采用Flask蓝图(Blueprint)架构,将原本1953行的单一app.py文件重构为多个模块化的蓝图,提高了代码的可维护性和可扩展性。
架构改进
重构前
- app.py: 1953行,包含所有API路由
- 代码混乱,有乱码问题
- 难以维护和扩展
- 单文件过长导致错误
重构后
- app.py: 674行,只包含核心路由和蓝图注册
- blueprints/: 模块化的蓝图目录
alerts.py: 预警管理相关APIworkorders.py: 工单管理相关APIconversations.py: 对话管理相关APIknowledge.py: 知识库管理相关APImonitoring.py: 监控相关APIsystem.py: 系统管理相关API
蓝图模块说明
1. alerts.py - 预警管理
/api/alerts- 获取预警列表/api/alerts(POST) - 创建预警/api/alerts/statistics- 获取预警统计/api/alerts/<id>/resolve- 解决预警
2. workorders.py - 工单管理
/api/workorders- 工单CRUD操作/api/workorders/import- 工单导入/api/workorders/<id>/ai-suggestion- AI建议生成/api/workorders/<id>/human-resolution- 人工解决方案/api/workorders/<id>/approve-to-knowledge- 审批入库
3. conversations.py - 对话管理
/api/conversations- 对话历史管理/api/conversations/<id>- 对话详情/api/conversations/clear- 清空对话历史
4. knowledge.py - 知识库管理
/api/knowledge- 知识库CRUD操作/api/knowledge/search- 知识库搜索/api/knowledge/upload- 文件上传生成知识/api/knowledge/verify- 知识验证
5. monitoring.py - 监控管理
/api/token-monitor/*- Token使用监控/api/ai-monitor/*- AI性能监控- 监控数据统计和图表
6. system.py - 系统管理
/api/settings- 系统设置/api/system-optimizer/*- 系统优化/api/backup/*- 数据备份/api/database/status- 数据库状态
优势
- 模块化: 每个功能模块独立,便于维护
- 可扩展: 新增功能只需创建新的蓝图
- 代码复用: 蓝图可以在多个应用中复用
- 团队协作: 不同开发者可以独立开发不同模块
- 错误隔离: 单个模块的错误不会影响整个应用
- 测试友好: 可以独立测试每个蓝图模块
使用方式
# 注册蓝图
app.register_blueprint(alerts_bp)
app.register_blueprint(workorders_bp)
app.register_blueprint(conversations_bp)
app.register_blueprint(knowledge_bp)
app.register_blueprint(monitoring_bp)
app.register_blueprint(system_bp)
文件结构
src/web/
├── app.py # 主应用文件 (674行)
├── app_backup.py # 原文件备份
├── blueprints/ # 蓝图目录
│ ├── __init__.py
│ ├── alerts.py # 预警管理
│ ├── workorders.py # 工单管理
│ ├── conversations.py # 对话管理
│ ├── knowledge.py # 知识库管理
│ ├── monitoring.py # 监控管理
│ ├── system.py # 系统管理
│ └── README.md # 架构说明
├── static/ # 静态文件
└── templates/ # 模板文件
注意事项
- 每个蓝图都有独立的URL前缀
- 蓝图之间通过共享的数据库连接和模型进行数据交互
- 懒加载模式避免启动时的重复初始化
- 错误处理统一在蓝图内部进行
- 保持与原有API接口的兼容性