ppy-web/dsh-plugin-xiaomi-mimo-tts
ppy-web/dsh-plugin-xiaomi-mimo-tts为 DSH 提供小米 MiMo、豆包、Breeze 和浏览器语音,支持接入外部供应商与本地模型、文本过滤、实时流式朗读、音频下载、音效、桌宠及 QQ Bot、AI Passport 联动。
A local + online music player, natively embedded in DeepSeek Harness.
在 DeepSeek Harness 里,把本地曲库和三个在线音乐平台装进同一台播放器。
Local library · NetEase Cloud Music · QQ Music · KuGou · Lyrics · Cache · EBU R128
本地曲库 · 网易云音乐 · QQ 音乐 · 酷狗 · 歌词 · 缓存 · 音量均衡
| Online playlists · 在线歌单 | Platform accounts · 平台账号 |
|---|---|
| Now playing · 播放页 | Queue · 播放队列 |
|---|---|
| Statistics · 播放统计 | Instrumental · 纯音乐播放页 |
|---|---|
| Settings · 设置 | Context menu · 右键菜单 |
|---|---|
| Batch actions · 批量操作 | Metadata matching · 在线匹配 |
|---|---|
| Light theme · 浅色 | Dark theme · 深色 |
|---|---|
大多数音乐插件只做“能播”。dsh-music-panel 想做的是一台真正属于 DSH 的播放器:本地曲库、在线平台、歌词、缓存、元数据和播放统计共享同一套界面与队列,不需要在应用之间来回切换。
| 能力 | |
|---|---|
| 本地 + 在线 | 硬盘里的歌直接播;网易云 / QQ 音乐 / 酷狗的云端歌单与喜欢也能直接浏览和播放。 |
| 像播放器,而不是列表 | 专辑网格、黑胶播放页、逐行歌词与翻译、可拖拽队列、播放统计、快速定位。 |
| 把在线歌单当本地歌单 | 歌单缓存 + 预取 + 后台校准,切走再切回不重新加载;支持按平台顺序 / 名称 / 歌曲数排序。 |
| 曲库维护留在窗口里 | 在线补全标签、替换封面、校准歌词、检测重复、回收站恢复,不用打开第三方工具。 |
| 为 DSH 原生设计 | 左侧栏入口、输入框上方歌词条、会话内播放控制,跟随宿主深浅色主题与组件规范。 |
| 只在你的机器上运行 | Cookie、缓存、播放记录全部保存在本机;客户端不直连外部域名。 |
Ctrl / ⌘ + ← / → 切歌,/ 聚焦搜索。provider + playlistId 缓存 60 秒,导航项 hover / focus 预取;切回时先显示缓存,过期后后台校准。trans、QQ 加密翻译流、酷狗 KRC 内嵌译文。.lrc,播放页逐行高亮、翻译、字号 / 粗细 / 模糊 / 对齐可调、±0.5s 偏移。要求:DSH Web / Desktop。 插件需要浏览器载体播放音频,并使用宿主已配置的网络与存储。
在 DSH 的 插件市场 搜索 dsh-music-panel,或让 Agent 执行:
plugin_manager install_bundle dsh-music-panel
安装后完整重启 DSH,左侧栏出现音乐图标。
在 DSH profile 目录下:
pnpm add dsh-music-panel
然后重启 DSH。npm 包:https://www.npmjs.com/package/dsh-music-panel
本地音乐
在线音乐
~/.dsh/music/providers.json(权限 0600)。~/.dsh/music/,可随时清理。npm test # 19 test files
npm run check # syntax + manifest checks
npm run pack:check # package self-check
index.js + lib/**,提供 /music/* HTTP API。client.js 由 src/** 分片构建,单文件、零运行时依赖,只依赖宿主注入的 react。node scripts/build-client.mjs # rebuild client.js
node scripts/build-client.mjs --check # verify src and client.js agree
MIT © Aliboder
Most music plugins stop at “it plays”. dsh-music-panel is built as a real music player for DSH: local files, online providers, lyrics, caching, metadata, and listening stats share one interface and one queue — no app switching.
| What you get | |
|---|---|
| Local + online | Play files from disk, then browse and stream playlists from NetEase Cloud Music, QQ Music, and KuGou without leaving the panel. |
| A player, not just a list | Album grid, vinyl now-playing view, synced lyrics with translations, draggable queue, listening stats, and “jump to current track”. |
| Online playlists that feel local | Per-playlist cache, hover prefetch, stale-while-revalidate refresh, and sorting by platform order / name / track count. |
| Library maintenance in place | Match metadata, replace covers, edit tags, calibrate lyrics, deduplicate tracks, and restore from trash. |
| Native to DSH | Sidebar entry, lyric line above the composer, in-conversation playback, host theme tokens, and light/dark support. |
| Local by design | Cookies, cache, and history stay on your machine; the browser side never calls external domains directly. |
Space play/pause, Ctrl / ⌘ + ← / → previous/next, / focus search..lrc; line highlighting, translation, typography controls, alignment, and ±0.5s offset.Requires DSH Web / Desktop. A browser runtime is needed for playback.
Plugin marketplace (recommended)
Search for dsh-music-panel in DSH, or run:
plugin_manager install_bundle dsh-music-panel
Then restart DSH completely. A music icon appears in the sidebar.
npm
From the DSH profile directory:
pnpm add dsh-music-panel
Then restart DSH. Package: https://www.npmjs.com/package/dsh-music-panel
~/.dsh/music/providers.json (mode 0600).~/.dsh/music/ and can be cleared at any time.npm test
npm run check
npm run pack:check
index.js + lib/**, exposing /music/* HTTP routes.client.js is built from src/** as a single CJS module with no runtime dependencies beyond the host-provided react.node scripts/build-client.mjs
node scripts/build-client.mjs --check
See theme guidelines and UI review for conventions.
MIT © Aliboder