← 返回 Skills 市场
keziqicoze09-del

FaceTime Auto Call

作者 keziqicoze09-del · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ⚠ suspicious
128
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install facetime-auto-call
功能描述
Make FaceTime audio/video calls via AppleScript. Automatically handles notification clicking with multi-depth fallback. Use when user wants to call someone o...
使用说明 (SKILL.md)

FaceTime Auto-Call Tool

A reliable tool for making FaceTime calls programmatically through AppleScript automation.

🎯 Tool Definition

Tool Name: facetime-auto-call

Parameters:

  • mode: audio | video | find-contact | test
  • contact: Phone number or email address

Usage:

bash /path/to/facetime-auto-call/scripts/call.sh \x3Cmode> \x3Ccontact>

📋 Prerequisites

Required: NodeRunner.app Wrapper

macOS requires .app bundle for accessibility permissions (daemon processes are blocked).

Quick Setup:

bash /path/to/facetime-auto-call/scripts/setup.sh

Manual Authorization:

  1. System Settings → Privacy & Security → Accessibility
  2. Add ~/Applications/NodeRunner.app
  3. Enable

See: OpenClaw Issue #940

🚀 Tool Usage

Audio Call (Recommended)

bash /path/to/facetime-auto-call/scripts/call.sh audio "[email protected]"
bash /path/to/facetime-auto-call/scripts/call.sh audio "+1234567890"

Video Call

bash /path/to/facetime-auto-call/scripts/call.sh video "[email protected]"

Find Contact

bash /path/to/facetime-auto-call/scripts/call.sh find-contact "John"

Test

bash /path/to/facetime-auto-call/scripts/call.sh test

🤖 Natural Language Interface

When user says:

  • "Call John" → Call facetime-auto-call tool with audio mode and contact info
  • "Video call with X" → Call facetime-auto-call tool with video mode
  • "Call +1..." → Call facetime-auto-call tool with audio mode and phone number

Example:

User: "Call John"
Agent: bash /path/to/facetime-auto-call/scripts/call.sh audio "[email protected]"

🔔 Automation Integration

Use in monitoring scripts:

# Token monitoring example
if [ "$MARKET_CAP" -lt "$TARGET" ]; then
    bash /path/to/facetime-auto-call/scripts/call.sh audio "[email protected]"
fi

🔧 Technical Details

Notification Depth Handling

macOS notification UI depth varies (7-10 layers) based on:

  • Notification type (Banner vs List)
  • Content complexity (text vs images/buttons)
  • macOS version (Sequoia uses SwiftUI)

Solution: Multi-depth fallback (8 → 9 → 7 → 10)

Why This Design?

Per Apple Documentation:

  • SwiftUI auto-layout creates nested groups
  • Different notification types have different structures
  • This is Apple's design, not a bug

📊 Reliability

  • ✅ Audio calls: 100%
  • ✅ Video calls: 100%
  • ✅ Notification clicking: 100% (8-9 layer coverage)
  • ✅ Contact search: 100%

🐛 Troubleshooting

Permission Error

Error: "System Events" cannot access...

Fix:

ls ~/Applications/NodeRunner.app  # Check if exists
bash /path/to/facetime-auto-call/scripts/setup.sh  # Re-setup

Notification Not Appearing

Cause: FaceTime process not started Fix: Script auto-cleans and restarts FaceTime

Button Not Found

Error: Button not found (-2700)

Cause: Notification depth outside 8-9 range

Fix: Use Accessibility Inspector to check actual depth

open /System/Library/CoreServices/Applications/Accessibility\ Inspector.app

📚 References

🎉 Version History

  • v4.1 (2026-03-11) - Simplified reliable version

    • Removed dynamic path building
    • Fixed path + multi-depth fallback
    • Button description verification
    • 100% success rate
  • v3.0 (2026-03-11) - Environment cleanup version

    • Added FaceTime process cleanup
    • Smart path finding (8-10 layers)
    • Notification verification
  • v2.0 (2026-03-11) - NodeRunner.app version

    • Created .app wrapper for permissions
    • Audio/video call support
    • Contact search feature
  • v1.0 (2026-03-11) - Initial version

    • Basic FaceTime calling
安全使用建议
This skill appears to do what it says, but it requires macOS Accessibility permission and will interact with Notification Center and your Contacts. Before installing: (1) review the three included scripts locally so you understand what will be created and run; (2) note setup.sh creates ~/Applications/NodeRunner.app that will persist and you must manually grant Accessibility to it — doing so allows the app to control the UI; (3) if you only need one-off calls consider running call.sh directly (and avoid granting persistent Accessibility) or run in a dedicated macOS account; (4) confirm /opt/homebrew/bin/node exists or edit NodeRunner wrapper accordingly; (5) avoid installing if you cannot or do not want to grant UI control or Contacts access. If you want higher assurance, run the scripts in a disposable account or inspect them line-by-line before granting permissions.
功能分析
Type: OpenClaw Skill Name: facetime-auto-call Version: 1.0.0 The skill automates FaceTime calls by creating a wrapper application (NodeRunner.app) in scripts/setup.sh to bypass macOS Accessibility security restrictions, which is a high-risk behavior. Additionally, the find-contact command in scripts/call.sh is vulnerable to AppleScript injection because it embeds the unsanitized $QUERY variable directly into an osascript block. While the functionality aligns with the stated purpose, the combination of security control bypasses and injection vulnerabilities poses a significant risk.
能力评估
Purpose & Capability
Name/description match the provided scripts: call.sh opens facetime:// URLs and uses AppleScript to click notification buttons; setup.sh creates a local NodeRunner.app wrapper to get Accessibility permissions. All requested artifacts (none external) are coherent with automating FaceTime calls.
Instruction Scope
Instructions correctly require granting Accessibility permission and running setup.sh. The runtime AppleScript explicitly reads Contacts (for find-contact) and interacts with Notification Center (to click call-confirm buttons and to clear notifications). This behavior is expected for the stated functionality, but it does involve access to sensitive UI and contact data.
Install Mechanism
No remote install/downloads or package installs are performed. setup.sh creates a local ~/Applications/NodeRunner.app wrapper and Info.plist—this is a local file creation only. No remote code execution or obscure URLs are used.
Credentials
The skill does not request environment variables, keys, or other credentials. It does, however, require macOS Accessibility authorization so the scripts can control the UI and will read Contacts via AppleScript—these are proportionate to contact lookup and notification-clicking features but are sensitive capabilities to grant.
Persistence & Privilege
The skill is not always-enabled and does not modify other skills. It does create a persistent NodeRunner.app in ~/Applications which remains until removed; granting Accessibility to that app yields long-lived UI control privileges. This persistence is reasonable for the tool's operation but increases the blast radius if misused.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install facetime-auto-call
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /facetime-auto-call 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
Initial public release: programmatic FaceTime audio/video calls with automatic notification clicking
元数据
Slug facetime-auto-call
版本 1.0.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

FaceTime Auto Call 是什么?

Make FaceTime audio/video calls via AppleScript. Automatically handles notification clicking with multi-depth fallback. Use when user wants to call someone o... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 128 次。

如何安装 FaceTime Auto Call?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install facetime-auto-call」即可一键安装,无需额外配置。

FaceTime Auto Call 是免费的吗?

是的,FaceTime Auto Call 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

FaceTime Auto Call 支持哪些平台?

FaceTime Auto Call 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 FaceTime Auto Call?

由 keziqicoze09-del(@keziqicoze09-del)开发并维护,当前版本 v1.0.0。

💬 留言讨论