# 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.py`174行) | 部分对,但低估了成熟度 | > 教训:我拿"前端没显示"当"功能不存在",这是硬伤。**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:254` `analyze-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 ③数据复盘 ④门面空 ⑤死链,外加多处"后端算了前端没露"。