docs: track AI outfit module in tasks.md (§19)
Promote AI 穿搭 from the deferred list (§18) to an active §19: design + mockup done (19.0), implementation staged per docs/11 §14 (19.1-19.5). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -1012,7 +1012,7 @@
|
||||
|
||||
- [ ] 按电脑名控制版本
|
||||
- [ ] 强制更新与版本保留策略(`mandatory` / `min_supported` 生效、`app.old` 保留策略;docs/10 §16 阶段④)
|
||||
- [ ] AI 穿搭
|
||||
- [~] AI 穿搭(已转正、进入设计/实现,见 §19)
|
||||
- [ ] 导出上架流程
|
||||
- [ ] 自动抠图
|
||||
- [ ] 自动识别衣服区域
|
||||
@@ -1023,3 +1023,57 @@
|
||||
- [x] 在线更新(HTTP 检测 + 通知 + `Launcher.exe` 自动安装 + 回滚)
|
||||
- [x] 局域网/在线分发(便携包 + HTTP 文件服务 + manifest)
|
||||
- [x] ~~多版本启动器~~(改为 `app`/`app.old` 单版本切换,不再做多版本并排)
|
||||
|
||||
## 19. AI 穿搭模块
|
||||
|
||||
前置阅读:
|
||||
|
||||
- `docs/11-ai-outfit.md`(本模块完整设计)
|
||||
- `docs/旧ai穿搭项目.md`(同事旧项目分析,可复用件)
|
||||
- `docs/04-development-rules.md`、`docs/05-project-architecture.md`(分层)
|
||||
|
||||
一句话目标:以 Excel 为数据源,按行读取「衣服图 + 标题/货号」,套提示词调 AI 图像 API 生成「人物穿着该衣服」的效果图,保存 JPG 并把结果路径写回 Excel。
|
||||
|
||||
### 19.0 设计与效果图
|
||||
|
||||
- [x] 分析旧项目 → `docs/旧ai穿搭项目.md`
|
||||
- [x] 模块设计文档 `docs/11-ai-outfit.md`(架构/Excel 适配/数据模型/AI 服务/提示词/并发/输出/界面/配置/阶段/验收)
|
||||
- [x] UI 效果图 `docs/ui-ai-outfit.html` + `docs/ui-ai-outfit.png`(三栏:左设置 / 中「最近结果缩略图条 + 处理明细表」/ 右运行日志;与印花页同款外壳、纯蓝统一)
|
||||
- [x] 确认取舍:不做实时单图大预览(批量工具,并发会有「显示哪行」歧义);预览=按钮弹 `QDialog`;保留「保存话术」按钮;并发由 Python 线程负责、Qt 仅 signal 回主线程
|
||||
|
||||
### 19.1 核心与服务(无 GUI,可单测)— docs/11 §14 阶段 1
|
||||
|
||||
前置阅读:`docs/11-ai-outfit.md`(§3–§9)
|
||||
|
||||
- [ ] `core/models.py` 新增 `OutfitTask` / `OutfitResult`(纯 dataclass,Python 3.7 兼容,不依赖 PySide6)
|
||||
- [ ] `services/excel_service.py`:读行 → `List[OutfitTask]`、写回 D/E/F、占用检测、跳过「完成」/按设置重试「失败」/空字段安全跳过、每行即存
|
||||
- [ ] `services/ai_image_service.py`:移植旧项目 `ImageApiClient`(多模型、多请求格式 `chat/gemini/images/images_edits`、传图 data-url、递归取图、URL 归一化、字段校验);注意 PEP585 类型注解改 Python 3.7 写法
|
||||
- [ ] `core/ai_outfit.py`:单行生成纯逻辑编排(提示词渲染 + 调用 + 保存 JPG + 产出 `OutfitResult`)
|
||||
- [ ] 单测:Excel 读写、提示词渲染、取图、命名去重(API 用 mock);可在 Python 3.7 运行、不依赖 GUI
|
||||
|
||||
### 19.2 批量编排 — docs/11 §14 阶段 2
|
||||
|
||||
前置阅读:`docs/11-ai-outfit.md`(§8)
|
||||
|
||||
- [ ] `Worker(QObject)`:`ThreadPoolExecutor(并发数)` + `RateLimiter(请求间隔)` + 单任务冷却 + 阶梯重试 + 温和停止 + >30s 心跳;纯逻辑尽量可测
|
||||
- [ ] 子线程只经 signal 回主线程,不直接碰控件
|
||||
|
||||
### 19.3 UI 页签 — docs/11 §14 阶段 3
|
||||
|
||||
前置阅读:`docs/11-ai-outfit.md`(§10)、`docs/07-ui-design.md`(§4.2)、`docs/ui-ai-outfit.png`
|
||||
|
||||
- [ ] 页签栏接 `QStackedWidget`(「1 添加印花」=现有工作区,「2 AI 穿搭」=新面板),启用当前禁用的页签
|
||||
- [ ] `app/widgets/ai_outfit_panel.py`:左设置(Excel/输出/模型/话术编辑+保存+插入占位符+预览弹窗/生成设置 3 列)、中(最近结果缩略图条 + 处理明细表)、右(进度环+统计+开始/停止+导出失败清单+实时日志)
|
||||
- [ ] 接线后台线程、日志、进度、结束摘要、失败清单导出
|
||||
|
||||
### 19.4 配置与提示词 — docs/11 §14 阶段 4
|
||||
|
||||
前置阅读:`docs/11-ai-outfit.md`(§7、§11)
|
||||
|
||||
- [ ] `~/.cmbot/config/ai_models.json`(密钥明文、**不入库**)、`outfit_prompt.txt`、并入 `app_config.json`(上次 Excel/输出路径、批量设置),统一经 `config_service`
|
||||
- [ ] `requirements.txt` 增 `requests>=2.31,<3`、`openpyxl>=3.1,<4`、`urllib3<2`;`docs/03` 增列依赖
|
||||
|
||||
### 19.5 真机联调 — docs/11 §14 阶段 5
|
||||
|
||||
- [ ] 真实中转 API + 小批量 Excel 端到端跑通,调穿搭提示词
|
||||
- [ ] 验收对照 `docs/11` §16
|
||||
|
||||
Reference in New Issue
Block a user