Skip to content

feat: Add frontend observability probes#12

Draft
jiejuncai-ly wants to merge 2 commits into
lex-mainfrom
observability
Draft

feat: Add frontend observability probes#12
jiejuncai-ly wants to merge 2 commits into
lex-mainfrom
observability

Conversation

@jiejuncai-ly

Copy link
Copy Markdown

变更概述

这个 PR 在前端加入可开关的观测事件采集,把浏览器端的输入音频、远端播放音频、房间连接和后端输出 marker 统一成前端可发布的数据包,供 LexVoice 后端按同一 session/room 维度关联分析。

主要改动

1. 前端观测协议与音频活动检测

  • 新增 lib/observability.ts,定义前端观测事件、LiveKit data packet 发布和后端 marker 解析。
  • 新增 lib/frontend-audio-observer.ts,检测音频活动起止、尾帧和媒体轨道播放状态。

2. LiveKit 会话链路接入

  • hooks/useBrowserSourceClient.tshooks/useRoom.tscomponents/app/app.tsx 中发布浏览器输入、房间连接和远端播放观测事件。
  • 新增 components/livekit/remote-audio-playback-observer.tsx,观察 agent 远端音频播放情况。

3. 前端边界与测试覆盖

  • 增加聊天空转写过滤、视频预览选择 helper 和配置项校验,避免观测噪声影响用户界面。
  • 为 observability、audio observer、chat filter、video preview selection 和项目配置补充测试。

影响说明

  • 默认行为受 OBSERVABILITY_ENABLED 控制;关闭时不会发布前端观测事件。
  • 开启后后端可以关联浏览器输入、agent 输出和播放链路,便于定位无声、空转写和媒体轨道异常。
  • 用户可见 UI 变化集中在状态过滤和预览选择稳定性上,风险主要在前端 LiveKit session/audio observer 集成路径。

Verification

  • pnpm test

    ✅ passed: 92 tests passed

  • pnpm lint

    ✅ passed: eslint completed with exit 0

  • git diff --check origin/lex-main..HEAD

    ✅ passed: no output

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant