Files
beige/CLAUDE.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

71 lines
11 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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. 技术栈
- 后端统一 PythonFastAPI+Celery+双库+Redis产品包的 JS 内核**重写成 Python** 融进 Clover。
- 重写必须仔细对照防逻辑走样TDD + agent团队 + 另一AI审核兜底
## 🔴 已拍板的产品决策(不可推翻)
- 生图:**gpt-image-2 主**codeproxy中转站Gemini 备。
- 生图接口:优先 `/images/edits`(带产品参考图),加重试退避。
- token统一走自家中转站 urlkey 按账号隔离,各人自录自用各算各的。
- **模型只用最强档倩倩姐2026-06-12拍板**Claude 系用 **4.8**claude-opus-4-8GPT 系用 **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环北哥回填解读与落点.mdbanana本给了最硬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 流有效的一次性 ticketURL 只带 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。