chore: clean up open-model TTS plugins (Kokoro warmup, Pocket deps, drop moonshine extra)#613
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (3)
🚧 Files skipped from review as they are similar to previous changes (3)
📝 WalkthroughWalkthroughThe Kokoro TTS plugin now lazily initializes Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 4
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: aa108ee4-67ba-45a0-af17-a7656935e6e8
⛔ Files ignored due to path filters (1)
uv.lockis excluded by!**/*.lock
📒 Files selected for processing (8)
agents-core/pyproject.tomlplugins/kokoro/README.mdplugins/kokoro/example/README.mdplugins/kokoro/example/kokoro_example.pyplugins/kokoro/tests/test_tts.pyplugins/kokoro/vision_agents/plugins/kokoro/tts.pyplugins/pocket/README.mdplugins/pocket/example/pyproject.toml
💤 Files with no reviewable changes (1)
- agents-core/pyproject.toml
Co-authored-by: Cursor <cursoragent@cursor.com>
Why
The open-model (local, no-API-key) TTS plugins had drifted from the rest of the framework. Kokoro built its
KPipelineeagerly in__init__, which blocked construction and meant the model load never participated in the agent warmup lifecycle; its example was a greet-once demo with no way to actually hold a conversation. Pocket still pinned an oldpocket-ttsand its example declared asmart-turndependency it no longer needs (Deepgram STT provides turn detection). Separately,agents-corestill advertised amoonshineoptional-dependency extra even though that plugin no longer exists, sopip install vision-agents[moonshine]resolved to nothing.This branch brings the local-model TTS plugins back in line with the framework's warmup lifecycle, makes their examples runnable end-to-end, and drops the dead extra.
Changes
KPipelinelazily through theWarmablemixin instead of in__init__, so the model is built once during agent warmup on a dedicated executor rather than blocking construction, and expand the unit tests to cover the warmup + synthesis path.pocket-ttsto>=1.1.1, relax the example torequires-python >=3.10, and drop the now-unusedsmart-turndependency.moonshineoptional-dependency extra fromagents-coreand regenerateuv.lock.