Claude Code skill for Spotify playback control + 5947 music genre database
npx skills add https://github.com/joeseesun/qiaomu-music-player-spotify --skill qiaomu-music-player-spotifyInstala esta habilidad con la CLI y comienza a usar el flujo de trabajo SKILL.md en tu espacio de trabajo.
用自然语言控制 Spotify 播放音乐的 Claude Code Skill。
对 AI 说"来点爵士"、"适合下雨天的音乐"、"播放 Bohemian Rhapsody",它就帮你搜、帮你放。
内置 5,947 个音乐风格数据库,AI 能根据你的描述精准匹配风格并推荐曲目。
纯 Python 标准库实现,零依赖,不需要 MCP Server。支持 Claude Code、Cursor、Codex 等 37+ AI 编程工具。
# 方式一:npx 一键安装(推荐)
npx qiaomu-music-player-spotify
# 方式二:Vercel Skills CLI
npx skills add joeseesun/qiaomu-music-player-spotify
# 方式三:手动安装
git clone https://github.com/joeseesun/qiaomu-music-player-spotify.git ~/.claude/skills/qiaomu-music-player-spotify
安装后还需要配置 Spotify 凭证,详见下方 安装教程。
你需要一个 Spotify Premium 账号(免费账号部分功能受限)。
国内没有 Spotify 服务,推荐在淘宝搜"Spotify 会员",大约 150 元/年,店家会帮你充值到你的 Spotify 账号上。如果没有账号,去 spotify.com 先注册一个。
注册/登录后,下载安装 Spotify 桌面客户端(选择你的操作系统),安装后登录并保持打开(播放音乐需要一个活跃设备)。
这一步是为了获取 API 凭证,让脚本能控制你的 Spotify。
My Music PlayerPersonal music playerhttp://127.0.0.1:8888/callback,然后点 Add# 方式一:作为 Claude Code Skill 安装(推荐)
git clone https://github.com/joeseesun/qiaomu-music-player-spotify.git ~/.claude/skills/qiaomu-music-player-spotify
# 方式二:下载到任意位置
git clone https://github.com/joeseesun/qiaomu-music-player-spotify.git
cd qiaomu-music-player-spotify
把 Step 2 拿到的 Client ID 和 Client Secret 写入你的 shell 配置文件。
macOS / Linux (zsh):
echo 'export SPOTIFY_CLIENT_ID="你的Client_ID"' >> ~/.zshrc
echo 'export SPOTIFY_CLIENT_SECRET="你的Client_Secret"' >> ~/.zshrc
source ~/.zshrc
macOS / Linux (bash):
echo 'export SPOTIFY_CLIENT_ID="你的Client_ID"' >> ~/.bashrc
echo 'export SPOTIFY_CLIENT_SECRET="你的Client_Secret"' >> ~/.bashrc
source ~/.bashrc
验证环境变量是否生效:
echo $SPOTIFY_CLIENT_ID
# 应该输出你的 Client ID
确保你的 Spotify 桌面客户端已打开,然后运行:
python3 auth_setup.py
浏览器会自动打开 Spotify 授权页面,点 Agree 同意授权。授权成功后你会看到:
✅ 授权完成!
refresh_token 已保存到: .spotify_tokens.json
这个 token 文件会自动刷新,以后不需要再授权了。
# 查看可用设备
python3 spotify.py devices
# 搜索一首歌试试
python3 spotify.py search "Yesterday Beatles" track 1
如果能看到你的设备列表和搜索结果(JSON 格式),说明安装成功。
运行 python3 spotify.py devices 后,复制你常用设备的 id,写入环境变量:
echo 'export SPOTIFY_DEVICE_ID="你的设备ID"' >> ~/.zshrc
source ~/.zshrc
设置后播放命令会自动发送到这个设备,不用每次指定。
安装到 ~/.claude/skills/qiaomu-music-player-spotify/ 后,直接对 Claude 说自然语言:
你: 来点爵士
AI: 🎷 正在播放 Jazz Vibes 播放列表...
你: 适合写代码的音乐
AI: 💻 根据风格库匹配,推荐这几个方向:
1. Lo-fi Hip Hop — 低保真节拍,专注伴侣
2. Post-Rock — Mogwai《Young Team》
3. Ambient — Brian Eno《Music for Airports》
想听哪个?
你: 播放 Bohemian Rhapsody
AI: 🎵 正在播放 Queen — Bohemian Rhapsody
你: 来5首经典摇滚
AI: [自动搜索5首 → 批量播放]
你: Shoegaze 是什么风格?
AI: 🎵 Shoegaze — 以空灵人声和失真吉他墙为特征...
# 搜索
python3 spotify.py search "Radiohead" track 5
python3 spotify.py search "OK Computer" album 1
# 播放
python3 spotify.py play <track_id>
python3 spotify.py play spotify:playlist:37i9dQZF1DXbITWG1ZJKYt
# 控制
python3 spotify.py pause
python3 spotify.py resume
python3 spotify.py next
python3 spotify.py prev
python3 spotify.py volume 60
# 队列
python3 spotify.py queue <track_id>
python3 spotify.py show-queue
python3 spotify.py batch-play <id1> <id2> <id3>
# 信息
python3 spotify.py now
python3 spotify.py recent
python3 spotify.py playlists
python3 spotify.py devices
# 模式
python3 spotify.py shuffle on
python3 spotify.py repeat track
所有输出均为 JSON 格式,方便 AI 或脚本解析。
| 命令 | 参数 | 说明 |
|---|---|---|
search |
<关键词> [类型] [数量] |
搜索(类型: track/artist/album/playlist,默认 track) |
play |
<URI 或 track_id> |
播放曲目/专辑/播放列表 |
pause |
暂停 | |
resume |
继续播放 | |
next |
下一首 | |
prev |
上一首 | |
queue |
<URI 或 track_id> |
加入播放队列 |
now |
当前播放信息 | |
show-queue |
[数量] |
查看播放队列 |
volume |
<0-100> |
设置音量 |
devices |
列出可用设备 | |
recent |
[数量] |
最近播放记录 |
playlists |
[数量] |
我的播放列表 |
batch-play |
<id1> <id2> ... |
批量播放(播第一首 + 其余排队) |
shuffle |
<on|off> |
随机播放 |
repeat |
<track|context|off> |
循环模式 |
references/ 目录包含 5,947 个音乐风格的层级数据库:
references/
├── _index.json # 49 个主分类概览(13KB)
├── _meta.json # 元数据
├── main/ # 49 个文件,每个主分类的子分类
└── detailed/ # 578 个文件,细分风格详情
数据来源:RateYourMusic,仅供学习和个人使用。详见 references/DATA_SOURCE.md。
Q: 播放时报 "No active device" 怎么办?
A: 确保 Spotify 桌面客户端已打开,并设置了 SPOTIFY_DEVICE_ID 环境变量。运行 python3 spotify.py devices 查看设备 ID。
Q: 授权后报 401 错误?
A: Token 可能过期了,脚本会自动刷新。如果持续报错,删除 .spotify_tokens.json 后重新运行 python3 auth_setup.py。
Q: 免费账号能用吗?
A: 部分功能可用(搜索、查看信息),但播放控制需要 Premium 账号。
Q: 需要安装 Python 依赖吗?
A: 不需要。脚本只用 Python 标准库,Python 3.7+ 即可运行。
.
├── spotify.py # Spotify API 客户端(所有播放命令)
├── auth_setup.py # 一次性 OAuth 授权脚本
├── SKILL.md # Claude Code Skill 定义文件
├── .env.example # 环境变量模板
├── .spotify_tokens.json # OAuth tokens(自动生成,已 gitignore)
└── references/ # 风格数据库(5,947 个风格)
├── _index.json
├── _meta.json
├── main/ # 49 个主分类文件
└── detailed/ # 578 个细分文件
如果这个项目对你有帮助,欢迎关注我获取更多技术分享: