From 18e834e30cda4f40920470e1842d643ff0a74cab Mon Sep 17 00:00:00 2001 From: "openclaw-docs-i18n[bot]" Date: Fri, 24 Apr 2026 09:52:49 +0000 Subject: [PATCH] chore(i18n): refresh de translations --- docs/de/plugins/google-meet.md | 247 ++++++++++---------------- docs/de/plugins/voice-call.md | 297 +++++++++++++++++++++----------- docs/de/tools/media-overview.md | 104 +++++------ 3 files changed, 343 insertions(+), 305 deletions(-) diff --git a/docs/de/plugins/google-meet.md b/docs/de/plugins/google-meet.md index 5b9d13b06..c38ae8d25 100644 --- a/docs/de/plugins/google-meet.md +++ b/docs/de/plugins/google-meet.md @@ -1,61 +1,59 @@ --- read_when: - - Du möchtest, dass ein OpenClaw-Agent einem Google-Meet-Anruf beitritt - - Du konfigurierst Chrome, Chrome-Node oder Twilio als Google-Meet-Transport -summary: 'Google-Meet-Plugin: explizite Meet-URLs über Chrome oder Twilio mit Realtime-Voice-Standards beitreten' -title: Google-Meet-Plugin + - Sie möchten, dass ein OpenClaw-Agent einem Google Meet-Anruf beitritt + - Sie konfigurieren Chrome, Chrome-Node oder Twilio als Google Meet-Transport. +summary: 'Google Meet Plugin: explizite Meet-URLs über Chrome oder Twilio mit standardmäßigen Echtzeit-Sprachvorgaben beitreten' +title: Google Meet Plugin x-i18n: - generated_at: "2026-04-24T08:58:53Z" + generated_at: "2026-04-24T09:51:47Z" model: gpt-5.4 provider: openai - source_hash: 8d430a1f2d6ee7fc1d997ef388a2e0d2915a6475480343e7060edac799dfc027 + source_hash: f1673ac4adc9cf163194a340dd6e451d0e4d28bb62adeb126898298e62106d43 source_path: plugins/google-meet.md workflow: 15 --- # Google Meet (Plugin) -Google-Meet-Teilnehmerunterstützung für OpenClaw. +Google Meet-Teilnehmerunterstützung für OpenClaw. -Das Plugin ist bewusst explizit ausgelegt: +Das Plugin ist absichtlich explizit gestaltet: - Es tritt nur einer expliziten `https://meet.google.com/...`-URL bei. -- `realtime` voice ist der Standardmodus. -- Realtime voice kann bei Bedarf für tiefergehendes - Reasoning oder Tools in den vollständigen OpenClaw-Agent zurückrufen. -- Die Authentifizierung beginnt mit persönlichem Google OAuth oder einem bereits angemeldeten Chrome-Profil. -- Es gibt keine automatische Einwilligungsankündigung. +- `realtime`-Sprachausgabe ist der Standardmodus. +- Realtime-Sprachausgabe kann bei Bedarf an den vollständigen OpenClaw-Agenten zurückdelegieren, wenn tiefergehendes Reasoning oder Tools erforderlich sind. +- Die Authentifizierung beginnt als persönliches Google OAuth oder mit einem bereits angemeldeten Chrome-Profil. +- Es gibt keine automatische Zustimmungshinweisansage. - Das standardmäßige Chrome-Audio-Backend ist `BlackHole 2ch`. - Chrome kann lokal oder auf einem gekoppelten Node-Host laufen. - Twilio akzeptiert eine Einwahlnummer plus optionale PIN oder DTMF-Sequenz. -- Der CLI-Befehl lautet `googlemeet`; `meet` ist für allgemeinere Agent- - Telekonferenz-Workflows reserviert. +- Der CLI-Befehl ist `googlemeet`; `meet` ist für allgemeinere Telekonferenz-Workflows von Agenten reserviert. ## Schnellstart -Installiere die lokalen Audio-Abhängigkeiten und stelle sicher, dass der Realtime-Provider -OpenAI verwenden kann: +Installieren Sie die lokalen Audioabhängigkeiten und konfigurieren Sie einen Backend-Anbieter für Realtime-Sprachausgabe. OpenAI ist der Standard; Google Gemini Live funktioniert ebenfalls mit `realtime.provider: "google"`: ```bash brew install blackhole-2ch sox export OPENAI_API_KEY=sk-... +# oder +export GEMINI_API_KEY=... ``` -`blackhole-2ch` installiert das virtuelle Audiogerät `BlackHole 2ch`. Der -Installer von Homebrew erfordert einen Neustart, bevor macOS das Gerät bereitstellt: +`blackhole-2ch` installiert das virtuelle Audiogerät `BlackHole 2ch`. Das Installationsprogramm von Homebrew erfordert einen Neustart, bevor macOS das Gerät bereitstellt: ```bash sudo reboot ``` -Prüfe nach dem Neustart beide Komponenten: +Überprüfen Sie nach dem Neustart beide Komponenten: ```bash system_profiler SPAudioDataType | grep -i BlackHole command -v rec play ``` -Aktiviere das Plugin: +Aktivieren Sie das Plugin: ```json5 { @@ -70,7 +68,7 @@ Aktiviere das Plugin: } ``` -Setup prüfen: +Überprüfen Sie die Einrichtung: ```bash openclaw googlemeet setup @@ -82,7 +80,7 @@ Einem Meeting beitreten: openclaw googlemeet join https://meet.google.com/abc-defg-hij ``` -Oder einen Agent über das Tool `google_meet` beitreten lassen: +Oder einen Agenten über das Tool `google_meet` beitreten lassen: ```json { @@ -91,67 +89,57 @@ Oder einen Agent über das Tool `google_meet` beitreten lassen: } ``` -Chrome tritt als das angemeldete Chrome-Profil bei. Wähle in Meet `BlackHole 2ch` für -den Mikrofon-/Lautsprecherpfad, den OpenClaw verwendet. Für sauberes Duplex-Audio verwende -separate virtuelle Geräte oder ein Routing im Loopback-Stil; ein einzelnes BlackHole-Gerät ist -für einen ersten Smoke-Test ausreichend, kann aber Echo erzeugen. +Chrome tritt als das angemeldete Chrome-Profil bei. Wählen Sie in Meet `BlackHole 2ch` für den Mikrofon-/Lautsprecherpfad, den OpenClaw verwendet. Für sauberes Duplex-Audio verwenden Sie separate virtuelle Geräte oder einen Loopback-ähnlichen Graphen; ein einzelnes BlackHole-Gerät reicht für einen ersten Smoke-Test aus, kann aber Echo verursachen. ### Lokales Gateway + Parallels Chrome -Du benötigst **kein** vollständiges OpenClaw-Gateway oder keinen Model-API-Key innerhalb einer macOS-VM, -nur damit Chrome in der VM läuft. Führe Gateway und Agent lokal aus und betreibe dann einen -Node-Host in der VM. Aktiviere das gebündelte Plugin einmal in der VM, damit der Node -den Chrome-Befehl ankündigt: +Sie benötigen **kein** vollständiges OpenClaw Gateway oder keinen Modell-API-Schlüssel innerhalb einer macOS-VM, nur damit die VM Chrome hostet. Führen Sie das Gateway und den Agenten lokal aus und starten Sie dann einen Node-Host in der VM. Aktivieren Sie das gebündelte Plugin einmal in der VM, damit der Node den Chrome-Befehl bekanntgibt: Was wo läuft: -- Gateway-Host: OpenClaw Gateway, Agent-Workspace, Model-/API-Keys, Realtime- - Provider und die Google-Meet-Plugin-Konfiguration. -- Parallels-macOS-VM: OpenClaw CLI/Node-Host, Google Chrome, SoX, BlackHole 2ch - und ein bei Google angemeldetes Chrome-Profil. -- In der VM nicht erforderlich: Gateway-Dienst, Agent-Konfiguration, OpenAI/GPT-Key oder Model- - Provider-Setup. +- Gateway-Host: OpenClaw Gateway, Agent-Workspace, Modell-/API-Schlüssel, Realtime-Anbieter und die Google Meet-Plugin-Konfiguration. +- Parallels macOS-VM: OpenClaw CLI/Node-Host, Google Chrome, SoX, BlackHole 2ch und ein bei Google angemeldetes Chrome-Profil. +- In der VM nicht erforderlich: Gateway-Dienst, Agent-Konfiguration, OpenAI-/GPT-Schlüssel oder Einrichtung eines Modellanbieters. -Installiere die VM-Abhängigkeiten: +Installieren Sie die Abhängigkeiten in der VM: ```bash brew install blackhole-2ch sox ``` -Starte die VM nach der Installation von BlackHole neu, damit macOS `BlackHole 2ch` bereitstellt: +Starten Sie die VM nach der Installation von BlackHole neu, damit macOS `BlackHole 2ch` bereitstellt: ```bash sudo reboot ``` -Prüfe nach dem Neustart, ob die VM das Audiogerät und die SoX-Befehle sehen kann: +Überprüfen Sie nach dem Neustart, ob die VM das Audiogerät und die SoX-Befehle sehen kann: ```bash system_profiler SPAudioDataType | grep -i BlackHole command -v rec play ``` -Installiere oder aktualisiere OpenClaw in der VM und aktiviere dann dort das gebündelte Plugin: +Installieren oder aktualisieren Sie OpenClaw in der VM und aktivieren Sie dort dann das gebündelte Plugin: ```bash openclaw plugins enable google-meet ``` -Starte den Node-Host in der VM: +Starten Sie den Node-Host in der VM: ```bash openclaw node run --host --port 18789 --display-name parallels-macos ``` -Wenn `` eine LAN-IP ist und du TLS nicht verwendest, verweigert der Node den -Klartext-WebSocket, sofern du nicht ausdrücklich für dieses vertrauenswürdige private Netzwerk zustimmst: +Wenn `` eine LAN-IP ist und Sie kein TLS verwenden, verweigert der Node das unverschlüsselte WebSocket, es sei denn, Sie erlauben dies ausdrücklich für dieses vertrauenswürdige private Netzwerk: ```bash OPENCLAW_ALLOW_INSECURE_PRIVATE_WS=1 \ openclaw node run --host --port 18789 --display-name parallels-macos ``` -Verwende dieselbe Umgebungsvariable, wenn du den Node als LaunchAgent installierst: +Verwenden Sie dieselbe Umgebungsvariable, wenn Sie den Node als LaunchAgent installieren: ```bash OPENCLAW_ALLOW_INSECURE_PRIVATE_WS=1 \ @@ -159,24 +147,22 @@ OPENCLAW_ALLOW_INSECURE_PRIVATE_WS=1 \ openclaw node restart ``` -`OPENCLAW_ALLOW_INSECURE_PRIVATE_WS=1` ist Prozessumgebung, keine -`openclaw.json`-Einstellung. `openclaw node install` speichert sie in der LaunchAgent- -Umgebung, wenn sie beim Installationsbefehl vorhanden ist. +`OPENCLAW_ALLOW_INSECURE_PRIVATE_WS=1` ist eine Prozessumgebung und keine `openclaw.json`-Einstellung. `openclaw node install` speichert sie in der LaunchAgent-Umgebung, wenn sie beim Installationsbefehl vorhanden ist. -Genehmige den Node vom Gateway-Host aus: +Genehmigen Sie den Node vom Gateway-Host aus: ```bash openclaw devices list openclaw devices approve ``` -Bestätige, dass das Gateway den Node sieht und dass er `googlemeet.chrome` ankündigt: +Bestätigen Sie, dass das Gateway den Node sieht und dass er `googlemeet.chrome` bekanntgibt: ```bash openclaw nodes status ``` -Leite Meet auf dem Gateway-Host über diesen Node: +Leiten Sie Meet auf dem Gateway-Host über diesen Node: ```json5 { @@ -201,71 +187,48 @@ Leite Meet auf dem Gateway-Host über diesen Node: } ``` -Nun normal vom Gateway-Host aus beitreten: +Treten Sie jetzt wie gewohnt vom Gateway-Host aus bei: ```bash openclaw googlemeet join https://meet.google.com/abc-defg-hij ``` -oder den Agent anweisen, das Tool `google_meet` mit `transport: "chrome-node"` zu verwenden. +oder fordern Sie den Agenten auf, das Tool `google_meet` mit `transport: "chrome-node"` zu verwenden. -Wenn `chromeNode.node` ausgelassen wird, wählt OpenClaw nur dann automatisch aus, wenn genau ein -verbundener Node `googlemeet.chrome` ankündigt. Wenn mehrere geeignete Nodes -verbunden sind, setze `chromeNode.node` auf die Node-ID, den Anzeigenamen oder die Remote-IP. +Wenn `chromeNode.node` ausgelassen wird, wählt OpenClaw nur dann automatisch aus, wenn genau ein verbundener Node `googlemeet.chrome` bekanntgibt. Wenn mehrere geeignete Nodes verbunden sind, setzen Sie `chromeNode.node` auf die Node-ID, den Anzeigenamen oder die entfernte IP. -Häufige Prüfungen bei Fehlern: +Häufige Fehlerprüfungen: -- `No connected Google Meet-capable node`: Starte `openclaw node run` in der VM, - genehmige das Pairing und stelle sicher, dass `openclaw plugins enable google-meet` in - der VM ausgeführt wurde. Bestätige außerdem, dass der Gateway-Host den Node-Befehl mit - `gateway.nodes.allowCommands: ["googlemeet.chrome"]` erlaubt. -- `BlackHole 2ch audio device not found on the node`: Installiere `blackhole-2ch` - in der VM und starte die VM neu. -- Chrome öffnet sich, kann aber nicht beitreten: Melde dich in Chrome innerhalb der VM an und bestätige, dass dieses - Profil der Meet-URL manuell beitreten kann. -- Kein Audio: Route in Meet Mikrofon/Lautsprecher über den virtuellen Audiogerätepfad, - den OpenClaw verwendet; verwende separate virtuelle Geräte oder Routing im Loopback-Stil - für sauberes Duplex-Audio. +- `No connected Google Meet-capable node`: Starten Sie `openclaw node run` in der VM, genehmigen Sie das Pairing und stellen Sie sicher, dass `openclaw plugins enable google-meet` in der VM ausgeführt wurde. Bestätigen Sie außerdem, dass der Gateway-Host den Node-Befehl mit `gateway.nodes.allowCommands: ["googlemeet.chrome"]` erlaubt. +- `BlackHole 2ch audio device not found on the node`: Installieren Sie `blackhole-2ch` in der VM und starten Sie die VM neu. +- Chrome wird geöffnet, kann aber nicht beitreten: Melden Sie sich in der VM in Chrome an und bestätigen Sie, dass dieses Profil der Meet-URL manuell beitreten kann. +- Kein Audio: Leiten Sie in Meet Mikrofon und Lautsprecher über den virtuellen Audiogerätepfad, den OpenClaw verwendet; verwenden Sie separate virtuelle Geräte oder Loopback-ähnliches Routing für sauberes Duplex-Audio. -## Hinweise zur Installation +## Installationshinweise Der standardmäßige Chrome-Realtime-Pfad verwendet zwei externe Tools: -- `sox`: Kommandozeilen-Audio-Tool. Das Plugin verwendet seine Befehle `rec` und `play` - für die standardmäßige 8-kHz-G.711-mu-law-Audiobrücke. -- `blackhole-2ch`: virtueller Audiotreiber für macOS. Er erstellt das Audiogerät `BlackHole 2ch`, - über das Chrome/Meet routen kann. +- `sox`: Audio-Dienstprogramm für die Befehlszeile. Das Plugin verwendet seine Befehle `rec` und `play` für die standardmäßige 8-kHz-G.711-μ-law-Audiobrücke. +- `blackhole-2ch`: virtueller macOS-Audiotreiber. Er erstellt das Audiogerät `BlackHole 2ch`, über das Chrome/Meet geroutet werden kann. -OpenClaw bündelt oder verteilt keines der beiden Pakete weiter. Die Dokumentation fordert Benutzer auf, -sie als Host-Abhängigkeiten über Homebrew zu installieren. SoX ist unter -`LGPL-2.0-only AND GPL-2.0-only` lizenziert; BlackHole ist GPL-3.0. Wenn du einen -Installer oder eine Appliance baust, die BlackHole mit OpenClaw bündelt, prüfe die -upstream-Lizenzbedingungen von BlackHole oder hole eine separate Lizenz von Existential Audio ein. +OpenClaw bündelt oder vertreibt keines der beiden Pakete. Die Dokumentation weist Benutzer an, sie als Host-Abhängigkeiten über Homebrew zu installieren. SoX ist unter `LGPL-2.0-only AND GPL-2.0-only` lizenziert; BlackHole unter GPL-3.0. Wenn Sie ein Installationsprogramm oder eine Appliance erstellen, die BlackHole zusammen mit OpenClaw bündelt, prüfen Sie die vorgelagerten Lizenzbedingungen von BlackHole oder erwerben Sie eine separate Lizenz von Existential Audio. -## Transports +## Transporte ### Chrome -Der Chrome-Transport öffnet die Meet-URL in Google Chrome und tritt als das angemeldete -Chrome-Profil bei. Unter macOS prüft das Plugin vor dem Start auf `BlackHole 2ch`. -Falls konfiguriert, führt es außerdem einen Health-Befehl für die Audiobrücke und einen Startbefehl -aus, bevor Chrome geöffnet wird. Verwende `chrome`, wenn Chrome/Audio auf dem Gateway-Host laufen; -verwende `chrome-node`, wenn Chrome/Audio auf einem gekoppelten Node laufen, etwa in einer Parallels- -macOS-VM. +Der Chrome-Transport öffnet die Meet-URL in Google Chrome und tritt als das angemeldete Chrome-Profil bei. Unter macOS prüft das Plugin vor dem Start auf `BlackHole 2ch`. Falls konfiguriert, führt es außerdem einen Health-Befehl für die Audiobrücke und einen Startbefehl aus, bevor Chrome geöffnet wird. Verwenden Sie `chrome`, wenn Chrome/Audiopfad auf dem Gateway-Host liegen; verwenden Sie `chrome-node`, wenn Chrome/Audiopfad auf einem gekoppelten Node wie einer Parallels-macOS-VM liegen. ```bash openclaw googlemeet join https://meet.google.com/abc-defg-hij --transport chrome openclaw googlemeet join https://meet.google.com/abc-defg-hij --transport chrome-node ``` -Leite Mikrofon- und Lautsprecheraudio von Chrome über die lokale OpenClaw-Audiobrücke. -Wenn `BlackHole 2ch` nicht installiert ist, schlägt der Beitritt mit einem Setup-Fehler -fehl, statt stillschweigend ohne Audiopfad beizutreten. +Leiten Sie Mikrofon- und Lautsprecheraudio von Chrome über die lokale OpenClaw-Audiobrücke. Wenn `BlackHole 2ch` nicht installiert ist, schlägt der Beitritt mit einem Einrichtungsfehler fehl, anstatt stillschweigend ohne Audiopfad beizutreten. ### Twilio -Der Twilio-Transport ist ein strikter Wählplan, der an das Voice-Call-Plugin delegiert wird. Er -parst keine Meet-Seiten nach Telefonnummern. +Der Twilio-Transport ist ein strikter Wählplan, der an das Voice Call-Plugin delegiert wird. Er analysiert keine Meet-Seiten, um Telefonnummern zu ermitteln. ```bash openclaw googlemeet join https://meet.google.com/abc-defg-hij \ @@ -274,7 +237,7 @@ openclaw googlemeet join https://meet.google.com/abc-defg-hij \ --pin 123456 ``` -Verwende `--dtmf-sequence`, wenn das Meeting eine benutzerdefinierte Sequenz benötigt: +Verwenden Sie `--dtmf-sequence`, wenn das Meeting eine benutzerdefinierte Sequenz benötigt: ```bash openclaw googlemeet join https://meet.google.com/abc-defg-hij \ @@ -283,20 +246,17 @@ openclaw googlemeet join https://meet.google.com/abc-defg-hij \ --dtmf-sequence ww123456# ``` -## OAuth und Preflight +## OAuth und Vorabprüfung -Der Zugriff auf die Google-Meet-Media-API verwendet zunächst einen persönlichen OAuth-Client. Konfiguriere -`oauth.clientId` und optional `oauth.clientSecret`, und führe dann Folgendes aus: +Der Zugriff auf die Google Meet Media API verwendet zunächst einen persönlichen OAuth-Client. Konfigurieren Sie `oauth.clientId` und optional `oauth.clientSecret`, und führen Sie dann Folgendes aus: ```bash openclaw googlemeet auth login --json ``` -Der Befehl gibt einen `oauth`-Konfigurationsblock mit einem Refresh-Token aus. Er verwendet PKCE, -einen localhost-Callback auf `http://localhost:8085/oauth2callback` und einen manuellen -Copy/Paste-Ablauf mit `--manual`. +Der Befehl gibt einen `oauth`-Konfigurationsblock mit einem Refresh-Token aus. Er verwendet PKCE, einen localhost-Callback auf `http://localhost:8085/oauth2callback` und mit `--manual` einen manuellen Kopieren-/Einfügen-Ablauf. -Diese Umgebungsvariablen werden als Fallback akzeptiert: +Diese Umgebungsvariablen werden als Fallbacks akzeptiert: - `OPENCLAW_GOOGLE_MEET_CLIENT_ID` oder `GOOGLE_MEET_CLIENT_ID` - `OPENCLAW_GOOGLE_MEET_CLIENT_SECRET` oder `GOOGLE_MEET_CLIENT_SECRET` @@ -307,33 +267,32 @@ Diese Umgebungsvariablen werden als Fallback akzeptiert: - `OPENCLAW_GOOGLE_MEET_DEFAULT_MEETING` oder `GOOGLE_MEET_DEFAULT_MEETING` - `OPENCLAW_GOOGLE_MEET_PREVIEW_ACK` oder `GOOGLE_MEET_PREVIEW_ACK` -Löse eine Meet-URL, einen Code oder `spaces/{id}` über `spaces.get` auf: +Lösen Sie eine Meet-URL, einen Code oder `spaces/{id}` über `spaces.get` auf: ```bash openclaw googlemeet resolve-space --meeting https://meet.google.com/abc-defg-hij ``` -Führe Preflight vor der Medienarbeit aus: +Führen Sie die Vorabprüfung vor Medienarbeit aus: ```bash openclaw googlemeet preflight --meeting https://meet.google.com/abc-defg-hij ``` -Setze `preview.enrollmentAcknowledged: true` erst, nachdem du bestätigt hast, dass dein Cloud- -Projekt, OAuth-Prinzipal und Meeting-Teilnehmer im Google Workspace Developer Preview Program -für Meet-Media-APIs registriert sind. +Setzen Sie `preview.enrollmentAcknowledged: true` erst, nachdem Sie bestätigt haben, dass Ihr Cloud-Projekt, Ihr OAuth-Principal und die Meeting-Teilnehmer im Google Workspace Developer Preview Program für Meet-Medien-APIs registriert sind. ## Konfiguration -Der gängige Chrome-Realtime-Pfad benötigt nur das aktivierte Plugin, BlackHole, SoX -und einen OpenAI-Key: +Der übliche Chrome-Realtime-Pfad benötigt nur das aktivierte Plugin, BlackHole, SoX und einen API-Schlüssel für einen Backend-Anbieter für Realtime-Sprachausgabe. OpenAI ist der Standard; setzen Sie `realtime.provider: "google"`, um Google Gemini Live zu verwenden: ```bash brew install blackhole-2ch sox export OPENAI_API_KEY=sk-... +# oder +export GEMINI_API_KEY=... ``` -Setze die Plugin-Konfiguration unter `plugins.entries.google-meet.config`: +Legen Sie die Plugin-Konfiguration unter `plugins.entries.google-meet.config` fest: ```json5 { @@ -352,20 +311,17 @@ Standardwerte: - `defaultTransport: "chrome"` - `defaultMode: "realtime"` -- `chromeNode.node`: optionale Node-ID/Name/IP für `chrome-node` +- `chromeNode.node`: optionale Node-ID/-Name/-IP für `chrome-node` - `chrome.audioBackend: "blackhole-2ch"` -- `chrome.audioInputCommand`: SoX-`rec`-Befehl, der 8-kHz-G.711-mu-law- - Audio an stdout schreibt -- `chrome.audioOutputCommand`: SoX-`play`-Befehl, der 8-kHz-G.711-mu-law- - Audio von stdin liest +- `chrome.audioInputCommand`: SoX-Befehl `rec`, der 8-kHz-G.711-μ-law-Audio in stdout schreibt +- `chrome.audioOutputCommand`: SoX-Befehl `play`, der 8-kHz-G.711-μ-law-Audio aus stdin liest - `realtime.provider: "openai"` - `realtime.toolPolicy: "safe-read-only"` - `realtime.instructions`: kurze gesprochene Antworten, mit `openclaw_agent_consult` für tiefergehende Antworten -- `realtime.introMessage`: kurze gesprochene Bereitschaftsprüfung, wenn die Realtime-Brücke - verbunden wird; setze sie auf `""`, um lautlos beizutreten +- `realtime.introMessage`: kurze gesprochene Bereitschaftsprüfung, wenn die Realtime-Brücke verbunden wird; setzen Sie es auf `""`, um still beizutreten -Optionale Overrides: +Optionale Überschreibungen: ```json5 { @@ -379,8 +335,15 @@ Optionale Overrides: node: "parallels-macos", }, realtime: { + provider: "google", toolPolicy: "owner", introMessage: "Say exactly: I'm here.", + providers: { + google: { + model: "gemini-2.5-flash-native-audio-preview-12-2025", + voice: "Kore", + }, + }, }, } ``` @@ -413,14 +376,9 @@ Agenten können das Tool `google_meet` verwenden: } ``` -Verwende `transport: "chrome"`, wenn Chrome auf dem Gateway-Host läuft. Verwende -`transport: "chrome-node"`, wenn Chrome auf einem gekoppelten Node läuft, etwa in einer Parallels- -VM. In beiden Fällen laufen das Realtime-Modell und `openclaw_agent_consult` auf dem -Gateway-Host, sodass die Model-Credentials dort bleiben. +Verwenden Sie `transport: "chrome"`, wenn Chrome auf dem Gateway-Host läuft. Verwenden Sie `transport: "chrome-node"`, wenn Chrome auf einem gekoppelten Node wie einer Parallels-VM läuft. In beiden Fällen laufen das Realtime-Modell und `openclaw_agent_consult` auf dem Gateway-Host, sodass die Modellzugangsdaten dort verbleiben. -Verwende `action: "status"`, um aktive Sitzungen aufzulisten oder eine Sitzungs-ID zu prüfen. Verwende -`action: "speak"` mit `sessionId` und `message`, damit der Realtime-Agent -sofort spricht. Verwende `action: "leave"`, um eine Sitzung als beendet zu markieren. +Verwenden Sie `action: "status"`, um aktive Sitzungen aufzulisten oder eine Sitzungs-ID zu prüfen. Verwenden Sie `action: "speak"` mit `sessionId` und `message`, damit der Realtime-Agent sofort spricht. Verwenden Sie `action: "leave"`, um eine Sitzung als beendet zu markieren. ```json { @@ -430,28 +388,19 @@ sofort spricht. Verwende `action: "leave"`, um eine Sitzung als beendet zu marki } ``` -## Realtime-Agent-Consult +## Realtime-Agentenberatung -Der Chrome-Realtime-Modus ist für eine Live-Sprachschleife optimiert. Der Realtime-Voice- -Provider hört das Meeting-Audio und spricht über die konfigurierte Audiobrücke. -Wenn das Realtime-Modell tiefergehendes Reasoning, aktuelle Informationen oder normale -OpenClaw-Tools benötigt, kann es `openclaw_agent_consult` aufrufen. +Der Chrome-Realtime-Modus ist für eine Live-Sprachschleife optimiert. Der Anbieter für Realtime-Sprachausgabe hört das Meeting-Audio und spricht über die konfigurierte Audiobrücke. Wenn das Realtime-Modell tiefergehendes Reasoning, aktuelle Informationen oder normale OpenClaw-Tools benötigt, kann es `openclaw_agent_consult` aufrufen. -Das Consult-Tool führt im Hintergrund den regulären OpenClaw-Agent mit aktuellem -Meeting-Transkriptkontext aus und gibt eine knappe gesprochene Antwort an die Realtime- -Voice-Sitzung zurück. Das Voice-Modell kann diese Antwort dann in das Meeting zurücksprechen. +Das Consult-Tool führt im Hintergrund den regulären OpenClaw-Agenten mit aktuellem Meeting-Transkriptkontext aus und gibt eine knappe gesprochene Antwort an die Realtime-Sprachsitzung zurück. Das Sprachmodell kann diese Antwort dann wieder in das Meeting sprechen. `realtime.toolPolicy` steuert den Consult-Lauf: -- `safe-read-only`: das Consult-Tool verfügbar machen und den regulären Agent auf - `read`, `web_search`, `web_fetch`, `x_search`, `memory_search` und - `memory_get` beschränken. -- `owner`: das Consult-Tool verfügbar machen und dem regulären Agent die normale - Tool-Richtlinie des Agent erlauben. -- `none`: das Consult-Tool dem Realtime-Voice-Modell nicht verfügbar machen. +- `safe-read-only`: das Consult-Tool verfügbar machen und den regulären Agenten auf `read`, `web_search`, `web_fetch`, `x_search`, `memory_search` und `memory_get` beschränken. +- `owner`: das Consult-Tool verfügbar machen und dem regulären Agenten die normale Agenten-Toolrichtlinie erlauben. +- `none`: das Consult-Tool dem Realtime-Sprachmodell nicht verfügbar machen. -Der Consult-Sitzungsschlüssel ist pro Meet-Sitzung begrenzt, sodass nachfolgende Consult-Aufrufe -während desselben Meetings vorherigen Consult-Kontext wiederverwenden können. +Der Consult-Sitzungsschlüssel ist pro Meet-Sitzung begrenzt, sodass nachfolgende Consult-Aufrufe während desselben Meetings den bisherigen Consult-Kontext wiederverwenden können. Um eine gesprochene Bereitschaftsprüfung zu erzwingen, nachdem Chrome dem Anruf vollständig beigetreten ist: @@ -461,29 +410,19 @@ openclaw googlemeet speak meet_... "Say exactly: I'm here and listening." ## Hinweise -Die offizielle Media-API von Google Meet ist auf Empfang ausgerichtet, daher benötigt das Sprechen in einen Meet- -Anruf weiterhin einen Teilnehmerpfad. Dieses Plugin macht diese Grenze sichtbar: -Chrome übernimmt die Browser-Teilnahme und das lokale Audio-Routing; Twilio übernimmt -die Teilnahme per Telefoneinwahl. +Die offizielle Media API von Google Meet ist auf Empfang ausgerichtet, daher ist für das Sprechen in einen Meet-Anruf weiterhin ein Teilnehmerpfad erforderlich. Dieses Plugin hält diese Grenze sichtbar: Chrome übernimmt die Browser-Teilnahme und das lokale Audio-Routing; Twilio übernimmt die Teilnahme per Telefoneinwahl. Der Chrome-Realtime-Modus benötigt entweder: -- `chrome.audioInputCommand` plus `chrome.audioOutputCommand`: OpenClaw besitzt die - Realtime-Model-Brücke und leitet 8-kHz-G.711-mu-law-Audio zwischen diesen - Befehlen und dem ausgewählten Realtime-Voice-Provider weiter. -- `chrome.audioBridgeCommand`: ein externer Brückenbefehl übernimmt den gesamten lokalen - Audiopfad und muss beendet werden, nachdem sein Daemon gestartet oder validiert wurde. +- `chrome.audioInputCommand` plus `chrome.audioOutputCommand`: OpenClaw verwaltet die Realtime-Modellbrücke und leitet 8-kHz-G.711-μ-law-Audio zwischen diesen Befehlen und dem ausgewählten Anbieter für Realtime-Sprachausgabe weiter. +- `chrome.audioBridgeCommand`: Ein externer Brückenbefehl verwaltet den gesamten lokalen Audiopfad und muss beendet werden, nachdem sein Daemon gestartet oder validiert wurde. -Für sauberes Duplex-Audio leite Meet-Ausgabe und Meet-Mikrofon über separate -virtuelle Geräte oder ein virtuelles Gerätegraphrouting im Loopback-Stil. Ein einzelnes gemeinsam genutztes -BlackHole-Gerät kann andere Teilnehmer zurück in den Anruf echoen. +Für sauberes Duplex-Audio leiten Sie Meet-Ausgabe und Meet-Mikrofon über separate virtuelle Geräte oder einen Loopback-ähnlichen Graphen für virtuelle Geräte. Ein einzelnes gemeinsam genutztes BlackHole-Gerät kann andere Teilnehmer zurück in den Anruf echoen. -`googlemeet speak` löst die aktive Realtime-Audiobrücke für eine Chrome- -Sitzung aus. `googlemeet leave` stoppt diese Brücke. Bei Twilio-Sitzungen, die über das Voice-Call-Plugin -delegiert werden, legt `leave` auch den zugrunde liegenden Sprachanruf auf. +`googlemeet speak` löst die aktive Realtime-Audiobrücke für eine Chrome-Sitzung aus. `googlemeet leave` stoppt diese Brücke. Bei Twilio-Sitzungen, die über das Voice Call-Plugin delegiert werden, legt `leave` auch den zugrunde liegenden Sprachanruf auf. ## Verwandt -- [Voice-Call-Plugin](/de/plugins/voice-call) -- [Talk-Modus](/de/nodes/talk) +- [Voice Call Plugin](/de/plugins/voice-call) +- [Sprechmodus](/de/nodes/talk) - [Plugins erstellen](/de/plugins/building-plugins) diff --git a/docs/de/plugins/voice-call.md b/docs/de/plugins/voice-call.md index aa5e3ace7..1435582bb 100644 --- a/docs/de/plugins/voice-call.md +++ b/docs/de/plugins/voice-call.md @@ -1,14 +1,14 @@ --- read_when: - - Sie möchten einen ausgehenden Sprachanruf von OpenClaw aus starten. - - Sie konfigurieren oder entwickeln das Voice-Call-Plugin. + - Sie möchten einen ausgehenden Sprachanruf von OpenClaw aus tätigen. + - Sie konfigurieren oder entwickeln das voice-call-Plugin. summary: 'Voice-Call-Plugin: ausgehende + eingehende Anrufe über Twilio/Telnyx/Plivo (Plugin-Installation + Konfiguration + CLI)' title: Voice-Call-Plugin x-i18n: - generated_at: "2026-04-24T06:52:14Z" + generated_at: "2026-04-24T09:51:44Z" model: gpt-5.4 provider: openai - source_hash: 4cd57118133506c22604ab9592a823546a91795ab425de4b7a81edbbb8374e6d + source_hash: 6aed4e33ce090c86f43c71280f033e446f335c53d42456fdc93c9938250e9af6 source_path: plugins/voice-call.md workflow: 15 --- @@ -16,27 +16,27 @@ x-i18n: # Voice Call (Plugin) Sprachanrufe für OpenClaw über ein Plugin. Unterstützt ausgehende Benachrichtigungen und -mehrturnige Konversationen mit Richtlinien für eingehende Anrufe. +mehrzügige Gespräche mit Richtlinien für eingehende Anrufe. -Aktuelle Provider: +Aktuelle Anbieter: - `twilio` (Programmable Voice + Media Streams) - `telnyx` (Call Control v2) -- `plivo` (Voice API + XML-Transfer + GetInput Speech) +- `plivo` (Voice API + XML-Weiterleitung + GetInput-Sprache) - `mock` (Entwicklung/ohne Netzwerk) -Kurzes Modell dazu: +Kurzes mentales Modell: - Plugin installieren - Gateway neu starten - Unter `plugins.entries.voice-call.config` konfigurieren - `openclaw voicecall ...` oder das Tool `voice_call` verwenden -## Wo es läuft (lokal vs. remote) +## Wo es ausgeführt wird (lokal vs. remote) Das Voice-Call-Plugin läuft **innerhalb des Gateway-Prozesses**. -Wenn Sie ein Remote-Gateway verwenden, installieren/konfigurieren Sie das Plugin auf dem **Rechner, auf dem das Gateway läuft**, und starten Sie dann das Gateway neu, damit es geladen wird. +Wenn Sie ein entferntes Gateway verwenden, installieren/konfigurieren Sie das Plugin auf dem **Rechner, auf dem das Gateway läuft**, und starten Sie dann das Gateway neu, damit es geladen wird. ## Installation @@ -46,7 +46,7 @@ Wenn Sie ein Remote-Gateway verwenden, installieren/konfigurieren Sie das Plugin openclaw plugins install @openclaw/voice-call ``` -Starten Sie danach das Gateway neu. +Starten Sie das Gateway anschließend neu. ### Option B: aus einem lokalen Ordner installieren (Entwicklung, ohne Kopieren) @@ -56,11 +56,11 @@ openclaw plugins install "$PLUGIN_SRC" cd "$PLUGIN_SRC" && pnpm install ``` -Starten Sie danach das Gateway neu. +Starten Sie das Gateway anschließend neu. ## Konfiguration -Setzen Sie die Konfiguration unter `plugins.entries.voice-call.config`: +Legen Sie die Konfiguration unter `plugins.entries.voice-call.config` fest: ```json5 { @@ -81,8 +81,8 @@ Setzen Sie die Konfiguration unter `plugins.entries.voice-call.config`: telnyx: { apiKey: "...", connectionId: "...", - // Öffentlicher Telnyx-Webhook-Schlüssel aus dem Telnyx Mission Control Portal - // (Base64-String; kann auch über TELNYX_PUBLIC_KEY gesetzt werden). + // Öffentlicher Telnyx-Webhookschlüssel aus dem Telnyx Mission Control Portal + // (Base64-Zeichenfolge; kann auch über TELNYX_PUBLIC_KEY gesetzt werden). publicKey: "...", }, @@ -114,7 +114,7 @@ Setzen Sie die Konfiguration unter `plugins.entries.voice-call.config`: streaming: { enabled: true, - provider: "openai", // optional; erster registrierter Realtime-Transcription-Provider, wenn nicht gesetzt + provider: "openai", // optional; erster registrierter Echtzeit-Transkriptionsanbieter, wenn nicht gesetzt streamPath: "/voice/stream", providers: { openai: { @@ -129,6 +129,17 @@ Setzen Sie die Konfiguration unter `plugins.entries.voice-call.config`: maxPendingConnectionsPerIp: 4, maxConnections: 128, }, + + realtime: { + enabled: false, + provider: "google", // optional; erster registrierter Echtzeit-Sprachanbieter, wenn nicht gesetzt + providers: { + google: { + model: "gemini-2.5-flash-native-audio-preview-12-2025", + voice: "Kore", + }, + }, + }, }, }, }, @@ -140,42 +151,128 @@ Hinweise: - Twilio/Telnyx erfordern eine **öffentlich erreichbare** Webhook-URL. - Plivo erfordert eine **öffentlich erreichbare** Webhook-URL. -- `mock` ist ein lokaler Entwicklungs-Provider (ohne Netzwerkaufrufe). -- Wenn ältere Konfigurationen noch `provider: "log"`, `twilio.from` oder alte OpenAI-Schlüssel unter `streaming.*` verwenden, führen Sie `openclaw doctor --fix` aus, um sie umzuschreiben. -- Telnyx erfordert `telnyx.publicKey` (oder `TELNYX_PUBLIC_KEY`), außer `skipSignatureVerification` ist true. +- `mock` ist ein lokaler Entwicklungsanbieter (ohne Netzwerkaufrufe). +- Wenn ältere Konfigurationen noch `provider: "log"`, `twilio.from` oder veraltete `streaming.*`-OpenAI-Schlüssel verwenden, führen Sie `openclaw doctor --fix` aus, um sie umzuschreiben. +- Telnyx erfordert `telnyx.publicKey` (oder `TELNYX_PUBLIC_KEY`), sofern `skipSignatureVerification` nicht auf true gesetzt ist. - `skipSignatureVerification` ist nur für lokale Tests gedacht. -- Wenn Sie das kostenlose ngrok-Tier verwenden, setzen Sie `publicUrl` auf die exakte ngrok-URL; Signaturprüfung wird immer erzwungen. -- `tunnel.allowNgrokFreeTierLoopbackBypass: true` erlaubt Twilio-Webhooks mit ungültigen Signaturen **nur**, wenn `tunnel.provider="ngrok"` und `serve.bind` auf loopback steht (lokaler ngrok-Agent). Nur für lokale Entwicklung verwenden. -- URLs im kostenlosen ngrok-Tier können sich ändern oder Interstitial-Verhalten hinzufügen; wenn `publicUrl` abweicht, schlagen Twilio-Signaturen fehl. Für Produktion bevorzugen Sie eine stabile Domain oder Tailscale funnel. +- Wenn Sie die kostenlose ngrok-Stufe verwenden, setzen Sie `publicUrl` auf die genaue ngrok-URL; die Signaturprüfung wird immer erzwungen. +- `tunnel.allowNgrokFreeTierLoopbackBypass: true` erlaubt Twilio-Webhooks mit ungültigen Signaturen **nur**, wenn `tunnel.provider="ngrok"` und `serve.bind` auf local loopback gesetzt ist (lokaler ngrok-Agent). Nur für lokale Entwicklung verwenden. +- URLs der kostenlosen ngrok-Stufe können sich ändern oder Zwischenbildschirm-Verhalten hinzufügen; wenn `publicUrl` abweicht, schlagen Twilio-Signaturen fehl. Für die Produktion sollte eine stabile Domain oder Tailscale funnel bevorzugt werden. +- `realtime.enabled` startet vollständige Sprache-zu-Sprache-Gespräche; aktivieren Sie dies nicht zusammen mit `streaming.enabled`. - Standards für Streaming-Sicherheit: - - `streaming.preStartTimeoutMs` schließt Sockets, die nie einen gültigen `start`-Frame senden. -- `streaming.maxPendingConnections` begrenzt die Gesamtzahl nicht authentifizierter Pre-Start-Sockets. -- `streaming.maxPendingConnectionsPerIp` begrenzt nicht authentifizierte Pre-Start-Sockets pro Quell-IP. -- `streaming.maxConnections` begrenzt alle offenen Media-Stream-Sockets insgesamt (ausstehend + aktiv). -- Zur Laufzeit werden diese alten Voice-Call-Schlüssel derzeit weiterhin als Fallback akzeptiert, aber der Umschreibpfad ist `openclaw doctor --fix`, und der Kompatibilitätsshift ist nur vorübergehend. + - `streaming.preStartTimeoutMs` schließt Sockets, die niemals einen gültigen `start`-Frame senden. +- `streaming.maxPendingConnections` begrenzt die Gesamtzahl nicht authentifizierter Verbindungen vor dem Start. +- `streaming.maxPendingConnectionsPerIp` begrenzt nicht authentifizierte Verbindungen vor dem Start pro Quell-IP. +- `streaming.maxConnections` begrenzt die Gesamtzahl offener Media-Stream-Sockets (ausstehend + aktiv). +- Die Laufzeit-Fallbacklogik akzeptiert diese alten voice-call-Schlüssel vorerst weiterhin, aber der Umschreibpfad ist `openclaw doctor --fix` und der Kompatibilitätsshims ist nur vorübergehend. + +## Realtime-Sprachgespräche + +`realtime` wählt einen vollduplexfähigen Realtime-Sprachanbieter für Live-Anrufaudio aus. +Es ist getrennt von `streaming`, das Audio nur an Realtime-Transkriptionsanbieter +weiterleitet. + +Aktuelles Laufzeitverhalten: + +- `realtime.enabled` wird für Twilio Media Streams unterstützt. +- `realtime.enabled` kann nicht mit `streaming.enabled` kombiniert werden. +- `realtime.provider` ist optional. Wenn nicht gesetzt, verwendet Voice Call den ersten + registrierten Realtime-Sprachanbieter. +- Gebündelte Realtime-Sprachanbieter umfassen Google Gemini Live (`google`) und + OpenAI (`openai`), registriert durch ihre Anbieter-Plugins. +- Anbieter-eigene Rohkonfiguration liegt unter `realtime.providers.`. +- Wenn `realtime.provider` auf einen nicht registrierten Anbieter zeigt oder überhaupt kein Realtime- + Sprachanbieter registriert ist, protokolliert Voice Call eine Warnung und überspringt + Realtime-Medien, anstatt das gesamte Plugin fehlschlagen zu lassen. + +Google Gemini Live-Standardwerte für Realtime: + +- API-Schlüssel: `realtime.providers.google.apiKey`, `GEMINI_API_KEY` oder + `GOOGLE_GENERATIVE_AI_API_KEY` +- Modell: `gemini-2.5-flash-native-audio-preview-12-2025` +- Stimme: `Kore` + +Beispiel: + +```json5 +{ + plugins: { + entries: { + "voice-call": { + config: { + provider: "twilio", + inboundPolicy: "allowlist", + allowFrom: ["+15550005678"], + realtime: { + enabled: true, + provider: "google", + instructions: "Sprechen Sie kurz und fragen Sie, bevor Sie Tools verwenden.", + providers: { + google: { + apiKey: "${GEMINI_API_KEY}", + model: "gemini-2.5-flash-native-audio-preview-12-2025", + voice: "Kore", + }, + }, + }, + }, + }, + }, + }, +} +``` + +Stattdessen OpenAI verwenden: + +```json5 +{ + plugins: { + entries: { + "voice-call": { + config: { + realtime: { + enabled: true, + provider: "openai", + providers: { + openai: { + apiKey: "${OPENAI_API_KEY}", + }, + }, + }, + }, + }, + }, + }, +} +``` + +Siehe [Google-Anbieter](/de/providers/google) und [OpenAI-Anbieter](/de/providers/openai) +für anbieterspezifische Realtime-Sprachoptionen. ## Streaming-Transkription -`streaming` wählt einen Realtime-Transcription-Provider für Live-Anrufaudio aus. +`streaming` wählt einen Realtime-Transkriptionsanbieter für Live-Anrufaudio aus. Aktuelles Laufzeitverhalten: - `streaming.provider` ist optional. Wenn nicht gesetzt, verwendet Voice Call den ersten - registrierten Realtime-Transcription-Provider. -- Gebündelte Realtime-Transcription-Provider umfassen Deepgram (`deepgram`), + registrierten Realtime-Transkriptionsanbieter. +- Gebündelte Realtime-Transkriptionsanbieter umfassen Deepgram (`deepgram`), ElevenLabs (`elevenlabs`), Mistral (`mistral`), OpenAI (`openai`) und xAI - (`xai`), registriert durch ihre Provider-Plugins. -- Provider-eigene Rohkonfiguration befindet sich unter `streaming.providers.`. -- Wenn `streaming.provider` auf einen nicht registrierten Provider zeigt oder überhaupt kein Realtime-Transcription-Provider registriert ist, protokolliert Voice Call eine Warnung und überspringt Media-Streaming, statt das gesamte Plugin fehlschlagen zu lassen. + (`xai`), registriert durch ihre Anbieter-Plugins. +- Anbieter-eigene Rohkonfiguration liegt unter `streaming.providers.`. +- Wenn `streaming.provider` auf einen nicht registrierten Anbieter zeigt oder überhaupt kein Realtime- + Transkriptionsanbieter registriert ist, protokolliert Voice Call eine Warnung und + überspringt Medien-Streaming, anstatt das gesamte Plugin fehlschlagen zu lassen. -Standardwerte für OpenAI-Streaming-Transkription: +OpenAI-Standardwerte für Streaming-Transkription: - API-Schlüssel: `streaming.providers.openai.apiKey` oder `OPENAI_API_KEY` - Modell: `gpt-4o-transcribe` - `silenceDurationMs`: `800` - `vadThreshold`: `0.5` -Standardwerte für xAI-Streaming-Transkription: +xAI-Standardwerte für Streaming-Transkription: - API-Schlüssel: `streaming.providers.xai.apiKey` oder `XAI_API_KEY` - Endpunkt: `wss://api.x.ai/v1/stt` @@ -212,7 +309,7 @@ Beispiel: } ``` -xAI stattdessen verwenden: +Stattdessen xAI verwenden: ```json5 { @@ -239,7 +336,7 @@ xAI stattdessen verwenden: } ``` -Alte Schlüssel werden weiterhin automatisch von `openclaw doctor --fix` migriert: +Veraltete Schlüssel werden weiterhin automatisch durch `openclaw doctor --fix` migriert: - `streaming.sttProvider` → `streaming.provider` - `streaming.openaiApiKey` → `streaming.providers.openai.apiKey` @@ -247,17 +344,17 @@ Alte Schlüssel werden weiterhin automatisch von `openclaw doctor --fix` migrier - `streaming.silenceDurationMs` → `streaming.providers.openai.silenceDurationMs` - `streaming.vadThreshold` → `streaming.providers.openai.vadThreshold` -## Stale-Call-Reaper +## Bereinigung veralteter Anrufe Verwenden Sie `staleCallReaperSeconds`, um Anrufe zu beenden, die niemals einen terminalen Webhook erhalten -(zum Beispiel Notify-Mode-Anrufe, die nie abgeschlossen werden). Standard ist `0` +(zum Beispiel Anrufe im Benachrichtigungsmodus, die nie abgeschlossen werden). Der Standardwert ist `0` (deaktiviert). Empfohlene Bereiche: -- **Produktion:** `120`–`300` Sekunden für Notify-artige Abläufe. +- **Produktion:** `120`–`300` Sekunden für notify-artige Abläufe. - Halten Sie diesen Wert **höher als `maxDurationSeconds`**, damit normale Anrufe - abgeschlossen werden können. Ein guter Ausgangspunkt ist `maxDurationSeconds + 30–60` Sekunden. + abgeschlossen werden können. Ein guter Ausgangswert ist `maxDurationSeconds + 30–60` Sekunden. Beispiel: @@ -282,26 +379,26 @@ Wenn ein Proxy oder Tunnel vor dem Gateway sitzt, rekonstruiert das Plugin die öffentliche URL für die Signaturprüfung. Diese Optionen steuern, welchen weitergeleiteten Headern vertraut wird. -`webhookSecurity.allowedHosts` erstellt eine Allowlist von Hosts aus weitergeleiteten Headern. +`webhookSecurity.allowedHosts` setzt Hosts aus Weiterleitungs-Headern auf eine Allowlist. `webhookSecurity.trustForwardingHeaders` vertraut weitergeleiteten Headern ohne Allowlist. `webhookSecurity.trustedProxyIPs` vertraut weitergeleiteten Headern nur dann, wenn die -Remote-IP der Anfrage zur Liste passt. +Remote-IP der Anfrage mit der Liste übereinstimmt. -Webhook-Replay-Schutz ist für Twilio und Plivo aktiviert. Wiederholte gültige Webhook- -Anfragen werden bestätigt, aber für Seiteneffekte übersprungen. +Webhook-Wiedergabeschutz ist für Twilio und Plivo aktiviert. Wiederholte gültige Webhook- +Anfragen werden bestätigt, aber für Nebenwirkungen übersprungen. -Twilio-Konversationsturns enthalten ein Token pro Turn in ``-Callbacks, sodass -veraltete/wiederholte Sprach-Callbacks keinen neueren ausstehenden Transkript-Turn erfüllen können. +Twilio-Konversationszüge enthalten ein Token pro Zug in ``-Callbacks, sodass +veraltete/wiederholte Sprach-Callbacks keinen neueren ausstehenden Transkriptionszug erfüllen können. -Nicht authentifizierte Webhook-Anfragen werden vor dem Lesen des Bodys abgelehnt, wenn die -erforderlichen Signatur-Header des Providers fehlen. +Nicht authentifizierte Webhook-Anfragen werden vor dem Lesen des Bodys abgewiesen, wenn die +erforderlichen Signatur-Header des Anbieters fehlen. -Der Voice-Call-Webhook verwendet das gemeinsame Pre-Auth-Body-Profil (64 KB / 5 Sekunden) -plus ein In-Flight-Limit pro IP vor der Signaturprüfung. +Der voice-call-Webhook verwendet das gemeinsame Pre-Auth-Body-Profil (64 KB / 5 Sekunden) +plus eine laufende Obergrenze pro IP vor der Signaturprüfung. -Beispiel mit stabilem öffentlichem Host: +Beispiel mit einem stabilen öffentlichen Host: ```json5 { @@ -322,9 +419,9 @@ Beispiel mit stabilem öffentlichem Host: ## TTS für Anrufe -Voice Call verwendet die Core-Konfiguration `messages.tts` für -gestreamte Sprache in Anrufen. Sie können sie unter der Plugin-Konfiguration mit derselben -**Form** überschreiben — sie wird tief mit `messages.tts` zusammengeführt. +Voice Call verwendet die zentrale Konfiguration `messages.tts` für +gestreamte Sprache bei Anrufen. Sie können sie unter der Plugin-Konfiguration mit +**derselben Struktur** überschreiben — sie wird per Deep-Merge mit `messages.tts` zusammengeführt. ```json5 { @@ -342,15 +439,15 @@ gestreamte Sprache in Anrufen. Sie können sie unter der Plugin-Konfiguration mi Hinweise: -- Alte Schlüssel `tts.` innerhalb der Plugin-Konfiguration (`openai`, `elevenlabs`, `microsoft`, `edge`) werden beim Laden automatisch nach `tts.providers.` migriert. Bevorzugen Sie die Form `providers` in versionierter Konfiguration. -- **Microsoft speech wird für Voice Calls ignoriert** (Telefonie-Audio benötigt PCM; der aktuelle Microsoft-Transport stellt keinen telefonietauglichen PCM-Output bereit). -- Core-TTS wird verwendet, wenn Twilio-Media-Streaming aktiviert ist; andernfalls fallen Anrufe auf native Stimmen des Providers zurück. -- Wenn bereits ein Twilio-Media-Stream aktiv ist, fällt Voice Call nicht auf TwiML `` zurück. Wenn Telephony-TTS in diesem Zustand nicht verfügbar ist, schlägt die Wiedergabeanfrage fehl, statt zwei Wiedergabepfade zu mischen. -- Wenn Telephony-TTS auf einen sekundären Provider zurückfällt, protokolliert Voice Call eine Warnung mit der Provider-Kette (`from`, `to`, `attempts`) für Debugging. +- Veraltete `tts.`-Schlüssel innerhalb der Plugin-Konfiguration (`openai`, `elevenlabs`, `microsoft`, `edge`) werden beim Laden automatisch nach `tts.providers.` migriert. Bevorzugen Sie die Struktur `providers` in eingecheckter Konfiguration. +- **Microsoft speech wird für Sprachanrufe ignoriert** (Telefonie-Audio benötigt PCM; der aktuelle Microsoft-Transport stellt keine PCM-Ausgabe für Telefonie bereit). +- Zentrales TTS wird verwendet, wenn Twilio-Medienstreaming aktiviert ist; andernfalls greifen Anrufe auf native Stimmen des Anbieters zurück. +- Wenn bereits ein Twilio-Medienstream aktiv ist, fällt Voice Call nicht auf TwiML `` zurück. Wenn Telefonie-TTS in diesem Zustand nicht verfügbar ist, schlägt die Wiedergabeanforderung fehl, anstatt zwei Wiedergabepfade zu mischen. +- Wenn Telefonie-TTS auf einen sekundären Anbieter zurückfällt, protokolliert Voice Call eine Warnung mit der Anbieterkette (`from`, `to`, `attempts`) zur Fehlersuche. ### Weitere Beispiele -Nur Core-TTS verwenden (keine Überschreibung): +Nur zentrales TTS verwenden (ohne Überschreibung): ```json5 { @@ -365,7 +462,7 @@ Nur Core-TTS verwenden (keine Überschreibung): } ``` -Nur für Anrufe auf ElevenLabs überschreiben (Core-Standard anderswo beibehalten): +Nur für Anrufe auf ElevenLabs überschreiben (zentralen Standard anderswo beibehalten): ```json5 { @@ -415,7 +512,7 @@ Nur das OpenAI-Modell für Anrufe überschreiben (Deep-Merge-Beispiel): ## Eingehende Anrufe -Die Standardrichtlinie für eingehende Anrufe ist `disabled`. Um eingehende Anrufe zu aktivieren, setzen Sie: +Die Richtlinie für eingehende Anrufe ist standardmäßig auf `disabled` gesetzt. Um eingehende Anrufe zu aktivieren, setzen Sie: ```json5 { @@ -425,13 +522,13 @@ Die Standardrichtlinie für eingehende Anrufe ist `disabled`. Um eingehende Anru } ``` -`inboundPolicy: "allowlist"` ist nur eine Caller-ID-Prüfung mit geringer Sicherheit. Das Plugin -normalisiert den vom Provider gelieferten Wert `From` und vergleicht ihn mit `allowFrom`. -Webhook-Verifizierung authentifiziert die Zustellung durch den Provider und die Integrität der Payload, aber -sie beweist nicht die Eigentümerschaft an der PSTN-/VoIP-Anrufernummer. Behandeln Sie `allowFrom` als -Filterung nach Caller-ID, nicht als starke Anruferidentität. +`inboundPolicy: "allowlist"` ist eine Anrufer-ID-Prüfung mit geringer Sicherheit. Das Plugin +normalisiert den vom Anbieter gelieferten Wert `From` und vergleicht ihn mit `allowFrom`. +Die Webhook-Prüfung authentifiziert die Zustellung durch den Anbieter und die Integrität der Nutzlast, +beweist aber nicht die Inhaberschaft der PSTN-/VoIP-Anrufernummer. Behandeln Sie `allowFrom` als +Anrufer-ID-Filterung, nicht als starke Anruferidentität. -Automatische Antworten verwenden das Agent-System. Abstimmung über: +Automatische Antworten verwenden das Agent-System. Abstimmung mit: - `responseModel` - `responseSystemPrompt` @@ -443,48 +540,48 @@ Für automatische Antworten hängt Voice Call einen strikten Vertrag für gespro - `{"spoken":"..."}` -Voice Call extrahiert dann gesprochene Texte defensiv: +Voice Call extrahiert dann den Sprachtext defensiv: -- Ignoriert Payloads, die als Reasoning-/Error-Inhalt markiert sind. -- Parst direktes JSON, JSON in Fences oder Inline-Schlüssel `"spoken"`. -- Fällt auf Plain Text zurück und entfernt wahrscheinlich führende Absätze mit Planung/Meta. +- Ignoriert Nutzlasten, die als Reasoning-/Fehlerinhalt markiert sind. +- Parst direktes JSON, JSON in Codeblöcken oder Inline-Schlüssel `"spoken"`. +- Fällt auf Klartext zurück und entfernt wahrscheinliche Einleitungsabsätze mit Planung/Meta-Inhalten. -Dadurch bleibt die gesprochene Wiedergabe auf anrufergerichteten Text fokussiert und es wird vermieden, Planungstext in Audio auszugeben. +So bleibt die gesprochene Wiedergabe auf an den Anrufer gerichteten Text fokussiert und vermeidet, dass Planungstext in das Audio gelangt. -### Verhalten beim Start von Konversationen +### Verhalten beim Gesprächsstart -Bei ausgehenden `conversation`-Anrufen ist die Behandlung der ersten Nachricht an den Status der Live-Wiedergabe gekoppelt: +Bei ausgehenden Anrufen im Modus `conversation` ist die Verarbeitung der ersten Nachricht an den Status der Live-Wiedergabe gebunden: -- Barge-in-Queue-Clear und automatische Antwort werden nur unterdrückt, während die anfängliche Begrüßung aktiv gesprochen wird. -- Wenn die anfängliche Wiedergabe fehlschlägt, kehrt der Anruf in den Status `listening` zurück und die anfängliche Nachricht bleibt zur Wiederholung in der Queue. -- Die anfängliche Wiedergabe für Twilio-Streaming startet bei Stream-Verbindung ohne zusätzliche Verzögerung. +- Das Leeren der Barge-in-Warteschlange und die automatische Antwort werden nur unterdrückt, während die anfängliche Begrüßung aktiv gesprochen wird. +- Wenn die anfängliche Wiedergabe fehlschlägt, kehrt der Anruf zu `listening` zurück und die erste Nachricht bleibt für einen erneuten Versuch in der Warteschlange. +- Die anfängliche Wiedergabe für Twilio-Streaming startet bei der Stream-Verbindung ohne zusätzliche Verzögerung. -### Grace-Periode bei Twilio-Stream-Disconnect +### Kulanzzeit bei Twilio-Stream-Trennung -Wenn ein Twilio-Media-Stream die Verbindung verliert, wartet Voice Call `2000ms`, bevor der Anruf automatisch beendet wird: +Wenn ein Twilio-Medienstream getrennt wird, wartet Voice Call `2000ms`, bevor der Anruf automatisch beendet wird: -- Wenn der Stream innerhalb dieses Fensters erneut verbunden wird, wird die automatische Beendigung abgebrochen. -- Wenn nach der Grace-Periode kein Stream erneut registriert wurde, wird der Anruf beendet, um festhängende aktive Anrufe zu verhindern. +- Wenn der Stream innerhalb dieses Zeitfensters erneut verbunden wird, wird die automatische Beendigung abgebrochen. +- Wenn nach Ablauf der Kulanzzeit kein Stream erneut registriert wird, wird der Anruf beendet, um hängende aktive Anrufe zu verhindern. ## CLI ```bash openclaw voicecall call --to "+15555550123" --message "Hello from OpenClaw" openclaw voicecall start --to "+15555550123" # Alias für call -openclaw voicecall continue --call-id --message "Any questions?" -openclaw voicecall speak --call-id --message "One moment" +openclaw voicecall continue --call-id --message "Irgendwelche Fragen?" +openclaw voicecall speak --call-id --message "Einen Moment bitte" openclaw voicecall dtmf --call-id --digits "ww123456#" openclaw voicecall end --call-id openclaw voicecall status --call-id openclaw voicecall tail -openclaw voicecall latency # Turn-Latenz aus Logs zusammenfassen +openclaw voicecall latency # Zuglatenz aus Protokollen zusammenfassen openclaw voicecall expose --mode funnel ``` -`latency` liest `calls.jsonl` aus dem Standard-Speicherpfad von voice-call. Verwenden Sie -`--file `, um auf ein anderes Log zu zeigen, und `--last `, um die Analyse -auf die letzten N Einträge zu begrenzen (Standard 200). Die Ausgabe enthält p50/p90/p99 für Turn- -Latenz und Listen-Wait-Zeiten. +`latency` liest `calls.jsonl` aus dem standardmäßigen voice-call-Speicherpfad. Verwenden Sie +`--file `, um auf ein anderes Protokoll zu zeigen, und `--last `, um die Analyse +auf die letzten N Einträge zu begrenzen (Standard 200). Die Ausgabe enthält p50/p90/p99 für Zuglatenz +und Listen-Wartezeiten. ## Agent-Tool @@ -492,16 +589,16 @@ Tool-Name: `voice_call` Aktionen: -- `initiate_call` (`message`, `to?`, `mode?`) -- `continue_call` (`callId`, `message`) -- `speak_to_user` (`callId`, `message`) -- `send_dtmf` (`callId`, `digits`) -- `end_call` (`callId`) -- `get_status` (`callId`) +- `initiate_call` (message, to?, mode?) +- `continue_call` (callId, message) +- `speak_to_user` (callId, message) +- `send_dtmf` (callId, digits) +- `end_call` (callId) +- `get_status` (callId) Dieses Repo enthält ein passendes Skill-Dokument unter `skills/voice-call/SKILL.md`. -## Gateway-RPC +## Gateway RPC - `voicecall.initiate` (`to?`, `message`, `mode?`) - `voicecall.continue` (`callId`, `message`) @@ -512,6 +609,6 @@ Dieses Repo enthält ein passendes Skill-Dokument unter `skills/voice-call/SKILL ## Verwandt -- [Text-to-speech](/de/tools/tts) -- [Talk mode](/de/nodes/talk) -- [Voice wake](/de/nodes/voicewake) +- [Text-to-Speech](/de/tools/tts) +- [Talk-Modus](/de/nodes/talk) +- [Voice Wake](/de/nodes/voicewake) diff --git a/docs/de/tools/media-overview.md b/docs/de/tools/media-overview.md index f279bb33c..07a4d0ce5 100644 --- a/docs/de/tools/media-overview.md +++ b/docs/de/tools/media-overview.md @@ -1,84 +1,86 @@ --- read_when: - - Sie suchen nach einem Überblick über die Medienfunktionen. - - Entscheiden, welchen Medien-Provider Sie konfigurieren sollten. - - Verstehen, wie asynchrone Mediengenerierung funktioniert. -summary: Einheitliche Einstiegsseite für Mediengenerierung, -verständnis und Sprachfunktionen + - Suchen Sie nach einer Übersicht über Medienfunktionen + - Entscheiden, welchen Medienanbieter Sie konfigurieren möchten + - Verstehen, wie die asynchrone Mediengenerierung funktioniert +summary: Einheitliche Landingpage für Mediengenerierung, Verständnis und Sprachfunktionen title: Medienübersicht x-i18n: - generated_at: "2026-04-24T07:05:04Z" + generated_at: "2026-04-24T09:51:46Z" model: gpt-5.4 provider: openai - source_hash: 469fb173ac3853011b8cd4f89f3ab97dd7d14e12e4e1d7d87e84de05d025a593 + source_hash: 39848c6104ebd4feeb37b233b70f3312fa076b535c3b3780336729eb9fdfa4e6 source_path: tools/media-overview.md workflow: 15 --- -# Mediengenerierung und -verständnis +# Mediengenerierung und Medienverständnis -OpenClaw generiert Bilder, Videos und Musik, versteht eingehende Medien (Bilder, Audio, Video) und spricht Antworten per Text-to-Speech laut aus. Alle Medienfunktionen sind toolgesteuert: Der Agent entscheidet anhand der Unterhaltung, wann er sie verwendet, und jedes Tool erscheint nur dann, wenn mindestens ein zugrunde liegender Provider konfiguriert ist. +OpenClaw erzeugt Bilder, Videos und Musik, versteht eingehende Medien (Bilder, Audio, Video) und gibt Antworten per Text-to-Speech laut wieder. Alle Medienfunktionen sind toolgesteuert: Der Agent entscheidet anhand des Gesprächs, wann sie verwendet werden, und jedes Tool erscheint nur, wenn mindestens ein zugrunde liegender Anbieter konfiguriert ist. ## Funktionen auf einen Blick -| Funktion | Tool | Provider | Was es tut | -| ---------------------- | ---------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------------- | -| Bildgenerierung | `image_generate` | ComfyUI, fal, Google, MiniMax, OpenAI, Vydra, xAI | Erstellt oder bearbeitet Bilder aus Text-Prompts oder Referenzen | -| Videogenerierung | `video_generate` | Alibaba, BytePlus, ComfyUI, fal, Google, MiniMax, OpenAI, Qwen, Runway, Together, Vydra, xAI | Erstellt Videos aus Text, Bildern oder vorhandenen Videos | -| Musikgenerierung | `music_generate` | ComfyUI, Google, MiniMax | Erstellt Musik oder Audiospuren aus Text-Prompts | -| Text-to-Speech (TTS) | `tts` | ElevenLabs, Microsoft, MiniMax, OpenAI, xAI | Wandelt ausgehende Antworten in gesprochene Audiodateien um | -| Medienverständnis | (automatisch) | Beliebiger vision- oder audiofähiger Modell-Provider sowie CLI-Fallbacks | Fasst eingehende Bilder, Audiodateien und Videos zusammen | +| Funktion | Tool | Anbieter | Was es macht | +| -------------------- | ---------------- | ------------------------------------------------------------------------------------------- | ----------------------------------------------------- | +| Bildgenerierung | `image_generate` | ComfyUI, fal, Google, MiniMax, OpenAI, Vydra, xAI | Erstellt oder bearbeitet Bilder aus Text-Prompts oder Referenzen | +| Videogenerierung | `video_generate` | Alibaba, BytePlus, ComfyUI, fal, Google, MiniMax, OpenAI, Qwen, Runway, Together, Vydra, xAI | Erstellt Videos aus Text, Bildern oder vorhandenen Videos | +| Musikgenerierung | `music_generate` | ComfyUI, Google, MiniMax | Erstellt Musik oder Audiospuren aus Text-Prompts | +| Text-to-Speech (TTS) | `tts` | ElevenLabs, Google, Microsoft, MiniMax, OpenAI, xAI | Wandelt ausgehende Antworten in gesprochene Audiodaten um | +| Medienverständnis | (automatisch) | Jeder vision- oder audiofähige Modellanbieter sowie CLI-Fallbacks | Fasst eingehende Bilder, Audiodaten und Videos zusammen | -## Matrix der Provider-Funktionen +## Matrix der Anbieterfunktionen -Diese Tabelle zeigt, welche Provider welche Medienfunktionen auf der Plattform unterstützen. +Diese Tabelle zeigt, welche Anbieter welche Medienfunktionen auf der gesamten Plattform unterstützen. -| Provider | Bild | Video | Musik | TTS | STT / Transkription | Medienverständnis | -| ---------- | ---- | ----- | ----- | --- | ------------------- | ----------------- | -| Alibaba | | Ja | | | | | -| BytePlus | | Ja | | | | | -| ComfyUI | Ja | Ja | Ja | | | | -| Deepgram | | | | | Ja | | -| ElevenLabs | | | | Ja | Ja | | -| fal | Ja | Ja | | | | | -| Google | Ja | Ja | Ja | | | Ja | -| Microsoft | | | | Ja | | | -| MiniMax | Ja | Ja | Ja | Ja | | | -| Mistral | | | | | Ja | | -| OpenAI | Ja | Ja | | Ja | Ja | Ja | -| Qwen | | Ja | | | | | -| Runway | | Ja | | | | | -| Together | | Ja | | | | | -| Vydra | Ja | Ja | | | | | -| xAI | Ja | Ja | | Ja | Ja | Ja | +| Anbieter | Bild | Video | Musik | TTS | STT / Transkription | Echtzeitstimme | Medienverständnis | +| ---------- | ---- | ----- | ----- | --- | ------------------- | -------------- | ----------------- | +| Alibaba | | Ja | | | | | | +| BytePlus | | Ja | | | | | | +| ComfyUI | Ja | Ja | Ja | | | | | +| Deepgram | | | | | Ja | | | +| ElevenLabs | | | | Ja | Ja | | | +| fal | Ja | Ja | | | | | | +| Google | Ja | Ja | Ja | Ja | | Ja | Ja | +| Microsoft | | | | Ja | | | | +| MiniMax | Ja | Ja | Ja | Ja | | | | +| Mistral | | | | | Ja | | | +| OpenAI | Ja | Ja | | Ja | Ja | Ja | Ja | +| Qwen | | Ja | | | | | | +| Runway | | Ja | | | | | | +| Together | | Ja | | | | | | +| Vydra | Ja | Ja | | | | | | +| xAI | Ja | Ja | | Ja | Ja | | Ja | -Das Medienverständnis verwendet jeden visionfähigen oder audiofähigen Modell-Provider, der in Ihrer Provider-Konfiguration registriert ist. Die obige Tabelle hebt Provider mit dedizierter Unterstützung für Medienverständnis hervor; die meisten LLM-Provider mit multimodalen Modellen (Anthropic, Google, OpenAI usw.) können eingehende Medien ebenfalls verstehen, wenn sie als aktives Antwortmodell konfiguriert sind. +Medienverständnis verwendet jeden visionsfähigen oder audiofähigen Modellanbieter, der in Ihrer Anbieterkonfiguration registriert ist. Die obige Tabelle hebt Anbieter mit dedizierter Unterstützung für Medienverständnis hervor; die meisten LLM-Anbieter mit multimodalen Modellen (Anthropic, Google, OpenAI usw.) können bei entsprechender Konfiguration eingehende Medien ebenfalls verstehen, wenn sie als aktives Antwortmodell konfiguriert sind. -## So funktioniert asynchrone Generierung +## So funktioniert die asynchrone Generierung -Die Video- und Musikgenerierung läuft als Hintergrundaufgabe, weil die Verarbeitung beim Provider typischerweise 30 Sekunden bis mehrere Minuten dauert. Wenn der Agent `video_generate` oder `music_generate` aufruft, sendet OpenClaw die Anfrage an den Provider, gibt sofort eine Aufgaben-ID zurück und verfolgt den Job im Task Ledger. Der Agent beantwortet währenddessen weiterhin andere Nachrichten. Wenn der Provider fertig ist, weckt OpenClaw den Agenten auf, damit er das fertige Medium zurück in den ursprünglichen Kanal posten kann. Bildgenerierung und TTS sind synchron und werden inline mit der Antwort abgeschlossen. +Video- und Musikgenerierung laufen als Hintergrundaufgaben, da die Verarbeitung durch den Anbieter typischerweise 30 Sekunden bis mehrere Minuten dauert. Wenn der Agent `video_generate` oder `music_generate` aufruft, sendet OpenClaw die Anfrage an den Anbieter, gibt sofort eine Aufgaben-ID zurück und verfolgt den Job im Aufgabenprotokoll. Der Agent beantwortet weiter andere Nachrichten, während der Job läuft. Wenn der Anbieter fertig ist, aktiviert OpenClaw den Agenten, damit er die fertigen Medien wieder im ursprünglichen Kanal veröffentlichen kann. Bildgenerierung und TTS sind synchron und werden inline mit der Antwort abgeschlossen. -Deepgram, ElevenLabs, Mistral, OpenAI und xAI können alle eingehendes -Audio über den Batch-Pfad `tools.media.audio` transkribieren, wenn sie konfiguriert sind. Deepgram, -ElevenLabs, Mistral, OpenAI und xAI registrieren außerdem STT-Provider für das Streaming von Voice Calls, -sodass Live-Telefonaudio an den ausgewählten Anbieter weitergeleitet werden kann, -ohne auf eine abgeschlossene Aufnahme warten zu müssen. +Deepgram, ElevenLabs, Mistral, OpenAI und xAI können bei entsprechender Konfiguration eingehendes +Audio über den Batch-Pfad `tools.media.audio` transkribieren. Deepgram, +ElevenLabs, Mistral, OpenAI und xAI registrieren außerdem Streaming-STT-Anbieter für Voice Call, +sodass Live-Telefon-Audio an den ausgewählten Anbieter weitergeleitet werden kann, +ohne auf eine abgeschlossene Aufzeichnung warten zu müssen. -OpenAI wird auf die Oberflächen für Bilder, Video, Batch-TTS, Batch-STT, Voice Call- -Streaming-STT, Realtime Voice und Memory Embeddings von OpenClaw abgebildet. xAI wird derzeit -auf die Oberflächen für Bilder, Video, Suche, Code-Ausführung, Batch-TTS, Batch-STT -und Voice Call-Streaming-STT von OpenClaw abgebildet. xAI Realtime Voice ist eine Upstream- -Funktion, wird in OpenClaw aber erst registriert, wenn der gemeinsame Realtime- -Voice-Vertrag sie darstellen kann. +Google ist in OpenClaw den Oberflächen für Bild, Video, Musik, Batch-TTS, Backend-Echtzeitstimme +und Medienverständnis zugeordnet. OpenAI ist in OpenClaw den Oberflächen für Bild, +Video, Batch-TTS, Batch-STT, Streaming-STT für Voice Call, Backend-Echtzeitstimme +und Memory-Embeddings zugeordnet. xAI ist derzeit in OpenClaw den Oberflächen für Bild, Video, +Suche, Code-Ausführung, Batch-TTS, Batch-STT und Streaming-STT für Voice Call +zugeordnet. xAI Realtime voice ist eine Upstream-Funktion, wird jedoch in OpenClaw +erst registriert, wenn der gemeinsame Vertrag für Echtzeitstimme sie darstellen +kann. ## Schnelllinks - [Bildgenerierung](/de/tools/image-generation) -- Bilder generieren und bearbeiten - [Videogenerierung](/de/tools/video-generation) -- Text-zu-Video, Bild-zu-Video und Video-zu-Video - [Musikgenerierung](/de/tools/music-generation) -- Musik und Audiospuren erstellen -- [Text-to-Speech](/de/tools/tts) -- Antworten in gesprochene Audiodateien umwandeln -- [Medienverständnis](/de/nodes/media-understanding) -- eingehende Bilder, Audiodateien und Videos verstehen +- [Text-to-Speech](/de/tools/tts) -- Antworten in gesprochene Audiodaten umwandeln +- [Medienverständnis](/de/nodes/media-understanding) -- eingehende Bilder, Audiodaten und Videos verstehen ## Verwandt