baseline: Clover 独立仓库首次基线提交

将 Clover 从上层产品包旧仓库中独立出来,建立专属版本控制。
当前状态=纵切片端到端已打通(登录→选品→出文出图→审核→下载包),
M1文案质量去套路化已验收。此提交作为后续按核销清单逐条修复的基线。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
yangqianqian
2026-06-16 11:30:22 +08:00
commit 6a2632da70
253 changed files with 27467 additions and 0 deletions

View File

@@ -0,0 +1,58 @@
# 核销表 · P0 卖点三套来源(通用化根基)
> 90分级验收孙总方法论·硬门禁。倩倩姐2026-06-15拍板先打 P0。
> **标绿门槛=北哥真实数据端到端跑通**(倍分子素颜霜膏霜罐真图 + 文案3.txt真卖点占位数据自测只能标🟡。
> **绝不信AI第一遍自评必独立交叉核对。**
## 模块目标(倩倩姐纠偏后的正确方向)
系统是**通用**的,产品靠**上传才有**,不内置写死任何产品。卖点支持**三套来源**产品包本来就有Clover重写时漏了套1、套2字段缺口
- **套1 从产品图片提取**Gemini Vision 读图→卖点/人群/成分/视觉系统)——❌ Clover完全缺失本轮补
- **套2 用户上传填写**北哥文案3.txt就是这套真实输入——⚠ brand_keyword/人群字段没暴露在API本轮补
- **套3 产品库内置**fallback模板——⚠ 留口即可,本轮不重点做
## 🔴 已确认的现状(调研+亲读源码,不是猜)
| 项 | 现状 | 文件:行 |
|---|------|---------|
| 主流程是否写死素颜霜 | **没有**,文案/生图prompt都从products表动态读 | `_text_prompt.py:126` / `pipeline_steps.py:58` |
| brand_keyword 字段 | model有**API全链路没暴露**(DTO/fmt/create/update都没有) | `product.py:41` vs `products.py:24-128` |
| target_audience 人群 | **字段不存在**但storyboard在读(`product.get("target_audience")`恒空) | `storyboard.py:52` |
| 套1图片提取 | **完全没有**gemini_factory只有生图无vision读图 | `gemini_factory.py` 全文 |
| 标题公式 | **已做**(肤质/价格/功效/夸张/标题党5型) | `_text_prompt.py:84-93` |
## 验收清单(做完一个勾一个,先全列再做)
> 状态图例:⬜未开始 / 🟡占位数据自测通过 / ✅北哥真实数据端到端通过
### 套2 字段暴露改APImodel已有brand_keyword无需迁移人群需迁移
-**AC1**auto迁移012:products表加 `target_audience VARCHAR(128)`。**team-lead独立核对容器DB:SHOW COLUMNS确认brand_keyword varchar64/target_audience varchar128alembic current=012(head)**
-**AC2**autoProductCreate DTO 暴露 `brand_keyword` + `target_audience`POST/PUT 写入;`_fmt_product` 返回。**实证INSERT/UPDATE语句含两列**
-**AC3**auto`build_product_dict` 透传 `target_audience`(pipeline_steps.py:68)。**实证dict透传人群='黄黑皮想素颜的女生'品牌='倍分子'非空**
-**AC4**auto建产品→回读三字段都在。**team-lead独立跑通PASS(非采信coder自评)**
> 🔴 交叉验证发现:coder自评"测试产品已清理无残留"是**假的**,DB残留id=3,team-lead已删。印证「绝不信第一遍自评」。
> 附带:已修复product_id=1(真实素颜霜)真实数据:5条真实卖点+人群(黄黑皮想素颜的女生)+品牌(倍分子)为AC9铺路。
### 套1 图片提取新增vision对齐产品包callGeminiVision
-**AC5**autogemini_factory 新增 vision 读图方法(传产品图bytes→返回结构化分析),模型走最强档不降级。**team-lead独立交叉核验签名正确model默认claude-opus-4-8无硬编码sonnetimport无报错**
-**AC6**auto新增 analyze-product 接口:上传产品图 → 返回 {productName,sellingPoints,targetAudience,category,...}。**team-lead独立真跑核验(非采信coder)IMG_9454真图跑通source=vision4条sellingPoints非空结构完整key链路走用户keyfinally有aclosefallback存在。⚠更正coder虚标:coder报conf=0.85实测conf=0.4、productName空——vision诚实承认包装无字未瞎编(prompt'不沿用历史/不默认护肤品'生效,系统通用化方向对)。**
-**AC7**human真实膏霜罐图(IMG_9439)提取:跑analyze → 卖点/人群合理(非乱编),倩倩姐认可。
### 标题公式核对(已做,核对措辞贴北哥)
-**AC8**human核对`_TITLE_FORMULA`5型措辞对齐北哥例"黄皮素颜霜天花板!伪素颜焊在脸上"风格。
### 端到端真绿门槛(最高优先)
-**AC9**human·最小闭环已过真实数据全链路真跑通(task61,team-lead亲眼核对非采信状态码):真膏霜罐图(IMG_9454)+真卖点(烟酰胺/水解珍珠/角鲨烷)+真人群(黄黑皮)+品牌(倍分子) → 出1文1图。**逐项核对**①链路打通登录态→选品→文案→配图→pending_selection ✅ ②产品形态对(白磨砂罐非透明瓶)✅ ③背景无笔记本串味(新加负向约束⑤生效)✅ ④卖点真实(奶油质地/烟酰胺改善暗沉)✅ ⑤文案"倍分子"植入正确+banned_word=pass ✅ ⑥去AI化排版到位(中文标题清晰+emoji+卡点)✅。**认知纠正**:瓶身只印"素颜霜"=正确(瓶身=产品本身忠于参考图,品牌词进文案+图片文字层不P瓶身,倩倩姐2026-06-15拍板)。品牌词进生图特写图(第2/6张)需扩多图才能验,最小闭环只跑hook封面属正常。北哥最终认可待扩3套后整体过目。
## 待倩倩姐批次确认(攒批集中问,不一条条点)
- ✅合格线 80倩倩姐2026-06-15二次拍板coder擅改85已驳回改回80落盘CLAUDE.md
- ✅vision 走 GPT 现有通道最强档,不补 GEMINI_KEY
- ✅成分不单列字段,并入 selling_points
## 🔴 AC9 端到端真绿素材(北哥真实数据,已确认产品形态)
真身=**透明玻璃膏霜罐+白色磨砂拉丝盖+金边**,印"倍分子焕颜沁透水润/素颜霜/SKIN CREAM"。**与之前占位透明长瓶+木盖完全不同task58/60产品形态全错**。
- **生图参考图首选**`客户资料-北哥/素颜霜素材图/原图/IMG_9454.JPG`(单手持单罐,正面文字最清晰,形态完整)
- 质地近景实拍:`原图/IMG_9444.JPG`(手臂白色膏体涂抹,对应北哥"质地近景/涂抹过程"
- 双罐展示IMG_9439/9441
- 套2真实输入(来自文案3.txt):品牌词=倍分子;产品名=素颜霜;卖点(并入selling_points)=烟酰胺改善暗沉提亮/水解珍珠锁水匀肤/角鲨烷裸妆奶油肌不卡纹/伪素颜不假白/洗面奶可卸人群target_audience=黄黑皮;合规红线=禁美白祛斑速效,用提亮/自然/伪素颜