Introduction

DeepSeek Harness (DSH) supports extending functionality through plugins. In the Web profile, developers often need to switch between conversations and listening to music, which can interrupt the workflow. The dsh-music plugin solves this problem by directly integrating QQ Music and providing a floating player in the Web interface, allowing users to control music playback while conversing.

Plugin Introduction

dsh-music is an open-source plugin (MIT License) maintained by user 1608kiy. It does not depend on external frontend frameworks, resolves cross-origin issues through a host-side proxy, and provides QR-code login to QQ Music accounts.

Core Features

  • Floating player and interaction: The player uses a dark frosted-glass effect and supports expand/collapse animations. The card in the bottom-right corner can be dragged freely and remembers its position while playing. The album cover rotates during playback. After the mouse leaves for 5 seconds, the player automatically collapses into a small vinyl disc ring and snaps automatically when close to the screen edge.
  • Quick controls and state memory: Supports keyboard shortcuts (space to pause/play, left/right arrows to switch songs). The plugin automatically remembers the queue, volume, and loop mode, and restores them after restart. It provides 128k and 320k audio quality options.
  • Minimization and plugin management: The player can be collapsed via the top-right corner into a small corner ring (the album cover continues rotating, while double-click or triple-click controls song switching). The plugin can be disabled or enabled in settings.
  • QQ Music integration and login: Supports playback through official vkey parsing, with Meting as the fallback. It provides a polished QR-code login page, stores credentials locally, and after login allows users to unlock VIP song playback and import “My Favorites” and personal playlists.
  • Agent integration: Includes a built-in music tool, allowing the player to be controlled via conversational commands (such as “Play a song,” “Pause,” and “Set volume to 50%”) without requiring manual UI clicks.
  • Default library configuration: Supports configuring the default QQ Music playlist ID to load via the environment variable DSH_MUSIC_PLAYLIST.

Installation and Configuration

  1. Download the plugin package to a local path.
  2. Use the DSH CLI to install the plugin:
    dsh plugin --profile web add "file:/path/to/dsh-music"
  1. Restart the DeepSeek Harness Web application after installation.
  2. Optional configuration: Set the environment variable DSH_MUSIC_PLAYLIST to a QQ Music playlist ID to automatically load it as the built-in library at startup.

Usage

  1. Control the player: Click the bottom-right card to expand the player, then drag the top to move its position. It automatically collapses after the mouse leaves for 5 seconds.
  2. Search and import: Enter a song name or artist in the player search box and press Enter to search, or paste a QQ Music playlist link or ID to import it.
  3. Shortcut control: Use space outside the input box to pause/play, and use the left/right arrows to switch songs.
  4. Agent commands: Issue commands directly to the model, such as “Play a song,” “Pause,” and “Set volume to 50%.”
  5. Manage the plugin: Manage the enabled/disabled status in Settings → Plugins → Plugin Configuration.

Notes

  • This project is unrelated to DeepSeek and Tencent QQ Music. Audio is provided by public endpoints and third-party parsing services, for learning and research only.
  • Songs restricted by copyright or permissions may not play; the player will skip them automatically.
  • Login credentials are stored only in the local DSH instance and are used to make requests to QQ Music endpoints.
  • The music tool and UI operations are completed within the local DSH instance, with no persistent synchronization.

Summary

dsh-music integrates QQ Music endpoints and the Agent tool, providing DSH Web users with a lightweight music playback solution. It supports local credential storage, playback resumption, and keyboard shortcut control, making it suitable for developers who need to manage conversations and background music simultaneously.