Token导航 LogoToken导航TokenDH.com
效率敏感数据clawhub未标认证来源可访问clear审计提醒

openclaw-phoneOpenClaw phone 效率

Agent Skill

openclaw-phone 用于补充效率相关能力,适合在 OpenClaw 中需要让 Agent 承接效率相关任务时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

14,324

周安装

609

GitHub Stars

1

下载量

5,018
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:openclaw-phone(OpenClaw phone 效率)
来源仓库:https://github.com/benjaminwaye/openclaw-phone
安装命令:
openclaw skills install openclaw-phone
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install openclaw-phone

简介

OpenClaw phone 使用 CallMyCall API 管理 AI 电话通话。

  • 适合在 OpenClaw 中启动、结束或计划通话任务时使用。
  • 通过 clawhub 安装,结合来源仓库和 README 可进一步了解具体用法。
  • 安装前需确认权限范围、维护状态,以及是否涉及联网、命令执行或文件读写。
  • 建议核验原始文档以明确功能边界和使用限制。

SKILL.md

name
openclaw-phone
description
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.
homepage
https://api.callmycall.com
primary_credential
CALLMYCALL_API_KEY
required_env_vars
stores_credentials_in_user_config
false
requires_system_scheduler
false

CallMyCall (OpenClaw Skill)

This skill helps you operate CallMyCall from chat. It is pull based (no webhook callbacks): you start a call, store the returned call ID in state, and later fetch status and results on demand.

API Key Resolution (OpenClaw best practice)

Resolve credentials in this order:

  1. Environment variable: CALLMYCALL_API_KEY (preferred)
  2. OpenClaw user config: ~/.openclaw/openclaw.json under skills.openclaw-phone.apiKey
  3. If still missing, ask for a one-time key for the current task only.
  4. Only if the user explicitly asks for persistence, provide manual instructions for saving the key to ~/.openclaw/openclaw.json.

Persistence rules:

  • Never store API keys in SKILL.md, examples, references, or memory/state files.
  • Do not write API keys into recent_calls or any conversation-visible output. Do not tell the user “I won’t echo it back.”
  • Use interactive keys for the current task only.
  • Do not write user config files automatically from this skill.

How This Skill Should Work

  1. Resolve API key using the order in "API Key Resolution (OpenClaw best practice)".
  2. Collect required call info using a layered gating flow (below).
  3. Present a short review summary and ask for confirmation.
  4. On confirmation, call POST /v1/start-call.
  5. Store the returned sid in state as a recent call.

Required Auth

Send the API key in the Authorization header:

Authorization: Bearer YOUR_API_KEY

Never echo the API key back to the user or include it in logs/summaries.

Stateful Calls List (required)

Maintain a list (last 10) of recent calls in state:

  • recent_calls: array of objects

- id (call SID) - phone_number - task - started_at - status (optional, updated when you fetch)

Use this list to let the user say "end call 1" or "show results for call 2".

Layered Gating Flow (copy from web app)

Do not rely on a single validation step. Use all layers below.

Layer 1: Structured collection contract

Do not finalize a task until all required fields exist:

  • phone_number
  • language
  • call_brief (background + goals)

Layer 2: Task gap analysis

When the user gives the initial request, analyze what is missing. Then ask only for missing info. If the user answers partially, repeat analysis and keep asking for the remaining gaps.

Layer 3: Prompt level enforcement

While missing info exists, continue gathering required fields. Do not proceed to the call until all required fields are present.

Layer 4: Runtime validation before finalizing

Before sending the call request:

  • Ensure phone exists and is E.164
  • Block emergency or premium numbers
  • Ensure from_number is not the same as phone_number
  • If from_number is requested, run caller-ID preflight:

1. GET /v1/verified-caller-ids 2. Confirm requested from_number exists in verified_caller_ids 3. If not verified: do not place call yet; ask user whether to continue with default caller ID or verify first

  • Normalize language; normalize voice fields (genderVoice, openaiVoice) only if provided
  • If scheduling is present, parse and clamp to a valid time

Layer 5: Human review gate

Present a short review summary:

  • Phone number
  • Call brief (background + goals)
  • Language (and voice if provided)
  • Any schedule

Ask: "Confirm and place the call?" Do not proceed without explicit confirmation.

Workflows

Start a Call

  1. Collect required fields using the layered gating flow.
  2. If from_number is provided, run caller-ID preflight via GET /v1/verified-caller-ids.
  3. If requested from_number is not verified, ask user to choose:

- continue now with default caller ID, or - verify number first (POST /v1/verify-caller-id, then GET /v1/verification-status/:verificationId).

  1. If a schedule/time is requested, follow Scheduled Requests (No Cron) below instead of calling the API immediately.
  2. Otherwise call POST /v1/start-call.
  3. Store the returned sid in recent_calls.
  4. Reply with confirmation and the call ID.

Scheduled Requests (No Cron)

Because the API has no scheduling field:

  1. Collect all required fields now.
  2. Save a compact call plan in skill state only for in-session follow-up.
  3. Do not create or modify OS schedulers (cron, launchd, task scheduler) and do not run autonomous background turns.
  4. Offer one of these safe options:

- place the call now, or - provide a reminder summary and ask the user to return at the target time to run start-call.

If the user asks to schedule for later, explain that this skill does not create background jobs; it can prepare the call plan and execute when the user confirms in-session.

List Recent Calls

  1. Read recent_calls from state.
  2. For each call, fetch status via GET /v1/calls/:callId if needed.
  3. Display a numbered list.

Retry Until Answered (important)

When the user asks to call repeatedly until answered:

  1. Place one call with POST /v1/start-call.
  2. Poll GET /v1/calls/:callId until terminal status.
  3. Treat response as either flat (status, duration) or nested (call.status, call.duration).
  4. If status is busy, no-answer, failed, or canceled, wait requested interval and place next call.
  5. Stop retry loop when:

- status is in-progress, or - status is completed with duration > 0.

  1. Report each attempt (call ID + status) back to user.

Implementation note: keep one base URL per run (https://call-my-call-backend.fly.dev preferred) and use it consistently for both start + status endpoints.

End a Call

If the user says "end the call" without specifying which, list recent calls and ask which one.

If there is only one active call, confirm and end it.

Call:

  • POST /v1/end-call with { callSid }.

Get Results

When the user asks for call results:

  1. Fetch status via GET /v1/calls/:callId.
  2. If available, fetch transcript via GET /v1/calls/:callId/transcripts/stream.
  3. If the call was recorded, fetch recording URL via GET /v1/calls/:callSid/recording.

Return:

  • Status (completed, failed, canceled)
  • Short summary (1 to 3 bullets)
  • Transcript excerpt (first few lines, only after user asks to view transcript content)
  • Recording URL (if present, warn that URL access may expose sensitive audio)

Safety and UX

  • If user input is ambiguous, ask a clarification question.
  • Never expose secrets or store API keys in transcript.
  • Treat transcripts and recordings as sensitive; share only minimal excerpts requested by the user.
  • Never create persistent scheduler entries or autonomous background execution from this skill.
  • If a request fails, show the HTTP error and suggest next steps.

References

  • Full API reference: references/api.md
  • Examples: examples/prompts.md

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

71.88%
按下载量换算3,607

安全审计

VirusTotal

通过

ClawScan

可疑

Static analysis

通过

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills