Files
beige/plans/北哥验收反馈与功能差距盘点.md
yangqianqian 6a2632da70 baseline: Clover 独立仓库首次基线提交
将 Clover 从上层产品包旧仓库中独立出来,建立专属版本控制。
当前状态=纵切片端到端已打通(登录→选品→出文出图→审核→下载包),
M1文案质量去套路化已验收。此提交作为后续按核销清单逐条修复的基线。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-16 11:30:22 +08:00

20 KiB
Raw Permalink Blame History

北哥/倩倩姐验收反馈 + 功能差距盘点

记录时间2026-06-12 触发:倩倩姐用 qianqian 账号实跑前端,发现大量问题。要求:①先记录全部问题 ②原始需求 vs 现状做完整对比代码层验证交叉2-3轮列出未实现项。


一、倩倩姐本次实跑提出的问题(原话拆解,一条不漏)

A. 产品管理

  • A1. 选品/建任务时不能填写其他产品,库里只有一个"素颜霜预置样本"。
  • A2. 没有产品上传入口——产品参考图没地方上传。

B. 文案选择文案页截图1

  • B1. 前两个文案卡片83分、66分评分明细进度条全是0标题0/情绪0/买点0/关键词0/合规0但总分却有83/66——评分明细丢失或没渲染。后三个75/59/76有明细。
  • B2. 80分以下的文案为什么还放出来66/59/76 都<80——评分门槛/过滤逻辑存疑(需确认原始需求是过滤还是全展示)。
  • B3. 文案到底用的什么文案方法论——质疑文案套路(佛系人设 vs 源头小红书7步SOP此前 deferred 未决)。

C. 图片选择图片页截图2/3/4

  • C1. 产品不一致——生成图里的产品包装和参考图对不上参考图是64字节占位图导致
  • C2. 图片没办法自动缩放——窗口变化时图片不自适应。
  • C3. 第一张(hook)字体是错的——大标题"5符种岜门/熿韵遾愳/扶妢/絹琝诙妢"全是乱码错字gpt-image-2 中文渲染翻车,连大标题都错)。
  • C4. 只生成1套6张图应该最少3套不同的供选择
  • C5. 没有一张图能放大——点击图片无法查看大图。
  • C6. 窗口最小化后内容被截断(响应式布局缺失)。
  • C7. 生成的更像电商详情图,跟小红书压根不匹配——风格定位错误。

D. 路由/页面

  • D1. 任务列表等页面 404截图4/tasks/40/images 切到任务列表报 404 This page could not be found

E. 功能缺失

  • E1. 没有看到"爆款裂变"功能——飞轮/裂变板块缺失或没入口。

F. 流程/进度

  • F1. 文案页"前面两个进度条没展示"(同 B1进度/评分条渲染问题)。

二、原始确认的功能板块(已从 PRD/验收清单/API契约/通关路线图/北哥回填提取)

来源PRD-0总纲 §5 全流程5环节 / PRD-前端 / PRD-后端 / 验收清单1A+1B / API契约 / 北哥回填解读

一期(1A 生产链)必做的5大环节PRD-0 §5

  1. 产品配置(管理员录):卖点/品牌词/违禁词三级/标签/风格调性/可调prompt/参考图上传
  2. 生成文案(双轨)轨A一次出N角度 / 轨B导入外部文案五维评分(标题25/情绪25/买点25/关键词20/合规5)总分<90不进候选池
  3. 生成图(分镜)gpt-image-2主+edits带产品参考图+禁纯文生图storyboard N张(1-8)各担角色6图对齐北哥标准序provider主备+重试退避
  4. 爆款裂变1爆款→N笔记包:每包完整(标题+正文+标签+分镜);卖点/标签/人群锁定参考度低30/中/高85可调 ← 一期范围
  5. 存档打包交付:达人素材包(按笔记分文件夹+01/02命名+文案.txt+发布清单+合规说明);去水印(重编码去C2PA+削像素水印)

飞轮四点(1B基石E)

  • events写入(选文案+3/选图+3/通过+5/打回-3/重生成-1) / aggregator返片段 / 下次prompt含片段 / UI显"本次已注入"

前端页面(PRD-前端)

  • 登录 / 工作台 / 开新任务(选品+主题+数量+双轨入口+右侧配置预览3参考图+本次已注入横幅) / 选择文案(N卡+五维分条) / 选择图片(N批+SSE谁好谁先冒+套版预览) / 确认预览 / 组长审核台(/review) / 历史归档(任务列表+导出包) / 配置台(/config, 产品CRUD+参考图上传+标杆+成员+key只录不显余额+违禁词CRUD)
  • 角色守卫:/review限组长+管理员, /config限管理员
  • SSE先换60s短票再建连, 禁token直传; 5次重连退避; event_seq去重

