← 返回 Skills 市场
officialpm

Apple Media

作者 officialpm · GitHub ↗ · v0.1.1
cross-platform ✓ 安全检测通过
1705
总下载
2
收藏
0
当前安装
2
版本数
在 OpenClaw 中安装
/install apple-media-officialpm
功能描述
Discover and control Apple media/AirPlay devices (HomePod, Apple TV, AirPlay speakers) from macOS. Use when you want to scan for AirPlay devices, map names→IPs/IDs, pair/connect, and control playback/volume using pyatv (atvremote) and Airfoil.
使用说明 (SKILL.md)

Apple Media (AirPlay + Apple TV control)

Author: Parth Maniar — @officialpm

This skill is a thin workflow wrapper around two tools:

  • pyatv (atvremote) for discovering Apple TVs/HomePods and (when supported/paired) remote-control style commands.
  • Airfoil (via the existing airfoil skill) for reliable speaker connect/disconnect + volume control across AirPlay speakers (including HomePods).

Setup

This skill uses pyatv installed via pipx.

Install/repair (pinned to Python 3.12 to avoid Python 3.14 asyncio issues):

pipx install pyatv || pipx upgrade pyatv
pipx reinstall pyatv --python python3.12

Verify:

atvremote --help | head

Quick start

1) Scan the network for devices

# Fast scan (5s)
./scripts/scan.sh 5

# Faster scan when you know IP(s)
./scripts/scan-hosts.sh "10.0.0.28,10.0.0.111" 3

# Or JSON output
node ./scripts/scan-json.js 5

You’ll see devices like:

  • HomePods (e.g., "Living Room", "Bedroom")
  • Apple TV
  • AirPlay-capable TVs

2) Control HomePod / speaker volume (recommended path)

Use Airfoil for speaker control (reliable for HomePods):

# List speakers Airfoil can see
../airfoil/airfoil.sh list

# Connect and set volume
./scripts/connect.sh "Living Room"
./scripts/volume.sh "Living Room" 35

# Disconnect (direct)
../airfoil/airfoil.sh disconnect "Living Room"

3) Apple TV remote commands (pyatv)

First, scan to find the Apple TV name or id, then run commands:

# Examples (device name can be Apple TV or other targets)
atvremote -n "TV" playing
atvremote -n "TV" play_pause
atvremote -n "TV" turn_on
atvremote -n "TV" turn_off

If you get auth/protocol errors, pairing/credentials are needed (device-dependent).

Notes / gotchas

  • pyatv HomePod control often requires authentication and may not support all remote-control commands out of the box.
    • When pyatv fails for HomePod playback/volume, prefer Airfoil for volume + speaker routing.
  • atvremote scan is the source of truth for IP/ID discovery.

Bundled scripts

scripts/scan.sh

Runs atvremote scan with a configurable timeout.

./scripts/scan.sh 5

scripts/scan-json.js

Parses atvremote scan output into a compact JSON summary (name, address, model, services).

node ./scripts/scan-json.js
安全使用建议
This skill appears to do what it says: scan the local network for AirPlay devices (showing IPs and identifiers) and control speakers by delegating to an Airfoil helper. Before installing/using it: 1) ensure you are comfortable with local network scanning (outputs include IP addresses) and avoid committing scan outputs; 2) install pyatv (atvremote) via pipx and have Node available for the JSON script; 3) ensure the expected airfoil helper (../../airfoil/airfoil.sh relative to the skill) exists and that you trust that helper—the skill delegates volume/connect to that script; 4) note the README recommends pinning pyatv to Python 3.12; 5) review the small scripts locally (they execute atvremote and spawn child processes) before running. There are no unexplained credential requests or remote downloads, so the skill is internally consistent.
功能分析
Type: OpenClaw Skill Name: apple-media-officialpm Version: 0.1.1 The skill is designed to discover and control Apple media devices using `pyatv` and delegate to an `airfoil` skill. All scripts (`.sh` and `.js`) are wrappers around `atvremote` or the `airfoil` skill, directly aligning with the stated purpose. While `scripts/scan-json.js` uses `child_process.execSync`, the command executed (`atvremote scan -t <timeout>`) is fixed, and the timeout argument is explicitly cast to a number, preventing shell injection. No evidence of data exfiltration, malicious execution, persistence, obfuscation, or prompt injection against the AI agent was found.
能力评估
Purpose & Capability
The name/description match the behavior: scripts call atvremote (pyatv) to scan and provide wrappers that delegate speaker control to an Airfoil script. No unrelated services, credentials, or binaries are requested.
Instruction Scope
SKILL.md and the bundled scripts limit actions to local network discovery (atvremote scan), parsing that output, and delegating speaker connect/volume to a local Airfoil helper. They do expose discovered IPs and device identifiers (expected for a network scan) but do not transmit data to external endpoints.
Install Mechanism
This is instruction-only (no install spec). The README/SKILL.md recommend installing pyatv via pipx and using Airfoil (Homebrew cask). Nothing is downloaded from arbitrary URLs and no archive extraction is present.
Credentials
No environment variables or credentials are requested. The skill's runtime needs (pyatv/atvremote, Node for the JSON parser, and Airfoil tooling) are proportionate to the described functionality.
Persistence & Privilege
The skill does not request always:true, does not modify other skills or system-wide settings, and does not persist credentials. It runs only the supplied scripts when invoked.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install apple-media-officialpm
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /apple-media-officialpm 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v0.1.1
0.1.1: add scan-hosts helper for faster targeted scans (atvremote --scan-hosts).
v0.1.0
Initial release: AirPlay scan (pyatv) + speaker control wrappers (Airfoil). Author: Parth Maniar (@officialpm).
元数据
Slug apple-media-officialpm
版本 0.1.1
许可证
累计安装 0
当前安装数 0
历史版本数 2
常见问题

Apple Media 是什么?

Discover and control Apple media/AirPlay devices (HomePod, Apple TV, AirPlay speakers) from macOS. Use when you want to scan for AirPlay devices, map names→IPs/IDs, pair/connect, and control playback/volume using pyatv (atvremote) and Airfoil. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 1705 次。

如何安装 Apple Media?

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

Apple Media 是免费的吗?

是的,Apple Media 完全免费(开源免费),可自由下载、安装和使用。

Apple Media 支持哪些平台?

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

谁开发了 Apple Media?

由 officialpm(@officialpm)开发并维护,当前版本 v0.1.1。

💬 留言讨论