Skip to content
Early work in progress

Voice agents in Go

A WebRTC-native, audio-first conversational-AI framework. 
Audio in, streaming STT → LLM → TTS, audio out, with real turn-taking and barge-in.

stt := openai.NewSTT(openai.STTConfig{APIKey: key, SampleRate: opus.SampleRate})
llm := openai.NewLLM(openai.LLMConfig{APIKey: key})
tts := openai.NewTTS(openai.TTSConfig{APIKey: key})

t := rtc.NewTransport(conn, transport.DefaultParams())
agg := aggregators.New(frames.NewLLMContext("You are a helpful voice assistant."))

task := pipeline.NewTask(pipeline.New(
    t.Input(), stt, agg.User(), llm, tts, t.Output(), agg.Assistant(),
), pipeline.TaskParams{})
task.Run(ctx)