Skip to content

jargo documentation

jargo is a WebRTC-native, audio-first conversational-AI framework for Go: audio in over WebRTC, a streaming transcription → reasoning → speech pipeline with turn-taking and barge-in, and audio back out.

I want it running. → Installation → Quickstart → Your first bot

I want to understand it. → Architecture → Frames → Processors → Pipeline & Task

I want to extend it. → Writing a processor → Writing a service

The engine is small: frames, processor and pipeline are about 2,000 lines between them. Understanding it makes everything else obvious.

Page What it covers
Architecture The whole system on one page, with a full turn traced end to end.
Frames The three categories, why they exist, and the complete catalog.
Processors The two goroutines inside every processor, and why.
Pipeline & Task Building the chain and driving it.
Interruptions Barge-in: the mechanism, not the metaphor.
LLM context How the conversation accumulates, and when the LLM runs.
Page What it covers
Turn-taking Silero VAD + Smart Turn v3, and the strategies that tune them.
Services Swapping STT/LLM/TTS providers; tool calling; speech-to-speech.
Audio Codecs, sample rates, denoising, mixing, recording.
Telephony Phone calls over Twilio, Telnyx, Plivo, Exotel; DTMF; the idle watchdog.
RTVI The client event protocol over the data channel.
Observability Observers, metrics, tracing, and which numbers matter.
Page What it covers
Writing a processor Add your own logic to the chain.
Writing a service Add an STT, LLM or TTS provider.
Page What it covers
Deploy with Docker The build and distroless runtime base images, and a Dockerfile.
Page What it covers
Benchmarks What the framework itself costs, how that is measured, and how to run the comparison.
  • Go reference: the API. These pages deliberately do not duplicate it.
  • Examples: runnable bots, one per provider.
  • Changelog: what changed, and what broke.