Files
hermes-agent/tools
brooklyn! 80e30634a5 fix(tts): keep local voices warm for tts.keep_warm_seconds after the last lease drops
release_tts_lease() unloaded resident local models inline the moment the
holder count hit zero, so a wake-only voice conversation that ended right
after its ~2s Piper warm-up evicted the voice, and every wake reloaded it.
The last release now schedules the unload on a cancellable timer
(tts.keep_warm_seconds, default 60, 0 = immediate); any acquire in the
window cancels it, and a warm-up that finishes with no holders restarts
the window so a mid-load release can't leave the model resident forever.

Fixes #118037
2026-09-24 02:39:10 -05:00
..