Files
SuperBizAgent-java/openspec/changes/phase-1-infrastructure/tasks.md
T
zhuyongxin ea77518880 feat(phase1): 完成文本提取和文档分块服务
Task 5.1: TextExtractor 服务
- 创建 TextExtractorService(仅支持 .md 和 .txt)
- 其他格式(.docx、.pdf)需通过外部转换服务先转为 Markdown
- 支持 UTF-8 编码的纯文本提取
- 提供文件格式验证方法

Task 5.2: 文档分块服务适配
- 修改 DocumentChunk DTO:添加 @Builder 支持
- 字段重命名:startIndex/endIndex → startOffset/endOffset
- 修复 DocumentChunkService 中的三处构造调用
- 使用 builder 模式替代构造函数

技术决策:
- 简化文本提取,只支持 Markdown 和纯文本
- 复杂格式转换由外部服务处理(分离关注点)
- 统一使用 Lombok @Builder 简化对象构建

编译验证:BUILD SUCCESS

Progress: 25/33 tasks completed (76%)
2026-06-23 15:15:10 +08:00

2.4 KiB

Phase 1 Infrastructure - Tasks

1. 数据库与依赖

  • 1.1 添加依赖到 pom.xml (spring-boot-starter-data-jpa, mysql-connector-j, flyway-core, spring-boot-starter-data-redis)
  • 1.2 创建 Flyway 迁移脚本 V001__create_diagnosis_record.sql
  • 1.3 创建 Flyway 迁移脚本 V002__create_case_library.sql
  • 1.4 创建 Flyway 迁移脚本 V003__create_api_document.sql
  • 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 服务 (仅支持 .md 和 .txt,其他格式通过外部转换服务)
  • 5.2 文档分块服务 (DocumentChunkService 已存在,已适配新 DTO)
  • 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 安装说明与本地开发指南)