该技能用于通过 WebRTC 数据通道(Daily 客户端)以编程方式实时控制 Tavus CVI 实时对话。
用途:在实时会话中控制数字人(replica)的说话、打断、上下文与轮次灵敏度,并接收会话中产生的事件。
主要能力:
- echo:绕过 LLM,让数字人直接说出给定文本或流式音频(base64,含 sample_rate 等参数)。
- respond:将文本当作真实用户输入注入,会经过 LLM 处理。
- interrupt:停止数字人当前说话。
- overwrite_context / append_context:整体替换或追加对话上下文。
- sensitivity:会话中途调整 participant_pause_sensitivity 与 participant_interrupt_sensitivity,取值 low、medium、high。
接收事件:utterance(role 为 user 或 replica)、replica started/stopped speaking、user started/stopped speaking、tool_call(函数调用)、perception_analysis(Raven 分析)、replica interrupted。
使用方式:在网页端引入 https://unpkg.com/@daily-co/daily-js 创建通话并 join 到对话 URL,用 sendAppMessage 发送交互对象(含 message_type、event_type、conversation_id、properties);也可用 Python 的 daily 库 CallClient 加入并发送 app message。事件通过 app-message 监听获取。
常见模式:echo 模式配合手动控制(persona 设 pipeline_mode 为 echo,监听事件跟踪状态);混合模式(full 模式正常对话,用 append_context 注入、用 overwrite_context/echo 接管,配合 interrupt 立即打断)。
限制:需有效的对话 URL 与 conversation_id;echo 音频需正确的 sample_rate 与 inference_id、done 标记;敏感度取值仅 low/medium/high。资料未提供计费、平台支持范围与错误处理细节。