NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI
Hold a spoken conversation: listen, answer, speak — and stop the moment the user cuts in. The loop over vocal-helper (hearing), a local language model (answering) and speaker-helper (speaking), with the floor, barge-in and the latency budget handled properly.
Last release today
19 Oct 2026
Too new to tell
only 1 dated releases
Nearly every release is documented
notes for 1 of 1 stable releases
Nothing withdrawn
no release was ever pulled
0 months old
1 releases · first in 2026
vocal-helper hears, speaker-helper speaks, a local model answers — and none of them knows whose turn it is. This package is what was missing between t
vocal-helper hears, speaker-helper speaks, a local model answers — and
none of them knows whose turn it is. This package is what was missing between
them.
Discussion, the loop: listen, answer, speak, and stop the moment the
user cuts in. Four floor states, and THINKING is separate from SPEAKING
because they are interrupted differently — thinking can be abandoned
silently, speaking has to be stopped and its queued audio thrown away.allow_barge_in=False is there for the
speakerphone case, and acoustic echo cancellation is the real answer.slowest_stage that names what to fix.
SpokenSentence reports time-to-first-audio and playback separately: one
number would make a fast engine reading a long sentence look slower than a
slow engine reading a short one.Listener, Responder, Voice. The
whole loop runs in CI with no microphone, no model and no sound card — and
that is the point, because interruption handling is precisely what a real
room makes impossible to assert.discussion-helper rehearse, which runs that same loop from the command
line with fake parts. When a voice agent misbehaves the first question is
always "is it the loop or is it the room"; this answers it in a second.No wake word, no diarization, no telephony, no echo cancellation, and no
turn detection: vocal-helper ships Silero VAD and a semantic end-of-turn
stage, and a second copy here would give that behaviour two owners.
There is also no HTTP or MCP surface yet. A live microphone loop over HTTP is
a different product — it wants WebRTC, not a request — and declaring a
discussion-helper-mcp command with no module behind it is exactly the defect
this suite keeps finding elsewhere. It will arrive as a control plane (start a
session, read the transcript and timings live) or not at all.
Your coding agent can read these notes before it upgrades. Set up the MCP server →