- Define 7 implementation batches - Specify tasks with verification criteria - Follow TDD approach with 2-5 min task granularity Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
6.4 KiB
6.4 KiB
AI 法律助手系统实现计划
版本: 1.0 日期: 2026-05-01 关联设计: 设计文档
实现策略
采用 TDD 方式,按模块逐步实现。每个任务控制在 2-5 分钟内完成。
批次 1: 项目初始化与核心基础
任务 1.1: 创建项目目录结构
- 目标: 搭建前后端项目骨架
- 文件:
backend/,frontend/ - 验证: 目录结构完整
- 完成判定: 所有目录和配置文件存在
任务 1.2: 初始化后端依赖
- 目标: 创建 requirements.txt 并安装依赖
- 文件:
backend/requirements.txt - 验证:
pip install -r requirements.txt成功 - 完成判定: 依赖安装无错误
任务 1.3: 配置核心模块
- 目标: 实现配置管理和数据库连接
- 文件:
backend/app/core/config.py,backend/app/core/database.py - 验证: 单元测试通过
- 完成判定: 配置加载和数据库连接测试通过
任务 1.4: 实现用户模型和认证
- 目标: 用户表和 JWT 认证
- 文件:
backend/app/models/user.py,backend/app/core/security.py - 验证: 单元测试通过
- 完成判定: 用户创建、密码加密、Token 生成测试通过
批次 2: 法律法规模块
任务 2.1: 创建法律数据模型
- 目标: Law 和 LawArticle 模型
- 文件:
backend/app/models/law.py - 验证: 单元测试通过
- 完成判定: 模型字段正确,关系完整
任务 2.2: 实现法律 CRUD 服务
- 目标: 法律法规增删改查
- 文件:
backend/app/services/law_service.py - 验证: 单元测试通过
- 完成判定: CRUD 操作测试通过
任务 2.3: 实现向量存储服务
- 目标: 使用 sqlite-vss 存储向量
- 文件:
backend/app/services/vector_service.py - 验证: 单元测试通过
- 完成判定: 向量插入和检索测试通过
任务 2.4: 实现法律检索 API
- 目标: 关键词 + 语义检索
- 文件:
backend/app/api/v1/laws.py - 验证: 单元测试通过
- 完成判定: API 返回正确结果
任务 2.5: 实现法律问答 API
- 目标: LLM 法律问答
- 文件:
backend/app/services/llm_service.py,backend/app/api/v1/laws.py - 验证: 单元测试通过
- 完成判定: Mock LLM 返回正确格式
批次 3: 法律研判模块
任务 3.1: 创建研判数据模型
- 目标: LegalAnalysis 和 Case 模型
- 文件:
backend/app/models/analysis.py - 验证: 单元测试通过
- 完成判定: 模型字段正确
任务 3.2: 实现研判服务
- 目标: 研判记录管理和 AI 生成
- 文件:
backend/app/services/analysis_service.py - 验证: 单元测试通过
- 完成判定: CRUD 和 AI 生成测试通过
任务 3.3: 实现研判 API
- 目标: 研判相关 API 端点
- 文件:
backend/app/api/v1/analyses.py - 验证: 单元测试通过
- 完成判定: API 测试通过
批次 4: 案件评审模块
任务 4.1: 创建案件数据模型
- 目标: CaseReview 和 CaseReviewFlow 模型
- 文件:
backend/app/models/case.py - 验证: 单元测试通过
- 完成判定: 模型字段正确
任务 4.2: 实现案件服务
- 目标: 案件和评审管理
- 文件:
backend/app/services/case_service.py - 验证: 单元测试通过
- 完成判定: CRUD 测试通过
任务 4.3: 实现案件 API
- 目标: 案件相关 API 端点
- 文件:
backend/app/api/v1/cases.py - 验证: 单元测试通过
- 完成判定: API 测试通过
批次 5: 合同管理模块
任务 5.1: 创建合同数据模型
- 目标: Contract, ContractTemplate, ContractApproval 模型
- 文件:
backend/app/models/contract.py - 验证: 单元测试通过
- 完成判定: 模型字段正确
任务 5.2: 实现合同服务
- 目标: 合同 CRUD 和审批流程
- 文件:
backend/app/services/contract_service.py - 验证: 单元测试通过
- 完成判定: CRUD 和审批测试通过
任务 5.3: 实现合同 API
- 目标: 合同相关 API 端点
- 文件:
backend/app/api/v1/contracts.py - 验证: 单元测试通过
- 完成判定: API 测试通过
任务 5.4: 实现文件存储服务
- 目标: 合同文件上传和存储
- 文件:
backend/app/services/file_service.py - 验证: 单元测试通过
- 完成判定: 文件上传测试通过
批次 6: 电子签名模块
任务 6.1: 创建签名数据模型
- 目标: SignatureRequest, Signature, SignatureAudit 模型
- 文件:
backend/app/models/signature.py - 验证: 单元测试通过
- 完成判定: 模型字段正确
任务 6.2: 实现签名服务
- 目标: 签名请求和签名执行
- 文件:
backend/app/services/signature_service.py - 验证: 单元测试通过
- 完成判定: 签名流程测试通过
任务 6.3: 实现签名 API
- 目标: 签名相关 API 端点
- 文件:
backend/app/api/v1/signatures.py - 验证: 单元测试通过
- 完成判定: API 测试通过
任务 6.4: 实现签名验证
- 目标: 签名哈希验证
- 文件:
backend/app/services/signature_service.py - 验证: 单元测试通过
- 完成判定: 验证逻辑测试通过
批次 7: 集成与部署
任务 7.1: 创建应用入口
- 目标: FastAPI main.py
- 文件:
backend/app/main.py - 验证: 应用启动成功
- 完成判定:
uvicorn app.main:app启动无错误
任务 7.2: 创建 Docker 配置
- 目标: Dockerfile 和 docker-compose
- 文件:
backend/Dockerfile,docker-compose.yml - 验证: 构建成功
- 完成判定:
docker-compose up成功
任务 7.3: 创建环境配置示例
- 目标: .env.example
- 文件:
.env.example - 验证: 文件存在
- 完成判定: 文件包含所有必要配置项
验证命令
# 运行所有单元测试
cd backend && pytest tests/unit -v
# 运行覆盖率报告
pytest tests/unit --cov=app --cov-report=term-missing
# 启动开发服务器
uvicorn app.main:app --reload
# Docker 构建
docker-compose build
docker-compose up -d
提交策略
每个批次完成后提交一次,确保每个提交是独立可运行的。
计划文档完成,准备进入 TDD 实现阶段。