name: vapi-calls
description: 高级AI语音助手,用于电话通话。具备说服、销售、餐厅预订、提醒和通知等功能。
emoji: 📞
author: César Morillas
version: 1.0.0
license: MIT
repository: https://github.com/vapi-ai/openclaw-vapi-calls
requires:
env:
- VAPI_API_KEY
- VAPI_ASSISTANT_ID
- VAPI_PHONE_NUMBER_ID
- WEBHOOK_BASE_URL
bins:
- python3
pip:
- requests
tools:
- name: make_vapi_call
description: 触发一个具有特定任务的自主AI电话呼叫,并等待最终报告。
parameters:
type: object
properties:
phone_number:
type: string
description: "接收方电话号码(E.164格式,例如:+34669000000)。"
first_message:
type: string
description: "初始问候语。使用 'DEFAULT' 以采用代理配置的问候语。"
system_prompt:
type: string
description: "AI指令。使用 'DEFAULT' 以采用代理配置的模型/提示词。如果提供自定义文本,通话将强制使用 GPT-4o Mini 模型并启用 endCall 工具。"
end_message:
type: string
description: "可选。结束语。使用 'DEFAULT' 跳过覆盖。"
required: [phone_number, first_message, system_prompt]
使用此技能执行任何需要通过电话进行语音交互的任务。
⚠️ 重要提示: 此技能要求您的机器可从互联网访问,以接收实时通话更新。
在您的 OpenClaw config.json(或 Gateway 环境)中配置以下变量:
VAPI_API_KEY: 您的 Vapi 私有 API 密钥。VAPI_ASSISTANT_ID: 用作基础的 Vapi 助手 ID。VAPI_PHONE_NUMBER_ID: Vapi 电话号码 ID。WEBHOOK_BASE_URL: 关键。 此代理可访问的公共 HTTPS URL(例如:https://my-claw.com 或 https://xyz.ngrok-free.app)。请勿包含尾部斜杠。WEBHOOK_PORT(可选):本地监听端口(默认:4430)。VAPI_LLM_PROVIDER(可选):自定义模式下的提供商(默认:openai)。VAPI_LLM_MODEL(可选):自定义模式下的模型(默认:gpt-4o-mini)。您必须将 WEBHOOK_PORT(默认 4430)暴露到互联网。
选项 A:Cloudflare 隧道(推荐)
cloudflared tunnel --url http://localhost:4430
选项 B:Ngrok
ngrok http 4430
将 WEBHOOK_BASE_URL 设置为生成的 URL(例如:https://random-name.trycloudflare.com)。
提供特定的 system_prompt。系统将自动使用 GPT-4o Mini 模型并启用 endCall 工具。AI 将能够自主挂断电话。
为 first_message、system_prompt 和 end_message 传递 "DEFAULT"。系统将使用 Vapi 仪表板中定义的确切配置(模型、语音、提示词)。
WEBHOOK_BASE_URL 是否可从互联网访问。Python 脚本仅在通话期间在 WEBHOOK_PORT 上启动临时服务器。VAPI_PHONE_NUMBER_ID 和 VAPI_ASSISTANT_ID。