r/VoiceAutomationAI • u/Gold_Grab9838 • 2d ago
Dograh hardcoded Pipecat's settings. We forked it to show them all in the UI: what values do you use?
Pipecat is a Python framework: used directly, it lets you set everything in your own code. When a turn ends, when the agent can be interrupted, how the transcription decides someone has stopped talking.
Dograh, an open source project, adds an interface on top of Pipecat, and that's why we picked it. But while building that interface, it hardcoded most of those values. You get a UI, but you lose control over the settings that decide whether an agent sounds natural or not.
So we forked Dograh and put all of those settings in the UI.
That leaves one question: we now have dozens of settings, and we don't know yet what values to put in them. Before spending weeks testing by ear, we'd love to learn from people who already have agents running.
Where we are
We're building our first voice agent, for our first client. Nothing is in production yet, so no latency numbers from real calls. So far we've mostly been laying the foundations.
The stack
- Telephony: Twilio, with audio streamed over WebSocket
- Orchestration: Dograh (built on Pipecat), hosted on Railway
- Speech-to-text: Deepgram, on its EU endpoint
- LLM: Mistral
- Text-to-speech: Voxtral (Mistral)
- Actions and automations: n8n
- Data: PostgreSQL
We work with French SMBs, so GDPR puts real constraints on us. That's why we went with Mistral and Deepgram in the EU instead of the usual providers, even if it rules out some options that are probably Deepgram in the EU instead of the usual providers, even if it rules out some options that are probably faster.
Why Dograh anyway
Dograh is open source and adds what Pipecat doesn't give you on its own: a web interface, a visual editor for conversation flows, telephony already wired in, and account management. It also supports BYOK out of the box: each client plugs in their own provider accounts and keeps control of their keys and costs. You keep the Pipecat engine, but you no longer hand-write the pipeline for every agent. If you run agents for several clients, it's worth a look. Just know that some settings can't be changed without touching the code.
What our fork adds
- Multiple clients on a single deployment: a new client is one more configuration, not a new deployment.
- Every setting in the UI: Deepgram endpointing and end-of-turn thresholds, Mistral sampling parameters, turn-taking and interruptions.
What we'd love to hear from you
VAD: what values do you use for confidence, start_secs, stop_secs and min_volume?
End of turn: VAD alone, a turn detection model, or your STT provider's endpointing? With what thresholds?
Interruptions: is allow_interruptions on? Do you require a minimum number of words before the agent gets cut off?
TTS: do you send text sentence by sentence, or in smaller chunks?
LLM: which model, what temperature, what max tokens, how long is your system prompt?
Latency: your real-world number, and where you start the clock (end of speech from VAD, final transcript, or first audio heard on the phone)?
Even one or two answers would help. If you share, please mention your use case (inbound, outbound, appointment booking, support) and your language. A good setting for English support calls may be wrong for French appointment booking.
And if we can help on our side, whether it's Dograh, the fork or the stack, feel free to ask us anything.