将 Clover 从上层产品包旧仓库中独立出来,建立专属版本控制。 当前状态=纵切片端到端已打通(登录→选品→出文出图→审核→下载包), M1文案质量去套路化已验收。此提交作为后续按核销清单逐条修复的基线。 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
71 lines
11 KiB
Markdown
71 lines
11 KiB
Markdown
# Clover 项目约束(CLAUDE.md)
|
||
|
||
> 本文件是 Clover 项目的事件级约束,agent 团队开工必读。
|
||
> 倩倩姐口头红线当场落盘,不写当不存在。
|
||
|
||
## 🔴 架构铁律(最高优先级,违反即返工)
|
||
|
||
### 1. Clover 是全新独立项目
|
||
- 所有代码在 `北哥小红书产品/Clover/` 下从头建立。
|
||
- **不在 banana 上盖、不在产品包上盖、绝不边盖边修。**
|
||
|
||
### 2. banana / 产品包 = 只读素材源
|
||
- 两个来源文件夹**只做读取和复制**,**禁止任何修改**:
|
||
- banana:`/Users/qiyu/Documents/企业培训项目/O2中间件平台/banana`(只读)
|
||
- 产品包✅上线版:`/Users/qiyu/Documents/企业培训项目/万牛会L1准备/worker`(**真正部署上线版,扒这个**)
|
||
- 🔴产品包旧版 `万牛会L1准备/产品包/worker` 是开发副本/旧版,**不要扒**(copy/image比上线版旧100~200行)
|
||
- 工作方式:需要哪部分零件 → 复制出来 → 在 Clover 里结合本项目迭代/优化/重建。
|
||
- 不允许 `cd` 进这两个目录做 Edit/Write/git 操作。
|
||
|
||
### 3. 技术栈
|
||
- 后端统一 Python(FastAPI+Celery+双库+Redis),产品包的 JS 内核**重写成 Python** 融进 Clover。
|
||
- 重写必须仔细对照防逻辑走样(TDD + agent团队 + 另一AI审核兜底)。
|
||
|
||
## 🔴 已拍板的产品决策(不可推翻)
|
||
- 生图:**gpt-image-2 主**(codeproxy中转站),Gemini 备。
|
||
- 生图接口:优先 `/images/edits`(带产品参考图),加重试退避。
|
||
- token:统一走自家中转站 url;key 按账号隔离,各人自录自用各算各的。
|
||
- **模型只用最强档(倩倩姐2026-06-12拍板)**:Claude 系用 **4.8**(claude-opus-4-8),GPT 系用 **5.5**;通道目前仍只用 apiports 那一套(文案暂不补 codeproxy 第二路径,等真出现频繁挂再说)。
|
||
- **模型兜底铁律(倩倩姐2026-06-12拍板)**:claude-opus-4-8 一定可用。**若 gpt-5.5 探活不可用,回落到 claude-opus-4-8(最强档),绝不降级到 sonnet 或任何弱档;绝不偷偷降级当没事,探活不可用立即回报。**
|
||
- **品牌词由客户输入**(产品级字段,随产品固定),植入文案每条+生图特写图(第2/6张)。
|
||
- 🔴 **品牌词植入位置=文案+图片文字排版层,绝不P瓶身(倩倩姐2026-06-15拍板)**:瓶身=产品本身,忠于参考图原样,禁止改/加/P瓶身文字(合规+真实双重要求)。品牌词"倍分子"出现在①文案每条②图片的标题/贴纸/标注等文字排版层,不是非要印到瓶身上。AC9实测task61 hook图瓶身只印"素颜霜"=正确,不是bug。曾误判要去P瓶身被驳回。
|
||
- **每用户并发上限 5 个任务**(客户侧实际跑几个再观察调整)。
|
||
- **生图出3套**:套间差异按 ①文案角度 ②视觉风格 ③叙事结构(套1痛点先行/套2场景先行/套3成分背书先行)三个正交维度拉开,**不按封面分**,要不重复。
|
||
- **配图去AI化对齐大卫xhs(倩倩姐2026-06-15拍板)**:大卫 `小红书系统图片定制/xhs-tool/backend/infrastructure/imagePostProcess.js`(只读素材源)运营实测去AI化能力强,Clover 后处理对齐它:①**尺寸可选**(RATIO_MAP多比例,**±2%容差内不resize**避免无谓重采样),常规默认 **3:4=1024×1536**(gpt原生尺寸,**不强缩1080×1440**,核销表原S4方向作废) ②SynthID破除(缩2px裁1px边+亮度/饱和微调,开关控制) ③高保真重编码(jpeg quality100/chroma4:4:4去元数据) ④重试里支持选尺寸。**先打通单套配图(含去AI化+尺寸可选),再扩3套正交**。
|
||
- **配图三套叙事措辞=倩倩姐先起草**(2026-06-15):痛点先行/场景先行/成分背书先行的具体prompt措辞由倩倩姐起草给北哥过目,不用临时占位糊弄;扩3套时填入。
|
||
- **文案待提质量项(倩倩姐2026-06-15)**:①80合格线是临时妥协,方向是提生成质量顶分数不降标准 ②生成文案每条套路化重复"买不买跟我没关系"收尾句式要去模板化。详见记忆 clover-quality-line-80-temp。
|
||
- 🔴 **合格线=80,禁止擅改(倩倩姐2026-06-15二次拍板)**:`constants.py QUALITY_PASS_SCORE=80`。coder 曾擅自改85被驳回。提质量靠优化生成prompt顶分数,**绝不靠提高门槛/降标准凑数**。改这个值必须倩倩姐当面拍板。
|
||
- 🔴 **卖点三套来源·系统通用化(倩倩姐2026-06-15拍板,P0)**:系统是通用的,**产品靠上传才有,绝不内置写死任何具体产品**(素颜霜只是北哥一个客户的一个产品)。卖点三套来源(产品包本有,Clover重写漏了):①**从产品图片提取**(vision读图→卖点/人群/成分/视觉系统,**走GPT现有通道最强档,不补GEMINI_KEY**) ②**用户上传填写**(北哥文案3.txt即此套) ③**产品库内置**(fallback模板,留口即可)。成分(烟酰胺等)**并入selling_points不单列字段**。配图文字图片**先做一致**,后续留**canvas排版口子**(底图+代码叠字)。北哥禁AI是怕查重+AI化,**我们已做去AI化(对齐大卫xhs),此担忧已解决,不再当决策点**。
|
||
- **文案过滤=先展示后台补(倩倩姐2026-06-12拍板)**:合格文案(passed且≥90分且非hard_block)立即展示不卡用户;合格数不足用户要的条数时,**后台异步补充生成**直到够数或达上限。不是"只展示不补",也不是"凑不够就卡着不出"。
|
||
- **13环目标导向**:原始是13环(北哥回填解读与落点.md),banana本给了最硬4环引擎(找竞品/写文案/配图/裂变)。这轮**补全第2环竞品爆款分析(=标杆8特征)+第11环裂变**两个缺失引擎环;裂变单独做但在工作台内呈现(1爆款→N套完整笔记包,非只换文案)。
|
||
- 软件费:MVP 免费,收费逻辑后续单独讨论(先留接口关闭)。
|
||
- 飞轮:**开放给北哥测试使用即启动**(用即喂料,不是埋点不激活)。
|
||
- 🔴 **飞轮是产品最大亮点·必须做扎实+前端必须呈现(倩倩姐2026-06-16拍板)**:飞轮不是后台默默跑的暗功能,要让客户**直观感到"确实进入飞轮了、确实越用越好"**。两条入口都要做:
|
||
- ①**改稿进飞轮(D1,最强信号,必做)**:运营改AI稿→diff喂回飞轮。**入飞轮时机=先激进(改了就入)跑一周,北哥用后按真实信号质量校准是否加"过审才入"闸门**(细案E18/E19)。需补 SignalType.text_edit + TextCandidate.edited字段 + 改稿端点(走task_actions不碰review.py)。
|
||
- ②**AI评图分进飞轮(E12,做扎实版)**:AI评图分**只做"生成时筛选+前端展示"**,前端要呈现"这张图AI评了X分+已被选入飞轮"。**真正影响下次生成的飞轮权重只认真实信号(选了哪张/改了什么/过审与否),不拿AI主观分当权重**——守住eval_score留NULL铁律,AI分是展示层不是权重层。
|
||
- ③**前端呈现=轻量化关键节点反馈(不做独立飞轮主视图大页E01)**:在生成/选择/改稿/审核节点即时提示"已学习你的偏好""本次参考了你上周改的稿""飞轮已积累N条信号",嵌现有流程,纵切片友好。
|
||
- 🔴 **竞品笔记数据监控=不做(倩倩姐2026-06-16拍板)**:E04竞品数据全监控/反推关键词=自动抓小红书,命中合规反爬红线,直接砍,不进任何期。
|
||
- 发布:不自动发小红书,产出"达人素材交付包"人工发。
|
||
- 数据归属:原始数据(输入+产出+素材包)归客户可导出;飞轮偏好归平台。
|
||
- 违禁词:三级处理(自动改写🟢/软提示🟡/硬拦截🔴),默认分级北哥可调。
|
||
- 链接采集:不做原始抓取(死路),走对外截图手填 / 内部登录态插件。
|
||
|
||
## 🔴 验收线
|
||
- **质量过关才算完,不是"能下载"就算完**,最终北哥认可。
|
||
|
||
## 🔴 前端红线
|
||
- **不展示 Token 余额/用量**:key 和用量去中转站后台看,前端只录 key 不显示余额。
|
||
- 不做积分中心/billing 页(MVP免费)。
|
||
|
||
## 🔴 安全红线
|
||
- **SSE 认证用一次性短票 ticket,绝不把 JWT 放进 URL**(倩倩姐2026-06-08拍板):EventSource 不支持 header,故 SSE 连接前先用 JWT 调一个签发接口换一张只活 30-60 秒、仅对该 SSE 流有效的一次性 ticket,URL 只带 ticket(`?ticket=`)。就算被日志/浏览器历史记下也立即失效、换不了别的接口。禁止 `?token=` 直传 JWT。
|
||
|
||
## 🔴 执行约束
|
||
- 🔴 **建法铁律(防打补丁循环·先读 启动包/执行约束.md §0)**:①纵切片优先——先用最丑的方式打通端到端一条龙(登录→选品→出1文1图→审核→下载1个包),这条没真跑通禁止精修任何单块功能 ②"完成"唯一定义=验收清单某项真勾上(非"代码写完"),报完成必附对应验收项 ③验收清单当每日门禁,每阶段自问"多勾上哪一项了还是只是码更多了"。看进度问的是"到一条龙走通还差几步"不是"还要补几个洞"。
|
||
- 新建文件**目标 ≤100 行、上限 200 行**(倩倩姐2026-06-08放宽:ORM模型/枚举常量/内聚算法硬拆反而割裂可读性,故放宽到200行内可接受,**超200行必须拆**);单次编辑 ≤100 行(超了先建框架再Edit补)。
|
||
- 质量标准/优化prompt 等北哥方案到位再填,架构先留可调位。
|
||
- 🔴 **本轮交付层级=全量(倩倩姐2026-06-12拍板)**:终点线=一条龙过质量关 + 补全第2环标杆分析 + 第11环裂变。KR1链路连通/KR2质量达标/KR3自主可验/KR4引擎补全 全绿才算"全勾完"。
|
||
- 🔴 **打断节奏=攒批集中问(倩倩姐2026-06-12拍板)**:自主连续推进,把"只有倩倩姐能判断"的点(某条文案过不过关/某图品牌词够不够清晰/要不要砍需求)攒成批次,每完成一个环集中问一次,不一条条点yes。
|
||
- 🔴 **核销机制=孙总方法论(2026-06-12录音提炼,已结晶 ~/.claude/crystals/cc-methods/ai-collab-checkpoint-gating.md)**:①双层核销表(总核销表+每模块分核销表),做完一项物理勾一项 ②每模块收尾产"压缩存档/end-of文件"记录做到什么程度,断点可续 ③小步快跑+高频check,不攒大块 ④**验收标准写到90分清晰度**(模糊=放水=AI按40分自认通过) ⑤标准做减法砍到最少步 ⑥门禁要硬,不通过物理卡死 ⑦**绝不信AI第一遍自评**(实测谎报"都做了"实际20-30%),必独立交叉核对。
|
||
- 🔴 **工作模式=自运行核销机器(倩倩姐2026-06-12拍板)**:①**强制用workflow的agent team执行,不许自己瞎干** ②**必做交叉验证**(另起独立agent重核,不信第一遍) ③规则/验收清单**先全部列出来**再做(你要先看到规则) ④做完一个勾一个、任务只减不增 ⑤倩倩姐**只验最后结果**,过程中要她判断的点**攒成批集中问**,不一条条点yes。
|