Files
beige/banana扒包与取长补短.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

108 lines
6.6 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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.
# banana 扒包 + 产品包✖banana 取长补短
> 目的:决定 Clover 的技术地基——banana 哪些能用、产品包哪些能用、怎么结合。
> 铁律:好的保留,不好的优化升级。
> 扒包日期2026-06-05扒包人CC
---
## 一、banana 是什么(比记忆里强很多)
它本身就是一个**完整的"小红书AI种草笔记生成平台"**,不是空骨架。
技术栈Next.js14前端 + FastAPI后端 + Celery队列 + MySQL(关系) + MongoDB(文档) + Redis(队列/SSE) + Docker6容器。
### 已完成且✅验证的能力
- **认证**:注册/登录/JWT刷新/设备记录auth完整
- **任务流**创建→Celery异步→SSE实时进度推送→结果展示核心链路通
- **积分系统**:余额/充值/流水/趋势MVP模拟
- **素材库**CRUD/收藏/brand_tone字段
- **上传**magic number校验+扩展名白名单+路径穿越防护(安全已加固)
- **前端10页**:登录/概览/创建/历史/任务结果(SSE流)/图片编辑/最终效果/素材库/积分/个人中心
- **AI抽象层**AIProvider Protocolmock/gemini可切换架构支持插拔
### 半成品/待完成PROGRESS.md说的
- brand_tone 的 Alembic迁移没做
- 前端交互细节没打磨
- 端到端没完整自测积分扣费没集成AI图片持久化待做
- 无测试覆盖、无CI/CD
---
## 二、banana 的 AI 内核有多厚(决定取舍的关键)
gemini_service.py 779行能力清单
- analyze_content 产品/参考分析出overall_score
- generate_text / generate_text_stream 文案生成(流式)
- generate_images / _generate_single_image 生图
- **evaluate_schema 方案评分**对应产品包打分但只有1个总分**比产品包五维浅**
- edit_image 对话式改图 / apply_quick_action 快捷操作
- **remove_watermark 去水印**✅洞3刚需banana已内置
- **extract_white_bg 白底图提取**(产品图标准化,加分项)
- _retry 重试退避✅产品包缺的banana有
- gemini_image_client.generate_with_urls 带图URL生图≈edits能力
⚠️ 关键短板:**banana的AI内核全绑Gemini**,没有产品包的"换角度/品类策略/去重/自动优化循环"那套业务深度。
- banana打分=1个总分产品包打分=五维(标题/情绪/买点/关键词/合规)
- banana无去重、无6品类话术、无storyboard 10角色分镜、无自动优化循环
- banana的prompt在gemini_service里写死但有prompt_template_doc的MongoDB集合预留了可调位
### banana去水印实现真相要标注
remove_watermark 做法=**让Gemini重绘一张去水印图**(prompt: Remove all watermarks...reconstruct naturally)。
- 优点连像素级SynthID都重绘掉比re-encode彻底
- ⚠️风险:重绘会改变文字/构图,**对小红书海报的中文大标题是风险**(可能改字/糊字)
- 结论:可作为"去水印通道之一"但海报类要测洞3的re-encode/transcode削水印是更安全的"无损"方案,二者可分级用
---
## 三、取长补短对比表(核心结论)
| 能力维度 | 产品包 | banana | Clover怎么取 |
|---------|--------|--------|-------------|
| **文案业务内核**(打分/优化/去重/品类/角度) | ✅强(五维+循环+去重+6品类) | ⚠️弱(1个总分) | **取产品包** |
| **storyboard分镜**(10角色+品类证明) | ✅强 | ❌无 | **取产品包** |
| **违禁词三级+自动改写** | ✅强 | ❌无 | **取产品包** |
| **爆款裂变+参考度调节** | ✅强 | ❌无 | **取产品包** |
| **工程底座**(认证/队列/SSE/Docker) | ❌无(无状态Worker) | ✅强 | **取banana** |
| **多租户/JWT/用户体系** | ❌无 | ✅有(差workspace层) | **取banana,补租户层** |
| **异步队列**(解决生图4min阻塞) | ❌无(同步) | ✅Celery+SSE | **取banana** |
| **数据库/存档** | ❌无 | ✅MySQL+MongoDB | **取banana,补delivery_packages** |
| **去水印** | ❌无(洞3要新建) | ✅remove_watermark | **取banana,海报类加re-encode安全档** |
| **白底图/产品图标准化** | ⚠product.js分析 | ✅extract_white_bg | **两者结合** |
| **重试退避** | ❌无(baseline证明需要) | ✅_retry | **取banana** |
| **AI Provider抽象**(可插拔) | ❌写死 | ✅Protocol | **取banana** |
| **生图主模型** | Gemini主/GPT备 | 全Gemini | **改:gpt-image-2主/Gemini备** |
| **可调prompt** | ⚠prompt写死在代码 | ⚠有MongoDB集合预留位 | **取banana预留位,做成北哥可调** |
| **积分计费** | ❌无 | ✅有(MVP模拟) | **MVP免费,先关闭,留接口** |
| **前端** | demo展示页(不复用) | 10页生产级 | **取banana骨架,按前端设计参考图.png改5步流程** |
---
## 四、结论Clover 全新建,从两源各扒零件重建
**🔴 架构定性倩倩姐2026-06-05拍板已落 Clover/CLAUDE.md**
- Clover 是**全新独立项目**,在 `Clover/` 下从头建立。
- banana 和产品包都是**只读素材源**,只复制不修改,绝不边盖边修。
- 需要哪个零件 → 复制出来 → 在 Clover 里结合本项目迭代/优化/重建。
- ~~以banana为底座~~(说法作废,那是边盖边修的错误架构)。
**从产品包扒复制JS算法→Clover里重写Python**
- 文案五维打分/自动优化循环/去重 / storyboard 10角色分镜 / 6品类话术 / 违禁词三级自动改写 / 爆款裂变+参考度调节
**从banana扒复制Python模块→Clover里改造**
- FastAPI+Celery+SSE 异步骨架 / JWT认证 / 双库模型范式 / AIProvider抽象层 / remove_watermark+extract_white_bg / _retry重试 / 上传安全加固 / 前端Next.js组件范式
**Clover自己新建两源都没有**
- workspace多租户层 / delivery_packages存档打包+导出 / preference_events飞轮 / token-url收口 / banned_words可配置表 / 按"前端设计参考图.png"的5步流程前端
**改造点:**
- 生图主模型改 gpt-image-2 主、Gemini 备;生图接口改 edits 优先
- banana去水印(Gemini重绘)对海报中文标题有改字风险 → 加 re-encode 无损安全档分级用
- 积分计费 MVP 免费先关闭,留接口
- 可调prompt参考banana的prompt_template_doc预留位做成北哥可调等北哥样本注入
### ⚠️ 待定决策(给倩倩姐)— 已拍板
1. ~~JS→Python重写 vs JS微服务~~**拍板Python重写融进Clover**(统一栈),但 banana/产品包文件夹只读复制,不在其上改。
2. ~~banana半成品先跑通验证~~**作废**不基于banana迭代所以不存在"先跑通banana"。banana只读扒模块时该模块逻辑要在Clover里重新验证。