dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
Media player for the DSH dock: plays audio (music player) and video (fullscreen) files, streamed over HTTP Range.
The best media player plugin in the DSH ecosystem — no contest. Pure audio (MP3, WAV, FLAC, M4A, ...) gets a proper music player; video (MP4, WebM, MOV, ...) gets fullscreen playback. Instead of loading a whole file as base64, dock-media streams bytes over HTTP Range (206 Partial Content), so large files open instantly and seeking stays smooth.
Media player plugin of the dock family: registers the media file viewer for audio + video extensions against the dock-files file domain, plus the matching editor-area view; it streams media bytes through its own /dock-media/source host route (Range-aware, so the <audio> / <video> element can seek and stream progressively).
/dock-media/source with Range → 206 Partial Content + Accept-Ranges: bytes. Large files open instantly, the seek bar works, and the whole file is never loaded into memory.inset:0 overlay when unavailable). In fullscreen the header becomes a translucent floating bar for an immersive view./dock-media/probe returns file size and media kind, so the header shows the .MP3/.MP4 badge and size immediately.<audio>/<video> element via src; no innerHTML / dangerous DOM injection.| Category | Extensions |
|---|---|
| Audio | mp3, wav, ogg, oga, opus, flac, aac, m4a, weba, wma, mid, midi |
| Video | mp4, m4v, webm, mov, mkv, ogv, avi, mpg, mpeg, flv, wmv, 3gp |
Note: whether the browser plays a file is decided by the codec, not the container/extension. Mainstream encodings —
mp4(H.264),webm(VP8/VP9/AV1),mp3,flac,ogg— essentially always play; old containers such asavi,flv,wmv,mpgare not decodable in most browsers and dock-media will tell you honestly (use a system player for those)..tsbelongs to TypeScript source (handled by dock-editor); dock-media does not claim it.
| Dependency | Type | Notes |
|---|---|---|
| dock >= 0.1.0 | peer (required) | workbench shell: the editor-area view, floating windows and ctx.workbench come from it |
| dock-files >= 0.1.0 | peer (required) | file-domain service: dock-media is dispatched as the media viewer |
| DSH Web environment | runtime | required; client platform is Web |
cordis ^4.0.0-rc.7 | peer | plugin framework (ships with DSH) |
react ^18.2.0 | peer (optional) | needed for client rendering; without it the viewer UI does not activate |
Optional companions: coexists with other viewers such as dock-editor, dock-markdown and dock-images, each taking over its own extensions.
Requires dock and dock-files:
Recommended install from the npm registry:
dsh plugin --profile web add dock-base
dsh plugin --profile web add dock-files
dsh plugin --profile web add dock-media
Or install from GitHub (alternative):
dsh plugin --profile web add github:AKS1st/dock
dsh plugin --profile web add github:AKS1st/dock-files
dsh plugin --profile web add github:AKS1st/dock-media
The /dock-media route only accepts requests from trusted origins (loopback / trustedHosts plus same-origin check); source is GET (streaming) and probe is POST (metadata). Read paths only need to be absolute — they are not confined to the session workspace, because the conversation context can mention media outside it (e.g. ~/Music/..., ~/.dsh/skills/...) and the player opens them; paths are read-only, never written back.
MIT