用途:TRACE 用 Convex 内置实时订阅把调查进度流式推送到前端,不依赖 WebSocket、SSE 或轮询;Convex 查询在底层数据变化时自动推送更新。
主要能力:调查页由四个响应式查询驱动——investigations.get(状态、步骤数、浏览器 URL)、investigations.getSteps(活动流)、investigations.getFindings(证据卡)、graphEdges.getEdges(关系图边)。编排器每次写入数据库都会自动触发对应订阅更新。Runs 页用 investigations.list 列出全部调查,Report 页用 reports.getReport 读取报告数据。
使用方式:编排器(Convex action)通过 ctx.runMutation 写入 addStep、addFinding、addEdges、updateStatus,前端 useQuery 自动重渲染。步骤经 addSteps 批量写入,CommandStrip 渲染可折叠底部条;新发现触发从右侧滑入的 toast,5 秒后自动消失;边数据经 useGraphData 转为节点与链接,驱动 react-force-graph-2d 力导向图;状态变为 complete 时播放 CompletionFlash 动画并跳转 /report/${id},报告不内联展示;browserLiveUrl 写入后 BrowserView 从空态切换为实时 iframe。ViewSwitcher 在 Browser、Graph、Map 三视图间切换,并有新数据脉冲提示。页面加载时若状态为 planning 会自动启动调查。编排器通过 ctx.scheduler.runAfter(0, internal.orchestrator.step, {...}) 把每一步调度为独立 action,规避 Convex 10 分钟超时,新 action 约 100ms 内启动。
限制:订阅延迟约 50-100ms;步骤频率每 15-60 秒;每调查页最多 4 个并发订阅;每步数据量约 2KB。以上均来自公开资料,收费、平台支持范围等信息暂未提供。