Voice Call(插件)
通过插件为 OpenClaw 提供语音通话。支持出站通知和带有入站策略的多轮对话。 支持外呼通知以及 具备来电策略的多轮对话。 当前提供商:twilio(Programmable Voice + Media Streams)telnyx(Call Control v2)plivo(Voice API + XML transfer + GetInput speech)mock(开发/无网络)
- 安装插件
- 重启 Gateway 网关
- 在
plugins.entries.voice-call.config下配置 - 使用
openclaw voicecall ...或voice_call工具
运行位置(本地 vs 远程)
Voice Call 插件运行在 Gateway 网关进程内部。 如果你使用远程 Gateway 网关,在运行 Gateway 网关的机器上安装/配置插件,然后重启 Gateway 网关以加载它。安装
选项 A:从 npm 安装(推荐)
选项 B:从本地文件夹安装(开发,不复制)
配置
在plugins.entries.voice-call.config 下设置配置:
- Twilio/Telnyx 需要可公开访问的 webhook URL。
- Plivo 需要可公开访问的 webhook URL。
mock是本地开发提供商(无网络调用)。- 除非
skipSignatureVerification为 true,否则 Telnyx 需要telnyx.publicKey(或TELNYX_PUBLIC_KEY)。 skipSignatureVerification仅用于本地测试。- 如果你使用 ngrok 免费版,将
publicUrl设置为确切的 ngrok URL;签名验证始终强制执行。 tunnel.allowNgrokFreeTierLoopbackBypass: true允许带有无效签名的 Twilio webhooks,仅当tunnel.provider="ngrok"且serve.bind是 loopback(ngrok 本地代理)时。仅用于本地开发。 Use for local dev only.- Ngrok 免费版 URL 可能会更改或添加中间页面行为;如果
publicUrl漂移,Twilio 签名将失败。对于生产环境,优先使用稳定域名或 Tailscale funnel。 For production, prefer a stable domain or Tailscale funnel.
Webhook Security
When a proxy or tunnel sits in front of the Gateway, the plugin reconstructs the public URL for signature verification. These options control which forwarded headers are trusted.webhookSecurity.allowedHosts allowlists hosts from forwarding headers.
webhookSecurity.trustForwardingHeaders trusts forwarded headers without an allowlist.
webhookSecurity.trustedProxyIPs only trusts forwarded headers when the request
remote IP matches the list.
Example with a stable public host:
通话的 TTS
Voice Call 使用核心messages.tts 配置(OpenAI 或 ElevenLabs)进行通话中的流式语音。你可以在插件配置下使用相同的结构覆盖它——它会与 messages.tts 深度合并。 You can override it under the plugin config with the
same shape — it deep‑merges with messages.tts.
- 语音通话忽略 Edge TTS(电话音频需要 PCM;Edge 输出不可靠)。
- 当启用 Twilio 媒体流时使用核心 TTS;否则通话回退到提供商原生语音。
更多示例
仅使用核心 TTS(无覆盖):入站通话
- 入站策略默认设置为
disabled。 2. 要启用入站呼叫,请设置:
- 自动回复使用代理系统。 5. 可通过以下参数进行调优:
responseModelresponseSystemPromptresponseTimeoutMs
CLI
11. 代理工具
工具名称:voice_call
操作:
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 提供了配套的 skill 文档。
Gateway 网关 RPC
voicecall.initiate(to?、message、mode?)voicecall.continue(callId、message)voicecall.speak(callId、message)voicecall.end(callId)voicecall.status(callId)