TravelContentCreator/docs/CLEANUP_GUIDE.md

7.4 KiB
Raw Blame History

项目清理指南 & 技术债务分析

更新日期: 2024-12-10


一、待清理的过时模块

1.1 可安全删除 (未被引用)

目录/文件 大小 说明 建议
infrastructure/ 64KB 数据库基础设施Python 端不再直接访问数据库 🗑️ 删除
core/xhs_spider/ 224KB 旧版小红书爬虫,已被 MediaCrawler 替代 🗑️ 删除
document/ 88KB 文档处理模块,未被主流程引用 🗑️ 删除
core/document/ 152KB 旧版文档处理 🗑️ 删除
node_modules/ 17MB Node.js 依赖,当前未使用 🗑️ 删除

1.2 已禁用但仍存在的路由

# api/main.py 中已注释的路由:
# app.include_router(tweet.router, ...)      # 依赖旧模块
# app.include_router(poster.router, ...)     # 依赖旧模块  
# app.include_router(document.router, ...)   # 依赖旧模块
# app.include_router(data.router, ...)       # 依赖数据库
# app.include_router(integration.router, ...)
# app.include_router(content_integration.router, ...)

对应文件可考虑归档:

  • api/routers/tweet.py (17KB)
  • api/routers/poster.py (5.9KB)
  • api/routers/document.py (12KB)
  • api/routers/data.py (13KB)
  • api/routers/integration.py (14KB)
  • api/routers/content_integration.py (6.7KB)

1.3 巨型遗留服务文件

文件 行数 说明
api/services/poster.py 3031 行 旧版海报服务,已被 domain/poster/ 替代
api/services/database_service.py 1054 行 数据库服务Python 端不再需要
api/services/integration_service.py 795 行 旧版集成服务
api/services/tweet.py 756 行 旧版推文服务

1.4 临时文件目录

目录 大小 说明
result/ 943 MB 生成结果缓存
assets/ 215 MB 资源文件
data/ 8.1 MB 数据文件

二、当前技术债务

2.1 高优先级 🔴

问题 影响 建议
巨型文件 api/services/poster.py (3031行) 难以维护 已有新服务,可删除
巨型文件 poster/templates/vibrant_template.py (78KB) 复杂度高 拆分重构
数据库服务残留 代码混乱 删除 infrastructure/database_service.py
临时文件堆积 (943MB) 磁盘占用 定期清理 result/

2.2 中优先级 🟡

问题 影响 建议
重复海报模块 api/services/poster.py vs domain/poster/ 统一到 domain 层
旧爬虫残留 core/xhs_spider/ 代码冗余 删除,使用 MediaCrawler
禁用路由文件 6 个文件无用 归档或删除
文档过多 (22个 MD 文件) 难以维护 合并精简

2.3 低优先级 🟢

问题 影响 建议
配置文件分散 (9个 JSON) 管理复杂 统一配置
日志配置不统一 调试困难 统一日志格式
测试覆盖不足 质量风险 补充测试

三、文档整理建议

3.1 保留的核心文档

文档 说明
PROJECT_OVERVIEW.md 项目总览
PROJECT_STATUS.md 详细状态
HOTSPOT_MODULE.md 热点模块
NEXT_PHASE_PLAN.md 下阶段计划
TECHNICAL_DEBT.md 技术债务

3.2 可归档的文档

文档 大小 原因
ARCHITECTURE_V2_MAINTAINABLE.md 48KB 设计文档,已实现
ARCHITECTURE_REDESIGN.md 44KB 设计文档,已实现
ARCHITECTURE_ANALYSIS.md 38KB 分析文档,已过时
MIGRATION_PLAN.md 6KB 迁移计划,已完成
MIGRATION_PROGRESS.md 6KB 迁移进度,已完成
PSD_API.md 1B 空文件

四、海报模块分析

4.1 当前架构

海报相关代码分布:

1. domain/poster/           # ✅ 新版轻量服务 (推荐使用)
   ├── poster_service.py    # 245 行,轻量服务入口
   ├── poster_renderer.py   # 渲染器
   ├── template_manager.py  # 模板管理
   └── fabric_generator.py  # Fabric.js JSON 输出

2. poster/templates/        # 模板实现
   ├── base_template.py     # 基类
   ├── vibrant_template.py  # 1800+ 行,活力风格 ⚠️ 过大
   ├── business_template.py # 商务风格
   └── collage_template.py  # 拼图风格

3. api/services/poster.py   # ❌ 旧版服务 (3031 行,已废弃)

4.2 问题分析

问题 说明
vibrant_template.py 过大 78KB / 1800+ 行,包含大量硬编码逻辑
重复代码 api/services/poster.pydomain/poster/ 功能重叠
模板耦合 模板与渲染逻辑耦合严重

4.3 重构建议

参考 docs/POSTER_REFACTOR_PLAN.md 方案 C:

  1. 拆分 vibrant_template.py

    • 布局计算 → layout_calculator.py
    • 文字渲染 → text_renderer.py
    • 特效处理 → effects.py
  2. 删除旧服务

    • 删除 api/services/poster.py
    • 统一使用 domain/poster/poster_service.py
  3. 模板配置化

    • 将硬编码参数提取到 YAML 配置

五、清理执行计划

第一阶段: 安全清理 (无风险)

# 1. 删除空目录和空文件
rm -rf /root/TravelContentCreator/node_modules
rm /root/TravelContentCreator/docs/PSD_API.md

# 2. 清理临时文件 (保留最近 7 天)
find /root/TravelContentCreator/result -mtime +7 -delete

第二阶段: 归档旧模块

# 创建归档目录
mkdir -p /root/TravelContentCreator/_archived

# 移动旧模块
mv infrastructure/ _archived/
mv document/ _archived/
mv core/xhs_spider/ _archived/
mv core/document/ _archived/

第三阶段: 清理旧服务

# 归档旧服务文件
mv api/services/poster.py _archived/
mv api/services/database_service.py _archived/
mv api/services/integration_service.py _archived/
mv api/services/tweet.py _archived/

# 归档禁用的路由
mv api/routers/tweet.py _archived/
mv api/routers/data.py _archived/
mv api/routers/integration.py _archived/
mv api/routers/content_integration.py _archived/

六、清理后的目录结构

TravelContentCreator/
├── api/                      # API 层
│   ├── main.py
│   └── routers/
│       ├── aigc.py          # V2 AIGC 接口
│       ├── hotspot.py       # 热点数据
│       ├── prompt.py        # Prompt 管理
│       └── reference.py     # 参考文献
│
├── domain/                   # 领域层
│   ├── aigc/                # AIGC 引擎
│   ├── hotspot/             # 热点数据
│   ├── poster/              # 海报服务
│   └── prompt/              # Prompt 管理
│
├── poster/                   # 海报模板
│   └── templates/
│
├── prompts/                  # Prompt 定义
├── config/                   # 配置
├── libs/                     # 外部库
│   └── MediaCrawler/
│
├── docs/                     # 文档 (精简后)
├── tests/                    # 测试
└── _archived/                # 归档 (可删除)

七、磁盘空间预估

操作 预计释放
删除 node_modules/ 17 MB
清理 result/ (7天前) ~800 MB
归档旧模块 ~500 KB
总计 ~820 MB