feat: Porcupine Wake-Word Integration (Built-In Keywords, "Jarvis" default)
WakeWordService wrappt jetzt Picovoice Porcupine:
- loadFromStorage(): Access Key + Keyword aus AsyncStorage, init Porcupine
- configure(key, keyword): Settings-Wechsel, Re-Init
- start(): wenn Porcupine bereit → 'armed' (passives Lauschen),
sonst Fallback auf direktes 'conversing' (klassischer Modus)
- onWakeDetected: Porcupine pausieren → 'conversing' → wakeCallback
- endConversation: Porcupine wieder starten → 'armed' (Wake-Word weiter
aktiv im Hintergrund, kein erneuter Tap noetig)
- Pro Geraet eigene Wahl: jeder User kann sein eigenes Wake-Word haben
Settings: neuer Bereich "Wake-Word"
- Picovoice Access Key Input (mit Eye-Toggle), kostenlos auf
console.picovoice.ai
- Built-In Keyword Chips: jarvis, computer, picovoice, porcupine,
bumblebee, terminator, alexa, hey google, ok google, hey siri
- "Speichern + Aktivieren" Button mit Status-Feedback
- Hinweis dass "ARIA" Custom-Keyword spaeter via Diagnostic kommt
ChatScreen: ruft wakeWordService.loadFromStorage() beim Mount.
package.json: @picovoice/porcupine-react-native + react-native-voice-processor
hinzugefuegt — npm install + native rebuild noetig.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>