会话生命周期
会话是 Whisperer 中的核心工作单元:客户端监听会议、转录语音并接收 LLM 回复的时间窗口。理解生命周期有助于正确使用开始/暂停操作、解读控制台中的状态,以及排查问题。
何时阅读本文
如果你想了解以下内容,请阅读本文:
- 会议各阶段你的数据会经历什么;
- 为何有时回复会延迟,以及转录何时被保存;
- 客户端与服务器之间的连接是如何工作的。
会话阶段
1. 开始
按下"开始"按钮(或快捷键)后,客户端进入活动模式:
- 客户端向服务器建立连接,并发送设备标识符和令牌。
- 服务器验证订阅和分钟配额。检查通过后,确认会话开始并返回会话标识符。
- 客户端激活音频捕获并开始录制。
2. 录制(流式传输)
音频以约 0.8 秒为间隔分块传输。每个音频块都标注了说话人:用户或对方。
服务器缓冲这些音频块并发送给识别引擎。转录结果实时返回给客户端,并显示在 LiveTranscriptStrip 中。
3. 提问与回复
当用户按下"提问"(或快捷键)时,客户端发送一个包含当前转录上下文的 ask 帧。
服务器组装系统提示词(角色提示 → 用户上下文 → 来自知识库的 RAG),并向 LLM 发起查询。回复以流式方式传输:文字在生成时即时显示,并立即出现在 AnswerArea 中,支持 Markdown 和分页(如有多条回复)。
4. 暂停
按下"暂停"后,音频捕获停止,但 WebSocket 连接保持开启。会话计时器暂停。按"继续"可恢复。
5. 结束
按下"停止"或关闭客户端时:
- 客户端发送
session.end帧。 - 服务器将缓冲的转录记录和已完成回复列表写入数据库。
- WebSocket 关闭。
- 在网页控制台中,会话出现在历史记录部分,包含完整转录和分析结果。
📸 [截图:录制模式下的 Whisperer 面板——可见 LiveTranscriptStrip 和控制按钮]
数据存储
默认情况下,转录记录和 LLM 回复保存到数据库,可在控制台中访问。如果启用了无痕模式,数据在会话结束后删除——但消耗的分钟数仍会计入统计。
常见错误
| 错误 | 原因 | 解决方法 |
|---|---|---|
| 会话无法开始 | 邮箱未确认或无有效订阅 | 检查账户状态和配额 |
| "听不到对方声音" | 未授予屏幕录制权限(macOS)或系统音频捕获不可用(Windows) | macOS 权限 / Windows |
| 转录不显示 | 网络连接不稳定或 WebSocket 断开 | 检查网络;重启会话 |
| LLM 回复过慢 | AI 提供商过载或选择了较慢的模型 | 在设置中切换模型 |
最佳实践
- 使用"停止"按钮明确结束会话 — 这样可以确保数据写入历史记录。
- 在会议长时间暂停期间使用暂停功能 — 计时器停止,不会浪费分钟数。
- 对保密会议使用无痕模式 — 适用于不希望在系统中留存转录记录的场景。