baseline: Clover 独立仓库首次基线提交
将 Clover 从上层产品包旧仓库中独立出来,建立专属版本控制。 当前状态=纵切片端到端已打通(登录→选品→出文出图→审核→下载包), M1文案质量去套路化已验收。此提交作为后续按核销清单逐条修复的基线。 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
113
plans/Clover链路缺失诊断与开工清单.md
Normal file
113
plans/Clover链路缺失诊断与开工清单.md
Normal file
@@ -0,0 +1,113 @@
|
||||
# Clover 链路缺失诊断 + 代码层/Prompt层开工清单
|
||||
|
||||
> 对照俊达"完整闭环",逐行扒 Clover 真实代码后的诊断。每条都标了**文件:行号**和**改法**。
|
||||
> ⚠️ 并发:backend/frontend 另一窗口在改(15:34时间戳),本清单只诊断+给改法,落地前先看冲突列。
|
||||
|
||||
---
|
||||
|
||||
## 一、定性结论(先看这个)
|
||||
|
||||
你说的三个症状,根因各不相同,别一锅炖:
|
||||
|
||||
| 你的感受 | 真实根因 | 性质 |
|
||||
|---|---|---|
|
||||
| "点文案按钮404" | Sidebar导航写死了4个不存在的路由 | **死链bug**,半天能修 |
|
||||
| "界面比较空" | prompt产出丰富,但前端没把"五维分/角度/飞轮/资产"可视化出来 | **呈现层缺失** |
|
||||
| "逻辑链路有缺失" | 能跑通,但是"断点式8孤岛",不是俊达的"一个任务流过的闭环" | **链路编排缺失** |
|
||||
|
||||
> 反常识发现:**prompt层不空,反而饱满**。`_text_prompt.py` 已有人设/变量池ABC/5步框架/四段结构/5类标题公式/反AI味/emoji规则,做了方法层vs数据层分离。空的是"产出之后怎么呈现、怎么串环、怎么沉淀"。
|
||||
|
||||
<!-- 后续Edit补充:二、404死链详情 / 三、链路缺失 / 四、呈现层缺失 / 五、prompt层缺什么 / 六、开工优先级 / 七、并发冲突列 -->
|
||||
|
||||
---
|
||||
|
||||
## 二、404死链详情(最急,先修这个)
|
||||
|
||||
**`frontend/src/components/layout/Sidebar.tsx:19-28` NAV_ITEMS 写死了占位路径:**
|
||||
|
||||
| Sidebar标签 | 写的href | 真实路由 | 现状 |
|
||||
|---|---|---|---|
|
||||
| 选择文案 | `/tasks` | 只有 `/tasks/[id]/text` | 🔴404 |
|
||||
| 选择图片 | `/images` | 只有 `/tasks/[id]/images` | 🔴404 |
|
||||
| 建立任务 | `/tasks/build` | 不存在 | 🔴404 |
|
||||
| 任务列表 | `/tasks/list` | 不存在 | 🔴404 |
|
||||
|
||||
**根因**:文案/图片页是挂在具体任务下的(路由含 `[id]`,见 `app/tasks/[id]/text/page.tsx`),但侧边栏把它们做成了**无taskId的全局入口**。没有"当前任务"时点击→跳无id路由→404。
|
||||
|
||||
**改法(二选一,推荐B)**:
|
||||
- A临时止血:把这4个死项从NAV_ITEMS删掉/置灰,只留真实可达的(工作台/开新任务/审核台/历史/配置)。
|
||||
- **B正解**:导航改成"任务流"语义——侧边栏不再放"选择文案"这种环节级入口,环节入口由"当前进行中的任务"动态带 taskId 跳转(dashboard已有 `RecentTasksBar` 组件可复用)。这正是俊达"一个任务流过所有环"的呈现方式。
|
||||
|
||||
---
|
||||
|
||||
## 三、逻辑链路缺失(你说的"链路不完整")
|
||||
|
||||
**真实可跑通的链路**(从代码反推):
|
||||
```
|
||||
dashboard → tasks/new → [id]/text → [id]/images → [id]/confirm → review → history
|
||||
✅ ✅ ✅ ✅ ✅ ✅ ✅
|
||||
```
|
||||
单条链路是通的。但对照俊达**缺3个闭环回路**:
|
||||
|
||||
| 缺的回路 | 俊达有 | Clover现状 | 触达文件 |
|
||||
|---|---|---|---|
|
||||
| **改稿→飞轮** | 人改AI草稿,diff喂回去(最强信号) | `SignalType`(enums.py:57-63)只有5种,**无text_edit**;TextCandidate(task.py:73)**无edited字段** | 见配套《增量①改稿diff细案》 |
|
||||
| **审核→爆款库** | 过审的爆款拆解进资产库复用 | `fission`表已建有`reference_level`,但**无service/api接线** | 配套映射文档②|
|
||||
| **任务列表回看** | 全局看所有任务状态流转 | **页面根本不存在**(Sidebar指向的`/tasks/list`是空的)| 需新建 `app/tasks/list/page.tsx` |
|
||||
|
||||
> 链路不是"断",是"只有一条单向流,没有俊达那种'产出→沉淀→回灌'的回路"。这跟底层逻辑逆向文档§2飞轮四动作完全对应——Clover的飞轮①捕获缺最强信号、资产库②没接线。
|
||||
|
||||
---
|
||||
|
||||
## 四、呈现层缺失(你说的"界面空")—— 已逐组件核实,需修正
|
||||
|
||||
**核实后修正:文案卡 `TextCandidateCard.tsx` 其实很饱满**,渲染了:角度标签(55)、正文+展开收起(56-67)、违禁词状态(70-78)、**七维分数条ScoreDimBars(81)**、AI评委总评verdict+summary(84-93)。这张卡不空。
|
||||
|
||||
所以"界面空"不在文案卡。真正可能空的位置,重新定位:
|
||||
|
||||
| 怀疑位置 | 待核实文件 | 为什么怀疑 |
|
||||
|---|---|---|
|
||||
| **工作台dashboard** | `app/dashboard/page.tsx`(已读) | 🔴**确证空**:只有3个DashCard+一句问候,无数据看板、无近期任务、无飞轮进度。俊达进系统是仪表盘,Clover是3个按钮 |
|
||||
| 图片卡 | `ImageProgressCard.tsx` | 未核,存疑 |
|
||||
| 审核卡 | `ReviewCard.tsx` | 未核,存疑 |
|
||||
| 历史/归档页 | `app/history/page.tsx` | 未核,可能只是列表无成品预览 |
|
||||
| 任务列表页 | 不存在 | 🔴确证缺失 |
|
||||
|
||||
> **修正结论**:不是"卡片空",是"**着陆页和全局视图空**"。用户一进来是dashboard(3个按钮),缺俊达那种"今天生成X条/待审Y条/飞轮已学Z条"的仪表盘感。空的是**框**,不是**卡**。这个判断比之前准。
|
||||
|
||||
---
|
||||
|
||||
## 五、Prompt层到底缺什么(其实缺得不多)
|
||||
|
||||
`_text_prompt.py` 已很饱满。对照俊达**只缺2块**:
|
||||
|
||||
1. **改稿示范注入**:俊达把"人改过的好稿"当few-shot塞进prompt。Clover的 `build_prompt`(line126) 现在只注入产品数据+随机变量,**没有"参考这些人工修订过的范本"这一段**。← 配套改稿diff细案S4要补的就是这个。
|
||||
2. **图片prompt的资产复用**:文案prompt成熟,但生图prompt(`storyboard.py`)有没有复用"历史选中的好图风格"待查。俊达双通道+后台选优,Clover是否只是单通道一次性生图待确认。
|
||||
|
||||
> 结论:**prompt层不需要大改,只需把飞轮的"改稿范本"接进 `build_prompt` 的注入段**。这跟"界面空"是两码事,别混。
|
||||
|
||||
---
|
||||
|
||||
## 六、开工优先级(按ROI和并发安全排序)
|
||||
|
||||
| 序 | 干什么 | 工作量 | 并发风险 | 价值 |
|
||||
|---|---|---|---|---|
|
||||
| **P0** | 修Sidebar死链404 | 半天 | 🟢低(纯前端导航) | 立刻不404 |
|
||||
| **P1** | 核查并补全卡片字段渲染(五维分/角度/违禁词) | 1-2天 | 🟡中(动卡片组件) | 界面立刻"饱满" |
|
||||
| **P2** | 改稿diff飞轮(见独立细案) | 已拆好 | 🔴高(碰enums/review) | 最强飞轮信号 |
|
||||
| **P3** | 新建任务列表页 + 导航改任务流语义 | 1-2天 | 🟡中 | 链路闭环呈现 |
|
||||
| **P4** | 爆款库接线 | 二期 | 🟢低(新模块) | 资产化 |
|
||||
|
||||
---
|
||||
|
||||
## 七、并发冲突列(另一窗口在改,落地前必看)
|
||||
|
||||
| 文件 | 冲突等级 | 说明 |
|
||||
|---|---|---|
|
||||
| `api/v1/review.py` | 🔴最高 | 改稿diff细案已确认绕开它走task_actions |
|
||||
| `constants/enums.py` | 🟡 | 加text_edit信号要动这里,**仅此处需手工merge** |
|
||||
| `components/tasks/*.tsx` | 🟡 | 补字段渲染会动卡片,先git status看另一窗口动没动 |
|
||||
| `Sidebar.tsx` | 🟢 | 导航文件,另一窗口大概率没碰,P0可先动 |
|
||||
|
||||
> 落地任何一条前:先 `git status` + `git log --oneline -5` 看另一窗口提交到哪了,再动手。
|
||||
|
||||
Reference in New Issue
Block a user