feat(telegram): voice tool sends spoken replies as Telegram voice notes

OpenAI gpt-4o-mini-tts (female voice nova by default; TTS_MODEL/TTS_VOICE) renders OGG/Opus,
sent with sendVoice in order with rendered output. Up to 4500 characters per call, split
into 1500-character parts at paragraph/sentence/word boundaries; all parts are synthesized
before any is sent, and API errors come back to the agent as text with the key hidden.
On whenever OPENAI_API_KEY is set.
This commit is contained in:
EugeneTes
2026-10-09 10:09:46 +00:00
parent 923a6e04ac
commit 87240238cc
19 changed files with 551 additions and 13 deletions

View File

@@ -23,6 +23,8 @@ services:
# Optional features; empty means off / default.
- OPENAI_API_KEY=${OPENAI_API_KEY:-} # speech to text (attachments spec)
- STT_MODEL=${STT_MODEL:-}
- TTS_MODEL=${TTS_MODEL:-}
- TTS_VOICE=${TTS_VOICE:-}
- OPENROUTER_API_KEY=${OPENROUTER_API_KEY:-} # group topic triggers via Jev (group triggers spec)
- TRIGGER_MODEL=${TRIGGER_MODEL:-}
- GOOGLE_CLIENT_ID=${GOOGLE_CLIENT_ID:-} # Google Calendar (calendar spec)