关键细节点(逐条可核)

  • D-1 产品参考图上传入口(配置台屏1明确要)
  • D-2 文案五维评分展示+总分
  • D-3 文案90分门槛后端过滤(<90不进池)
  • D-4 图片放大: PRD未明确要求(但属基础体验)
  • D-5 图片响应式缩放: PRD未明确(PC最小1280px)
  • D-6 一次生成: 1套N张(N=image_count) ←PRD设计; 倩倩姐要3套选=超出原PRD,待确认
  • D-7 爆款裂变页: 一期范围, 当前疑似缺失
  • D-8 任务列表页: /history 应有
  • D-9 小红书风格(非电商): 无独立定义, 靠 style_tone 字段 + prompt
  • D-10 SSE实时进度(谁好谁先冒/单批失败重试/能离开)
  • D-11 第1张图中文乱码: gpt-image-2渲染硬伤(记忆已记, 未解)

【补全】上一轮盘点遗漏的原始需求(来自北哥回填/洞1-7/扒包萃取/豆包prompt

倩倩姐指出"讨论方案时远比这多"。重新通读 北哥回填解读 / test洞1-7 / 官网V1萃取 / 产品包扒包 / banana扒包 后补全,这些是之前漏掉的硬需求:

北哥文案方法论豆包prompt原话最高优先级

  • N-文1 佛系反推销人设"东西放这了买不买跟我没关系"
  • N-文2 随机变量池ABC身份场景5×起因情绪3×小缺点3每条随机抽不撞反同质化命脉
  • N-文3 5步框架Hook暴击低价→痛点共鸣→救星登场→卖点罗列(带小标题)→逼单(不是旧7步SOP
  • N-文4 正文四段痛点→实测→种草→引导350-400字3-5段空行
  • N-文5 70%场景 30%产品 比例
  • N-文6 标题5公式肤质/价格/功效/夸张/标题党,每条不同类型
  • N-文7 反AI味负向词禁入正文神器/福音/遮羞布/日常维稳/精简底妆/不仅而且/焕发/守护——是prompt负向约束不是事后auto_fix替换
  • N-文8 品牌词必植入文案正文(北哥"种品牌词引导天猫搜"核心诉求)

北哥生图规则豆包prompt+回填原话)

  • N-图1 6张固定套路序①封面痛点大字②单品特写+品牌词③成分④质地⑤上脸对比⑥促单
  • N-图2 品牌词出现在第2/6张转化句在第6张对比在第5张
  • N-图3 好图标准:高清+构图居中+字粗大+图文匹配
  • N-图4 效果对比图AI优先(实拍备),静物图实拍优先(AI备)
  • N-图5 排版并入生图(AI直接把字排图上出成品),不做独立排版环
  • N-图6 成组视觉统一(buildVisualSystem)一套N张共享主色/字体/贴纸
  • N-图7 素材路由:产品图=商品锚点不可改 / 实拍图=肤感场景 / 爆款图=只学版式不用内容

标杆/爆款分析北哥13环+扒包split.js

  • N-标1 标杆分析出8特征(SSE analyze_done带features:[8特征])——提取标题句式/开篇痛点/评论刚需
  • N-标2 爆款参考度三档低30(只学结构)/中(学节奏局部替换)/高85(学标题节奏换表达防抄袭)
  • N-标3 裂变维度标注:换了哪个维度/目标人群/场景/痛点点位
  • N-标4 裂变必须改全文+重拍图,不变卖点/标签/人群N-19北哥死命令
  • N-标5 裂变笔记综合评分(scoreCompleteNote=文案五维+图文完整度15分)

违禁词三级洞5拍板

  • N-违1 三级:🟢auto_fix视觉类自动改(前后对比→质地说明) /🟡soft_warn功效词标黄给建议(美白→提亮?) /🔴hard_block高危词必改(医用/药妆)
  • N-违2 词库可配置+可批量导入(北哥词远超预置5条)+北哥可调分级
  • N-违3 "遮羞布"等AI味词要单独分类入库(北哥最大痛点)
  • N-违4 双保险生成时prompt规避 + 发布前检查两道关

去水印洞3拍板

  • N-水1 出图后必经工序重编码去C2PA元数据 + 转JPG/轻重采样削SynthID像素水印 + 压缩
  • N-水2 诚实边界C2PA 100%可去,像素水印只能削弱
  • N-水3 去水印严守3:4比例不变形

交付/数据归属洞6+洞7拍板

  • N-交1 素材包结构:发布清单.txt(自解释发几条/配图序/文案/标签) + 笔记N_角色/文件夹(01/02/03命名) + 文案.txt(标题+正文+标签) + 合规说明.txt
  • N-交2 数据归属分层:客户输入物+产出物归客户可导出 / 飞轮偏好归平台不随客户走
  • N-交3 数据可导出一期就做(洞7)全表加workspace_id隔离
  • N-交4 下载必须fetch+blob(window.open无法带token会401)

标杆采集洞1拍板

  • N-采1 一期对外标配=截图上传+手填亮点(零平台风险),系统不碰小红书服务器
  • N-采2 登录态采集插件=二期北哥内部自用opt-in不进对外标配

工程底座(架构方案+banana扒包

  • N-工1 ai_call_logs每次AI调用记谁/用多少token失败归因到个人key一期必做
  • N-工2 健康检查 GET /health
  • N-工3 同用户并发生成任务上限2(可配)
  • N-工4 上传安全magic number校验+扩展名白名单+路径穿越防护
  • N-工5 三层兜底文案Claude→Gemini→本地模板(buildLocalDrafts永不空手)
  • N-工6 去重系统标题相似度≥0.82判重 / 正文开头签名去重
  • N-工7 角度槽位机制(每条强制不同角度)做成可迁移数据
  • N-工8 product.js产品图视觉分析→visualIdentity(主色/字体/包装风格)供生图用

前端工程PRD-前端)

  • N-前1 errorCodeMap错误码映射表(9类错误码→文案+处理动作)
  • N-前2 骨架屏(文案卡/图卡/审核队列loading)
  • N-前3 无key时按钮置灰+首登强制引导配key页
  • N-前4 4个Store(authStore/taskStore/generationStore/preferenceStore)
  • N-前5 token刷新(JWT失效自动刷新,失败跳登录)
  • N-前6 套版预览(选中图+文案→拼成笔记长相)

三、现状 vs 需求 差距清单(代码层 3 轮交叉验证)

验证方式4 个 Explore agent 并行扫码(前端/后端接口/生图文案/DB飞轮关键质疑项倩倩姐亲自复核读码 2 轮。每条附 文件:行号 证据。 图例:已实现 / 🟡半实现 / 未实现 / 🐛有bug

3.1 倩倩姐质疑项 — 逐条结论

编号 问题 结论 代码证据 根因
A1 不能填别的产品 🟡 能建产品但入口只在配置台 products CRUD全在 api/v1/products.py:64-131;新建表单只挂 /configNewTaskForm.tsx:47 任务页只能选不能建 任务页缺"快捷新建产品"按钮设计取舍非bug
A2 没有产品上传入口 入口存在 后端 products.py:150 POST /products/{id}/upload-image 写 image_path前端 ProductSubComponents.tsx:73 file input 入口在配置台产品卡内,倩倩姐没找到≈可见性问题
B1 评分明细进度条全是0 🐛 SSE推送时五维占位0靠异步补 useSse.ts:83 推送时填 {title:0,emotion:0...total:X}88-93行再异步GET补全 SSE只推总分(useSse.ts:77 score是number),五维详情靠后续接口补,慢/缺字段就长期显示0
B2 80分以下文案为何放出来 🐛 90分门槛形同虚设 text_variants.py:136 返回含passed=False全部候选pipeline_io.py:96-106 无差别写库无if not passed:continue 门槛只算分标记passed,存库时根本不按它过滤。低分全进池
B3 文案用什么方法论 佛系人设+5步+变量池ABC+反AI味 _text_prompt.py:12(佛系人设)/:66(5步框架)/:19(变量池ABC)/:94(反AI味) 方法论已落地,是否对北哥胃口=产品决策
C1 产品不一致 🟡 测试时参考图是64字节占位 pipeline_io.py:150 无参考图硬失败逻辑正确;本次是测试数据问题 上真实产品图即可解,非代码缺陷
C2/C6 图片不缩放/窗口截断 响应式CSS已有 images/page.tsx:55 grid-cols-3 xl:grid-cols-5:65 w-full aspect-square object-cover agent判定不会截断需倩倩姐复现确认是否别处
C3 第一张字体乱码错字 🐛 纯靠模型画中文字,无叠字兜底 image_gen.py:145 prompt只描述文字让模型自画ai_engine/无PIL叠字 gpt-image-2中文渲染弱是已知模型局限缺服务端Pillow叠字方案
C4 只1套6张要≥3套 🐛 架构只产1套N张 image_gen.py:121-173 单个storyboard逐张生成返回扁平list调用链只跑一次 无"套"概念需加外层循环生N套
C5 图片不能放大 无lightbox 全局搜lightbox/放大/zoom = 0结果images/page.tsx:60 onClick只做选中 功能未做
C7 像电商图不像小红书 🟡 风格词有但防御弱 constants.py:58 有"小红书种草风"但仅closer角色禁电商风(storyboard_templates.py:53),其他角色无负向词 缺强负向约束"禁白底产品图/禁电商详情图"
D1 任务列表404 🐛 导航指向不存在的路由 Sidebar.tsx:22-26 /images/tasks/build/tasks/list 三个href均无对应page.tsx 导航错配
E 没看到爆款裂变 全栈零实现 前后端+DB+worker全局搜裂变/split/fission = 0业务代码 PRD一期范围完全没建

3.2 原始需求模块 — 整体实现度

后端接口API契约:核心链路基本齐

  • 认证/工作区切换、API Key(只显后4位)、产品CRUD+图上传、违禁词三级、SSE一次性ticket、审核台approve/reject、打包下载、飞轮三信号+context — 全部有码
  • 🐛 90分过滤失效见B2
  • 🟡 轨B导入文案task_actions.py:76 只存库不评分不查违禁词worker版text_variants.py:139才完整)
  • 标杆"出8特征"分析:BenchmarkNote只存手填highlights无AI结构化分析
  • 爆款裂变接口

生图/文案核心

  • 6图角色对齐北哥序(storyboard.py:75)、provider主备+退避(image_gen.py:34-117)、禁纯文生图硬拦(pipeline_io.py:150)、去水印(image_postprocessor.py)、文案双轨+方法论、五维评分逻辑(_scoring_dims.py)
  • 🐛 生图只1套(C4)、中文叠字乱码(C3)、90分不硬拦(B2)
  • 🟡 品牌词:注入逻辑在(storyboard.py:133)但products表无brand_keyword列(models/product.py:20-54确认无)运行时永远空第2/6张品牌词静默失效
  • 🟡 电商风负向约束弱(C7)

数据库15张表齐全有迁移(001-007)。唯一缺口products表缺brand_keyword列。eval_score正确留NULL未接假评分。多租户workspace_id双层过滤到位。

飞轮四点 全通——写入(task_actions.py:49选文案/review.py:113通过/:139打回)、聚合(flywheel_service.py:71)、注入(pipeline_steps.py:71+pipeline_io.py:69)、UI已注入事件(tasks.py:94)、前端横幅(FlywheelBanner.tsx挂3页)。

前端页面9个核心页在(login/dashboard/tasks.new/text/images/confirm/review/history/config)。缺:/tasks/list/tasks/build/images、爆款裂变页。

3.3 必须修的清单(按优先级)

P0 阻断验收

  1. 🐛 90分门槛过滤 — pipeline_io.py:96if not c.get("passed"): continueB2
  2. 🐛 导航404 — Sidebar.tsx:22-26 删/改三个坏链接D1
  3. 🐛 生图≥3套 — image_gen.py 加外层循环 / 新增 image_sets_countC4
  4. 🐛 中文乱码 — image_postprocessor 后加 Pillow 中文字体叠标题C3

P1 核心缺口 5. 🟡 brand_keyword字段 — ORM加列+迁移008+build_product_dict映射+DTO品牌词 6. 图片放大 lightboxC5 7. 🟡 电商风负向prompt强化C7 8. 🐛 五维分条全0 — SSE直接推score对象 / 前端补全兜底B1

P2 功能立项 9. 爆款裂变1爆款→N笔记— PRD一期范围需从0设计表+worker+前端页E 10. 标杆8特征分析 11. 🟡 轨B导入补评分+违禁词检测

产品决策待倩倩姐/北哥拍板

  • 文案方法论代码已落地北哥5步框架(非旧7步)是否对北哥胃口需北哥真看B3
  • 3套的"套间差异"策略(不同角度/不同风格/不同封面?)
  • brand_keyword 录入在产品级还是任务级

四、补全需求的代码层验证(本轮新增,对应第二章【补全】项)

倩倩姐指出上一轮漏了大量讨论过的需求。这一节对补全项逐条给代码结论。重大发现:北哥文案方法论此前项目文档标记"只落地25-30%"(BUG-14),本轮亲自读 _text_prompt.py 全文确认——已全部落地,那条诊断是过时记录。

4.1 北哥文案方法论 — 已全部落地(推翻旧诊断)

亲自读 _text_prompt.py 逐行确认:

需求 结论 证据
N-文1 佛系人设 _text_prompt.py:12-15 _PERSONA原话"东西放这了…"
N-文2 变量池ABC :19-46 三池+_pick_combo每条随机抽;:140 按count抽N组
N-文3 5步框架 :67-73 Hook→痛点→救星→卖点→逼单,确是5步非7步
N-文4 四段350-400字 :75-82 四段结构+:81字数+空行
N-文5 70/30比例 :15 "70%场景30%产品绝不颠倒"
N-文6 标题5公式 :85-92 肤质/价格/功效/夸张/标题党各带词例
N-文7 反AI味负向词 :50-54+:94-101 负向词prompt约束(非事后替换,机制正确)
N-文8 品牌词植入文案 🟡 :147 注入逻辑在,但读product.get("brand_keyword")products表无此列→永远空→静默失效(同生图品牌词根因)

4.2 其余补全项 — 代码结论

需求 结论 证据/缺口
N-标1 标杆出8特征 BenchmarkNote只存手填highlights无AI分析SSE虽定义analyze_done但无8特征产出
N-标2~5 爆款裂变全套 全栈零实现(参考度/维度/裂变评分都没有)
N-违1 违禁词三级 banned_word_checker.py:71-112 三级auto_fix/soft_warn/hard_block
N-违2 词库可配置 banned_words表+CRUD接口批量导入未见独立接口(可逐条POST)
N-违3 遮羞布入库 _text_prompt.py:51 负向词含"遮羞布/日常维稳/精简底妆"
N-水1 去水印必经工序 image_postprocessor.py 重编码去C2PA+转JPG+重采样;pipeline_io.py:174已集成
N-水3 严守3:4比例 🟡 后处理按原尺寸重采样未见强制3:4校验(生图prompt要1080×1440)
N-交1 素材包结构 package_exporter.py 笔记夹+01/02命名+文案.txt+发布清单+合规说明
N-交3 数据可导出 🟡 打包下载=产出物导出有;输入物(产品/标杆)整体导出未见专门接口
N-交4 下载fetch+blob 需查前端下载实现是否用window.open(待验证)
N-采1 截图手填标杆 benchmarks.py 截图url+highlights手填
N-工1 ai_call_logs models/flywheel.py:63 表在;pipeline_io.py:80 有写入
N-工2 GET /health 待确认路由是否注册
N-工3 并发上限2 环境变量IMAGE_CONCURRENCY=2是生图并发任务级并发限制待确认
N-工4 上传安全 products上传是否做magic number校验待查
N-工5 三层兜底文案 🟡 本地兜底build_local_draftsClaude→Gemini双层兜底待确认是否接
N-工6 去重系统 dedupe_copies(text_variants.py:136调用)
N-工7 角度槽位 text_angles产品档案字段+build_prompt:146注入
N-工8 产品图视觉分析 无product.js等价的visualIdentity分析(主色/字体提取)
N-前1 errorCodeMap 前端错误码映射表待查
N-前2 骨架屏 待查
N-前3 无key置灰引导 待查
N-前6 套版预览 🟡 confirm页有预览"封面+内页拼笔记长相"完整度待查

4.3 本轮新增的"未实现/待查"清单补进第三章P级

新确认 未实现(之前漏列)

  • 标杆8特征分析N-标1
  • 爆款裂变全套N-标2~5与E同
  • 产品图视觉分析visualIdentityN-工8
  • 输入物整体导出N-交3部分

🟡 半实现/隐患(之前漏列)

  • 文案品牌词植入静默失效N-文8与生图品牌词同根因products表缺brand_keyword列
  • 去水印3:4比例无强制校验N-水3

需补一轮验证(本轮时间未及,诚实标注未确认)

  • 下载是否fetch+blob还是window.openN-交4影响401
  • GET /health、任务并发上限2、上传magic number校验、Claude→Gemini文案兜底
  • 前端errorCodeMap、骨架屏、无key置灰引导、套版预览完整度

项我没有当场全部读码确认,不糊弄、如实标注。倩倩姐若要,我下一轮把全部读码坐实。