Skip to content

chore: clean up open-model TTS plugins (Kokoro warmup, Pocket deps, drop moonshine extra)#613

Merged
Nash0x7E2 merged 4 commits into
mainfrom
chore/open-model-plugin-cleanup
Jul 14, 2026
Merged

chore: clean up open-model TTS plugins (Kokoro warmup, Pocket deps, drop moonshine extra)#613
Nash0x7E2 merged 4 commits into
mainfrom
chore/open-model-plugin-cleanup

Conversation

@Nash0x7E2

Copy link
Copy Markdown
Member

Why

The open-model (local, no-API-key) TTS plugins had drifted from the rest of the framework. Kokoro built its KPipeline eagerly 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 old pocket-tts and its example declared a smart-turn dependency it no longer needs (Deepgram STT provides turn detection). Separately, agents-core still advertised a moonshine optional-dependency extra even though that plugin no longer exists, so pip 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

  • Kokoro TTS: load the KPipeline lazily through the Warmable mixin 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.
  • Kokoro example: turn the greet-once demo into a full voice loop by adding Deepgram STT (eager turn detection) plus an opening greeting, and refresh the READMEs.
  • Pocket: bump pocket-tts to >=1.1.1, relax the example to requires-python >=3.10, and drop the now-unused smart-turn dependency.
  • Core: remove the stale moonshine optional-dependency extra from agents-core and regenerate uv.lock.

@coderabbitai

coderabbitai Bot commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: d8b302fb-7866-4916-88d8-95de2687fc4c

📥 Commits

Reviewing files that changed from the base of the PR and between a74091e and 647027b.

📒 Files selected for processing (3)
  • plugins/kokoro/README.md
  • plugins/kokoro/tests/test_tts.py
  • plugins/kokoro/vision_agents/plugins/kokoro/tts.py
🚧 Files skipped from review as they are similar to previous changes (3)
  • plugins/kokoro/README.md
  • plugins/kokoro/tests/test_tts.py
  • plugins/kokoro/vision_agents/plugins/kokoro/tts.py

📝 Walkthrough

Walkthrough

The Kokoro TTS plugin now lazily initializes KPipeline through Warmable, generates chunks with a dedicated executor, and shuts down resources in close(). Tests cover injected pipelines, warmup handling, stream markers, and cleanup. Kokoro examples and documentation now reflect Vision Agents lifecycle usage and Deepgram STT. Pocket and optional dependency declarations were also updated.


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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

📥 Commits

Reviewing files that changed from the base of the PR and between 634c357 and a74091e.

⛔ Files ignored due to path filters (1)
  • uv.lock is excluded by !**/*.lock
📒 Files selected for processing (8)
  • agents-core/pyproject.toml
  • plugins/kokoro/README.md
  • plugins/kokoro/example/README.md
  • plugins/kokoro/example/kokoro_example.py
  • plugins/kokoro/tests/test_tts.py
  • plugins/kokoro/vision_agents/plugins/kokoro/tts.py
  • plugins/pocket/README.md
  • plugins/pocket/example/pyproject.toml
💤 Files with no reviewable changes (1)
  • agents-core/pyproject.toml

Comment thread plugins/kokoro/README.md Outdated
Comment thread plugins/kokoro/tests/test_tts.py Outdated
Comment thread plugins/kokoro/vision_agents/plugins/kokoro/tts.py Outdated
Comment thread plugins/kokoro/vision_agents/plugins/kokoro/tts.py Outdated
Co-authored-by: Cursor <cursoragent@cursor.com>
@Nash0x7E2
Nash0x7E2 merged commit d7655c9 into main Jul 14, 2026
14 checks passed
@Nash0x7E2
Nash0x7E2 deleted the chore/open-model-plugin-cleanup branch July 14, 2026 17:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant