Home Music

Polar Sponsor
爱发电 赞助
.NET 9.0

控制全屋音乐场景,结合Spotify播放与Airfoil音箱路由,支持早安、派对、放松模式快速切换。

“当一个命令完成任务时,为什么点击17次?

功能概述

“当一个命令完成任务时,为什么点击17次?是一项面向实际任务的技能,主要用于.” — Owen QQWHS ?;What Does This Skill Do.;

核心要点

  • Home Music 将Spotify + Airfoil 组合成神奇的音乐场景;
  • 一个命令 — — 以及正确的播放列表 pla。
  • 它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。

使用与执行

使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。

结果检查与注意事项

执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。

    ♪ ♫ ♪ ♫ ♪ ♫ ♪ ♫ ♪ ♫ ♪ ♫ ♪ ♫ ♪ ♫ ♪ ♫ ♪ ♫
    
    🏠  H O M E   M U S I C  🎵
    
    ╔══════════════════════════════════════════╗
    ║   Whole-House Music Scenes               ║
    ║   One command. All speakers. Perfect.    ║
    ╚══════════════════════════════════════════╝
    
    ♪ ♫ ♪ ♫ ♪ ♫ ♪ ♫ ♪ ♫ ♪ ♫ ♪ ♫ ♪ ♫ ♪ ♫ ♪ ♫

“Why click 17 times when one command does the job?” – Owen 🐸

🎯 此技能的作用是什么?

Home Music 将 Spotify 与 Airfoil 深度整合,打造“全屋音乐场景”。只需一条命令,即可将指定歌单、以理想音量、精准推送到目标扬声器。

想象一下:

  • 清晨醒来 → home-music morning → 浴室响起轻柔旋律
  • 朋友到访 → home-music party → 所有扬声器同步播放摇滚乐
  • 准备放松 → home-music chill → 客厅、卧室处处弥漫慵懒 Lounge 氛围
  • 结束一天 → home-music off → 归于寂静。安宁。澄澈。

📋 依赖项

组件 用途 链接
🍏 macOS 本技能基于 AppleScript 实现 —
🟢 Spotify Desktop App 音乐源!必须处于运行状态。 spotify.com
📡 Airfoil 将音频路由至 AirPlay 扬声器 rogueamoeba.com
🎵 spotify-applescript Clawdbot 提供的 Spotify 控制技能 skills/spotify-applescript/

⚠️ 重要提示: 启动任意音乐场景前,请确保 Spotify 和 Airfoil 均已运行!

🎬 场景(Scenes)

🌅 Morning(晨间)

温柔开启你的一天

home-music morning
  • 扬声器: Sonos Move
  • 音量: 40%
  • 歌单: Morning Playlist
  • 氛围: ☕ 咖啡 + 美好心情

🎉 Party(派对)

是时候庆祝了!

home-music party
  • 扬声器: 全部(Computer、MacBook、Sonos Move、Living Room TV)
  • 音量: 70%
  • 歌单: Rock Party Mix
  • 氛围: 🤘 邻居们最讨厌的这一招

😌 Chill(舒缓)

纯粹的放松时刻

home-music chill
  • 扬声器: Sonos Move
  • 音量: 30%
  • 歌单: Chill Lounge
  • 氛围: 🧘 Om…

🔇 Off(关闭)

静音

home-music off
  • 暂停 Spotify 播放
  • 断开所有扬声器连接
  • 氛围: 🤫 终于,宁静与安详

📊 Status(状态)

当前正在播放什么?

home-music status

显示以下信息:

  • 当前 Spotify 正在播放的曲目
  • 已连接的扬声器列表

🔧 安装方法

# 为脚本添加可执行权限
chmod +x ~/clawd/skills/home-music/home-music.sh

# 创建全局软链接
sudo ln -sf ~/clawd/skills/home-music/home-music.sh /usr/local/bin/home-music

现在,你可在终端任意位置直接运行 home-music 命令!🎉

🎨 自定义歌单与场景

更换歌单

打开 home-music.sh 文件,定位到歌单配置区:

# === PLAYLIST CONFIGURATION ===
PLAYLIST_MORNING="spotify:playlist:19n65kQ5NEKgkvSAla5IF6"
PLAYLIST_PARTY="spotify:playlist:37i9dQZF1DXaXB8fQg7xif"
PLAYLIST_CHILL="spotify:playlist:37i9dQZF1DWTwnEm1IYyoj"

如何获取歌单 URI:

  1. 在 Spotify 中右键点击目标歌单
  2. 选择 “Share” → “Copy Spotify URI”
  3. 或复制网页 URL,并从中提取 /playlist/ 后的完整 ID 部分

新增一个场景

在 main 函数块中新增一个 case 分支:

# 在 home-music.sh 中,位于 "scene_chill" 函数之后:

scene_workout() {
    echo "💪 Starting Workout scene..."
    airfoil_set_source_spotify
    airfoil_connect "Sonos Move"
    sleep 0.5
    airfoil_volume "Sonos Move" 0.8
    "$SPOTIFY_CMD" play "spotify:playlist:YOUR_WORKOUT_PLAYLIST"
    "$SPOTIFY_CMD" volume 100
    echo "✅ Workout: Sonos Move @ 80%, Pump it up!"
}

# 并在 case 区域中添加:
    workout)
        scene_workout
        ;;

可用扬声器列表

ALL_SPEAKERS=("Computer" "Andy's M5 Macbook" "Sonos Move" "Living Room TV")

你可以添加任意 AirPlay 扬声器——只要它在 Airfoil 应用中可见即可。

🐛 故障排查

❌ “扬声器无法连接”

检查 1: Airfoil 是否正在运行?

pgrep -x Airfoil || echo "Airfoil is not running!"

检查 2: 扬声器是否已接入同一网络?

  • 打开 Airfoil 应用
  • 确认该扬声器是否出现在设备列表中
  • 尝试手动连接一次

检查 3: 扬声器名称是否完全一致?

  • 名称区分大小写!
  • 请在 Airfoil 应用中复制其显示的精确名称

❌ “没有声音输出”

检查 1: Spotify 是否正在播放?

~/clawd/skills/spotify-applescript/spotify.sh status

检查 2: Airfoil 的音频源是否设置正确?

  • 打开 Airfoil 应用
  • 确认 “Spotify” 是否被选为当前音频源
  • 如未选择:点击 “Source” → 选择 Spotify

检查 3: 扬声器音量是否为零?

# 手动查询音量值
osascript -e 'tell application "Airfoil" to get volume of (first speaker whose name is "Sonos Move")'

❌ “Spotify 无法启动”

Spotify 是否已打开?

pgrep -x Spotify || open -a Spotify

spotify-applescript 是否已安装?

ls ~/clawd/skills/spotify-applescript/spotify.sh

❌ “Permission denied(权限拒绝)”

chmod +x ~/clawd/skills/home-music/home-music.sh

🔊 直接调用 Airfoil 命令

如需手动控制 Airfoil,可使用以下 AppleScript 命令:

# 连接指定扬声器
osascript -e 'tell application "Airfoil" to connect to (first speaker whose name is "Sonos Move")'

# 设置扬声器音量(范围:0.0 – 1.0)
osascript -e 'tell application "Airfoil" to set (volume of (first speaker whose name is "Sonos Move")) to 0.5'

# 断开指定扬声器
osascript -e 'tell application "Airfoil" to disconnect from (first speaker whose name is "Sonos Move")'

# 列出当前已连接的所有扬声器
osascript -e 'tell application "Airfoil" to get name of every speaker whose connected is true'

# 设置音频源为 Spotify
osascript -e 'tell application "Airfoil"
    set theSource to (first application source whose name contains "Spotify")
    set current audio source to theSource
end tell'

📁 文件结构

skills/home-music/
├── SKILL.md        # 本文档
└── home-music.sh   # 主脚本文件

💡 高级技巧

  1. 设置别名(alias),实现秒级调用:

    alias mm="home-music morning"
    alias mp="home-music party"
    alias mc="home-music chill"
    alias mo="home-music off"
    
  2. 与 Clawdbot 协同使用:

    “Hey, start party mode” “Put on some chill music” “Stop the music”

  3. 组合多个场景: 创建一个 dinner 场景,搭配爵士乐歌单、音量设为 25%,待客恰到好处!

🐸 致谢

╭─────────────────────────────────────────────╮
│                                             │
│   Crafted with 💚 by Owen the Frog 🐸      │
│                                             │
│   "Ribbit. Music makes everything better."  │
│                                             │
╰─────────────────────────────────────────────╯

作者: Andy Steinberger(并得到他的 Clawdbot —— Owen the Frog 🐸 的协助)
版本: 1.0.0
许可证: MIT
栖息地: 那片长满睡莲的池塘 🪷

这个技能是否改善了你的生活?Owen 很喜欢苍蝇。🪰

相关专题

更多
Postman身份认证怎么配置
Postman身份认证怎么配置

本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。

2026.11.06

0

12

Postman请求头Headers怎么设置
Postman请求头Headers怎么设置

围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。

2026.11.06

0

13

Postman接口请求发送教程
Postman接口请求发送教程

详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。

2026.11.06

0

10

DBeaver怎么导入数据
DBeaver怎么导入数据

DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。

2026.11.05

0

12

DBeaver安全防护教程大全
DBeaver安全防护教程大全

DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。

2026.11.05

0

12

DBeaver连接创建与配置教程
DBeaver连接创建与配置教程

本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。

2026.11.04

0

16

XORM框架结构体映射与表结构同步
XORM框架结构体映射与表结构同步

本专题围绕XORM框架的结构体映射展开,说明表名与字段的命名策略、xorm标签常用属性、主键自增与时间字段自动填充,并演示Sync2自动建表、增量字段升级、索引声明与反向生成结构体的完整流程。

2026.11.04

0

15

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

0

15

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

0

16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 134.1万人学习