User Guide · 10
Voice Interaction
10.1 Voice Input (Chat Box)
- Click microphone button to start recording
- Click again to stop → auto-transcribed into input field
- Press Esc during recording to cancel (doesn't send)
- Transcription uses
STT_API_KEY(default OpenAI Whisper; overridable in per-admin API Keys)
10.2 Realtime Voice Call (LiveKit)
Path: Settings → Voice
LiveKit WebRTC copilot for realtime conversation; complex tasks are delegated to the OpenJellyfish main Agent (same thread_id and conversation history as text chat).
Prerequisites: deployer configures LiveKit Server, voice worker plugin, and env vars (LIVEKIT_URL, LIVEKIT_API_KEY, LIVEKIT_API_SECRET, VOICE_BRIDGE_SECRET, etc.).
Tunable in Voice settings:
- Greeting, system prompt, routing policy, interruption rules
- STT: OpenAI / Fish Audio / Alibaba Paraformer
- Frontend LLM: same catalog as Chat (via Core OpenAI-compatible gateway)
- TTS: OpenAI / Fish Audio / Alibaba CosyVoice
Use Test call in Voice settings to try a session.
10.3 Realtime Voice (S2S WebSocket, legacy)
- WebSocket proxy to OpenAI Realtime API (
/api/voice/ws) - For third-party clients; React UI primarily uses LiveKit (§10.2)