11.5 语音通话插件

语音通话插件支持Twilio、Telnyx、Plivo等服务商,提供TTS覆盖、入站策略、CLI命令、代理工具和RPC功能。

概述

语音通话插件为OpenClaw提供完整的电话通话能力,支持入站和出站呼叫,与主要电话服务提供商集成。

支持的服务商

  • Twilio: 最流行的云通信平台
  • Telnyx: 全球实时通信
  • Plivo: 云通信API平台
  • Mock: 用于测试的模拟模式

安装

# 安装语音通话插件
openclaw plugins install voicecall

# 安装特定服务商支持
npm install twilio
npm install telnyx
npm install plivo

配置

Twilio配置

{
  "plugins": {
    "voicecall": {
      "enabled": true,
      "provider": "twilio",
      "twilio": {
        "accountSid": "YOUR_ACCOUNT_SID",
        "authToken": "YOUR_AUTH_TOKEN",
        "phoneNumber": "+15555551234"
      }
    }
  }
}

Telnyx配置

{
  "plugins": {
    "voicecall": {
      "enabled": true,
      "provider": "telnyx",
      "telnyx": {
        "apiKey": "YOUR_API_KEY",
        "phoneNumber": "+15555551234"
      }
    }
  }
}

Plivo配置

{
  "plugins": {
    "voicecall": {
      "enabled": true,
      "provider": "plivo",
      "plivo": {
        "authId": "YOUR_AUTH_ID",
        "authToken": "YOUR_AUTH_TOKEN",
        "phoneNumber": "+15555551234"
      }
    }
  }
}

TTS覆盖

自定义文字转语音设置:

{
  "plugins": {
    "voicecall": {
      "tts": {
        "voice": "alice",
        "language": "zh-CN",
        "speed": 1.0
      }
    }
  }
}

入站策略

配置如何处理入站呼叫:

{
  "plugins": {
    "voicecall": {
      "inbound": {
        "policy": "accept",
        "whitelist": ["+15555551234"],
        "greeting": "您好,欢迎致电OpenClaw。",
        "maxDuration": 600
      }
    }
  }
}

入站策略选项

  • accept: 接受所有呼叫
  • whitelist: 仅接受白名单号码
  • reject: 拒绝所有呼叫
  • voicemail: 转到语音邮件

CLI命令

拨打电话

# 拨打电话
openclaw voicecall dial +15555551234 "你好"

# 带参数拨打
openclaw voicecall dial +15555551234 \
  --message "紧急通知" \
  --voice alice \
  --record

查看通话记录

# 列出所有通话
openclaw voicecall list

# 查看特定通话
openclaw voicecall show <call-id>

# 查看录音
openclaw voicecall recording <call-id>

管理通话

# 挂断通话
openclaw voicecall hangup <call-id>

# 静音
openclaw voicecall mute <call-id>

# 取消静音
openclaw voicecall unmute <call-id>

代理工具

在代理中使用语音通话:

{
  "tool": "voicecall",
  "action": "dial",
  "to": "+15555551234",
  "message": "这是一条重要通知"
}

工具操作

  • dial: 拨打电话
  • hangup: 挂断电话
  • status: 查询通话状态
  • list: 列出通话记录

RPC接口

通过RPC远程控制通话:

{
  "method": "voicecall.dial",
  "params": {
    "to": "+15555551234",
    "from": "+15555555678",
    "message": "Hello"
  }
}

Webhook回调

配置webhook接收通话事件:

{
  "plugins": {
    "voicecall": {
      "webhook": {
        "url": "https://your-domain.com/webhook",
        "events": [
          "call.initiated",
          "call.answered",
          "call.completed",
          "call.failed"
        ]
      }
    }
  }
}

录音功能

{
  "plugins": {
    "voicecall": {
      "recording": {
        "enabled": true,
        "storageDir": "~/.openclaw/recordings",
        "maxDuration": 3600,
        "format": "mp3"
      }
    }
  }
}

使用场景

  • 紧急通知: 自动拨打电话发送紧急警报
  • 电话会议: 组织自动化电话会议
  • 客服机器人: 提供24/7电话支持
  • 预约提醒: 自动拨打提醒电话
  • 调查问卷: 电话调查自动化

故障排除

呼叫失败

  • 检查服务商账户余额
  • 验证电话号码格式
  • 确认API凭据正确
  • 查看服务商控制台日志

音质问题

  • 调整TTS语速和音调
  • 检查网络连接质量
  • 尝试不同的语音选项

最佳实践

  • 遵守电话营销法规
  • 提供清晰的退订选项
  • 限制通话时长
  • 记录所有通话以备审计
  • 使用合适的时区拨打
  • 测试TTS语音质量
法律提示
使用自动拨号系统前,请确保了解并遵守当地的电话营销法律和数据隐私法规。
提示
语音通话插件为OpenClaw提供了强大的电话自动化能力,可以构建各种语音交互应用。