闲社服务运行正常AI智能体自动化平台
o

OpenClaw电话

技能标识:openclaw-phone

Use CallMyCall API to start, end, and check AI phone calls, and return results in chat. Use when the user asks to call someone, plan a future call, end a call, or fetch call results.

作者:admin | 来源记录:ClawHub
登记来源
ClawHub
版本
V 1.0.1
检测标记
后台标记通过
免费
免费获取
1
收藏
来源与检测标记为平台登记信息,并不代表已展示可复核的检测报告。使用前请核对版本、依赖和所需权限,建议先在隔离环境中运行。
概述
安装方式
版本历史

OpenClaw电话

技能名称: openclaw-phone
详细描述:

CallMyCall (OpenClaw 技能)

该技能帮助您通过聊天操作 CallMyCall。它采用拉取模式(无 Webhook 回调):您发起通话,将返回的通话 ID 存储在状态中,之后按需获取状态和结果。

API 密钥解析(OpenClaw 最佳实践)

按以下顺序解析凭据:

  1. 1. 环境变量:CALLMYCALLAPIKEY(首选)
  2. OpenClaw 用户配置:~/.openclaw/openclaw.json 中的 skills.openclaw-phone.apiKey
  3. 如果仍然缺失,则仅针对当前任务请求一次性密钥。
  4. 仅当用户明确要求持久化时,提供手动保存密钥到 ~/.openclaw/openclaw.json 的说明。

持久化规则:

  • - 切勿将 API 密钥存储在 SKILL.md、示例、参考或内存/状态文件中。
  • 不要将 API 密钥写入 recent_calls 或任何对话可见的输出中。不要告诉用户“我不会回显它”。
  • 仅针对当前任务使用交互式密钥。
  • 不要通过此技能自动写入用户配置文件。

该技能的工作方式

  1. 1. 按照“API 密钥解析(OpenClaw 最佳实践)”中的顺序解析 API 密钥。
  2. 使用分层门控流程(如下)收集所需的通话信息。
  3. 提供简短的审查摘要并请求确认。
  4. 确认后,调用 POST /v1/start-call。
  5. 将返回的 sid 作为最近通话存储在状态中。

所需认证

在 Authorization 标头中发送 API 密钥:

Authorization: Bearer YOURAPIKEY

切勿将 API 密钥回显给用户或包含在日志/摘要中。

有状态通话列表(必需)

在状态中维护最近通话的列表(最近 10 条):

  • - recent_calls:对象数组
- id(通话 SID) - phone_number - task - started_at - status(可选,在获取时更新)

使用此列表让用户可以说“结束通话 1”或“显示通话 2 的结果”。

分层门控流程(从 Web 应用复制)

不要依赖单一的验证步骤。使用以下所有层级。

第 1 层:结构化收集契约

在满足所有必需字段之前,不要最终确定任务:

  • - phonenumber
  • language
  • callbrief(背景 + 目标)

第 2 层:任务差距分析

当用户给出初始请求时,分析缺少什么。然后仅询问缺少的信息。如果用户部分回答,重复分析并继续询问剩余的差距。

第 3 层:提示级别强制执行

当存在缺失信息时,继续收集必需字段。在满足所有必需字段之前,不要继续通话。

第 4 层:最终确定前的运行时验证

在发送通话请求之前:

  • - 确保电话号码存在且符合 E.164 格式
  • 阻止紧急或付费号码
  • 确保 fromnumber 与 phonenumber 不同
  • 如果请求了 from_number,运行主叫号码预检:
1. GET /v1/verified-caller-ids 2. 确认请求的 fromnumber 存在于 verifiedcaller_ids 中 3. 如果未验证:不要立即发起通话;询问用户是继续使用默认主叫号码还是先验证
  • - 标准化 language;仅在提供时标准化语音字段(genderVoice、openaiVoice)
  • 如果存在调度,解析并限制在有效时间内

第 5 层:人工审查关卡

提供简短的审查摘要:

  • - 电话号码
  • 通话简介(背景 + 目标)
  • 语言(如果提供,还有语音)
  • 任何调度

询问:“确认并发起通话?” 在没有明确确认的情况下不要继续。

工作流程

发起通话

  1. 1. 使用分层门控流程收集必需字段。
  2. 如果提供了 fromnumber,通过 GET /v1/verified-caller-ids 运行主叫号码预检。
  3. 如果请求的 fromnumber 未验证,询问用户选择:
