Gesprächsmodus

Der Gesprächsmodus ist eine durchgängige Sprachkonversationsschleife:

  1. Auf Sprache lauschen
  2. Transkript an das Modell senden (Hauptsitzung, chat.send)
  3. Auf die Antwort warten
  4. Per ElevenLabs aussprechen (Streaming-Wiedergabe)

Verhalten (macOS)

  • Dauerhaftes Overlay während der Gesprächsmodus aktiv ist.
  • Lauschen → Denken → Sprechen Phasenübergänge.
  • Bei einer kurzen Pause (Stille-Fenster) wird das aktuelle Transkript gesendet.
  • Antworten werden in den WebChat geschrieben (wie beim Tippen).
  • Unterbrechung bei Sprache (standardmäßig an): Wenn der Benutzer während der Assistentenausgabe spricht, wird die Wiedergabe gestoppt und der Unterbrechungszeitstempel für den nächsten Prompt vermerkt.

Sprachanweisungen in Antworten

Der Assistent kann seiner Antwort eine einzelne JSON-Zeile voranstellen, um die Stimme zu steuern:

{ "voice": "<voice-id>", "once": true }

Regeln:

  • Nur die erste nicht-leere Zeile.
  • Unbekannte Schlüssel werden ignoriert.
  • once: true gilt nur für die aktuelle Antwort.
  • Ohne once wird die Stimme zum neuen Standard für den Gesprächsmodus.
  • Die JSON-Zeile wird vor der TTS-Wiedergabe entfernt.

Unterstützte Schlüssel:

  • voice / voice_id / voiceId
  • model / model_id / modelId
  • speed, rate (WPM), stability, similarity, style, speakerBoost
  • seed, normalize, lang, output_format, latency_tier
  • once

Konfiguration (~/.openclaw/openclaw.json)

{
  talk: {
    voiceId: "elevenlabs_voice_id",
    modelId: "eleven_v3",
    outputFormat: "mp3_44100_128",
    apiKey: "elevenlabs_api_key",
    silenceTimeoutMs: 1500,
    interruptOnSpeech: true,
  },
}

Standardwerte:

  • interruptOnSpeech: true
  • silenceTimeoutMs: wenn nicht gesetzt, verwendet der Gesprächsmodus das Plattform-Standard-Pausenfenster, bevor das Transkript gesendet wird (700 ms auf macOS und Android, 900 ms auf iOS)
  • voiceId: fällt zurück auf ELEVENLABS_VOICE_ID / SAG_VOICE_ID (oder erste ElevenLabs-Stimme wenn API-Key verfügbar)
  • modelId: Standard ist eleven_v3 wenn nicht gesetzt
  • apiKey: fällt zurück auf ELEVENLABS_API_KEY (oder Gateway-Shell-Profil wenn verfügbar)
  • outputFormat: Standard ist pcm_44100 auf macOS/iOS und pcm_24000 auf Android (setze mp3_* um MP3-Streaming zu erzwingen)

macOS-UI

  • Menüleisten-Umschalter: Talk
  • Config-Tab: Gesprächsmodus-Gruppe (Voice-ID + Unterbrechungs-Umschalter)
  • Overlay:
    • Lauschen: Wolke pulsiert mit Mikrofonpegel
    • Denken: Sinkende Animation
    • Sprechen: Ausstrahlende Ringe
    • Klick auf Wolke: Sprechen stoppen
    • Klick auf X: Gesprächsmodus beenden

Hinweise

  • Erfordert Sprach- und Mikrofonberechtigungen.
  • Nutzt chat.send gegen Session-Key main.
  • TTS nutzt die ElevenLabs-Streaming-API mit ELEVENLABS_API_KEY und inkrementelle Wiedergabe auf macOS/iOS/Android für geringere Latenz.
  • stability für eleven_v3 wird auf 0.0, 0.5 oder 1.0 validiert; andere Modelle akzeptieren 0..1.
  • latency_tier wird auf 0..4 validiert, wenn gesetzt.
  • Android unterstützt pcm_16000, pcm_22050, pcm_24000 und pcm_44100 Ausgabeformate für latenzarmes AudioTrack-Streaming.