Install
openclaw skills install @thcjp/clawcall-freeopenclaw skills install @thcjp/clawcall-free核心功能: 本技能提供中文交互、化工作流场景等能力。
语音通话服务免费版让AI代理为用户拨打真实的美国电话。语音AI代理负责拨号、对话、处理简单电话菜单,并在通话结束后返回转录与结果。首次外呼可自动签发API密钥。
输入: 用户提供目标电话号码(美国 +1XXXXXXXXXX 格式)、基础通话指令 task(含通话目标、已知事实、要问的问题、遇无人接听处理方式、回报要求);首次外呼无需提供API密钥,响应自动签发并持久化。
输出: call_id 与 api_key(首次外呼自动签发并保存至 ~/.config/voicecall/key.json)、通话生命周期状态(queued → dialing → answered → finalized)、终态返回 outcome(电话网络结果)、talk_seconds(通话时长)、transcript(通话转录)。免费版不提供录音链接、实时转接、并行通话、入呼保留号、全局个性配置等高级能力(付费版专享)。
Base URL: https://api.voicecall.example
电话代理只知道你作为 task 发送的通话指令。细节越相关越好。拨号前构建完整的简报,不要让用户提供你本可自行查询的公开/商业信息。
在任何涉及语音通话服务的对话开始时,检查 ~/.json 或宿主密钥库。若存在API密钥,作为 X-Api-Key 发送。
首次未鉴权的 POST /call 响应可能包含 api_key。立即保存:
{
"api_key": "voicecall_sk_...",
"user_phone_number": "+15559876543"
}
若用户提供新的语音通话服务API密钥,替换任何已保存的密钥。
| 依赖项 | 类型 | 是否必需 | 获取方式 |
|---|---|---|---|
| LLM API | API | 必需 | 由Agent内置LLM提供 |
需要配置对应API Key,详见上文环境配置章节
API Key配置方式:
export API_KEY="${API_KEY:?请设置环境变量}"
配置后需重启会话或开启新终端生效。API Key应妥善保管,避免泄露到版本控制系统。
POST /call
Content-Type: application/json
X-Api-Key: voicecall_sk_...
仅 to 与 task 必填。
响应包含:
{
"call_id": "ba645d75-...",
"status": "queued",
}
若存在 api_key 则保存。
每 3 秒轮询一次:
GET /call/{call_id}
轮询直至 lifecycle = "finalized"。生命周期取值:queued、dialing、answered、finalized。
终态响应包含 outcome、talk_seconds、transcript。outcome 是电话网络结果,非任务成功。answered 的通话仍可能未达成用户目标。回报前先读转录。
task 是API字段名。像简报备忘录一样编写通话指令:
~/.json 保存API密钥与用户电话号码,跨会话复用。
~/.json,若有 api_key 则作为 X-Api-Key 发送。task,含目标、已知事实、问题、回报要求。POST /call,仅 to 与 task 必填。api_key 立即持久化。GET /call/{call_id},直至 lifecycle = "finalized"。outcome,再读 transcript 判断目标是否达成。POST /call
X-Api-Key: voicecall_sk_abc123
{
"to": "+12125551234",
"task": "询问该餐厅周五晚7点2人位是否可用。若可用询问可保留多久。遇语音信箱留言回拨+15559876543。回报可用性或替代时间。"
}
响应:{"call_id":"ba645d75-...","status":"queued","api_key":"voicecall_sk_abc123"}
轮询:GET /call/ba645d75-... → lifecycle: queued → dialing → answered → finalized
终态:outcome=answered, talk_seconds=42, transcript="周五7点2人位可用,可保留24小时"
POST /call
X-Api-Key: voicecall_sk_abc123
{
"to": "+18005551000",
"task": "查询订单#A-9921的状态与预计送达时间。核验可能需订单号A-9921。回报当前状态与送达时间。"
}
升级付费版解锁以下高级能力:
bridge_number 将用户桥接进通话,跳过等待、接通真人、处理身份核验。voice(jessica/sarah/chris/eric)、personality、greeting 全局设置。reserved_number_required、inbound_plan_required、invalid_preferences、invalid_profile、invalid_handoff_number 等高级错误处理。recording_url。POST /call/{call_id}/hangup 主动终止通话。GET /me/calls?direction=inbound 查看接到的电话。https://voicecall.example/sign-in?token=<api_key> 关联代理到账户。| 错误场景 | 原因 | 处理方式 |
|---|---|---|
invalid_phone | to 非美国 +1XXXXXXXXXX 格式 | 索要有效美国号码,校验11位数字与+1前缀 |
missing_fields | 缺 to 或 task | 补全收件号码与通话指令后重发 |
auth_required / invalid_api_key | API密钥缺失或失效 | 移除坏密钥,重新发起首次外呼获取新密钥 |
quota_exceeded / trial_exhausted | 试用10次/10分钟耗尽 | 升级付费版解锁更高额度 |
network_error | 网络抖动 | 等待后执行ping命令测试网络连通性,检查防火墙和代理设置连接后重新执行命令一次,二次失败提示用户执行ping命令测试网络连通性,检查防火墙和代理设置 |
通话 answered 但目标未达成 | 真人未提供所需信息 | 读转录识别阻断项,手动回拨或升级付费版用实时转接 |
新用户试用为 10 次通话与 10 分钟,以较晚结束者为准。试用通话仅在 finalized 且通话时长 ≥ 5 秒时才计数。额度用尽后需升级付费版。
电话代理只知道你作为 task 发送的通话指令。它不知道你的对话历史或未写入指令的上下文。细节越相关越好。
不支持。实时转接(bridge_number)为付费版专享。免费版仅支持单向外呼与轮询。
不能。并行通话活动为付费版专享。免费版仅支持串行单次外呼。
不能。入呼保留号配置需 Unlimited Reserve Plus + 活跃保留号,为付费版专享。
参考 clawcall 付费版SKILL.md,解锁实时转接、并行活动、入呼保留号、全局个性配置、完整错误策略、录音链接、取消挂断、入呼历史与账户关联。
outcome 与任务成功有何区别?outcome 是电话网络结果(如 answered),非任务成功。回报前必须读 transcript 判断。
+1XXXXXXXXXX 号码,不支持国际号码。bridge_number 为付费版专享)。jessica 声音)。recording_url 为付费版专享)。POST /call/{call_id}/hangup 为付费版专享)。| 风险类型 | 防范措施 |
|---|---|
| API密钥泄露 | 通过环境变量配置,禁止硬编码到代码或配置文件中 |
| 命令执行风险 | 仅执行白名单命令,避免拼接用户输入到命令行参数中 |
| 网络通信安全 | 使用HTTPS协议,验证SSL证书有效性 |
| 敏感数据暴露 | 输出结果中不包含密钥、令牌等敏感信息 |
使用前请确认已阅读依赖说明章节,确保运行环境满足安全要求。
| 操作场景 | 手动耗时 | 自动化耗时 | 效率提升 |
|---|---|---|---|
| 文件解析与提取 | 5-10分钟/个 | <5秒/个 | 60-120x |
| 批量文件处理(100个) | 8-16小时 | <5分钟 | 96-192x |
| API调用与响应解析 | 2-3分钟/次 | <1秒/次 | 120-180x |
| 多接口数据聚合 | 15-30分钟 | <10秒 | 90-180x |
| 命令执行与结果收集 | 3-5分钟/次 | <2秒/次 | 90-150x |
| 重复任务批量执行 | 因任务而异 | 线性缩减 | 5-50x |
| 错误排查与修复 | 10-30分钟 | <30秒 | 20-60x |
| 对比维度 | 本技能 | 传统手动方式 | 通用脚本工具 |
|---|---|---|---|
| 自动化程度 | 全流程自动 | 完全手动 | 部分自动 |
| 错误处理 | 内置错误恢复 | 依赖人工经验 | 基本try-catch |
| 可复用性 | 参数化配置 | 一次性脚本 | 模板化 |
| 安全合规 | 内置安全检查 | 无安全保障 | 无安全保障 |
| 适用场景 | 核心功能 | 通用场景 | 通用场景 |