DSH Plugins Marketplace

DSH Plugins

Plugins

/

dsh-plugin-vinyl-player

C

dsh-plugin-vinyl-player

Discovered

A cartoon vinyl record player for Bilibili audio inside the DeepSeek Harness Web GUI: search, shelve, and spin records while the music plays in the background.

Vinyl player

A cartoon turntable for Bilibili audio, living inside the DeepSeek Harness Web GUI.

Search for music · drop a record on the platter · keep listening while you work

MIT dsh-plugin deps

The vinyl player panel: a cartoon turntable with a record on the platter, a wooden cabinet, a speed selector and a volume knob

What it is

A record player, not a music app. There is no list of files, no playlist sidebar, no transport bar full of buttons — there is a turntable. You search for a song, a record appears in a crate, you drag that record onto the platter, and it plays.

The whole panel is drawn as an illustration: a wooden cabinet, a spinning black disc with a paper label, a chrome tonearm, a speed selector and a volume knob. It is meant to feel like a small object sitting on your desk rather than another tab.

And because the audio lives outside the panel, you can close the panel and the music keeps playing while you work elsewhere in the app.

The panel

TurntableRecords
The turntable: record on the platter, tonearm engagedPanel layout: the deck in the middle, with the record crate and favourites shelf underneath

Left: the deck itself. Right: how the panel is arranged.

The deck is the centre of the panel. Underneath it sit two shelves:

  • the record crate — whatever your last search turned up
  • the favourites shelf — the records you kept

Hover a sleeve and it swells toward you. Drag it onto the platter and it plays. Drag it onto the favourites shelf and it is collected.

The tonearm is the transport

There is no play button on the deck. To play, drag the tonearm onto the record. To pause, lift it back onto its rest. The arm follows your pointer around its pivot, and it works from the keyboard too.

This is the whole interaction, and it is why the panel has no transport bar: the gesture that starts the music is the gesture a real turntable uses.

Secondary controls — previous, stop, replay, next — sit underneath, along with a progress bar you can drag. The grey band ahead of the thumb shows how much of the track is already buffered.

Features

A drawn, not assembled, interfaceEvery part of the deck is vector artwork: gradients for the brushed metal and the vinyl sheen, a real paper label, a perspective-free front view.
Drag as the only verbDrag to play, drag to collect, drag to scrub. No settings panel, no menus.
Playback that outlives the panelClose the panel, keep the music. The sidebar entry keeps the current record in view.
A crate and a shelfSearch results become sleeves; the ones you keep get their own shelf and survive a reload.
Honest bufferingThe progress bar shows played, buffered, and not-yet-loaded as three separate bands.
Both languagesEnglish and 简体中文, following the app's locale.
Nothing written to diskAudio is streamed and released the moment you change track.

Install

Two ways. Neither needs a registry package: this plugin is distributed from its repository.

1. Ask an agent to install it

In a DeepSeek Harness conversation, say:

安装 https://github.com/ChiaquanLin/dsh-plugin-vinyl-player 插件

The agent installs the bundle and reloads the panel, and the turntable appears in the sidebar. This is the intended path — no terminal required.

2. Install with dsh

dsh plugin forwards to the profile's package manager, and --profile is required, placed between plugin and the subcommand:

dsh plugin --profile desktop add github:ChiaquanLin/dsh-plugin-vinyl-player

Use the profile you actually run — desktop for the desktop app, web for dsh web. To install from a local checkout instead:

git clone https://github.com/ChiaquanLin/dsh-plugin-vinyl-player
dsh plugin --profile desktop add ./dsh-plugin-vinyl-player

Adding the dependency also registers the bundle, so no separate enable step is needed. Check or undo it with:

dsh plugin --profile desktop list
dsh plugin --profile desktop remove dsh-plugin-vinyl-player

Afterwards

Reload the Web GUI. A 黑胶唱片机 / Vinyl player entry appears in the sidebar; open it and you have a turntable.

Requirements: a DeepSeek Harness Web GUI profile, and a network path to bilibili.com. Node 20+ is only needed to run the tests.

Installing into a profile affects every session in that profile, and the plugin survives a restart.

Using it

Do thisAnd this happens
Type in the search boxThe crate fills with records
Click a sleeveIt plays
Drag a sleeve onto the platterIt plays
Drag a sleeve onto the favourites shelfIt is collected, without playing
Drag the tonearm onto the recordPlay
Drag the tonearm back to its restPause
Drag the progress barScrub through the track
Click the heart on a sleeveKeep it, or let it go

