跳转到内容

架构

OtterVoice 是语音会话编排 SDK,不是模型网关。Core 管状态、轮次、打断与用量;平台音频与模型通过接口注入。

Application UI
↕ events / commands
@ottervoice/core VoiceSession · 状态机 · VAD · barge-in · usage
↕ RuntimeAdapter ↕ Provider interfaces
runtime-web | rn | node ASR · LLM · TTS · Audio LLM
负责 不负责
UI 绑定事件、展示字幕、调 start / finish Provider URL、密钥、协议细节
Core 状态机、轮次、打断策略、用量、错误归一 DOM / Expo / Node 特有 API
Runtime 麦、播放、可选 network/storage 业务提示词、模型选型
Provider 具体云厂商协议 Session 生命周期
  • asr_llm_tts(默认):ASR 出文本 → LLM 流式文本 → TTS 播放。
  • audio_llm:ASR 负责字幕,整轮音频进入 Audio LLM;通过 audioLlmStartTiming 选择两者并行或等待 asr_final,文本与 PCM 流式返回。

组合根创建 Session 一次,UI 只订阅事件。换 Runtime / Provider 不必改 UI。