mirror of
https://github.com/zhouxiaoka/autoclip.git
synced 2026-09-03 06:24:14 +08:00
5.7 KiB
5.7 KiB
🚀 AI切片项目重构实施规划
📋 项目现状评估
优势分析
- ✅ 已有完整的6步处理流水线
- ✅ 支持多种视频分类和Prompt模板
- ✅ 前端React界面已经比较完善
- ✅ 配置管理系统相对完善
- ✅ 有详细的架构文档和重构计划
主要问题
- ❌ 后端架构分散,存在多个API文件
- ❌ 缺乏数据持久化存储
- ❌ 服务模块化程度不够
- ❌ 前后端任务调度未打通
- ❌ 缺乏完整的错误处理和监控
🎯 重构目标
第一阶段:数据持久化存储 (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.0
创建日期: 2024年12月
最后更新: 2024年12月