模块知识库/Vibe-Trading 量化交易智能体平台/Vibe-Trading 前端应用/Agent 运行时与聊天界面/编码规范
- SSE 事件处理函数统一先调用
touch() 刷新最后事件时间戳,再根据 attempt_id 通过 identifyActivity 绑定当前 activity 后再执行业务逻辑。
- 对高频流式更新采用节流/合并模式:文本增量通过
queueStreamUpdate + STREAM_FLUSH_INTERVAL_MS 定时器批量 flush;tool_progress 通过 pendingProgressRef Map + requestAnimationFrame 在每帧内合并最新进度后一次性写入 store。
- Store 操作通过
act().xxx 或 useAgentStore.setState 形式修改全局状态,避免在组件中直接持有 store 引用导致闭包过期。
- 消息分组渲染:
groupMessages 将连续的 thinking/tool_call/tool_result/compact 类型消息聚合成 timeline 组,其余作为 single 项,用于 ConversationTimeline 的折叠展示。
- 活动状态机遵循
thinking → working → responding 三态流转,并在 setActivityState 中对 stopped/timeout/failed/done 等终态自动设置 endedAt。
- 每个 chat 组件文件均配有同名
__tests__/*.test.tsx 单元测试,覆盖渲染与交互行为,数学内容另含 .math.test.tsx 分支测试。