ai-legal-assistant/docs/plans/2026-05-01-ai-legal-assistant-plan.md
root 830b33c4b3 docs: add implementation plan for AI legal assistant
- 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>
2026-05-01 03:18:42 +08:00

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 实现阶段。