현재는 Spotify만으로 음악 제어를 제한
music-control
macOS에서 KuGou 음악 또는 Spotify를 CLI를 통해 제어합니다. 사용자의 작업 세션에 음악을 능동적이고 반응적으로 추가하여 업무 효율을 높이세요.
설정
요구 사항: macOS, Python 3.10+, KuGou 음악 또는 Spotify 데스크탑 앱 설치 필요.
Spotify API 키나 OAuth 설정이 필요 없습니다. 검색은 익명 Web Player API를 사용합니다.
CLI
MUSIC="python3 ~/.claude/skills/music-control/scripts/music_cli.py"
$MUSIC [--provider kugou|spotify] <명령어>
| 명령어 | 설명 |
|---|---|
status | 현재 트랙 정보 (JSON) |
play | 재생/일시정지 전환 |
next | 다음 트랙으로 건너뛰기 |
prev | 이전 트랙으로 이동 |
play-by <제목>... | 검색 후 즉시 재생; 여러 곡은 |||로 구분 |
search <검색어> [--page N] | 페이지네이션으로 검색 |
recommend <분위기> | 분위기별로 선택하여 재생 |
queue-show | 현재 큐 표시 |
queue-add <제목>... | 큐에 곡 추가; 여러 곡은 |||로 구분 |
queue-play [인덱스] | 큐에서 재생 시작 |
queue-next | 큐에서 다음 곡으로 건너뛰기 |
queue-clear | 큐 비우기 |
--provider의 기본값은 spotify입니다. Spotify가 실행 중이 아니면 자동으로 실행됩니다. MUSIC_PROVIDER=kugou를 설정하여 KuGou를 대신 사용할 수 있습니다.
분위기 키워드
| 분위기 | 사용 시기 |
|---|---|
focused | 집중 작업, 몰입 코딩, 독서 |
relaxed | 캐주얼 대화, 휴식, 간단한 작업 |
hyped | 기능 출시, 버그 수정, 성공 |
sad | 사용자 불만, 문제에 막힘 |
debug | 좌절감, 까다로운 버그 추적 |
프로액티브 트리거 규칙
요청 없이도 항상 다음 신호를 감지하면 행동하세요:
| 대화 중 신호 | 행동 |
|---|---|
| 사용자가 새 코딩 세션 시작 | recommend focused → 상위 결과 재생 |
| 사용자가 버그 수정 / 기능 출시 언급 | 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 음악 macOS 앱이 설치되어 있어야 함
status가no_player를 반환하면 앱이 아직 로딩 중일 수 있음 — 3초 기다렸다가 재시도- 큐는
~/.config/music-cli/queue.json에 유지됨