← 返回 Skills 市场
Announcer
作者
Oliver Drobnik
· GitHub ↗
· v1.2.3
2211
总下载
1
收藏
2
当前安装
8
版本数
在 OpenClaw 中安装
/install announcer
功能描述
Announce text throughout the house via AirPlay speakers using Airfoil + ElevenLabs TTS.
使用说明 (SKILL.md)
Announcer
Play TTS announcements through AirPlay speakers via Airfoil and ElevenLabs.
How It Works
- Generate speech via ElevenLabs (high-quality opus → stereo MP3)
- Connect to AirPlay speakers via Airfoil
- Play an optional chime (gong) followed by the announcement
- Disconnect speakers after playback
Setup
See SETUP.md for prerequisites and setup instructions.
Usage
# Announce to all configured speakers
python3 skills/announcer/scripts/announce.py "Dinner is ready!"
# Announce to specific speakers only
python3 skills/announcer/scripts/announce.py "Wake up!" --speakers "Kids Room"
# Skip the chime
python3 skills/announcer/scripts/announce.py "Quick note" --no-gong
File Structure
announcer/
├── SKILL.md
├── assets/
│ └── gong_stereo.mp3 # Announcement chime
└── scripts/
└── announce.py # Main announcement script
User config (not part of skill):
~/clawd/announcer/
└── config.json # Speaker list, voice, audio settings
安全使用建议
This skill appears to do what it says: generate TTS with ElevenLabs, convert it for AirPlay with ffmpeg, and control Airfoil via AppleScript. Before installing, confirm the following: (1) you trust the sibling elevenlabs skill and review its speech.py since announcer invokes it; (2) store ELEVENLABS_API_KEY securely (the skill will send text to ElevenLabs); (3) place and secure ~/clawd/announcer/config.json as it contains your speaker names and voice_id; (4) Airfoil must be installed and running on macOS and the skill will control it via osascript/afplay (local automation); (5) if you share this machine, be aware the script runs subprocesses with the provided text and will execute the elevenlabs script — review that code to ensure it only contacts the ElevenLabs API you expect. No remote downloads or unexpected credentials were found in the package.
功能分析
Type: OpenClaw Skill
Name: announcer
Version: 1.2.3
The skill bundle is benign. The `scripts/announce.py` script demonstrates good security practices by explicitly sanitizing user-provided speaker names before embedding them into AppleScript commands, preventing AppleScript injection. All `subprocess.run` calls use argument lists rather than shell strings, and inputs to commands like `ffmpeg` and `afplay` are either static asset paths or securely generated temporary file paths. There is no evidence of data exfiltration, persistence mechanisms, or prompt injection attempts in `SKILL.md` or `SETUP.md`. The skill's functionality aligns with its stated purpose of playing TTS announcements via AirPlay.
能力评估
Purpose & Capability
Name/description (AirPlay announcements using Airfoil + ElevenLabs) match what the files and SKILL.md ask for: python3, ffmpeg, Airfoil, and an ElevenLabs API key. The script calls a sibling elevenlabs speech tool (declared as a required skill in metadata), uses ffmpeg to produce stereo MP3 for AirPlay, and controls Airfoil via AppleScript as expected for macOS.
Instruction Scope
Runtime instructions and announce.py are focused on generating TTS (via the ElevenLabs speech script), converting audio with ffmpeg, and controlling Airfoil via osascript/afplay. This is within scope. Note: announce.py executes the sibling elevenlabs script and runs system commands (osascript, afplay, ffmpeg). These behaviors are expected, but you should only install if you trust the elevenlabs skill and the host will run Airfoil/afplay.
Install Mechanism
No install spec — instruction-only plus a local script file. Nothing is downloaded or extracted during install, so there is no remote-install risk from this package itself.
Credentials
Only ELEVENLABS_API_KEY is required (plus optional ANNOUNCER_WORKSPACE to override discovery). That single credential is proportional to the declared need to call ElevenLabs. No unrelated credentials or config paths are requested. The script reads a local config.json for speakers and audio settings (declared in SETUP.md).
Persistence & Privilege
The skill does not request permanent/always-on privileges and does not modify other skills or global agent configuration. It runs only when invoked and controls only local apps (Airfoil/afplay) via AppleScript.
如何使用
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install announcer - 安装完成后,直接呼叫该 Skill 的名称或使用
/announcer触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.2.3
fix: use $PWD for workspace root
v1.2.2
fix: use $PWD for workspace root
v1.2.1
Rename .clawdhubignore to .clawhubignore
v1.2.0
Refactor: move setup/prerequisites to SETUP.md, keep SKILL.md lean
v1.1.3
Fix AppleScript injection: sanitize speaker names before embedding in osascript. Add platform: macos metadata.
v1.1.2
Fix SKILL.md version sync
v1.1.1
Add ELEVENLABS_API_KEY and elevenlabs skill to requirements
v1.1.0
Initial release
元数据
常见问题
Announcer 是什么?
Announce text throughout the house via AirPlay speakers using Airfoil + ElevenLabs TTS. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 2211 次。
如何安装 Announcer?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install announcer」即可一键安装,无需额外配置。
Announcer 是免费的吗?
是的,Announcer 完全免费(开源免费),可自由下载、安装和使用。
Announcer 支持哪些平台?
Announcer 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 Announcer?
由 Oliver Drobnik(@odrobnik)开发并维护,当前版本 v1.2.3。
推荐 Skills