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>
This commit is contained in:
parent
cc3f539067
commit
830b33c4b3
224
docs/plans/2026-05-01-ai-legal-assistant-plan.md
Normal file
224
docs/plans/2026-05-01-ai-legal-assistant-plan.md
Normal file
@ -0,0 +1,224 @@
|
|||||||
|
# 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 实现阶段。**
|
||||||
Loading…
x
Reference in New Issue
Block a user