Files
cmshoppe/docs/tasks/T-657.md
T

65 lines
3.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
id: T-657
title: 为参考图规则变量补充规则标签
phase: 7
deps: [T-656]
status: DONE
created: 2026-07-17
---
## 问题 / 背景
商品套图默认模板中的 `{参考图规则}` 当前只渲染规则正文。用户希望最终提示词能明确标识该段内容的用途,因此两种逐图主图模式都需要在变量值前增加 `参考图规则:` 标签。
## 目标
保留 T-655 已确定的两种参考图正文,只在变量内容最前面统一增加:
```text
参考图规则:
```
最终变量值为:
- `per_image_primary=true`:`参考图规则:当前上传图片是本任务唯一主参考图;保持商品主体、款式、颜色和关键细节准确;不编造用户与参考图均未提供的信息。`
- `per_image_primary=false`:`参考图规则:使用第一張上傳圖作為主商品圖,其餘圖片只作為參考。`
## 方案
- 在 `product_suite_prompt_context()` 中统一生成带 `参考图规则:` 前缀的 `{参考图规则}` 值,继续根据归一化的 `per_image_primary` 切换正文。
- 默认模板保持 `{参考图规则}` 独占一行,不再额外添加第二个标签,避免重复显示。
- 提示词设置弹窗预览、`build_suite_prompt()`、`build_job_specs()` 和 job prompt 快照继续共用同一个 renderer。
- 更新两种模式的纯逻辑测试和 GUI 预览断言,确保前缀、正文和模式切换都准确。
- 已有用户模板不静默覆盖;模板中的 `{参考图规则}` 会自然得到新变量值,旧模板兼容策略不变。
## 验收要点
- 未勾选逐图主图时,`{参考图规则}` 以 `参考图规则:` 开头,后接单主图模式正文。
- 勾选逐图主图时,`{参考图规则}` 以 `参考图规则:` 开头,后接逐图主图模式正文。
- 最终提示词中不出现两个连续的“参考图规则”标签。
- 预览文本、实际 job prompt 和保存的 prompt 快照完全一致。
- T-656 的“生成目标:{套图名称},{生成目标}”首行、分类描述、数量和历史流程不回归。
## 文档同步
实现时同步更新:
- `docs/routes.md`:参考图规则最终提示词示例。
- `docs/04-architecture.md`:参考图规则变量契约。
- `docs/api.md`:`product_suite_prompt_context()` 返回值说明。
- 本任务文件:执行记录、验证命令和最终状态。
## 边界(不改什么)
- 不修改两种模式的参考图正文,不修改 `per_image_primary` 的任务数量规划。
- 不修改默认模板的其它字段、分类描述、cmhub 接口或生图流程。
- 不修改 Shopee/CDP 采集、上传、拖拽和更新逻辑。
- 不静默迁移或覆盖用户已保存的提示词模板。
## 执行记录
- 2026-07-17:根据用户要求创建任务,待实现。
- 2026-07-17:完成两种 `{参考图规则}` 变量值的 `参考图规则:` 前缀,并保持默认模板单独占用一个变量行。
- 2026-07-17:同步更新路由、架构和 API 文档,补充两种模式的前缀与正文断言。
- 2026-07-17:验证通过 `python -m ruff check app tests main.py`、`python -m compileall app main.py`、`python -m unittest discover -s tests`,共 580 个测试通过。