DSH 音乐播放条:在侧栏同步网易云与 QQ 音乐歌单

前言

在 DSH(DeepSeek Harness)里长时间写代码或跟智能体对话时,很多人会在系统里另开一个音乐客户端,窗口来回切。DSH 社区插件 dsh-music-dock(维护者 CNCharon,分类:联网工具)把播放器嵌进 左侧菜单栏底部:登录网易云音乐或 QQ 音乐后同步收藏与自建歌单,显示歌名与滚动歌词,并提供上一首、暂停、下一首与播放模式。平台请求由 Host 同源转发,页面脚本不直接接触 Cookie。下面介绍它的定位、能力与安装用法。

这是什么

dsh-music-dock 是挂在 DSH Web profile 侧栏底部的音乐 Dock:接入 网易云音乐 与 QQ 音乐,登录后拉取你创建与收藏的歌单,支持顺序 / 随机 / 单曲循环,并展示歌手、歌名与歌词。插件尚未发布 NPM 包,通过 DSH 的 dsh plugin 从 GitHub 源码安装;要求 DSH 0.2.x,且 profile 带 webServer 服务的 Web 配置,Windows、macOS、Linux 均可。

侧栏里的交互方式

播放器宽度与侧栏内容对齐,位于其他插件按钮上方。侧栏收窄为 56px 导轨时,会退化为底栏上的一个按钮。

平时显示封面、歌名和当前歌词,底部一条播放进度;鼠标移入后歌词淡出,换成上一首、播放暂停、下一首、播放模式与展开按钮,移出再淡回歌词。点击封面、歌词或展开按钮可打开完整面板(封面、歌名、歌手、进度、歌词、歌单),点向下箭头或面板外任意处收起。

歌名前的圆点用于标识曲目类型:会员 / 付费曲目为红色,普通曲目为蓝色,未选曲目为灰色。完整面板里,鼠标移出显示歌词行,移入切换为进度条、音量与播放模式等控制。

两个平台能做什么

网易云音乐

支持扫码登录,或在设置里使用 Cookie 登录。登录成功后同步「创建的歌单」与「收藏的歌单」,可逐首播放并拉取歌词。

Cookie 登录步骤(README 原文):

  1. 在浏览器打开 music.163.com 并登录;
  2. 开发者工具 → Network → 任选请求 → 复制请求头里的 Cookie(须含 MUSIC_U);
  3. 粘贴到插件「Cookie 登录」。

也可点「扫码登录」,用网易云 App 扫描弹窗二维码。

QQ 音乐

支持扫码登录(QQ 或微信扫弹窗码,走官方 ptlogin2 票据流程,成功后自动换回 uin / p_skey 等凭据),或在少数账号扫码拿不到凭据时改用 Cookie。同步创建歌单、收藏歌单与「我喜欢的音乐」;会员曲目按 qm_keyst 鉴权,播放地址走 vkey 接口。

扫码失败时的 Cookie 登录:

  1. 在 y.qq.com 登录;
  2. 复制完整 Cookie(须含 uin,以及 p_skey / qm_keyst 之一);
  3. 粘贴到「Cookie 登录」。

登录即同步与其它能力

登录成功会立即拉取歌单;账号保存在本机 profile,重启后自动恢复并后台刷新。歌词支持按曲目记忆 −0.5s / +0.5s 偏移,用于整体超前或滞后。集中配置入口:设置 → 音乐播放条,可管理两平台登录与歌单浏览。

安装与更新

尚未发布 NPM 包,用源码方式安装。在带 Web profile 的环境里执行:

dsh plugin --profile web add github:CNCharon/dsh-music-dock

装好后重载插件,或在设置里关闭再开启「音乐播放条」,左侧栏底部会出现播放条。

发现新版本时,设置页会提示;按同样命令重新执行上述 add,然后重启 DSH。账号与登录状态保存在本机 profile 目录,更新不会丢失。版本说明可关注 Releases。

播放能力与限制

能否播放取决于平台返回的地址,插件不会伪造链接:

  • 免费曲目通常可直接播放;
  • 会员 / 版权受限曲目会显示「需要会员」等具体原因,顺序播放时自动跳过;
  • 网易云未授权曲目返回 -110,QQ 返回 result 104003,播放器会给出可读提示。

README 还列出的已知限制包括:会员曲目需要对应平台有效会员 Cookie;QQ 空间「背景音乐」是 dir 目录而非普通歌单,网页 Cookie 登录读不到其曲目;极少数 QQ 账号扫码后拿不到 qm_keyst,需回退 Cookie 登录;插件走各平台非官方接口,平台改版可能导致登录或取链失效。

技术结构(便于自查)

Host 注册 /music/player 前缀路由,由 lib/routes.js 提供同源 HTTP 与音频流转发(支持 Range),lib/providers/ 下 netease.js / qq.js 为平台适配器;client.js 负责侧栏播放器与设置页。页面脚本无法读取 Cookie,路由只接受同源请求。账号 Cookie 保存在 Host 进程与 <profile>/.dsh-music-player/accounts.json(仅 Cookie 与账号名,权限 0600)。

维护者在仓库中提供了自检命令(PowerShell 示例):

node test/routes-smoke.mjs   # HTTP 契约、错误信封、音频字节
node test/host-smoke.mjs     # 适配器直连各平台
node test/client-lint.mjs    # Client 静态检查(槽位、i18n、组件解析)

适用场景与安装前注意

适合希望在 不离开 DSH 主界面 的前提下听网易云或 QQ 音乐、并按自己的歌单切换的用户。插件以当前 DSH 进程权限运行,会向平台发起网络请求并在本机持久化登录凭据;安装前建议阅读 源码仓库 与 MIT 许可证,自行评估是否满足环境与合规要求。DSH 生态强调「一切皆插件」;skillhub.cn 等社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。

结尾

dsh-music-dock 把 QQ 音乐与网易云歌单、歌词和控制收进 DSH 左侧栏底部,用 Host 同源代理规避浏览器 CORS 并隔离 Cookie。需要时可从目录页了解概况,并按 README 中的 dsh plugin --profile web add github:CNCharon/dsh-music-dock 安装启用。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