From 830b33c4b3a6377a578f0b0409e869192931b912 Mon Sep 17 00:00:00 2001 From: root Date: Fri, 1 May 2026 03:18:42 +0800 Subject: [PATCH] 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 --- .../2026-05-01-ai-legal-assistant-plan.md | 224 ++++++++++++++++++ 1 file changed, 224 insertions(+) create mode 100644 docs/plans/2026-05-01-ai-legal-assistant-plan.md diff --git a/docs/plans/2026-05-01-ai-legal-assistant-plan.md b/docs/plans/2026-05-01-ai-legal-assistant-plan.md new file mode 100644 index 0000000..56288a5 --- /dev/null +++ b/docs/plans/2026-05-01-ai-legal-assistant-plan.md @@ -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 实现阶段。**