- 立即使用默认主叫号码继续,或 - 先验证号码(POST /v1/verify-caller-id,然后 GET /v1/verification-status/:verificationId)。
  1. 4. 如果请求了调度/时间,按照下面的定时请求(无 Cron) 操作,而不是立即调用 API。
  2. 否则调用 POST /v1/start-call。
  3. 将返回的 sid 存储在 recent_calls 中。
  4. 回复确认信息和通话 ID。

定时请求(无 Cron)

由于 API 没有调度字段:

  1. 1. 立即收集所有必需字段。
  2. 仅在技能状态中保存一个紧凑的通话计划,用于会话内的后续操作。
  3. 不要创建或修改操作系统调度器(cron、launchd、任务计划程序),不要运行自主后台轮次。
  4. 提供以下安全选项之一:
- 立即发起通话,或 - 提供提醒摘要,并要求用户在目标时间返回运行 start-call。

如果用户要求稍后调度,解释此技能不会创建后台任务;它可以准备通话计划,并在用户在会话中确认时执行。

列出最近通话

  1. 1. 从状态中读取 recent_calls。
  2. 对于每个通话,如果需要,通过 GET /v1/calls/:callId 获取状态。
  3. 显示编号列表。

重试直到接通(重要)

当用户要求反复拨打电话直到接通时:

  1. 1. 使用 POST /v1/start-call 发起一次通话。
  2. 轮询 GET /v1/calls/:callId 直到终端状态。
  3. 将响应视为扁平结构(status、duration)或嵌套结构(call.status、call.duration)。
  4. 如果状态是 busy、no-answer、failed 或 canceled,等待请求的间隔并发起下一次通话。
  5. 当以下情况时停止重试循环:
- 状态是 in-progress,或 - 状态是 completed 且 duration > 0。
  1. 6. 向用户报告每次尝试(通话 ID + 状态)。

实现说明:每次运行保持一个基础 URL(首选 https://call-my-call-backend.fly.dev),并一致地用于启动和状态端点。

结束通话

如果用户说“结束通话”而没有指定哪一个,列出最近通话并询问是哪一个。

如果只有一个活跃通话,确认并结束它。

调用:

  • - POST /v1/end-call,参数为 { callSid }。

获取结果

当用户询问通话结果时:

  1. 1. 通过 GET /v1/calls/:callId 获取状态。
  2. 如果可用,通过 GET /v1/calls/:callId/transcripts/stream 获取转录。
  3. 如果通话被录音,通过 GET /v1/calls/:callSid/recording 获取录音 URL。

返回:

  • - 状态(completed、failed、canceled)
  • 简短摘要(1 到 3 个要点)
  • 转录摘录(前几行,仅在用户要求查看转录内容后)
  • 录音 URL(如果存在,警告 URL 访问可能暴露敏感音频)

安全和用户体验

  • - 如果用户输入模糊,提出澄清问题。
  • 切勿暴露机密或将 API 密钥存储在转录中。
  • 将转录和录音视为敏感信息;仅分享用户请求的最小摘录。
  • 切勿从此技能创建持久调度器条目或自主后台执行。
  • 如果请求失败,显示 HTTP 错误并建议后续步骤。

参考

  • - 完整 API 参考:references/api.md
  • 示例:examples/prompts.md

标签

skill ai

通过对话安装

以下为平台配置的接入选项,并非逐项实测通过。能否安装取决于客户端支持、技能来源和运行环境:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 openclaw-phone-1776296341 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 openclaw-phone-1776296341 技能

通过命令行安装

skillhub install openclaw-phone-1776296341

下载

⬇ 下载 openclaw-phone v1.0.1(免费)

文件大小: 9.76 KB | 发布时间: 2026-4-16 16:05

v1.0.1 最新 2026-4-16 16:05
**Changelog for openclaw-phone 1.0.1**

- Clarified API key handling, emphasizing session-limited use and prohibiting automatic user config writes.
- Added explicit section for `from_number` validation, requiring preflight verification with relevant endpoints.
- Updated scheduling workflow to prohibit creating system schedulers (cron, launchd, etc) or background turns; skill may only prepare call plans for in-session execution.
- Modified call results flow to treat transcripts and recordings as sensitive—display excerpts only upon explicit request, and warn about the sensitivity of recording URLs.
- Added new metadata fields to SKILL.md (`primary_credential`, `required_env_vars`, `stores_credentials_in_user_config`, `requires_system_scheduler`).
- Added `agents/openai.yaml` (details not included).
返回顶部