Files
beige/backend/app/models
yangqianqian ff21116ff8 A8: 文案按A/B/C三套正交叙事生成,避免套路化重复
- constants: 新增 TEXT_NARRATIVE_BY_STRATEGY(A痛点/B场景/C成分),与图片侧同轴
- build_prompt: 加 strategy_narrative 参数并注入 prompt
- text_variants: 全链路透传(含优化轮)
- run_text_generation: 改循环三套,text_count均摊(divmod余前补),跨套去重,打_strategy标记
- TextCandidate: 加 strategy String(4) 字段 + 迁移021(已upgrade head)
- packaging: 打包按strategy精准配对文图(texts_by_strategy映射+三层兜底)
- SSE text_candidate 事件携带 strategy

独立agent交叉验证7改造点全过,边界(text_count<3/无别名/不截断)无must-fix

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-22 10:00:47 +08:00
..

app/models/

SQLAlchemy ORM 模型占位Alembic 001-004 按顺序建:

Alembic 001 — 从banana搬3张改造

  • user.py # users删credits字段
  • login_record.py # login_records
  • user_preference.py # user_preferencesUI设置偏好

Alembic 002 — 多租户基础(全新)

  • workspace.py # workspaces
  • workspace_member.py # workspace_membersuser+workspace+角色)
  • user_api_key.py # user_api_keysFernet加密UNIQUE user_id+workspace_id+provider

Alembic 003 — 业务主体7张全新

  • product.py # products含text_angles/custom_prompt/source/workspace_id
  • benchmark_note.py # benchmark_notes
  • generation_task.py # generation_tasks状态机+审核字段平铺)
  • text_candidate.py # text_candidatessource=ai/import双轨
  • image_candidate.py # image_candidates
  • delivery_package.py # delivery_packages
  • banned_word.py # banned_words三级level

Alembic 004 — 飞轮(全新)

  • preference_event.py # preference_events含data_ownership字段

铁律

  • 所有业务表有 workspace_id 字段
  • generation_tasks 审核字段平铺review_status/reviewer_id/reviewed_at/reject_reason/approved_at/archived_at
  • preference_events.signal_weight 初始默认值:选文案+3/选图+3/通过+5/打回-3/重生成-1