admin and Claude Opus 4.8
2fa488bd21
feat(ai-outfit): 左栏新增「标题生成」(看图→提示词→AI 文字标题→写回A列) (§19.18)
...
AI 穿搭页左栏新增独立的「生成标题」流程:用户写标题提示词,AI 看该行
衣服图(目录行取首图)生成电商标题,逐行立即写回 Excel A 列并刷新明细表;
完成后重载 Excel,紧接「开始生成」跑图即用新标题。移除原「最终生成要求预览」
腾出版面(docs/11 §17)。
- ai_text_service.py:AiTextClient 复用图像服务 HTTP 管道做文本输出;
chat/gemini 带图视觉,images/images_edits 明确报错;extract_text 取首条标题
- ai_title.py + TitleResult:单行编排,never raises
- excel_service.write_title_result:只写 A 列、不动 D/E/F
- config_service:title_model 默认 + load/save_title_prompt + 默认标题话术
- 面板:标题生成组(提示词+标题模型下拉+保存+生成标题)置于话术组上方;
_TitleWorker 顺序逐行+立即回填+刷新;与「开始生成」互斥;删预览相关组件
- 测试:文本解析/payload、generate_title(单文件/目录首图/失败)、
write_title_result、面板标题组存在且无预览;全套 py37 通过
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-23 11:04:38 +08:00
admin and Claude Sonnet 4.6
313e71b774
fix(export): 生成的 AI 穿搭 Excel 字段名对齐标题生成产品图.xlsx
...
B 列从「货号」改为「商品id」,C 列从「衣服图路径」改为「原始图片路径」,
补第 7 列「货憨憨上传状态」留空,与用户实际模板文件完全一致。
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-23 09:44:35 +08:00
admin and Claude Sonnet 4.6
a3f4c39821
feat(export): 批量导出后生成 AI 穿搭 Excel,每印花子目录一行 (§17.23)
...
添加印花批量导出完成后,自动在输出目录生成与时间戳目录同名的 xlsx
文件(docs/02 §6.12);每个有效印花子目录一行,C 列指向该子目录路径,
AI 穿搭页直接选取即可触发目录扇出逻辑(§19.12),无需手工填写 Excel。
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-23 09:33:28 +08:00
admin and Claude Opus 4.8
9a61a432d9
fix(ai-outfit): 货号(B列)改为可选,空货号不再跳过整行 (§19.14)
...
用户表的「商品id(货号)」整列为空时,行有效性判定(标题+货号+图三者非空)
把每一行都判为不完整 → read_all_rows 与 load_outfit_tasks 都返回 0:预览下拉
只剩占位符,且「开始生成」也判定无待处理行。货号不进提示词、目录行输出名沿用
源图名,对该用法是多余约束。
- excel_service.py: read_all_rows / load_outfit_tasks 完整性判定改为只要求
标题 + 衣服图路径 非空,货号可空(状态过滤不变)
- core/ai_outfit.py: 单文件行货号为空时输出名回退 Path(garment).stem
(货号非空仍用 货号.jpg);目录行不变
- ai_outfit_panel.py: 样本下拉标签货号为空显示「(无货号)」
- tests: 空货号行被 read_all_rows/load_outfit_tasks 收录、单文件空货号按源图名命名
- docs/11 §4(表+规则)/§9(命名回退)、tasks.md §19.14
离屏冒烟:标题填/货号空/C=目录 → 预览下拉有行、生成产出到子目录、E=完成;
全套测试在 Python 3.7 全绿(test_config_service 的失败属并行的出厂模板工作,与本次无关)。
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-22 17:15:05 +08:00
admin and Claude Opus 4.8
1c9ee36488
fix(ai-outfit): preview sample rows ignore Excel status (§19.9)
...
Add excel_service.read_all_rows (every valid data row, status-independent) and
use it in _reload_sample_rows for the preview dropdown, so previewing still
works after the whole sheet is 完成. Generation still uses load_outfit_tasks.
+1 excel test (read_all_rows includes 完成/失败, skips incomplete); offscreen
all-完成 sheet now yields sample rows; full suite (12) green.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-22 15:09:56 +08:00
admin
10238d3da3
feat: add outfit excel service
2026-06-18 17:35:00 +08:00