The DSH ecosystem emphasizes plugin-based extensibility and the expansion of Agent capabilities. When developing Agent applications, audio playback capabilities are often required, or it may be desired to seamlessly integrate a music player into workflows. dsh-music-player is a minimalist Web player plugin focused on simplicity. It supports NetEase Cloud Music and local music sources, and provides a complete Agent SKILL that allows AI to customize the player style, control playback, and integrate queue and search features on the official settings page.
Core Features¶
Floating-Window Player
The plugin provides a persistent floating window, supporting frosted glass and glow effects. It supports word-by-word lyric display, a draggable progress bar, and volume control. Collapsing the floating window does not interrupt playback.
Local Music Support
Local music can be loaded by specifying a folder. Audio paths are saved in the queue. Same-named .lrc files are automatically loaded for lyrics, and embedded MP3 cover art is displayed.
NetEase Cloud Music
Online search, lyric fetching, and playback URL resolution are supported. The official API is prioritized, with automatic fallback to a backup gateway when rate limits are encountered. VIP songs (such as “Qi Feng Le”) can only be played after entering a Cookie on the official settings page. Bulk import of songs by playlist ID or link is supported.
Agent Control
A complete Agent SKILL is provided, including tools for song search, playing new songs, adding/removing/querying the queue, playback control, post-playback notifications, and custom CSS and UI configuration. After a song finishes playing, the plugin clears the queue and sends a notification, making it easy for the Agent to decide whether to add a new song.
Installation and Activation¶
Prerequisites
Before the initial installation, note that if the pnpm version in the environment is ≥ 10, build scripts for git dependencies are rejected by default. Add an allowBuilds declaration to the profile’s pnpm-workspace.yaml, then rerun the installation command.
Installation Command
dsh plugin --profile web add github:xiaoqiezi-china/dsh-music-player
Version Pinning
It is recommended to pin the commit SHA after the installation command to lock the version and make future rollbacks easier:
dsh plugin --profile web add github:xiaoqiezi-china/dsh-music-player#<commit-sha>
Usage Examples¶
- Loading Lyrics: Make sure the local music folder contains a
.lrcfile with the same name as the audio file. The plugin will load it automatically. - VIP Experience: Open the official settings page and enter a Cookie in the NetEase Cloud Music configuration to play VIP songs.
- Agent Interaction: The Agent can invoke tools such as song search and playing new songs to integrate music playback into the conversational flow.
Notes¶
- Build Dependencies: In a pnpm ≥ 10 environment, be sure to handle the trust issue for git dependency build scripts in the profile configuration.
- Post-Playback Behavior: When the playback mode is set to sequential playback, finishing a song automatically clears the queue and sends a notification, prompting the Agent to add a new song.
- API Stability: Playback URL resolution uses the official API first. If a rate limitation is encountered, it automatically switches to the backup gateway.
Summary¶
dsh-music-player is a lightweight, clean Web-based music playback solution. It addresses the need to integrate audio playback in DSH environments, especially achieving deep integration between music control and AI through the Agent SKILL. Complete documentation and source code are available via the following links.
- Source Code and Documentation: https://github.com/xiaoqiezi-china/dsh-music-player
- Plugin Directory: https://www.skillhub.cn/plugins/xiaoqiezi-china/dsh-music-player