04-04~05:Topics Tab + React Flow 工作流地图¶
04-04:从"任务提取器"到"对话主题分析器"¶
Dad 的目标: 不是只提取 task,而是整理所有进行中/停滞/搁置的项目。区分"事件(一次性)"和"主题(持续跨天)"。
架构判断: 当前 Pipeline 更像 task extractor,Dad 需要的是 conversation topic analyzer。推荐模型 Project > Topic > Event/Task/Output,Topic 作为 Project 子级。
Dad 决策: 先试"方案 2" — bot 实时自报 topic。
04-04~05:Topics 功能落地¶
第一轮: PortalBot 多次超时,Codex CLI 补完 Topics Tab / BotDetailPage / ProjectDetailPage。API 返回 67 个 topics。
问题: 67 个 topics "都不知道是什么东西" — 大部分来自旧数据迁移,噪音多。
数据清洗: 1. 从 backup 表、tasks_backup、AP_daily_digest 重建 → 325 条 2. 清理噪音 → 301 条 3. 按 bot 分组,LLM 聚合相近事件 → 254 条 4. 进一步归并 → 108 条主题(16 个 bot)
关键经验: 主题分析不能直接迁移旧 task 数据,必须经过噪音过滤 → 历史重建 → LLM 归并 → 项目映射修正。
04-05:展示从列表到流程图¶
展示方式经历 5 轮迭代:
| 轮次 | 方案 | Dad 反馈 |
|---|---|---|
| 1 | 平铺卡片 | 300+ 条太乱 |
| 2 | 三层树 Bot→Category→Topic | 健康检查不应混入,仍难看 |
| 3 | 两列:左项目,右主题 | 方向对,但不够直观 |
| 4 | 横向展开 Category→Topic | 需要连接线和折叠 |
| 5 | React Flow | ✅ 最终方案 |
选 React Flow 的理由: React 生态成熟,适合节点/边/折叠/拖拽/缩放,比手写流程图可维护。
React Flow 落地踩的坑¶
节点全部堆叠在一起:
- 根因:getNodeSize 返回共享对象引用,dagre setNode 需要独立 { width, height } 对象
- 共享引用导致布局计算全部指向同一坐标
- 解决:每个节点传入独立尺寸对象
其他修复: - 容器高度不足 → React Flow 需要明确高度 - fitView 不生效 → 加 ReactFlowProvider + 自动 fit 逻辑 - dagre 间距过大 → 调整 nodesep,让图更紧凑 - TopicNode 冗余 summary → 去掉 - 默认筛选改为"进行中"
最终状态¶
流程图可渲染、可拖拽、结构 Category→Project→Topic 三层。Dad 对 Codex 产出质量不满意,后续交还 PortalBot 继续迭代。