AskaEth
1bf85a955b
CI / Backend (build / vet / test / cross-compile) (push) Has been cancelled
CI / Frontend (tsc + vite build) (push) Has been cancelled
feat(gateway): 链路图冷启动快照(v0.71)+ 面板来源说明条 —— 修「轮次结束后打开页面一片空白」
- 断点已证 = **时序层**:graph_update 只走实时帧从不重放、flowGraphs 不持久化、补拉通路此前根本不存在(EndRound 注释承诺过「刷新能重放」,代码里从来没有)
铁证:15:16:38 页面重载抹掉 15:09 那轮图,而下一轮心跳要等 ~15:24 ⇒ 打开后台思考页时桶必然为空
- 新增只读端点 GET /api/v1/admin/flow/graph?sessionId=(owner|admin;省略=主会话;graph 与 graph_update 帧的 data 逐字同形)
无图 ⇒ 200 + graph:null(不画假图);图源未接线 ⇒ 500 flow_unavailable(不伪装成「没有图」);不审计、不发布
- loop.FlowPublisher.LastGraph:只读快照(不发布/不改图/不动轮次计数),FlowGraph.Clone 深拷贝避免锁外编码撕裂
- 前端 useFlowSnapshot:只在「本会话还没有图」时补拉(避免每行一个请求);Flow/Agents/Backthink 三处接入 + 来源说明条(明确「最近一轮」与「多轮历史回放尚未实现」)
- 变异实测:LastGraph 恒 nil ⇒ 4 条测试红;白名单去掉 sess-backthink ⇒ 对应测试红(首次变异因未使用 import 编译失败 ⇒ 已作废重做)
- ⚠️ 诚实边界:每会话只回**最近一轮**(多轮回放属 F2);白名单外会话(IM 群聊/陌生人)永远没有图;**后端重启后未跑新轮次前端点如实返 null(图是内存资产,不落库)**—— 主人要的「本地数据」正是 F2 要补的
2026-10-05 15:38:53 +08:00
..
2026-10-04 12:30:16 +08:00
2026-10-04 12:30:16 +08:00
2026-10-04 14:21:41 +08:00
2026-10-05 14:15:55 +08:00
2026-10-05 14:15:55 +08:00
2026-10-05 13:29:53 +08:00
2026-10-05 10:37:56 +08:00
2026-10-05 10:37:56 +08:00
2026-10-04 13:42:37 +08:00
2026-10-05 14:01:52 +08:00
2026-10-05 14:38:37 +08:00
2026-10-05 14:38:37 +08:00
2026-10-05 14:38:37 +08:00
2026-10-03 22:28:25 +08:00
2026-10-05 13:29:53 +08:00
2026-10-05 10:37:56 +08:00
2026-10-03 22:28:25 +08:00
2026-10-03 22:28:25 +08:00
2026-10-03 22:28:25 +08:00
2026-10-03 22:28:25 +08:00
2026-10-03 22:28:25 +08:00
2026-10-05 14:01:52 +08:00
2026-10-05 13:54:56 +08:00
2026-10-05 13:54:56 +08:00
2026-10-05 13:54:56 +08:00
2026-10-05 10:37:56 +08:00
2026-10-04 14:00:25 +08:00
2026-10-05 15:38:53 +08:00
2026-10-05 15:38:53 +08:00
2026-10-03 22:28:25 +08:00
2026-10-04 12:43:04 +08:00
2026-10-04 12:43:04 +08:00
2026-10-04 12:43:04 +08:00
2026-10-04 12:43:04 +08:00
2026-10-04 18:11:43 +08:00
2026-10-04 13:06:54 +08:00
2026-10-04 18:11:43 +08:00
2026-10-04 22:16:26 +08:00
2026-10-05 14:38:37 +08:00
2026-10-04 10:46:51 +08:00
2026-10-04 13:07:52 +08:00
2026-10-04 14:21:41 +08:00
2026-10-04 14:21:41 +08:00
2026-10-03 22:28:25 +08:00
2026-10-04 14:21:41 +08:00
2026-10-04 12:30:16 +08:00
2026-10-05 14:15:55 +08:00
2026-10-03 22:28:25 +08:00
2026-10-04 19:44:53 +08:00
2026-10-04 19:44:53 +08:00
2026-10-03 22:28:25 +08:00
2026-10-03 22:28:25 +08:00
2026-10-03 22:28:25 +08:00
2026-10-05 14:01:52 +08:00
2026-10-04 18:57:58 +08:00
2026-10-05 10:37:56 +08:00
2026-10-04 21:33:11 +08:00
2026-10-04 21:33:11 +08:00
2026-10-04 21:33:11 +08:00
2026-10-03 22:28:25 +08:00
2026-10-04 13:07:52 +08:00
2026-10-03 22:28:25 +08:00
2026-10-04 12:07:51 +08:00
2026-10-04 13:07:52 +08:00
2026-10-03 22:28:25 +08:00
2026-10-04 14:21:41 +08:00
2026-10-03 22:28:25 +08:00
2026-10-05 14:15:55 +08:00
2026-10-03 22:28:25 +08:00
2026-10-03 22:28:25 +08:00
2026-10-05 10:37:56 +08:00
2026-10-03 22:28:25 +08:00
2026-10-03 22:28:25 +08:00
2026-10-03 22:07:56 +08:00
2026-10-05 11:36:18 +08:00
2026-10-04 17:59:28 +08:00
2026-10-04 19:46:36 +08:00
2026-10-04 14:37:37 +08:00
2026-10-05 09:18:50 +08:00
2026-10-05 15:38:53 +08:00
2026-10-05 15:38:53 +08:00
2026-10-04 19:46:36 +08:00
2026-10-04 17:07:20 +08:00
2026-10-05 11:36:18 +08:00
2026-10-04 14:37:37 +08:00
2026-10-03 22:28:25 +08:00
2026-10-04 10:37:22 +08:00
2026-10-03 22:28:25 +08:00
2026-10-03 22:28:25 +08:00
2026-10-04 17:42:16 +08:00
2026-10-03 22:28:25 +08:00
2026-10-03 22:28:25 +08:00
2026-10-03 22:28:25 +08:00
2026-10-03 22:28:25 +08:00
2026-10-04 21:50:08 +08:00
2026-10-04 21:50:08 +08:00
2026-10-05 10:56:39 +08:00
2026-10-03 22:07:56 +08:00
2026-10-04 14:13:27 +08:00
2026-10-04 14:13:27 +08:00
2026-10-05 09:46:10 +08:00
2026-10-04 14:21:52 +08:00
2026-10-04 14:21:52 +08:00
2026-10-03 22:28:25 +08:00
2026-10-03 22:28:25 +08:00
2026-10-03 22:28:25 +08:00
2026-10-03 22:07:56 +08:00
2026-10-03 22:28:25 +08:00
2026-10-03 22:28:25 +08:00
2026-10-03 22:28:25 +08:00
2026-10-03 22:28:25 +08:00
2026-10-04 13:58:03 +08:00
2026-10-03 22:28:25 +08:00
2026-10-03 22:28:25 +08:00
2026-10-04 13:58:03 +08:00
2026-10-04 13:58:03 +08:00
2026-10-04 13:58:03 +08:00
2026-10-04 13:58:03 +08:00
2026-10-05 11:36:18 +08:00
2026-10-03 22:28:25 +08:00
2026-10-03 22:28:25 +08:00
2026-10-03 22:28:25 +08:00
2026-10-05 14:38:37 +08:00
2026-10-04 16:27:35 +08:00
2026-10-05 09:18:50 +08:00
2026-10-05 15:38:53 +08:00
2026-10-05 15:38:53 +08:00
2026-10-03 22:28:25 +08:00
2026-10-04 17:42:16 +08:00
2026-10-04 21:50:08 +08:00
2026-10-05 11:36:18 +08:00
2026-10-05 09:18:50 +08:00
2026-10-05 09:38:11 +08:00
2026-10-05 09:38:11 +08:00
2026-10-05 09:53:08 +08:00
2026-10-03 22:28:25 +08:00
2026-10-05 12:21:24 +08:00
2026-10-05 10:56:39 +08:00
2026-10-05 12:21:24 +08:00
2026-10-05 09:18:50 +08:00
2026-10-05 09:53:08 +08:00
2026-10-05 10:56:39 +08:00
2026-10-05 12:21:24 +08:00
2026-10-04 17:59:28 +08:00
2026-10-05 09:18:50 +08:00
2026-10-05 09:46:10 +08:00
2026-10-03 22:28:25 +08:00
2026-10-03 22:07:56 +08:00
2026-10-04 17:59:28 +08:00
2026-10-05 09:38:11 +08:00
2026-10-05 09:38:11 +08:00
2026-10-05 11:36:18 +08:00
2026-10-04 17:25:35 +08:00
2026-10-05 11:36:18 +08:00
2026-10-05 09:18:50 +08:00
2026-10-05 09:46:10 +08:00
2026-10-05 10:56:39 +08:00
2026-10-05 10:56:39 +08:00
2026-10-05 10:56:39 +08:00
2026-10-05 10:56:39 +08:00
2026-10-05 09:18:50 +08:00
2026-10-03 22:28:25 +08:00
2026-10-03 22:28:25 +08:00
2026-10-03 22:28:25 +08:00
2026-10-03 22:10:33 +08:00
2026-10-05 10:56:39 +08:00
2026-10-04 17:59:28 +08:00
2026-10-05 09:38:11 +08:00
2026-10-05 09:38:11 +08:00
2026-10-05 09:38:11 +08:00
2026-10-03 22:07:56 +08:00
2026-10-03 22:10:33 +08:00
2026-10-04 17:59:28 +08:00
2026-10-03 22:07:56 +08:00
2026-10-03 22:28:25 +08:00
2026-10-03 22:07:56 +08:00
2026-10-05 09:38:11 +08:00
2026-10-04 17:25:35 +08:00
2026-10-05 10:56:39 +08:00
2026-10-05 10:56:39 +08:00
2026-10-04 17:59:28 +08:00
2026-10-04 11:26:35 +08:00