Voice Call (Plugin)
Sprachanrufe für OpenClaw über ein Plugin. Unterstützt ausgehende Benachrichtigungen und mehrturnige Konversationen mit eingehenden Richtlinien. Aktuelle Anbieter:twilio(Programmable Voice + Media Streams)telnyx(Call Control v2)plivo(Voice API + XML-Transfer + GetInput-Spracherkennung)mock(dev/kein Netzwerk)
- Plugin installieren
- Gateway neu starten
- Unter
plugins.entries.voice-call.configkonfigurieren openclaw voicecall ...oder das Werkzeugvoice_callverwenden
Wo es läuft (lokal vs. remote)
Das Voice-Call-Plugin läuft innerhalb des Gateway-Prozesses. Wenn Sie ein entferntes Gateway verwenden, installieren/konfigurieren Sie das Plugin auf der Maschine, auf der das Gateway läuft, und starten Sie anschließend das Gateway neu, um es zu laden.Installation
Option A: Installation von npm (empfohlen)
Option B: Installation aus einem lokalen Ordner (Entwicklung, kein Kopieren)
Konfiguration
Setzen Sie die Konfiguration unterplugins.entries.voice-call.config:
- Twilio/Telnyx erfordern eine öffentlich erreichbare Webhook-URL.
- Plivo erfordert eine öffentlich erreichbare Webhook-URL.
mockist ein lokaler Entwicklungsanbieter (keine Netzwerkanfragen).- Telnyx erfordert
telnyx.publicKey(oderTELNYX_PUBLIC_KEY), sofernskipSignatureVerificationnicht auf true gesetzt ist. skipSignatureVerificationist nur für lokale Tests.- Wenn Sie die kostenlose ngrok-Stufe verwenden, setzen Sie
publicUrlauf die exakte ngrok-URL; die Signaturprüfung wird immer erzwungen. tunnel.allowNgrokFreeTierLoopbackBypass: trueerlaubt Twilio-Webhooks mit ungültigen Signaturen nur, wenntunnel.provider="ngrok"undserve.bindLoopback ist (lokaler ngrok-Agent). Nur für lokale Entwicklung verwenden.- URLs der kostenlosen ngrok-Stufe können sich ändern oder Zwischenseiten hinzufügen; wenn
publicUrlabweicht, schlagen Twilio-Signaturen fehl. Für Produktion bevorzugen Sie eine stabile Domain oder einen Tailscale-Funnel.
Webhook-Sicherheit
Wenn ein Proxy oder Tunnel vor dem Gateway sitzt, rekonstruiert das Plugin die öffentliche URL zur Signaturprüfung. Diese Optionen steuern, welchen weitergeleiteten Headern vertraut wird.webhookSecurity.allowedHosts allowlistet Hosts aus Weiterleitungs-Headern.
webhookSecurity.trustForwardingHeaders vertraut weitergeleiteten Headern ohne Allowlist.
webhookSecurity.trustedProxyIPs vertraut weitergeleiteten Headern nur, wenn die Anfrage-
Remote-IP mit der Liste übereinstimmt.
Beispiel mit einem stabilen öffentlichen Host:
TTS für Anrufe
Voice Call verwendet die Kernkonfigurationmessages.tts (OpenAI oder ElevenLabs) für
Streaming-Sprachausgabe bei Anrufen. Sie können diese unter der Plugin-Konfiguration mit der
gleichen Struktur überschreiben — sie wird per Deep-Merge mit messages.tts zusammengeführt.
- Edge TTS wird für Sprachanrufe ignoriert (Telefonaudio benötigt PCM; Edge-Ausgabe ist unzuverlässig).
- Core-TTS wird verwendet, wenn Twilio-Medienstreaming aktiviert ist; andernfalls greifen Anrufe auf native Stimmen des Anbieters zurück.
Weitere Beispiele
Nur Core-TTS verwenden (keine Überschreibung):Eingehende Anrufe
Die Richtlinie für eingehende Anrufe ist standardmäßigdisabled. Um eingehende Anrufe zu aktivieren, setzen Sie:
responseModelresponseSystemPromptresponseTimeoutMs
CLI
Agent-Werkzeug
Werkzeugname:voice_call
Aktionen:
initiate_call(message, to?, mode?)continue_call(callId, message)speak_to_user(callId, message)end_call(callId)get_status(callId)
skills/voice-call/SKILL.md.
Gateway-RPC
voicecall.initiate(to?,message,mode?)voicecall.continue(callId,message)voicecall.speak(callId,message)voicecall.end(callId)voicecall.status(callId)