# Phase 1 Infrastructure - Tasks ## 1. 数据库与依赖 - [x] 1.1 添加依赖到 pom.xml (spring-boot-starter-data-jpa, mysql-connector-j, flyway-core, spring-boot-starter-data-redis) - [x] 1.2 创建 Flyway 迁移脚本 V001__create_diagnosis_record.sql - [x] 1.3 创建 Flyway 迁移脚本 V002__create_case_library.sql - [x] 1.4 创建 Flyway 迁移脚本 V003__create_api_document.sql - [x] 1.5 配置 MySQL + Redis + Flyway (application.yml) ## 2. JPA 实体与 Repository - [ ] 2.1 创建 JPA 实体类 DiagnosisRecord - [ ] 2.2 创建 JPA 实体类 CaseLibrary - [ ] 2.3 创建 JPA 实体类 ApiDocument - [ ] 2.4 创建 DiagnosisRecordRepository 接口 - [ ] 2.5 创建 CaseLibraryRepository 接口 - [ ] 2.6 创建 ApiDocumentRepository 接口 - [ ] 2.7 Repository 单元测试 (DiagnosisRecordRepositoryTest) - [ ] 2.8 Repository 单元测试 (CaseLibraryRepositoryTest) - [ ] 2.9 Repository 单元测试 (ApiDocumentRepositoryTest) ## 3. 会话管理 - [ ] 3.1 创建 SessionManager 接口 - [ ] 3.2 创建 SessionContext 数据类 - [ ] 3.3 创建 ToolCall 数据类 - [ ] 3.4 创建 RedisSessionManager 实现 - [ ] 3.5 创建 SessionConfiguration 配置类 - [ ] 3.6 Redis 会话管理单元测试 (RedisSessionManagerTest) ## 4. 代码结构重构 - [ ] 4.1 包名重构 (org.example → com.superbiz.agent) - [ ] 4.2 分层结构优化 (controller/service/repository/domain/tool/config/exception) - [ ] 4.3 创建 DTO 类 (DiagnosisRequest, DiagnosisResponse, DocumentUploadRequest, DocumentQueryResponse, Result) ## 5. 文档管理服务 - [ ] 5.1 创建 TextExtractor 服务 (支持 .txt, .md, .docx, .pdf) - [ ] 5.2 文档分块服务 (DocumentChunkService, chunk_size=500, overlap=50) - [ ] 5.3 文档上传接口 (DocumentController#upload, DocumentService#uploadDocument) - [ ] 5.4 文档查询接口 (DocumentController#query, DocumentService#queryDocuments) - [ ] 5.5 文档删除接口 (DocumentController#delete, DocumentService#deleteDocument) - [ ] 5.6 混合检索工具 (DocumentSearchTool: 精确匹配 + 语义检索 + RRF 融合) - [ ] 5.7 文档管理集成测试 (DocumentIntegrationTest) ## 6. 全局完善 - [ ] 6.1 统一异常处理 (GlobalExceptionHandler, SessionNotFoundException, DocumentProcessException) - [ ] 6.2 Docker Compose 配置 (MySQL + Redis + Milvus) - [ ] 6.3 更新 README.md (Phase 1 安装说明与本地开发指南)