CloudMusic
SkillMediaUse this skill to control NetEase Cloud Music on a Windows PC from ESP-Claw. The PC plays audio and exposes playback data and controls on HTTP port 8766; ESP-Claw displays the vinyl UI and sends commands.
Use CloudMusic in Claude, ChatGPT or Ahel Desktop
Free. Sign in, add CloudMusic and connect your AI. About a minute.
Also: Claude Code · Cursor · Codex
Then ask your AI: use the CloudMusic skill
Details
Instructions available. Your AI can read the instructions. Execution depends on the setup they require.
Account requirements not reviewed. Check the skill instructions before use; Ahel provides instructions and does not run this skill.
No other account needed.
Add Ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
About this skill
ESP-Claw Skills Lab
What this skill tells your AI
The instructions your AI receives, as published by espressif/esp-claw-skills-lab in skills/cloudmusic/SKILL.md and read by Ahel’s review.
Use this skill to control NetEase Cloud Music on a Windows PC from ESP-Claw. The PC plays audio and exposes playback data and controls on HTTP port 8766; ESP-Claw displays the vinyl UI and sends commands.
Requirements
- A Windows 10/11 PC and ESP-Claw on the same LAN.
- Python 3.10+ available as
pythononPATH. - NetEase Cloud Music for Windows.
- InfinityLink, BetterNCM, or another bridge that exposes NetEase through Windows SMTC.
- The PC LAN IPv4 address added to the ESP-Claw
search_http_allowlist.
Install the Windows Host
- Download CloudMusic.zip.
- Extract it to a local folder.
- Open
CloudMusic\winand runinstall.bat. Approve the UAC and firewall prompts. - Open NetEase Cloud Music and play a song.
Only the win folder is required. Building or flashing the standalone firmware included in the download is not required.
The installer starts the host in the background; its log is CloudMusic\win\cloudmusic-host.log. Run install.bat again if the host is not running after a reboot.
Verify the Windows Host
On the PC, run:
curl http://127.0.0.1:8766/health
curl http://127.0.0.1:8766/state
Continue only when /health returns ok and /state reports "smtc_ready": true. Get the PC LAN IPv4 address from ipconfig or the lan_ip field; do not use 127.0.0.1 for ESP-Claw.
Configure the ESP-Claw Device
Confirm that both devices are on the same LAN and add the PC LAN IPv4 address to search_http_allowlist. Ask the user for the address if needed, then run:
{"path":"{CUR_SKILL_DIR}/scripts/configure_host.lua","args":{"host_ip":"192.168.1.100","port":8766},"timeout_ms":15000}
port defaults to 8766. Run this configuration again if the PC IP changes. Do not start the controller if it reports /health not ready.
Start the Controller
Run the controller asynchronously because it owns the display:
{"path":"{CUR_SKILL_DIR}/scripts/start_cloudmusic.lua","args":{"worker_path":"{CUR_SKILL_DIR}/scripts/cloudmusic_worker.lua"},"timeout_ms":0,"name":"cloudmusic","exclusive":"display","replace":true,"log_bytes":4096}
To configure a new IP while starting, pass it directly:
{"path":"{CUR_SKILL_DIR}/scripts/start_cloudmusic.lua","args":{"host_ip":"192.168.1.100","worker_path":"{CUR_SKILL_DIR}/scripts/cloudmusic_worker.lua"},"timeout_ms":0,"name":"cloudmusic","exclusive":"display","replace":true,"log_bytes":4096}
If previous and next are reversed, pass "side_touch_swap": true.
Controls and Behavior
- Tap the screen to play or pause.
- Touch Si12T TS1 for the previous track.
- Touch Si12T TS2 or TS3 for the next track.
The protocol is unauthenticated HTTP intended only for a trusted LAN. Do not expose port 8766 to the public internet.
Stop or Uninstall
Stop the device's asynchronous Lua job named cloudmusic. To remove the Windows Host, run CloudMusic\win\uninstall.bat.
Signals
- GitHub stars
- 34
- Forks
- 17
- Last commit
- Sep 2026
Advanced
- Item type
- skill
- Key
cloudmusic- Source
- github.com/espressif/esp-claw-skills-lab
github.com/espressif/esp-claw-skills-lab