Files
autoclip/docs/REFACTOR_IMPLEMENTATION_PLAN.md
2025-08-03 01:55:46 +08:00

5.7 KiB
Raw Blame History

🚀 AI切片项目重构实施规划

📋 项目现状评估

优势分析

  1. 已有完整的6步处理流水线
  2. 支持多种视频分类和Prompt模板
  3. 前端React界面已经比较完善
  4. 配置管理系统相对完善
  5. 有详细的架构文档和重构计划

主要问题

  1. 后端架构分散存在多个API文件
  2. 缺乏数据持久化存储
  3. 服务模块化程度不够
  4. 前后端任务调度未打通
  5. 缺乏完整的错误处理和监控

🎯 重构目标

第一阶段:数据持久化存储 (1周)

目标: 引入SQLite + SQLAlchemy建立完整的数据模型

第二阶段FastAPI服务模块化重构 (1-2周)

目标: 重构FastAPI架构实现服务模块化管理

第三阶段:任务调度系统 (1周)

目标: 实现前后端任务调度打通

🏗️ 技术架构设计

后端技术栈

  • Web框架: FastAPI (保持现有)
  • 数据库: SQLite (开发) + PostgreSQL (生产)
  • ORM: SQLAlchemy 2.0
  • 任务队列: Celery + Redis
  • 实时通信: WebSocket
  • 依赖管理: Poetry
  • 数据库迁移: Alembic

前端技术栈

  • 框架: React + TypeScript (保持现有)
  • 状态管理: Zustand (保持现有)
  • UI组件: Ant Design (保持现有)
  • 实时通信: WebSocket客户端
  • 构建工具: Vite (保持现有)

📁 项目结构规划

autoclip/
├── backend/
│   ├── app/
│   │   ├── __init__.py
│   │   ├── main.py              # FastAPI应用入口
│   │   ├── config.py            # 应用配置
│   │   ├── dependencies.py      # 依赖注入
│   │   └── middleware.py        # 中间件
│   ├── api/
│   │   ├── __init__.py
│   │   ├── deps.py              # API依赖
│   │   └── v1/                  # API版本1
│   │       ├── __init__.py
│   │       ├── projects.py
│   │       ├── processing.py
│   │       ├── files.py
│   │       ├── clips.py
│   │       ├── collections.py
│   │       └── settings.py
│   ├── core/
│   │   ├── __init__.py
│   │   ├── config.py            # 核心配置
│   │   ├── database.py          # 数据库配置
│   │   ├── security.py          # 安全相关
│   │   └── exceptions.py        # 异常处理
│   ├── models/
│   │   ├── __init__.py
│   │   ├── base.py              # 基础模型
│   │   ├── project.py           # 项目模型
│   │   ├── clip.py              # 切片模型
│   │   ├── collection.py        # 合集模型
│   │   └── task.py              # 任务模型
│   ├── schemas/
│   │   ├── __init__.py
│   │   ├── project.py           # 项目Schema
│   │   ├── clip.py              # 切片Schema
│   │   ├── collection.py        # 合集Schema
│   │   └── task.py              # 任务Schema
│   ├── services/
│   │   ├── __init__.py
│   │   ├── project_service.py
│   │   ├── processing_service.py
│   │   ├── file_service.py
│   │   ├── clip_service.py
│   │   ├── collection_service.py
│   │   └── llm_service.py
│   ├── tasks/
│   │   ├── __init__.py
│   │   ├── celery_app.py        # Celery配置
│   │   ├── processing_tasks.py  # 处理任务
│   │   └── file_tasks.py        # 文件任务
│   ├── utils/
│   │   ├── __init__.py
│   │   ├── file_utils.py
│   │   ├── video_utils.py
│   │   └── text_utils.py
│   └── migrations/              # 数据库迁移
├── frontend/                    # 保持现有结构
├── shared/                      # 保持现有结构
├── data/                        # 数据文件
├── logs/                        # 日志文件
├── tests/                       # 测试文件
├── docs/                        # 文档
├── scripts/                     # 脚本工具
├── pyproject.toml              # Python依赖管理
├── alembic.ini                 # 数据库迁移配置
└── docker-compose.yml          # 容器化配置

📅 实施时间规划

总工期3-4周

第1周数据持久化存储

  • 数据库模型设计 (2天)
  • SQLAlchemy集成 (2天)
  • 数据访问层实现 (1天)

第2-3周FastAPI服务模块化

  • API路由重构 (3天)
  • 服务层重构 (3天)
  • 中间件和依赖注入 (2天)
  • 测试和调试 (2天)

第4周任务调度系统

  • Celery集成 (2天)
  • WebSocket实现 (2天)
  • 前后端联调 (2天)

🛡️ 风险控制策略

  1. 渐进式重构: 按阶段实施,每个阶段都要确保功能正常
  2. 数据备份: 重构前完整备份现有数据
  3. 功能测试: 每个阶段都要进行完整的功能测试
  4. 回滚准备: 准备快速回滚方案
  5. 文档更新: 及时更新技术文档

📊 重构收益预期

技术收益

  • 清晰的分层架构
  • 完整的数据持久化
  • 模块化的服务设计
  • 实时任务调度
  • 完善的错误处理

开发收益

  • 更好的代码可维护性
  • 更快的开发效率
  • 更完善的测试覆盖
  • 更简单的部署流程

用户体验收益

  • 实时进度反馈
  • 更好的错误提示
  • 更稳定的系统性能
  • 更完整的功能体验

文档版本: 1.0
创建日期: 2024年12月
最后更新: 2024年12月