v0.6.0
Highlights
- Fixed: the bot could get permanently stuck after a question. A raw VAD false-trigger (breath, cough, background noise) while the bot was thinking would start a user turn and broadcast an interruption, cancelling the in-flight LLM generation. Since no transcript ever arrived, the turn force-ended empty, the LLM never re-ran, and the question sat unanswered while the working-sound blips played forever. Two changes fix this:
- Transcription-gated turn starts (cascade brains). Turn starts now require an (interim) transcription instead of a raw VAD trigger, so noise that never produces a transcript can no longer start a turn or cancel an in-flight response. Trade-off: barge-in waits for the first interim transcript (a few hundred ms). Realtime brains keep Pipecat's service-driven turn detection, unchanged.
- Empty-turn recovery. If a user turn still ends with no content while the conversation ends in an unanswered user message (or a tool call the interruption cancelled), the LLM is automatically re-run so the question gets answered. Guarded against loops: no re-run while a response is in flight, and a small cap on consecutive recovery attempts.
No config changes required -- both behaviors are on by default.
Install
pip install 'openlily @ git+https://github.com/getlark/openlily.git@v0.6.0#subdirectory=server'