Voice input currently requires a Deepgram API key (pythonclaw/core/stt.py). Add an optional local backend using faster-whisper so voice works fully offline (pairs well with the Ollama local setup).
Suggested approach:
- Add
stt.provider config (deepgram | whisper, default deepgram)
- When
whisper, transcribe with faster-whisper (lazy import, optional dependency)
- Keep the same
transcribe_bytes / transcribe_bytes_async interface so channels don't change
Acceptance: with stt.provider=whisper and no Deepgram key, a Telegram/Web voice message is transcribed locally.
Voice input currently requires a Deepgram API key (
pythonclaw/core/stt.py). Add an optional local backend usingfaster-whisperso voice works fully offline (pairs well with the Ollama local setup).Suggested approach:
stt.providerconfig (deepgram|whisper, defaultdeepgram)whisper, transcribe withfaster-whisper(lazy import, optional dependency)transcribe_bytes/transcribe_bytes_asyncinterface so channels don't changeAcceptance: with
stt.provider=whisperand no Deepgram key, a Telegram/Web voice message is transcribed locally.