3.3 KiB
3.3 KiB
id, title, phase, deps, status, created
| id | title | phase | deps | status | created | |
|---|---|---|---|---|---|---|
| T-656 | 在生成目标首行同时显示分类名称和目标描述 | 7 |
|
DONE | 2026-07-17 |
问题 / 背景
当前商品套图默认提示词首行只有生成目标描述,用户在最终提示词中不能同时直观看到所选分类名称和该分类的目标内容。需要把分类名称与目标描述合并到同一行,便于模型和用户确认本张图片的生成方向。
目标
将商品套图默认提示词结构第一行改为:
生成目标:{套图名称},{生成目标}
其中 {套图名称} 使用当前内置或自定义分类名称,{生成目标} 使用 T-654/T-655 已确定的固定目标描述或自定义分类目标描述。
方案
- 修改安装包内置默认模板和“恢复默认”使用的模板,使首行严格使用上述结构。
- 保持
product_suite_prompt_context()中{套图名称}、{生成目标}的值语义不变,由统一 renderer 负责替换。 - 提示词设置弹窗预览、
build_suite_prompt()、build_job_specs()和实际 job prompt 继续共用同一个 renderer。 - 固定分类首行示例应类似:
生成目标:白底图,生成 Shopee 台灣商品白底主圖,純白背景,商品清晰置中,不添加多餘文字。 - 自定义分类首行必须包含实际分类名称,例如:
生成目标:结构展示,生成自定义分类图片:结构展示。 - 已存在用户模板不静默覆盖;旧模板仍按 T-654 的兼容规则读取。只有用户恢复默认或保存新模板后才使用新首行。
验收要点
- 默认模板第一行严格为
生成目标:{套图名称},{生成目标}。 - 白底图、场景图、模特场景图、细节说明图、卖点图的预览和实际 job prompt 同时包含分类名称与对应目标描述。
- 自定义分类的预览和实际 job prompt 同时包含实际分类名称与通用自定义分类目标。
- 提示词预览与冻结到 job 的完整 prompt 完全一致。
- 新模板不输出旧的“套图名称:”首行格式;旧用户模板不会被启动初始化或升级覆盖。
- 逐图主图两种参考图规则、分类数量、点数计算、历史生成和导出流程不回归。
文档同步
实现时同步更新:
docs/routes.md:商品套图提示词首行示例。docs/04-architecture.md:默认模板和生成目标字段契约。docs/api.md:商品套图 renderer 和 job prompt 快照说明。- 本任务文件:执行记录、验证命令和最终状态。
边界(不改什么)
- 不修改分类目标描述内容,不修改 T-655 的参考图规则切换。
- 不修改 cmhub 接口、模型别名、图片上传下载和并发策略。
- 不修改 Shopee/CDP 采集、上传、拖拽和更新逻辑。
- 不静默迁移或覆盖用户已保存的提示词模板。
执行记录
- 2026-07-17:根据用户要求创建任务,待实现。
- 2026-07-17:任务文档先行提交,提交号
ff0ad8b。 - 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 个测试通过。