# Clover 链路缺失诊断 + 代码层/Prompt层开工清单 > 对照俊达"完整闭环",逐行扒 Clover 真实代码后的诊断。每条都标了**文件:行号**和**改法**。 > ⚠️ 并发:backend/frontend 另一窗口在改(15:34时间戳),本清单只诊断+给改法,落地前先看冲突列。 --- ## 一、定性结论(先看这个) 你说的三个症状,根因各不相同,别一锅炖: | 你的感受 | 真实根因 | 性质 | |---|---|---| | "点文案按钮404" | Sidebar导航写死了4个不存在的路由 | **死链bug**,半天能修 | | "界面比较空" | prompt产出丰富,但前端没把"五维分/角度/飞轮/资产"可视化出来 | **呈现层缺失** | | "逻辑链路有缺失" | 能跑通,但是"断点式8孤岛",不是俊达的"一个任务流过的闭环" | **链路编排缺失** | > 反常识发现:**prompt层不空,反而饱满**。`_text_prompt.py` 已有人设/变量池ABC/5步框架/四段结构/5类标题公式/反AI味/emoji规则,做了方法层vs数据层分离。空的是"产出之后怎么呈现、怎么串环、怎么沉淀"。 --- ## 二、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` 看另一窗口提交到哪了,再动手。