How it fits together

The bundle has two halves, and they exist because a browser cannot talk to Bilibili directly.

The host half does the talking: it obtains an anonymous visitor cookie, signs its requests, and exposes four endpoints the panel can call — search, resolve a video's track list, resolve a playable stream, and proxy artwork. Audio itself is proxied through the host too, so range requests work and nothing is cached.

The client half is everything you see: the deck, the shelves, the drag and drop, and a small shared store that keeps the sidebar and the panel in agreement.

index.js              Host half — Bilibili client, routes, media proxy
lib/client.js         Client half — the panel, the deck, the store
cordis.patch.yml      Registers the plugin with the harness
locale/{en,zh}.json   Panel strings
icon.svg              Sidebar icon
docs/*.svg            The images in this README
tools/*.mjs           Test suites

Tests

node tools/count-checks.mjs   # run every suite, 17 suites / 370 checks
node tools/e2e-probe.mjs      # optional: drives a real headless Edge

There are no dependencies to install — the suites use only Node's standard library. The offline ones render the real components with a stub React and inspect the result, which is how the deck's geometry is verified: every disc is asserted to be a <circle>, the cabinet is asserted to contain its platter, and the tonearm's stylus is asserted to land where it should. The browser probes cover what static checks cannot see, such as how a real media element responds to a seek.

node tools/count-checks.mjs --write updates the totals quoted in this file, so they cannot drift from the suites that produce them.

Legal

This is an unofficial project. It is not affiliated with, endorsed by, or sponsored by Bilibili, and it contains no audio, video, or artwork — everything played is streamed at runtime from Bilibili's own servers.

It does not bypass paywalls, DRM, or access controls, and it writes nothing to disk. You are responsible for complying with Bilibili's terms of service and with the copyright law of your jurisdiction. For personal, lawful listening only.

Please read LEGAL.md before using it.

Licence

MIT © ChiaquanLin


Issues and pull requests welcome. See CONTRIBUTING.md and SECURITY.md.

Comments

Loading…

Similar plugins

dsh-music-studio

by jypjypjypjyp

Music composition for DeepSeek Harness: the model writes a score against a bundled composing skill, and a play_score tool renders it as an inline card with a piano roll, Web Audio playback and WAV/JSON export.

Vision & MultimodalUI & ExperienceManifest valid

★ 1

JavaScript

Oct 19, 2026

dsh plugin --profile web add @jypjypjypjyp/dsh-music-studio

DeepSeek Harness Web 本地音乐播放器插件:会话视图「音乐」标签页,flac/mp3 等常见格式,单曲/列表循环,macOS Music 风格 UI

UI & ExperienceManifest valid

★ 2

MIT

JavaScript

dsh plugin --profile web add @heshuren/dsh-music-player

by xiekai886

这是一个可以让你边对话边听歌的 DeepSeek Harness 插件:折叠/展开两种可自由拖动的悬浮窗口形态,利用 Meting API 等解析源接入网易云音乐,支持歌单导入和按歌名或歌手搜索单曲导入。Chat and listen at the same time.

Just for FunManifest valid

★ 4

MIT

JavaScript

Aug 16, 2026

dsh plugin --profile web add @dsh-external/dsh-music

by rinsoraa

Music visualiser for the DeepSeek Harness turn-navigation rail: bars grow and thicken with system audio (WASAPI loopback), geometry only, no admin rights.

UI & ExperienceManifest valid

★ 0

MIT

JavaScript

Oct 20, 2026

dsh plugin --profile web add dsh-pulse-rail

by hey-ruomei

DeepSeek Harness music player plugin: search and stream legal music from Audius in the web UI, controllable by agent tools.

Terminal & ClientsManifest valid

★ 0

MIT

TypeScript

Aug 19, 2026

dsh plugin --profile web add dsh-music-player

by Goothe13-gugu

用于Deepseek Harness的插件,让你的大模型边思考边唱歌。A plugin for Deepseek Harness (DSH) to play music or audio when your LLM is thinking.

Tools & CapabilitiesManifest valid

★ 0

MIT

JavaScript

Sep 23, 2026

dsh plugin --profile web add dsh-audio-cue