项目架构分析与清理计划
更新时间: 2024-12-10
目录结构概览
TravelContentCreator/
├── api/ # ✅ 活跃 - FastAPI 路由
├── domain/ # ✅ 活跃 - 核心业务逻辑
├── poster_v2/ # ✅ 活跃 - 新海报系统
├── prompts/ # ✅ 活跃 - Prompt 模板
├── core/ # ✅ 精简 - AI + 配置
├── libs/ # ✅ 工具库 - MediaCrawler + utils
├── assets/ # ✅ 资源 - 字体/图片
├── scripts/ # ✅ 脚本 - 测试脚本
├── docs/ # ✅ 文档
├── _archived/ # 🗃️ 已归档 - 可删除
├── result/ # 📁 输出 - 可清理
└── data/ # 📁 数据 - 临时文件
模块状态
✅ 活跃模块 (正在使用)
| 模块 |
路径 |
说明 |
| API 路由 |
api/routers/ |
aigc, prompt, reference, hotspot |
| AIGC 引擎 |
domain/aigc/engines/ |
topic_generate, content_generate, poster_smart_v2 |
| Prompt 管理 |
domain/prompt/ |
PromptRegistry, ReferenceManager |
| 热点爬虫 |
domain/hotspot/ |
百度、Bing、日历、小红书 |
| 海报 V2 |
poster_v2/ |
5 种布局,Fabric JSON 输出 |
| AI Agent |
core/ai/ |
AIAgent, AIModelConfig |
| 配置 |
core/config_loader.py |
统一配置加载 |
⚠️ 部分失效模块 (需评估)
| 模块 |
路径 |
状态 |
建议 |
core/content_service.py |
旧内容服务 |
已被 V2 引擎取代 |
可删除 |
core/integration_service.py |
旧集成服务 |
依赖数据库 |
可删除 |
core/media_manager.py |
媒体管理 |
部分使用 |
保留 |
core/models.py |
数据模型 |
部分使用 |
评估 |
core/cookie_manager.py |
Cookie |
未使用 |
可删除 |
core/document_adapter.py |
文档适配 |
未使用 |
可删除 |
core/xhs_adapter.py |
小红书适配 |
未使用 |
可删除 |
poster/ |
旧海报系统 |
已被 poster_v2 取代 |
可删除 |
🗃️ 已归档模块 (_archived/)
| 模块 |
说明 |
建议 |
database_service.py |
数据库服务 |
已不再使用 |
integration.py |
旧集成 |
已不再使用 |
tweet.py |
推文生成 |
已不再使用 |
xhs_spider/ |
旧爬虫 |
已被 MediaCrawler 取代 |
API 路由状态
✅ 活跃路由
# api/main.py
app.include_router(aigc.router, prefix="/api/v2") # AIGC 引擎
app.include_router(reference.router, prefix="/api/v2") # 参考文献
app.include_router(hotspot.router, prefix="/api/v2") # 热点数据
app.include_router(prompt.router, prefix="/api/v1") # Prompt 管理
❌ 已禁用路由
# 以下路由依赖已删除的模块,已在 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)
引擎状态
✅ 可用引擎
| 引擎 ID |
类 |
版本 |
状态 |
topic_generate |
TopicGenerateEngineV2 |
2.0.0 |
✅ |
content_generate |
ContentGenerateEngineV2 |
2.1.0 |
✅ |
poster_smart_v2 |
PosterSmartEngineV2 |
2.0.0 |
✅ |
⚠️ 旧引擎 (可清理)
| 引擎 |
文件 |
说明 |
poster_generate |
poster_generate_v2.py |
旧海报,依赖 poster/ |
poster_generate_v3 |
poster_generate_v3.py |
中间版本 |
poster_smart_v1 |
poster_smart_v1.py |
poster_smart_v2 前身 |
存储占用
| 目录 |
大小 |
说明 |
assets/ |
215MB |
字体、图片资源 |
libs/ |
39MB |
MediaCrawler |
result/ |
22MB |
测试输出,可清理 |
data/ |
8.1MB |
临时数据 |
static/ |
4.1MB |
静态文件 |
tests/ |
3.8MB |
测试文件 |
清理计划
Phase 1: 立即可删除
# 旧海报系统 (已被 poster_v2 取代)
rm -rf poster/
# 旧核心模块 (未使用)
rm core/content_service.py
rm core/integration_service.py
rm core/cookie_manager.py
rm core/document_adapter.py
rm core/xhs_adapter.py
# 清理测试输出
rm -rf result/poster_smart_test/
rm -rf result/poster_v2_test/
Phase 2: 评估后删除
# 评估 core/models.py 是否仍被引用
grep -r "from core.models" --include="*.py"
grep -r "from core import models" --include="*.py"
# 评估旧引擎是否仍被调用
grep -r "poster_generate_v2" --include="*.py"
grep -r "poster_smart_v1" --include="*.py"
Phase 3: 归档目录清理
# _archived 已是归档目录,可保留或完全删除
# 如果确认不需要,可以删除
rm -rf _archived/
依赖关系图
┌─────────────────────────────────────────────────────────────┐
│ API Layer │
│ api/routers/aigc.py → EngineExecutor → Engines │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ Engine Layer │
│ │
│ topic_generate_v2 ─────┐ │
│ content_generate_v2 ───┼──→ PromptRegistry │
│ poster_smart_v2 ───────┘ │ │
│ │ ▼ │
│ │ domain/prompt/ │
│ │ │ │
│ ▼ ▼ │
│ poster_v2/ ReferenceManager │
│ (5 layouts) (titles.yaml, contents.yaml) │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ Core Layer │
│ │
│ core/ai/ai_agent.py ───→ OpenAI API │
│ core/config_loader.py ─→ config/app_config.yaml │
└─────────────────────────────────────────────────────────────┘
推荐清理顺序
- 备份 -
git tag v2.0-pre-cleanup
- 删除 poster/ - 旧海报系统
- 清理 core/ - 未使用的服务
- 删除旧引擎 - poster_generate_v2, v3, poster_smart_v1
- 清理 result/ - 测试输出
- 评估 _archived/ - 确认后删除
当前可用功能总结
| 功能 |
入口 |
状态 |
| 选题生成 |
POST /api/v2/aigc/execute |
✅ |
| 内容生成 |
POST /api/v2/aigc/execute |
✅ |
| 海报生成 |
POST /api/v2/aigc/execute |
✅ |
| Prompt 管理 |
/api/v1/prompt/* |
✅ |
| 参考文献 |
/api/v2/reference/* |
✅ |
| 热点数据 |
/api/v2/hotspot/* |
✅ |
| 配置查询 |
/api/v2/aigc/config/* |
✅ |