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

225 lines
6.4 KiB
Markdown

# AI 法律助手系统实现计划
**版本**: 1.0
**日期**: 2026-05-01
**关联设计**: [设计文档](./2026-05-01-ai-legal-assistant-design.md)
---
## 实现策略
采用 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`
- **验证**: 文件存在
- **完成判定**: 文件包含所有必要配置项
---
## 验证命令
```bash
# 运行所有单元测试
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 实现阶段。**