Introduction¶
The design philosophy of DeepSeek Harness (DSH) is “everything is a plugin.” To embed audio playback in the DSH web interface, developers usually need to handle audio streams on the browser side and interact with the Agent. The dsh-music-player plugin solves this problem. It provides an integrated sidebar and Agent tools, allowing users to directly search for and play legal free music from the Audius platform within the DSH interface.
Plugin Overview¶
- Name:
hey-ruomei/dsh-music-player - Positioning: A music player plugin for DSH Web profiles, used to search and stream music from the Audius platform.
- Maintainer: hey-ruomei
- License: MIT
Installation and Enablement¶
Run the following command in the terminal to install the plugin via the official plugin mechanism and restart the web service:
dsh plugin --profile web add github:hey-ruomei/dsh-music-player && dsh web
After installation, the web page will automatically load the plugin module.
Core Features¶
The plugin provides a complete set of playback and control features:
- Sidebar entry: A music button appears above the settings button in the DSH Web left sidebar. Click it to open the player panel.
- Library search: Supports searching Audius’s large music library (with debounce handling).
- Trending charts: Browse Audius trending charts without searching.
- Favorites and queue: Users can favorite songs (data stored in
localStorage, retained after restart) and click any track to add it to the playback queue. - Mini player bar: After closing the player panel, music does not stop. A floating mini player bar appears in the bottom-right corner for convenient playback progress control.
- Agent remote control: Control the player through Agent conversation tools without manual UI interaction.
Agent Control and Usage¶
The plugin provides four dedicated tools for the Agent to drive the player:
music_search: Search Audius and return the top 5 songs (including title, artist, duration, and ID).music_play: Play a song bytrackId, or match and play based on query terms.music_control: Control playback state. Supportspause,resume,next,prev, andset_volume(volume 0-1).music_status: Report the information of the currently playing song.
Typical Example:
Enter natural language commands directly in chat, for example:
“play some jazz”
The Agent automatically runs music_search and music_play, queues Jazz-style tracks, and starts playback.
Runtime Behavior and Notes¶
- Browser runtime environment: Audio playback fully depends on the browser. The
dsh webpage must remain open. If the page is closed, the Agent’smusic_playormusic_controlactions return explicit error messages instead of silently queueing. - Decentralized platform characteristics: Audius is a decentralized upload platform. Because nodes may go offline or content may be removed, some tracks may fail to play. The player automatically skips failed tracks and stops playback after three consecutive failures.
- Request identification: As required by the Audius API, all outgoing requests automatically include the
app_name=dsh-music-playerparameter.
Conclusion¶
This plugin is built using the bundle layer, webServer routing, and dsh.client slot mechanism provided by DSH, without relying on patching official packages. For developers who need to integrate music features into DeepSeek Harness, this is a ready-to-use tool.
- Directory page: hey-ruomei/dsh-music-player
- Source code: github.com/hey-ruomei/dsh-music-player