中文EN

dsh-music-player

fun已测通过npmMIT

DSH 音乐/小说播放器:在网页里听本地音乐(HTTP 流式)、用 AI 声音朗读本地小说(.txt/.epub)、播放在线 QQ/酷狗/网易云音乐与网络电台(支持 HLS 直播流)、定时播报每日新闻;可在面板操作,也可让 agent 通过 music_play 工具直接点播。

下载量 / Downloads
1,921
依赖体积 / node_modules
1.79 MB
测试时间 / Tested
2026-11-06
DSH 版本 / Version
0.2.2-rc.1

安装

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

沙箱测试结果

阶段结果
1 安装✓
2 列装✓
3 挂载✓
4 启动—

四阶段在隔离沙箱里跑:安装(有网)→ 列装 → 挂载 → 启动(后三步断网)。

README

dsh-music-player

![Awesome DSH Plugin](https://awesome-dsh-plugin.com)

DeepSeek Harness 音乐/小说播放插件。

写代码写累了、想摸鱼又不想切窗口?这个插件就是你的摸鱼神器——直接在 DeepSeek Harness 的网页里塞进一个 DSH音乐播放器:扫一下你电脑上的音乐目录(默认 ~/Music)就能在浏览器里听歌,带播放条和可拖拽的播放面板,还能自己建歌单。

光听歌还不够,它还能听书:把本地 .txt/.epub 小说丢给 AI 朗读,想听哪章点哪章、声音随便挑。现在还能听新闻:让 agent 用联网搜索收集当天头条(热点/国内/国际/科技/财经/体育/娱乐,或 AI 等任意自定义主题),整理筛选成口播稿用 AI 声音播报——支持每日多定时任务定时、静默收集、文字版阅读。还能听网络电台:中文主流台(央广/凤凰/CCTV 伴音等,含 HLS 流)与全球电台一键开播。最绝的是它注册了 music_play 等模型工具——你连鼠标都不用动,在对话框里跟 agent 说句「播放周杰伦的歌」,音乐分分钟响起来,摸鱼摸出新境界。

特性

  • 本地音频流式播放,刷新后断点续播
  • 顺序播放、单曲循环、乱序播放三种模式
  • 实时频谱可视化,两种样式可在「系统配置」切换(默认柱状图):柱状图与波形图(示波器式连续曲线,按低/中/高频分成三条层次线)
  • 实时歌词/字幕:本地歌曲自动显示同步歌词——优先读取文件内嵌歌词(FLAC LYRICS/MP3 USLT 标签,无需额外 .lrc),其次同名 .lrc,都没有时自动在线匹配;在线 QQ 歌曲显示官方歌词(外语歌带逐句翻译);AI 讲书时显示当前朗读句子。单击播放条歌词可打开完整歌词/字幕面板(标识当前进度、可拖动/拉伸、位置独立记忆),面板默认开启透明模式——歌词像直接悬浮在页面上,可在「系统配置」关闭
  • 播放时防止电脑熄屏/休眠(需浏览器支持,如 Chrome/Edge)
  • 播放条位置可换:在「系统配置 → 播放条位置」(配置页最后一项)里三选一——输入框上方(默认)/ 页面底部 / 悬浮可拖动。悬浮条是紧凑的三行卡片(歌词整行 / 歌名+频谱 / 播放控制,行高固定不随歌词有无跳动),整条可以直接拖着挪地方,位置会记住(配置页可「重置位置」回到默认右下角);改到底部/悬浮后,播放条不再挂在输入框区域,因此对话里的询问弹窗(会接管输入区)也不会再把它一起盖住——弹窗开着照样能暂停/切歌
  • 滚轮调音量:鼠标停在音量条上直接滚轮即可加减音量,按滚动快慢分两档步进——慢速滚动每次 1%(细调)、快速滚动每次 5%(快速拉大/拉小);上滚加、下滚减,滚轮被音量条消费,不会连带把外层对话滚走。鼠标滚轮慢慢拨与触控板细碎轻推都算慢速,鼠标快速连拨、触控板用力快滑算快速(阈值见 lib/client.js 的 VOL_WHEEL_* 常量)
  • 播放列表面板可自由拖动,右下角可拖拽调整大小,位置与尺寸跨刷新记忆
  • AI 讲书:本地 .txt / .epub 小说 AI 语音朗读,自动识别书名/前言/章节/尾声结构,播放条带章节目录跳转(打开即定位到当前正在播放的章节)、章节切换,可选 4 种中文 AI 声音(默认白桦)
  • music_play 模型工具:agent 可按关键词播放本地音乐,也可按小说名启动 AI 讲书
  • 每日新闻播报:agent 用 web search 收集当天头条(可分类别/自定义主题),整理筛选后 AI 语音播报;播放面板「新闻播报」页签随时回看、挑条目播放、看文字版;支持每日多定时任务定时与静默收集(详见下文「每日新闻播报」)
  • 多标签页统一播放器:同时开多个 DSH 标签页时,所有标签页共用同一个播放器——同一时刻只有一页出声,其余页静音并同步显示同一首歌/同一进度/同一播放状态(曲目、歌手、歌词、播放模式、音量、讲书章节全都一致),在任意一页点播放/暂停、上一首/下一首或直接点歌,都会作用到这个唯一播放器上(详见 FAQ)
  • 支持的格式:mp3 / m4a / m4b / aac / flac / wav / ogg / opus / webm / aiff(自动递归扫描子目录,上限 500 首)
  • 真实音质识别:扫描时自动识别每首歌的音质档位,播放条显示「格式 · 音质档」(如 FLAC · 无损 / MP3 · 高音质 / MP3 · 标准),与在线音乐的音质标签一致
  • 自建歌单:可新建多个歌单,从本地文件(支持多选、可跨目录)添加歌曲;播放条爱心按钮一键收藏到默认歌单「我最喜欢」;歌单作为播放来源时,顺序/乱序循环只在该歌单内进行
  • 在线 QQ 音乐:面板内置「QQ音乐」页签——微信/QQ 扫码登录(解锁 VIP/高音质)、我的歌单/推荐歌单/分类歌单/排行榜/新歌/搜索浏览、卡片式歌单展示、一键收藏到「我喜欢」
  • 在线酷狗音乐:面板内置「酷狗音乐」页签——酷狗 App 扫码登录(解锁高音质)、推荐/分类歌单/排行榜(TOP500 等)/统一搜索/我的歌单,逐字歌词内嵌翻译;详见下文「在线酷狗音乐」
  • 在线网易云音乐:面板内置「网易云」页签——扫码登录后浏览/搜索/播放(免费歌 320k 高音质直链、VIP 歌试听片段)、我的歌单/推荐/分类歌单/排行榜、YRC 逐字歌词与 LRC+逐句翻译;详见下文「在线网易云音乐」
  • 网络电台:面板内置「网络电台」页签——radio-browser 全球开放电台目录(数万台、无登录),按台名/国家/标签搜索,中文电台/热门电台按主题分组浏览、收藏与最近播放;支持 HLS(m3u8) 电台(央广/凤凰/CRI/CCTV 伴音等中文主流台),Host 端纯 Node 把 HLS 转成浏览器直接可播的音频流,无新依赖;music_play 传 source=radio 可按台名直接开播;详见下文「网络电台」

截图

播放本地音乐 · 播放QQ音乐

![播放本地音乐](assets/screenshot-bar.png) · ![播放QQ音乐](assets/screenshot-qq.png)

播放酷狗音乐 · AI讲书

![播放酷狗音乐](assets/screenshot-kg.png) · ![播放AI讲书](assets/screenshot-novel.png)

QQ音乐面板 · 酷狗音乐面板

![播放面板1](assets/screenshot-panel-qq.png) · ![播放面板2](assets/screenshot-panel-kg.png)

安装

需要已安装 dsh CLI。

从 npm 安装(推荐,已发布到 registry)

# 把 <profile> 换成实际 profile 名,如 web
dsh plugin --profile <profile> add dsh-music-player

从 GitHub 安装(备用来源)

# 把 <profile> 换成实际 profile 名,如 web
dsh plugin --profile <profile> add github:kendu76/dsh-music-player

安装后重启 DSH,打开 Web GUI:

  • 聊天输入区上方会出现「DSH音乐播放器」播放条
  • 点击右侧「列表」按钮打开播放面板
  • 在面板顶部点击「选择音乐目录」并选定音乐目录(默认 ~/Music),自动递归扫描
  • 之后可直接在对话框里让 agent 播放,例如「播放周杰伦的歌」

配置

插件为「Host 端 + Web 端」双面结构:

  • Host 端(lib/index.js):音乐扫描、HTTP 流式、歌单 CRUD/持久化、music_play/news_broadcast/news_schedule 工具、AI 讲书(小说结构解析 + TTS 合成)、新闻播报(期次持久化 + 口播稿渲染分块 + TTS 懒合成)
  • Web 端(lib/client.js):浏览器里的播放条 / 播放面板 / 频谱 / 歌单(收藏、一键清空)/ 讲书控制 / 新闻播报页签

两者由一个 cordis.patch.yml 插入 music-player 行并自动组对(在 Web 端 dsh.client 声明即指回该行名并加载浏览器半体):

- insert:
    - id: music-player
      name: 'dsh-music-player'

播放模式与音量等播放偏好都保存在 Host 端(见下),刷新后当前曲目与进度也会恢复(浏览器的自动播放可能被拦截,点一次 ▶ 即可解锁)。

状态持久化(重要):所有播放状态都持久化在 Host 端文件 ~/.dsh/music-player-prefs.json,包括:
音量、播放顺序、AI 讲书声音、播放范围、面板位置、上次播放的曲目/进度、每本小说的进度、QQ 搜索历史、QQ 面板所在层、QQ「我喜欢」收藏兜底。
因此即使在 dsh-desktop 桌面版(每次启动随机端口、浏览器存储按源隔离)下,重启后这些状态照样能找回。
升级兼容:旧版本(<0.7)把同样的键存在浏览器 localStorage 里。升级后客户端优先读 Host,Host 没有的记录会自动回退读取旧 localStorage 副本并迁移进 Host,升级不丢用户数据。
音乐/小说目录、自建歌单、QQ 登录态也持久化在 Host 端(见下文),同样不受影响。

自建歌单(收藏)

播放面板「本地音乐」页内新增子标签:曲库 / ♥ 我最喜欢 / +,支持自建歌单并把歌单作为播放来源——此时顺序/乱序循环只在该歌单内进行。

  • 新建歌单:点「+」输入名称即建(可建多个)。
  • 曲库加入:在「曲库」列表每首歌行尾有「+」按钮,点击可把该曲加入任一已有歌单,或直接新建歌单加入。
  • 添加歌曲:进入某歌单 → 点「添加歌曲」→ 打开本地文件多选框(可多选、可跨目录)加入歌单;歌单内每首歌支持上移/下移排序与移除。
  • 清空歌单:每个歌单(含「我最喜欢」)详情内都有「清空」按钮,二次确认后一键移除全部歌曲(歌曲文件不会被删除)。
  • 收藏:播放条上的爱心按钮一键把当前曲加入默认歌单「我最喜欢」,再点取消;「我最喜欢」固定不可删除/重命名。
  • 播放范围:在歌单里点歌,则顺序/乱序/单曲循环都在该歌单内;在「曲库」点歌则回到全库循环。
  • 命令:music_play 工具新增 playlist 参数,可让 agent 直接播放某个歌单(如「播放歌单 我最喜欢」)。
  • 歌单数据保存在 ~/.dsh/music-player-playlists.json,刷新/重启不丢;歌单可包含曲库目录之外的本地音频文件。

在线 QQ 音乐

播放面板顶部切到「QQ音乐」页签即可在线听歌。需先扫码登录(QQ 登录或微信登录),登录后可浏览/搜索/播放并访问「我的歌单」,VIP 曲目可播高音质。

使用声明(重要):在线 QQ 音乐功能通过非官方接口访问 QQ 音乐资源,所播放/收藏的内容版权归
版权方及 QQ 音乐平台所有。本功能仅供个人学习、技术研究、日常试听使用,
严禁用于任何商业用途、公开传播、二次分发或盈利行为。使用本功能即表示您已知悉并同意:
1. 您应对自己的使用行为及其后果负责;
2. 因使用非官方接口登录/播放导致的账号风控、封禁、限流,以及可能引发的法律、版权纠纷,均由使用者自行承担;
3. 本项目作者不承担任何因此产生的直接或间接责任。
如您不同意以上条款,请勿使用本功能。
  • 登录:两种扫码方式——QQ 登录或微信登录(推荐)。登录态保存在 Host 端(~/.dsh/music-player-qq-cookie.json),刷新/重启不丢;面板右上角可退出登录。
  • 浏览:6 个子页签——我的歌单 / 推荐歌单 / 分类歌单 / 排行榜 / 新歌 / 搜索。
  • 我的歌单:登录后展示当前账号的歌单(卡片式),本人创建的歌单卡片右上角可一键删除(二次确认;「我喜欢」不可删除)。
  • 推荐歌单:热门推荐 12 条,底部「加载更多」可续载。
  • 分类歌单:60+ 分类(默认折叠显示 8 个,可展开),每个分类的歌单支持「加载更多」。
  • 排行榜:巅峰榜/地区榜/特色榜等分组,点榜单看歌曲(带榜单封面卡片),榜单歌曲一次全量加载(如热歌榜 299 首,无需「加载更多」)。
  • 新歌:新歌速递(最新/内地/港台/欧美/韩国等)。
  • 搜索:搜歌曲与歌单,带搜索历史(Host 持久化,最近 10 条)。
  • 播放:点击任意歌曲即可播放(同一播放条 + 频谱);歌单详情/排行榜详情/新歌速递头部有「▶ 播放全部」按钮,一键把整列表加入播放队列、从第一首开始顺序播放;VIP 标识显示在歌名后,行尾显示歌手名。进入歌单/播放列表时自动定位到正在播放的那一首,且正在播放的条目以高亮选中态显示。
  • 收藏:播放条爱心按钮把当前在线曲目收藏到 QQ 音乐「我喜欢」,已收藏歌曲爱心实时点亮。
  • *

…(truncated)

以上内容来自 npm 上的 README,我们只做格式化,不改内容。

版本

npm 上共发布:38,最后更新 2026-09-20

链接

GitHub · Homepage · npm

同类插件