目前僅將音樂控制限制為 Spotify
音樂控制
透過 CLI 在 macOS 上控制 KuGou Music 或 Spotify。可用於主動或被動地增強用戶的工作會話音樂體驗。
設定
需求:macOS、Python 3.10+、已安裝 KuGou Music 或 Spotify 桌面版應用程式。
無需 Spotify API 金鑰或 OAuth 設定——搜尋功能使用匿名 Web Player API。
CLI
MUSIC="python3 ~/.claude/skills/music-control/scripts/music_cli.py"
$MUSIC [--provider kugou|spotify] <command>
| 指令 | 描述 |
|---|---|
status | 當前曲目資訊 (JSON) |
play | 切換播放/暫停 |
next | 跳到下一首 |
prev | 回到上一首 |
play-by <title>... | 搜尋並立即播放;多首歌使用 ` |
search <query> [--page N] | 搜尋並支援分頁 |
recommend <mood> | 根據心情挑選並播放 |
queue-show | 顯示當前佇列 |
queue-add <title>... | 將歌曲加入佇列;多首歌使用 ` |
queue-play [index] | 從佇列開始播放 |
queue-next | 跳到佇列中的下一首 |
queue-clear | 清空佇列 |
--provider 預設為 spotify。若 Spotify 未執行,將會自動啟動。若要改用 KuGou,請設定 MUSIC_PROVIDER=kugou。
心情關鍵字
| 心情 | 使用時機 |
|---|---|
focused | 深度工作、專注編碼、閱讀時 |
relaxed | 閒聊、休息、輕鬆任務 |
hyped | 功能上線、修復 Bug、獲得勝利 |
sad | 用戶發洩、卡關時 |
debug | 感到沮喪、追查棘手 Bug 時 |
主動觸發規則
當偵測到以下情況時,務必主動行動,無需經過詢問:
| 對話中的訊號 | 行動 |
|---|---|
| 用戶開始新的編碼會話 | recommend focused → 播放最佳結果 |
| 用戶說修復了 Bug / 功能上線 | recommend hyped → 播放最佳結果 |
| 用戶感到沮喪 / 卡關 | recommend debug |
| 用戶提到需要放鬆 | recommend relaxed |
| 用戶提及特定歌曲或藝人 | play-by <歌曲> <藝人> |
| 對話長時間沉默 / 停滯 | recommend relaxed |
| 用戶說「播點什麼」但無具體內容 | 從近期對話心情推斷 |
佇列與多首歌
多首歌分隔符號:|||
$MUSIC play-by 逆战 ||| 天下 ||| 这就是爱
$MUSIC queue-add 逆战 ||| 天下
$MUSIC queue-play
$MUSIC queue-next
$MUSIC search 周杰伦 --page 2
回應格式
{"ok": true, "title": "晴天", "artist": "周杰伦", "playing": true}
{"ok": true, "results": [{"title":"...", "artist":"...", "id":"..."}]}
{"ok": true, "action": "next"}
{"ok": true, "action": "queue_next", "current": 1, "has_next": true}
{"ok": false, "error": "no_player", "message": "..."}
備註
- Spotify:使用匿名 Web Player API 進行搜尋——無需登入或 API 金鑰
- KuGou:需安裝 KuGou Music macOS 應用程式
- 若
status回傳no_player,表示應用程式可能仍在載入——請等待 3 秒後重試 - 佇列會持久化儲存在
~/.config/music-cli/queue.json