前言¶
DSH 的插件思路允许把 Web 端能力挂到 dsh 运行环境里。dsh-MusicPlayer 针对一个具体场景:你在 DSH Web 对话过程中,希望同时播放、暂停、切歌,或让 agent 按自然语言控制播放,而不是离开对话页面去操作音乐客户端。
下面介绍这个插件的定位、已核实的能力、安装启用方式和注意事项。
这是什么¶
dsh-MusicPlayer 是一个面向 DSH Web 的插件,由 xiekai886 维护,许可证为 MIT。它提供一个悬浮播放器,接入网易云音乐歌单与单曲搜索,并暴露一个 music 工具给 agent 调用,使浏览器播放器与 host 状态机同步。
核心功能¶
悬浮播放器¶
播放器位于页面右下角,是深色毛玻璃小卡片。可拖动,位置自动记忆;展开/收起带动画。支持播放/暂停、上一首/下一首、点击进度条、音量、循环/单曲循环/随机、播放列表。
前端为手写 __ModuleLoader__ 格式,使用内联 SVG 图标,不依赖 CDN。
网易云音乐接入¶
支持导入/切换歌单:粘贴链接或 id。支持搜索单曲并加入播放列表。host 端代理搜索、歌单和音频流,绕过浏览器跨域与防盗链,并支持 Meting 同源地址解析。
默认曲库¶
可配置环境变量 DSH_MUSIC_PLAYLIST 指定歌单 id。启动时自动加载为内置曲库;未配置则播放列表为空,可手动导入。
agent 音乐工具¶
提供 music 工具,支持播放指定歌曲、导入歌单、搜索、切歌、暂停、调音量、切换模式、恢复/隐藏默认歌单、查看/添加/移除队列。
状态同步¶
浏览器播放器与 host 状态机通过 REST 同步:
- 轮询状态:
/dsh-music/state - 控制命令:
/dsh-music/command
无持久化,每次启动全新加载默认曲库。
安装与启用¶
安装需要 DSH CLI 与 pnpm。下面是已核实资料给出的安装命令示例:
dsh plugin --profile web add "github:你的用户名/dsh-music"
注意:命令里的 github:你的用户名/dsh-music 是占位示例,未给出实际完整仓库或包名安装命令。实际启用前,请以仓库 README 中给出的安装说明为准,不要直接拼接未经确认的仓库地址。
安装后需要重启 dsh web:
dsh --profile web
典型用法¶
1、点右下角播放器卡片展开;拖动卡片顶部任意位置可移动,位置自动记忆;点右上角箭头展开/收起。
2、点搜索入口进入网易云搜索:输入歌名或歌手,回车搜索;点 + 加入播放列表。
3、在第一行输入框粘贴网易云歌单链接或 id,回车导入,替换当前曲库。
4、在对话里输入自然语言控制,例如:
- “放首歌”
- “放一首周杰伦的晴天”
- “导入我的歌单”
- “下一首”
- “暂停”
- “随机播放”
- “音量调到 50%”
agent 会调用 music 工具控制播放器。
配置默认歌单¶
如果想让播放器启动时加载固定歌单,可设置:
set DSH_MUSIC_PLAYLIST=13060319975
dsh --profile web
未设置时,播放列表为空;打开播放器后可手动导入。
可选:登录态与稳定播放¶
默认匿名解析时,网易云对免费歌曲返回全曲,对受限/VIP 歌曲只返回 30 秒试听。匿名解析依赖第三方 Meting 服务,受限歌曲可能失效;若需稳定播放 VIP 全曲,推荐搭配自建云端代理。
如果需要本机登录态解析,可配置:
set DSH_MUSIC_COOKIE=MUSIC_U=...
dsh --profile web
DSH_MUSIC_COOKIE 应包含本机网易云登录态(含 MUSIC_U)。Cookie 仅保存在本机环境变量中,不会上传到任何第三方。
适用场景与注意¶
适合在 DSH Web 中需要边对话边听歌、并用自然语言控制播放/队列的使用者。
需要注意:
- 受版权/VIP 限制的歌曲可能无法播放。
- 本项目与 DeepSeek、网易云音乐无关;音频来自网易云公开接口与第三方 Meting 解析服务,仅供学习交流。
music工具与 UI 操作均在本地 DSH 实例内完成。- 插件会以当前 dsh 进程权限运行;安装前应检查源码与许可证。
- 云端代理地址与令牌请勿公开传播。
参考¶
- 目录页:https://www.skillhub.cn/plugins/xiekai886/dsh-MusicPlayer
- GitHub:https://github.com/xiekai886/dsh-MusicPlayer