Control Roon music player through Roon API with automatic Core discovery and zone filtering. Supports play/pause, next/previous track, and current track query. Automatically finds Muspi zones. Supports Chinese commands.
数据来源:ClawHub。 在 ClawSkills 查看
选择你使用的 Agent
方法一:命令行安装(推荐)
推荐(无需提前安装 clawhub)
npx clawhub@latest --dir ~/.claude/skills install roon-controller或使用 clawhub CLI(需提前安装)
clawhub --dir ~/.claude/skills install roon-controller⚠️ 需要 Node.js 18+,没有 Node?请使用下方方法二直接下载 ZIP。 安装 Node.js →
方法二:手动下载安装(无需 Node)
下载 ZIP,解压后将文件夹放到以下路径,重启 Agent 即可:
安装路径
~/.claude/skills/roon-controller/💡解压后将文件夹放到上方路径,重启 Agent 即可生效
--- name: roon-controller description: Control Roon music player through Roon API with automatic Core discovery and zone filtering. Supports play/pause, next/previous track, and current track query. Automatically finds Muspi zones. Supports Chinese commands. ---
Control the Roon music player with Chinese command support.
pip install roonapi
from roon_controller import RoonController
# Create controller (token will be saved automatically)
controller = RoonController(verbose=True)
# Play/Pause
result = controller.play_pause()
# Next track
result = controller.next()
# Get current track
track_info = controller.get_current_track()
print(f"Now playing: {track_info['track']}")
~/clawd/roon_config.jsonset_zone() to switch zones programmaticallySwitch Zone
result = controller.set_zone("Living Room")
# {"success": True, "message": "Switched to zone: Living Room", "zone": "Living Room"}
Get Current Zone
zone = controller.get_current_zone()
# Returns zone info dict with zone_id and zone_data
Play
result = controller.play()
# {"success": True, "message": "Playback started", "zone": "Living Room Muspi"}
Pause
result = controller.pause()
# {"success": True, "message": "Paused", "zone": "Living Room Muspi"}
Play/Pause Toggle
result = controller.play_pause()
Previous Track
result = controller.previous()
Next Track
result = controller.next()
track_info = controller.get_current_track()
# Returns:
# {
# "success": True,
# "is_playing": True,
# "zone": "Living Room Muspi",
# "track": "Bohemian Rhapsody",
# "artist": "Queen",
# "album": "A Night at the Opera",
# "seek_position": 12345, # milliseconds
# "length": 354000 # milliseconds
# }
zones = controller.list_zones()
# ["Living Room Muspi", "Kitchen", "Bedroom"]
The script can be used as a command line tool:
# Play
python roon_controller.py play
# Pause
python roon_controller.py pause
# Previous track
python roon_controller.py prev
# Next track
python roon_controller.py next
# View current track
python roon_controller.py status
# List all zones
python roon_controller.py zones -v
# switch zone
python roon_controller.py switch zonename
The skill supports the following Chinese trigger words:
| Command | Meaning | Example | |---------|---------|---------| | 音乐播放 / 播放音乐 | Start playback | "音乐播放" | | 暂停 / 暂停播放 | Pause playback | "暂停一下" | | 下一曲 / 切歌 | Next track | "下一曲" | | 上一曲 | Previous track | "上一曲" | | 当前曲目 / 正在放什么 | View current track | "当前曲目" |
All methods return a unified dictionary structure:
{
"success": True/False,
"message": "Operation result description",
"zone": "Zone name (optional)"
}
~/clawd/roon_config.json, ensure secure file permissionsroonapi>=0.1.6: Official Roon API Python library~/clawd/roon_config.json# Find all zones
zones = roon.zones
# Filter zones with muspi suffix
muspi_zones = [
(zone_id, zone_data)
for zone_id, zone_data in zones.items()
if zone_data['display_name'].lower().endswith('muspi')
]
# Use the first matching zone
zone_id, zone_data = muspi_zones[0]安装 Roon Controller 后,可以对 AI 说这些话来触发它
Help me get started with Roon Controller
Explains what Roon Controller does, walks through the setup, and runs a quick demo based on your current project
Use Roon Controller to control Roon music player through Roon API with automatic Core disc...
Invokes Roon Controller with the right parameters and returns the result directly in the conversation
What can I do with Roon Controller in my design & creative workflow?
Lists the top use cases for Roon Controller, with example commands for each scenario
将技能文件夹放到 ~/.claude/skills/roon-controller/ 目录(个人级,所有项目可用),或 .claude/skills/roon-controller/(项目级)。重启 AI 客户端后,用 /roon-controller 主动调用,或让 AI 根据上下文自动发现并使用。
Roon Controller 支持 Claude、Cursor、OpenClaw,可与这些 AI 平台无缝集成,扩展其能力。
Roon Controller 可免费安装使用。请查阅仓库了解许可证信息。
Control Roon music player through Roon API with automatic Core discovery and zone filtering. Supports play/pause, next/previous track, and current track query. Automatically finds Muspi zones. Supports Chinese commands.
Roon Controller 属于「Design & Creative」分类,该分类的技能帮助 AI 智能体在此领域执行专业任务。
Automate my design & creative tasks using Roon Controller
Identifies repetitive steps in your workflow and sets up Roon Controller to handle them automatically