Introduction

DSH extends Web client capabilities through plugins. ncm-player addresses the needs of conveniently listening to songs, searching for songs, and viewing lyrics within the DSH Web page: without needing to open another player, it preserves a draggable, hideable NetEase Cloud Music floating window within the page.

Below is an introduction to its positioning, core features, installation methods, and usage limitations.

What is it

ncm-player is a NetEase Cloud Music floating window player running within the DeepSeek Harness (DSH) Web interface. It is maintained by WolfGenerals and is licensed under MIT.

It places playback controls, search and discovery, lyrics, the playback queue, account login, and settings all within the same floating window. After installing and restarting DSH Web, a note icon button will appear in the bottom right corner of the page; clicking it expands the player.

Core Features

Playback and Queue

Supports:

  • Play/Pause, Previous/Next, progress dragging, volume and mute
  • Three playback modes: Sequential, Single Loop, Random
  • Add, remove, and clear the playback queue
  • Restore queue, progress, playback mode, and volume after restart

Search and Account

Supports:

  • Search for singles, playlists, and albums
  • Popular playlist recommendations
  • Log in via NetEase Cloud Music App scan code or by pasting cookies
  • After logging in, view created, favorited, and liked playlists and favorited albums

Lyrics

Supports:

  • Line-by-line synchronized lyrics highlighting
  • Click lyrics to jump progress
  • Lyrics translation (displayed when available)
  • Mini mode displays current lyrics, auto horizontal scrolling for very long lyrics, adjustable font size

Floating Window and Settings

Supports:

  • Three floating window states: Expanded, Mini-bar, Hidden, all draggable
  • Interface color automatically follows DSH skin themes
  • Audio quality, lyrics translation toggle, mini lyrics toggle, scrolling, and font size settings automatically persist

Installation and Enablement

Execute in the DSH Web plugin environment:

dsh plugin --profile web add @wolfgenerals/ncm-player

Execute and restart DSH Web. A note icon button will appear in the bottom right corner of the page; click to expand the player.

ncm-player runs with the current dsh process permissions. It is recommended to check the source code and license before installing; the project license is MIT. Plugin execution depends on the Node.js runtime on the local PATH and a network accessible to music.163.com.

Typical Usage

  1. After installing the plugin and restarting DSH Web, click the note icon button in the bottom right corner of the page to expand the player.
  2. On the “Discover” page, search for singles, playlists, albums, or select popular playlists; click any song to start playing.
  3. On the “Playback” page, switch songs, drag progress, adjust volume, and switch playback modes.
  4. On the “Lyrics” page, view line-by-line lyrics and translations; translations are displayed only when translation data exists for the song.
  5. On the “Settings” page, use the NetEase Cloud Music App to scan code or paste a cookie to log in, unlocking “My Music” and favorites.
  6. Click the - in the top right corner of the window to collapse to a mini-bar, or click × to hide; reopen by clicking the note icon button in the bottom right.

Data Persistence

Login state and playback queue are saved in the local browser localStorage, with the key ncmply-settings; they are not written to disk files.

  • Switching browsers or clearing site data will cause the login state/queue to be lost, requiring re-login.
  • In browser private mode when localStorage is unavailable, functionality works normally, but persistence is disabled.
  • Users upgrading from ≤1.0.7: The old file ~/.dsh/ncmply-settings will be read once in read-only mode at startup and automatically migrated to localStorage, after which it will no longer be written.

Usage Limitations

  • Some songs cannot be played due to copyright/subscription restrictions.
  • Lyrics translation is displayed only when the song has translation data.
  • Favorites are affected by NetEase Cloud Music account risk control; prompts will appear on failure, which is a normal phenomenon.
  • Login cookies are only used to request music.163.com and are not sent to any third parties.
  • For personal learning use only; please comply with NetEase Cloud Music Terms of Service and local laws and regulations.

Conclusion

ncm-player provides a lightweight NetEase Cloud Music floating window for DSH Web: playback, search, lyrics, queue, login, and settings are all concentrated in the same floating window.

GitHub Repository: https://github.com/WolfGenerals/ncm-player.git