TravelContentCreator/docs/MIGRATION_PLAN.md

6.1 KiB
Raw Blame History

迁移与清理工作计划

本文档记录待迁移、待清理的旧文件和模块


1. Prompt 迁移状态

已迁移到 prompts/ (YAML 格式)

旧路径 新路径 状态
resource/prompt/generateTopics/ prompts/topic_generate/v1.0.0.yaml 已迁移
resource/prompt/generateContent/system.txt prompts/content_generate/v1.0.0.yaml 已迁移
resource/prompt/judgeContent/ prompts/content_judge/v1.0.0.yaml 已迁移
resource/prompt/integration/ prompts/integration/v1.0.0.yaml 已迁移
resource/prompt/Style/ prompts/style/*.yaml 已迁移
resource/prompt/Demand/ prompts/audience/*.yaml 已迁移

待迁移 → 已完成

旧路径 新路径 状态
resource/prompt/generateContent/posterContentSystem.txt prompts/poster_content/v1.0.0.yaml 已迁移
resource/prompt/Refer/* prompts/reference/ 已复制

待删除 (迁移完成后)

resource/prompt/generateTopics/     # 已迁移
resource/prompt/generateContent/    # 部分已迁移
resource/prompt/judgeContent/       # 已迁移
resource/prompt/integration/        # 已迁移
resource/prompt/Style/              # 已迁移
resource/prompt/Demand/             # 已迁移

2. 旧模块使用情况

仍在使用旧 prompt 路径的文件

文件 引用次数 说明
core/config/models.py 10 配置模型定义
api/services/content_integration_service.py 2 内容整合服务
domain/aigc/shared/component_factory.py 1 组件工厂
domain/aigc/shared/prompt_builder.py 1 Prompt 构建器

建议:这些文件需要更新为使用 PromptRegistry


3. 可废弃的旧功能

数据库相关 (V2 引擎不使用)

文件 行数 说明
api/services/database_service.py 1054 数据库服务
infrastructure/database/connection.py - 数据库连接

状态V2 引擎不访问数据库,但旧代码可能依赖,暂时保留

旧配置文件 (已删除)

  • config/content_gen.json 已删除
  • config/topic_gen.json 已删除
  • config/mysql/ 已删除

4. 巨型文件拆分计划

需要拆分的文件

文件 行数 优先级 拆分建议
demo_refactored_templates.py 4219 🔴 删除 (demo 文件)
poster_template.py 3421 🔴 删除 (已迁移到 poster/)
api/services/poster.py 3031 🔴 拆分为多个模块
poster/templates/vibrant_template.py 1756 🟡 模板类拆分
api/services/database_service.py 1054 🟡 可能废弃
core/xhs_spider/apis/xhs_pc_apis.py 1019 🟡 按功能拆分

api/services/poster.py 拆分方案

api/services/poster/
├── __init__.py           # 导出
├── service.py            # 主服务类 (~300行)
├── template_manager.py   # 模板管理 (~400行)
├── image_processor.py    # 图片处理 (~500行)
├── text_renderer.py      # 文字渲染 (~400行)
├── fabric_exporter.py    # Fabric.js 导出 (~400行)
└── psd_generator.py      # PSD 生成 (~500行)

5. 根目录清理

可删除的文件

文件 说明
demo_refactored_templates.py Demo 文件160KB
poster_template.py 旧模板153KB
test_response.json 测试响应766KB
test_size_adjustment_result.png 测试图片
test_stroke_final_png.png 测试图片
test_stroke_final_result.json 测试结果
response_with_psd.json 测试响应
database_test.log 测试日志
database_service_改进报告.md 临时文档
文件下载S3协议修复报告.md 临时文档
认证接口统一修复报告.md 临时文档
udo systemctl start travel-api-test 错误文件名

可移动到 docs/ 的文件

文件 目标
海报Fabric.js前端对接文档.md docs/FABRIC_INTEGRATION.md
psd_usage_guide.md docs/PSD_USAGE.md
PSD_API_Usage.md docs/PSD_API.md

6. 工作计划

Phase 1: 清理根目录 (低风险) 已完成

  • 删除 demo/测试文件
  • 移动文档到 docs/
  • 删除临时报告文件

Phase 2: 迁移剩余 Prompt 已完成

  • 迁移 posterContentSystem.txt 到 YAML
  • 将 Refer 目录复制到 prompts/reference/
  • 实现 PromptRegistry
  • 实现 V2 引擎 (topic_generate, content_generate, poster_generate)
  • 实现 /api/v2/aigc/execute 接口
  • 删除旧的数据库访问代码
  • 实现 /api/v2/aigc/config/styles 接口
  • 实现 /api/v2/aigc/config/audiences 接口
  • 实现 /api/v2/aigc/config/all 接口
  • 完善 Prompt YAML 的 meta 信息 (icon, description, order)
  • 添加接口文档 (docs/ARCHITECTURE_ANALYSIS.md)

Phase 3: 更新旧模块引用 已完成

  • 更新 core/config/models.py 使用 PromptRegistry
  • 更新 api/services/content_integration_service.py
  • 删除 domain/aigc/shared/prompt_builder.py
  • 删除 utils/prompts.py
  • 删除 tweet/ 目录
  • 删除 api/services/prompt_service.py
  • 删除 api/services/prompt_builder.py
  • 重写 api/routers/prompt.py 使用 PromptRegistry

Phase 4: 拆分巨型文件 (待定)

  • 拆分 api/services/poster.py (3031行)
  • 拆分 poster/templates/vibrant_template.py (1756行)

Phase 5: 清理旧 Prompt 目录 已完成

  • 删除 resource/prompt/

7. 风险评估

操作 风险 说明
删除 demo 文件 🟢 不影响生产
删除旧 prompt 🟡 需确认无引用
拆分 poster.py 🟡 需要测试
删除 database_service 🔴 旧代码可能依赖

8. 执行顺序建议

  1. 立即执行 - 删除根目录测试文件
  2. 本周 - 迁移剩余 Prompt更新引用
  3. 下周 - 拆分 poster.py
  4. 联调后 - 删除旧 prompt 目录和 database_service