3.0 KiB
3.0 KiB
id, title, status, phase, deps, created
| id | title | status | phase | deps | created | ||||
|---|---|---|---|---|---|---|---|---|---|
| T-658c | 商品套图多图参考生成计划与提示词一致性 | DONE | 7 |
|
2026-07-17 |
T-658c 商品套图多图参考生成计划与提示词一致性
问题 / 背景
当前 {参考图规则} 已由 T-657 统一带有 参考图规则: 前缀,但内容只覆盖单图。多图提交后,最终提示词必须准确说明主图和参考图数量,且预览内容要与新建 job 使用同一套 context。
方案
- 由统一 helper 根据“逐图主图勾选状态、实际可用图片数量、cmhub 裁剪上限”生成参考图规则。
- 单图保持 T-657 的现有中文表述和前缀:
参考图规则:当前上传图片是本任务唯一主参考图;...。 - 多图使用明确的序号规则:第 1 张为主商品图,第 2 至 N 张仅作风格、构图、场景或排版参考,不得替换主商品。
build_job_specs()与提示词设置弹窗共用同一 context 构造函数,不能在 GUI 和生成层分别拼接规则。- 预览没有图片资产时按 0/1 张显示单图规则;正式生成时以实际提交数量为准。
- 白底图、场景图、模特场景图、细节说明图、卖点图和自定义分类继续使用现有目标描述与数量配置。
- 确认弹窗的数量和点数仍按 job 请求数计算;超过 8 张时说明仅使用前 7 张参考图。
验收要点
- 单图、3 张、8 张上传图的 prompt 规则分别准确。
- 勾选逐图主图时每个 job 都使用单图规则;不勾选时使用多图规则。
- 预览 prompt 与实际
build_job_specs()生成的 prompt 完全一致。 - 上传 1 张时两种模式行为一致,不出现空参考图描述。
- 当前 T-657 的变量清单、必需变量、
生成目标:{套图名称},{生成目标}格式不回退。
边界(不改什么)
- 不新增或删除提示词占位符。
- 不改变 cmhub 接口 payload、数据库迁移和蝦皮/CDP 操作。
- 不实现多 SKU 自动识别和图片语义分组。
验证
py -3.10 -m unittest tests.test_product_suite
py -3.10 -m unittest tests.test_product_suite_gui
py -3.10 -m ruff check app tests main.py
py -3.10 -m compileall app main.py
git diff --check
执行记录
- 2026-07-17:新增
product_suite_reference_rule()与参考图数量计算 helper,单图和多图规则都保留参考图规则:前缀;多图规则中的 N 以实际提交总图片数渲染。 - 2026-07-17:
build_job_specs()以冻结的reference_asset_ids数量构建 job prompt;提示词设置弹窗接收当前可用原图数并使用同一 context,预览与新 job prompt 保持一致。 - 2026-07-17:补充单图、逐图主图、多图及3张原图预览一致性测试;同步路由、架构和 API 文档。
- 验证通过:
py -3.10 -m unittest tests.test_product_suite tests.test_product_suite_gui(66项)、py -3.10 -m ruff check app tests main.py、py -3.10 -m compileall app main.py、git diff --check。离屏 GUI 测试有 Qt 字体/插件告警,但无测试失败。