将 Clover 从上层产品包旧仓库中独立出来,建立专属版本控制。 当前状态=纵切片端到端已打通(登录→选品→出文出图→审核→下载包), M1文案质量去套路化已验收。此提交作为后续按核销清单逐条修复的基线。 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
10 KiB
Clover 真实能力盘点 + 对照修正(读完6365行后端后的诚实版)
⚠️ 重要:本文档修正我之前《俊达vsClover-逐界面对照缺陷清单》里的多处错判。 之前只读了前端8页+零星后端就下结论,冤枉了好几处。这次读完后端全部API+核心services+workers后重写。 倩倩姐在另一窗口"看到功能挺多"是对的——很多能力在后端实现了,只是前端没接/没可视化。
一、先认错:我之前判错的地方
| 我之前的判断 | 真实情况(代码为证) | 性质 |
|---|---|---|
| "改稿环节缺失" | ✅确实没有改稿。但我没说清:选优/重生成/导入轨都有(task_actions.py) |
判断对,但描述把整体说薄了 |
| "图片卡信息薄=只有url+role" | 后端 ImageCandidate 确实只存role/url/strategy/seq,但生图引擎极丰富(见下) |
🔴冤枉:薄的是展示,不是能力 |
| "拆解中心只能录入不能拆配方" | fission.py是第11环裂变引擎(1爆款→N套笔记包),不是"只录入" |
🔴判错:裂变能力建了表,是没接UI |
| "平台对抗待确认Clover做到哪" | image_postprocessor.py已实现:去元数据+削像素水印+SynthID破除+Gemini重绘兜底 |
🔴漏看:对抗层早做了 |
| "双通道生图待确认" | image_gen.py已实现主备通道(gpt-image-2主/Gemini备)+多中转站(apiports/codeproxy)切换+重试退避 |
🔴漏看:双通道在 |
| "模板库藏代码里" | storyboard有完整分镜模板体系(storyboard_templates.py174行) |
部分对,但低估了成熟度 |
教训:我拿"前端没显示"当"功能不存在",这是硬伤。Clover后端比前端展示出来的强得多。
二、后端真实能力全景(读完代码确证·这些都已实现)
文案生成链(强):
_text_prompt.py:人设/随机变量池ABC/5步框架/四段结构/5类标题公式/反AI味/emoji规则,方法层vs数据层分离text_variants.py:双轨(AI生成+导入)、分批生成(避60s网关超时)、三层兜底、可选优化轮、本地草稿兜底llm_scorer.py:AI评委打分——模型真读文案给6维分+理由+verdict+summary,合规第7维机械硬拦,失败回退机械打分replenish_task.py:合格数不足时后台异步补充到目标条数(先展示后台补铁律)
生图链(很强,我之前严重低估):
storyboard.py:分镜引擎——按图数排叙事角色(3/6/8张不同链路)、品牌词第2/6张植入、逐图差异化9字段prompt、成组视觉统一image_gen.py:主备双通道(gpt-image-2带产品图edits / Gemini备)、多中转站切换、限并发、指数退避重试image_postprocessor.py:去AI化对抗——去C2PA元数据+轻/重采样削像素水印+SynthID破除(可选)+Gemini重绘兜底
飞轮链(已转):
preference_aggregator.py:聚合最近50条信号→偏好角度+打回原因→注入prompt;冷启动用产品档案;按product_id隔离防串货;三层继承(L1品牌>L2矩阵>L3个人)task_actions.py:选文案+3/选图+3/重生成-1 信号都记录flywheel_service.py:record_signal + get_preference_context
裂变链(建了表+引擎,待接UI):
fission.py:第11环裂变引擎,1爆款→N套完整笔记包,带reference_level/fanout_count/status状态机
交付链(完整):
delivery.py:打包→一次性下载令牌(60s)→FileResponse下载,双认证(token/JWT)
三、真正的缺口(修正版·只留确证的)
读完后端后,真正站得住的缺口收敛到这几条:
| 缺口 | 性质 | 确证依据 |
|---|---|---|
| 1. 改稿→飞轮信号 | 真缺 | SignalType(enums.py:57)无text_edit;TextCandidate无edited字段。这条仍成立 |
| 2. 裂变引擎没接前端UI | 真缺UI | fission.py引擎在,但前端无裂变页、无入口 |
| 3. 数据复盘(发布后回收) | 真缺 | 全后端无"发布后赞藏评回收"模块,链路止于交付包 |
| 4. dashboard门面空 | 真缺 | dashboard/page.tsx只有3按钮,后端那么多能力一个没露 |
| 5. Sidebar死链404 | 真bug | Sidebar.tsx:22-25指向不存在路由 |
| 6. 图片候选展示薄 | 展示缺,非能力缺 | 后端storyboard算了role/goal/卖点/视觉策略,但_fmt_image只返role/url/strategy/seq,前端只显示url+role |
| 7. AI评委理由没充分展示 | 展示缺 | 后端有verdict/summary/6维note,前端TextCandidateCard展示了,但confirm页等只显示总分 |
关键转变:之前我列的"素材库缺失/拆解缺失/对抗缺失/双通道缺失"大半是错的——对抗、双通道、分镜、裂变引擎后端都有。真缺口收敛到:①改稿信号 ②裂变没接UI ③数据复盘 ④门面空 ⑤死链 + 两处展示薄。
四、前后端能力落差(这才是"空"的真因)
这是核心洞察:Clover 的问题不是"功能少",是后端能力没在前端露出来。
| 后端有的能力 | 前端露出了吗 |
|---|---|
| 分镜引擎(每张图有role/goal/卖点/视觉策略/依据) | 🔴只显示url+role两字段 |
| 主备双通道+对抗去AI化 | 🔴用户完全无感(后台默默跑) |
| AI评委6维分+理由+verdict | 🟡文案卡露了,其他页只剩总分 |
| 后台补充合格文案 | 🔴用户不知道在补 |
| 裂变引擎 | 🔴无入口 |
| 飞轮偏好注入 | 🟡只一条banner |
俊达"界面饱满"的感觉,本质是他把后台算的每一步都可视化了。Clover后台算得不比他少,但前端只露了冰山一角,所以显得"空"。这跟"功能缺失"是两个完全不同的问题——前者是接线/可视化工作量,后者是从0造功能。Clover大多属前者。
五、对照俊达的真实差距(收敛后)
| 维度 | 真实结论 |
|---|---|
| 文案生成 | 不弱于俊达,AI评委+飞轮+反AI味都有 |
| 生图质量工程 | 可能不弱,双通道+分镜+对抗去AI化都有 |
| 飞轮 | 骨架在,缺最强信号(改稿diff),且可视化弱 |
| 资产化/裂变 | 引擎在,缺UI接线 |
| 数据复盘 | 真缺(俊达有发布后回收,Clover止于交付) |
| SCRM销售线 | 整块没做(商业决策,待倩倩姐判) |
| 呈现/可视化 | 这是最大差距——后端能力强,前端露太少,所以"显空" |
一句话修正:不是Clover功能比俊达少很多,是Clover把做好的能力藏在后端没给用户看。 你那个窗口看到"功能挺多",看到的就是这些后端实现。我之前只扫前端,所以误判成"空、缺失"。
六、仍未读、不装看到的
products.py(308行,最大文件) — 产品档案完整能力未读pipeline_io.py(298行) — 文案/图片生成存储编排未读gemini_factory.py(225行) — AI客户端构造未读storyboard_templates.py/_score_prompt.py/_scoring_dims.py— 模板和评分维度细节未读- 前端:
ImageProgressCard/ReviewCard/ConfigPreviewPanel等组件本体未读 - 数据库迁移到011,011/010之后有无新增未确认
要补到100%确证,这几个还得读。但主干结论(后端强、前端露得少、真缺口5条)已经站得住。
七、补读完成(已清零未读区)— 又发现3处关键事实
读完 products.py/pipeline_io.py/review.py + 前端剩余组件后,新增确证:
新发现1:生图实际跑「3套正交策略 × N张」,前端拍平丢了策略维度 🔴
pipeline_io.py:201明写for strategy in ("A","B","C"),每套各生 image_count 张。用户要6张→后端实际生18张候选。ImageProgressCard.tsx本是为"批次/策略"设计的(有BatchState),但 images 页(line55-68)是平铺所有图、没按A/B/C分组,_fmt_image返回了strategy字段但前端没用来分组。- 结论:后端做了"3种叙事方向给你挑",前端拍平成一堆散图。这是俊达"双通道选优"思路Clover其实有雏形(3策略),但展示层没体现。
新发现2:产品图 vision 智能分析已实现 🟢(我完全没提过)
products.py:254analyze-image接口:上传产品图→GPT vision 读图→自动产出卖点/人群/场景/关键词/违禁词/拍摄方向 JSON。- 这等于俊达"拆解"能力的一种——只是用在产品建档,不是用在爆款逆向。Clover有读图理解能力,我之前一字未提。
新发现3:爆款8特征分析字段已建 🟡
BenchmarkNote.features_json+analyze_status(pending/analyzing/done/failed):标杆笔记预留了"AI解析8特征"的字段和状态机。- 说明"爆款拆解"在数据层已开口子,差AI解析逻辑+UI。比我之前说的"只能录入"更进一步。
复核确认的展示薄(确证):
ReviewCard:审核卡只显示 product/operator/theme/正文2行+图,不显示七维分——审核员看不到AI评委打分就要拍板通过/打回。这是确证的展示缺失。ConfigPreviewPanel:注释说"显示成分/质地/参考图3张",实际代码没渲染参考图、没成分,只有名称/品类/卖点/风格/角度。注释与实现不符。ScoreDimBars:✅做得好,数据驱动渲染AI评委dims+note,有hover理由。FlywheelBanner:✅但确实只是一条横幅,飞轮存在感弱。
最终未读(已很次要,不影响结论):
gemini_factory.py/storyboard_templates.py/_score_prompt.py/_scoring_dims.py:都是"已确证存在能力"的实现细节,读不读不改变结论。pipeline_io已读到生图主循环,确认无遗漏大功能。
补读后主干结论不变,反而更强:Clover后端能力比前端展示的多得多(生图3策略18张→前端拍平、vision分析→没UI入口体现、爆款8特征→留了字段)。"空"的根因100%确证是"前后端能力落差",不是功能缺失。 真缺口仍是那几条:①改稿信号 ②裂变/爆款拆解的AI逻辑+UI ③数据复盘 ④门面空 ⑤死链,外加多处"后端算了前端没露"。