📘 Khy-OS 文档站 🧭 新手先读:核心概念

cli-anything-rekordbox


name: "cli-anything-rekordbox"
description: >-
Command-line interface for Pioneer Rekordbox 6/7 - DJ library and live-deck control via guarded SQLCipher master.db access (pyrekordbox) + virtual MIDI mapping. Provides library inspection, playlist creation/add/clear, and live-deck mixing (play/sync/crossfade/EQ). Pioneer ships no playback REST API; this harness combines the only two real surfaces (encrypted DB + MIDI) into one agent-native CLI.


cli-anything-rekordbox#

Agent-native CLI for Pioneer Rekordbox 6/7. Drives the DJ library and live decks programmatically.

Installation#

pip install cli-anything-rekordbox

Prerequisites:

  • Python 3.10+
  • Rekordbox 6 or 7 installed (master.db must exist)
  • Virtual MIDI driver for live-deck control:
    • Windows: loopMIDI / LoopBe / teVirtualMIDI
    • macOS: IAC Driver
    • Linux: ALSA virtual MIDI (snd-virmidi)

Usage#

# Status check
cli-anything-rekordbox status

# REPL mode
cli-anything-rekordbox

# JSON output for agents
cli-anything-rekordbox --json library search "Daft Punk"

Command Groups#

Library#

CommandDescription
countTotal track count
search QUERYFind tracks by title/artist substring
info TRACK_IDFull track metadata
dump --out FILE.jsonExport full library as JSON

Playlist#

CommandDescription
listAll playlists
create NAME [--force] [--no-backup]New playlist
add NAME --track-title T [--force] [--no-backup]Add track
clear NAME [--force] [--no-backup]Empty a playlist

Playlist writes create a master.db backup before mutation. They refuse to run
while Rekordbox is open unless --force is supplied; forced writes still require
a backup. --no-backup is only accepted when Rekordbox is closed.

Deck (live MIDI)#

CommandDescription
play --deck NPlay/pause
sync --deck NTempo sync
crossfade FROM TO --secs SSmooth crossfade
eq --deck N --hi --mid --loEQ control
hot-cue --deck N --slot 1-8Trigger hot cue

Top-level#

CommandDescription
statusRuntime / DB / MIDI state
install-mappingDrop Bunker.midi.csv into rekordbox's MidiMappings folder
mix A B --secs SHigh-level: search + load + sync + crossfade

How it works#

+------------------+
|   Your Agent     |
+--------+---------+
         |
         v
+------------------+
| cli-anything-    |
| rekordbox CLI    |
+--------+---------+
   |          |
   v          v
+----------+  +----------+
|pyrekord- |  |  mido +  |
|box DB    |  |  virtual |
|writes    |  |  MIDI    |
+----------+  +----------+
   |               |
   v               v
+----------+  +-----------+
| master.db|  | Rekordbox |
|SQLCipher |  | live decks|
+----------+  +-----------+
  • master.db is encrypted with a static AES-256 key shared by all rekordbox 6/7 installs (auto-extracted by pyrekordbox)
  • Virtual MIDI mapping uses Pioneer's standard .midi.csv format; this CLI ships Bunker.midi.csv and an install-mapping command to drop it into rekordbox's MidiMappings/ folder

JSON output#

Every command supports --json:

$ cli-anything-rekordbox --json library count
{"track_count": 30344}

License#

MIT