← 返回
未分类 中文

Phone Call

Make phone calls through the macOS Phone/FaceTime app and let an OpenClaw agent speak into the call via local TTS.
使用 macOS 电话/FaceTime 应用拨打电话,并让 OpenClaw 代理通过本地 TTS 在通话中发声。
flexrox flexrox 来源
未分类 clawhub v1.1.0 2 版本 100000 Key: 无需
★ 0
Stars
📥 563
下载
💾 0
安装
2
版本
#latest

概述

Phone Call Skill 📞

Use the macOS Phone/FaceTime stack to start phone calls from an OpenClaw agent. The skill can also speak text into/near the active call using local TTS (sag/ElevenLabs when configured, otherwise macOS say).

This is useful when you want calls to go out through the MacBook/iPhone Continuity path instead of Twilio/Telnyx/Plivo.

When to Use

✅ Use this skill when:

  • The user asks to call/anrufen/telefonieren from a Mac.
  • The user provides a phone number in international/E.164 format.
  • An OpenClaw agent should speak a generated sentence into a Mac Phone call.
  • You need a local MacBook calling fallback when a cloud telephony provider is unavailable.

❌ Do not use this skill when:

  • The user wants SMS/iMessage → use the messaging/iMessage skill.
  • The user wants a public telephony bot with inbound calls → use OpenClaw voice-call with Twilio/Telnyx/Plivo.
  • No explicit permission/number was provided for a live outbound call.

Setup / Activation

  1. Install the skill

```bash

clawhub install phone-call

```

Or update an existing install:

```bash

clawhub update phone-call

```

  1. Enable iPhone calls on Apple devices
  • iPhone: Settings → Cellular/Phone → Calls on Other Devices → enable the Mac.
  • Mac: sign into the same Apple ID; open Phone or FaceTime once.
  • Keep iPhone and Mac reachable via Continuity/Wi‑Fi/Bluetooth as required by Apple.
  1. Grant macOS permissions once

The process that runs OpenClaw must be allowed to control the UI:

  • System Settings → Privacy & Security → Accessibility → enable Terminal / Warp / OpenClaw runner.
  • System Settings → Privacy & Security → Automation → allow the runner to control System Events and Phone/FaceTime if prompted.
  1. Optional: higher-quality TTS

scripts/speak.sh uses ElevenLabs sag only when an API key is available; otherwise it falls back to say.

```bash

export ELEVENLABS_API_KEY="..."

export PHONE_CALL_TTS_MODEL="eleven_flash_v2_5"

# optional: export PHONE_CALL_TTS_VOICE="Roger"

```

Commands

Make a Call

scripts/call.sh +491234567890

Dry run without placing a call:

scripts/call.sh --dry-run +491234567890

Useful options:

scripts/call.sh --scheme tel +491234567890
scripts/call.sh --scheme tel-phoneapp +491234567890
scripts/call.sh --scheme facetime-audio +491234567890
scripts/call.sh --timeout 15 +491234567890
scripts/call.sh --no-confirm +491234567890

Speak During a Call

scripts/speak.sh "Ciao, hier ist Luigi. Ich spreche jetzt über das MacBook."

speak.sh also accepts stdin:

echo "Kurzer Test über das MacBook." | scripts/speak.sh

Agent Call Wrapper

Start a call, speak an intro, then speak every line from stdin:

scripts/call-agent.sh +491234567890 --intro "Hallo, ich bin dein OpenClaw Agent."

Pipe generated agent text into an already running call:

printf 'Erster Satz.\nZweiter Satz.\n' | scripts/call-agent.sh --no-call +491234567890

How It Works

  • scripts/call.sh validates E.164 numbers, opens a macOS phone URL (tel: by default), then searches visible Phone/FaceTime/System dialogs for German/English confirmation buttons (Anrufen, Call, Fortfahren, etc.).
  • If no confirmation button appears, it continues successfully because recent macOS versions may start the call directly after the user has granted permission.
  • scripts/speak.sh plays TTS through the active Mac output device. In a normal MacBook/iPhone Continuity call this can be heard through the call path when the call uses Mac audio.
  • scripts/call-agent.sh combines both pieces for agents: call first, then speak an intro and/or piped text.

Number Formatting

Use international E.164 format:

  • Germany: +49 + area code/mobile prefix without leading 0
  • Austria: +43 + area code without leading 0
  • Switzerland: +41 + area code without leading 0

Examples:

  • Mobile DE: +4915112345678
  • Landline Berlin: +493012345678

Environment Variables

  • PHONE_CALL_URL_SCHEME — default URL scheme (tel, tel-phoneapp, facetime-audio, telephony). Default: tel.
  • PHONE_CALL_CONFIRM_TIMEOUT — seconds to search/click confirmation UI. Default: 10.
  • PHONE_CALL_SETTLE_SECONDS — pause after starting a call before intro speech. Default: 2.
  • PHONE_CALL_TTS_MODEL — ElevenLabs model for sag. Default: eleven_flash_v2_5.
  • PHONE_CALL_TTS_VOICE — optional ElevenLabs voice name/id.
  • PHONE_CALL_SAY_RATE — macOS say words per minute fallback. Default: 185.

Troubleshooting

Call opens the wrong app (for example Warp):

  • macOS LaunchServices may have reassigned tel:. Set PHONE_CALL_URL_SCHEME=tel-phoneapp and retry:

```bash

PHONE_CALL_URL_SCHEME=tel-phoneapp scripts/call.sh +491234567890

```

Confirmation is not clicked:

  • Re-check Accessibility/Automation permissions for the actual process running the skill (Terminal, Warp, OpenClaw, or the gateway service).
  • Retry with a longer timeout:

```bash

scripts/call.sh --timeout 20 +491234567890

```

No speech in the call:

  • Confirm the Mac call is using Mac audio, not only the iPhone handset.
  • Test local playback:

```bash

scripts/speak.sh "Audio test"

```

  • Select the intended output device in macOS Control Center/Sound settings.
  • For clean two-way telephony audio, prefer the official OpenClaw voice-call plugin with realtime media, or add virtual audio routing (for example BlackHole) plus STT.

ElevenLabs fails:

  • Set ELEVENLABS_API_KEY/ELEVENLABS_API_KEY_FILE, or let the helper fall back to macOS say.

Safety Notes

  • Do not place live calls without explicit user permission and a confirmed number.
  • The call may be visible on the Mac screen and in Phone/FaceTime recents.
  • This skill controls local UI; macOS permissions are required and should not be bypassed.

版本历史

共 2 个版本

  • v1.1.0 当前
    2026-05-21 13:01 安全 安全
  • v1.0.0
    2026-05-03 06:07 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

ai-agent

Self-Improving + Proactive Agent

ivangdavila
自我反思+自我批评+自我学习+自组织记忆。智能体评估自身工作、发现错误并持续改进。
★ 1,394 📥 322,231
ai-agent

self-improving agent

pskoett
捕获经验教训、错误及修正内容,以实现持续改进。适用于以下场景:(1)命令或操作意外失败;(2)用户纠正Claude(如“不,那不对……”“实际上……”);(3)用户请求的功能不存在;(4)外部API或工具出现故障;(5)Claude发现自身
★ 4,097 📥 824,051
ai-agent

Find Skills

guipi888
场景驱动+关键词双模式技能发现工具。当用户用自然语言描述场景/需求(如"我想做一个海报""帮我分析股票"),或明确说"安装技能/find skills/找个skill"时,自动从官方内置、本地已安装、SkillHub、虾评、GitHub、C
★ 1,459 📥 507,194