Documentation
¶
Overview ¶
Command voicebot is the full-featured voice agent built on jargo: microphone audio comes in over WebRTC, Deepgram transcribes it, an Anthropic LLM reasons over it, ElevenLabs speaks the reply, and the audio goes back out over WebRTC. On top of the core STT -> LLM -> TTS pipeline it adds turn-taking and barge-in (Silero VAD + Smart Turn), optional long-term memory (mem0), and optional OpenTelemetry tracing and metrics. RTVI events (the handshake and live transcripts) flow over the data channel.
The provider stack is fixed here so the example can focus on those advanced features. To see other STT/LLM/TTS providers wired explicitly — one provider per file — look at examples/voice (e.g. `go run ./examples/voice/cartesia`).
Set DEEPGRAM_API_KEY, ANTHROPIC_API_KEY and ELEVENLABS_API_KEY, then run it, open http://localhost:8080, click start, and allow the mic. Long-term memory turns on when MEM0_HOST is set; tracing and metrics when OTEL_EXPORTER_OTLP_ENDPOINT is set.
jargo itself reads no environment variables: the library takes explicit Config structs, and this app is responsible for sourcing and validating them.