diff --git a/docs/USAGE.md b/docs/USAGE.md index c14c86d..9b5d7eb 100644 --- a/docs/USAGE.md +++ b/docs/USAGE.md @@ -1706,6 +1706,29 @@ TTS behavior: - TTS shares the audio output with music playback - Text is limited to 500 characters +### Always-On Trigger Mode + +Set a trigger word to enable always-on voice listening. The bot +continuously transcribes voice and watches for the trigger word. When +detected, the text after the trigger is spoken back via TTS. No +`!listen` command needed. + +```toml +[voice] +trigger = "claude" +``` + +Behavior: + +- Listener starts automatically on connect (no `!listen on` required) +- All speech is transcribed and checked for the trigger word +- Trigger match is case-insensitive: "Claude", "CLAUDE", "claude" all work +- On match, the trigger word is stripped and the remainder is sent to TTS +- Non-triggered speech is silently discarded (unless `!listen` is also on) +- When both trigger and `!listen` are active, triggered speech goes to + TTS and all other speech is posted as the usual "heard X say: ..." +- `!listen` status shows trigger configuration when set + Configuration (optional): ```toml @@ -1713,4 +1736,5 @@ Configuration (optional): whisper_url = "http://192.168.122.1:8080/inference" piper_url = "http://192.168.122.1:5000/" silence_gap = 1.5 +trigger = "" ```