dsh-tts 0.2.0
Speaking as it goes
Replies used to be collected for the whole turn and read once it ended — silence while the agent worked, then everything at once. Each reply is now synthesized the moment it lands, split on sentence boundaries, so sound starts almost immediately. speakAsItGoes: false restores the old behaviour.
Approvals are announced
When a turn stops for an approval, the plugin says so and plays a short chime — that is exactly the moment nobody is looking at the screen. Questions from the agent are announced too. The chime is generated in the browser, so there is no file to download or configure.
Settings: announceApproval, approvalText, questionText, chime (ding, beep, none).
Playback no longer cuts itself off
Every arriving utterance used to pause the previous one. Playback is a queue now, and a place in it is reserved before synthesis starts, so the order spoken is the order written — not the order the providers answered in.
Also
- Playback speed
rate, 0.5 to 2. Synthesis is untouched; the browser plays faster or slower. - A fallback voice: if synthesis fails, the browser reads the text itself.
- Pause, resume and stop in the composer row while something is being read.
- Three more providers speaking OpenAI's dialect:
siliconflow,deepinfra,fireworks. Each endpoint was probed without a key and answered401.
Install
dsh plugin --profile web add @goodandready/dsh-tts