initial: Piper TTS default plugin
Runtime monkey-patch that changes tools.tts_tool.DEFAULT_PROVIDER from 'edge' to 'piper' at plugin load time. Zero fork needed. - plugin.yaml with requires_pip: piper-tts - __init__.py with _apply_piper_patch() + on_session_start hook - README with installation and safety notes
This commit is contained in:
58
README.md
58
README.md
@@ -1,3 +1,57 @@
|
||||
# hermes-piper-plugin
|
||||
# Hermes Piper Plugin
|
||||
|
||||
Hermes TTS plugin — makes Piper the default TTS provider instead of Edge. Runtime monkey-patch, zero fork needed.
|
||||
Makes Piper TTS the default provider instead of Microsoft Edge TTS.
|
||||
|
||||
**Zero modifications to the Hermes repo.** No fork required. The plugin
|
||||
monkey-patches `tools.tts_tool.DEFAULT_PROVIDER` at plugin load time.
|
||||
|
||||
## Why
|
||||
|
||||
- Piper is local, free, CPU-only — no API key, no cloud dependency
|
||||
- Edge TTS requires internet access and ffmpeg for Telegram voice bubbles
|
||||
- This eliminates the need to maintain a fork just to change the default
|
||||
|
||||
## How it works
|
||||
|
||||
```python
|
||||
# At plugin load time, this single line runs:
|
||||
tools.tts_tool.DEFAULT_PROVIDER = "piper"
|
||||
```
|
||||
|
||||
That's it. `DEFAULT_PROVIDER` is read at call time, so changing it after
|
||||
import is safe. The plugin also logs the effective default at session start.
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
# 1. Ensure piper-tts is installed
|
||||
pip install piper-tts
|
||||
|
||||
# 2. Install the plugin from Gitea
|
||||
hermes plugins install ssh://git@code.lazyworkhorse.net:2222/Hermes/hermes-piper-plugin.git
|
||||
|
||||
# 3. Restart gateways to load the plugin
|
||||
```
|
||||
|
||||
## Config
|
||||
|
||||
The plugin changes the **default** provider. You can still override per
|
||||
session by setting `tts.provider` in `~/.hermes/config.yaml`:
|
||||
|
||||
```yaml
|
||||
tts:
|
||||
provider: elevenlabs # override per-session
|
||||
voice: "Adam" # ElevenLabs voice
|
||||
```
|
||||
|
||||
## Requires
|
||||
|
||||
- `piper-tts` Python package (installed via pip)
|
||||
- Piper voice models (downloaded automatically on first use, ~50MB each)
|
||||
|
||||
## Safety
|
||||
|
||||
- If `piper-tts` is not installed, the TTS tool returns an error asking
|
||||
the user to install it — no silent fallback to Edge
|
||||
- Removing the plugin restores the original Hermes default (Edge)
|
||||
- No data loss risk. No changes to any file in the Hermes repo.
|
||||
|
||||
Reference in New Issue
Block a user