项目清理指南 & 技术债务分析
更新日期: 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.py 和 domain/poster/ 功能重叠 |
| 模板耦合 |
模板与渲染逻辑耦合严重 |
4.3 重构建议
参考 docs/POSTER_REFACTOR_PLAN.md 方案 C:
-
拆分 vibrant_template.py
- 布局计算 →
layout_calculator.py
- 文字渲染 →
text_renderer.py
- 特效处理 →
effects.py
-
删除旧服务
- 删除
api/services/poster.py
- 统一使用
domain/poster/poster_service.py
-
模板配置化
五、清理执行计划
第一阶段: 安全清理 (无风险)
# 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 |