DSH Music:在 Harness 主区域整页播放网易云

前言

在 DeepSeek Harness 里做智能体或日常对话时,经常需要一边查资料一边听歌,或者让助手按歌名搜曲、拉歌词。系统浏览器切到网易云网页,和 DSH 窗口来回切换,上下文也容易断。DSH Music 把播放器做成桌面端插件:占满主区域,数据走宿主本地路由,音频经同源代理播放,不依赖本机再装独立播放器客户端。

这是什么

DSH Music(npm 包名 dsh-plugin-music,仓库 caimc21069065-prog/dsh-my-music)由维护者 caimc21069065-prog 发布,在 SkillHub 上归类为客户端插件。简介为:面向 DeepSeek Harness 的全页网易云音乐播放器。

宿主侧(Node / cordis)使用 netease-cloud-music-api-alger 作数据层,并提供本地 webserver:数据 API、音频流代理、下载落盘。客户端为 React,挂在 DSH 主区域整页,界面按 AlgerMusicPlayer 5.1(MIT)做 1:1 复刻并去掉原品牌后作为 DSH 原生插件运行。当前版本 1.0.3,许可证 MIT;要求 Node >=20、DSH >=0.2.0-rc.0。

核心功能

浏览与发现

客户端覆盖:发现、歌单广场、排行榜、新碟上架、搜索、歌单详情、专辑、歌手、最近播放、我的音乐、设置,底部常驻播放条。

发现页包含每日推荐大卡、推荐歌单、热门歌手、新碟与新歌速递;登录后右侧为私人 FM,未登录则显示热门歌单封面墙。歌单广场按分类浏览并支持滚动加载;排行榜与新碟可按地区切换。

播放器

支持播放队列,以及列表循环、单曲循环、随机播放;音量悬浮滑块、倍速、收藏、下载、播放历史、沉浸式歌词页、右键菜单与键盘快捷键(例如空格播放/暂停,方向键 seek 与调音量)。收藏与播放历史在本地持久化;登录后收藏可同步到网易云「我喜欢的音乐」。

账号与音质

设置 → 账号 → 扫码登录;登录态写入 ~/.dsh/music-cookie.json,无需重启即可作用于接口与音频代理。未登录可播标准音质/试听;VIP 曲目需登录会员账号。

下载

播放条、歌曲行与右键菜单均可触发下载,经宿主 /music/api/download 解析直链后由 Node 落盘。默认目录为 ~/Music/DSH,可通过配置改为绝对路径;VIP 在未登录或非会员时可能仅为试听片段,文件名与提示会标注 (试听)。

智能体工具

聊天内可直接调用 4 个工具:music_search、music_song_url、music_lyric、music_playlist_tracks,便于在对话里搜歌、取链、取词、列歌单曲目。

安装与启用

当前 README 标明尚未发布 npm,推荐手动安装。

1、编辑 ~/.dsh/profiles/desktop/package.json,加入依赖并在 dsh.profile.bundles 中注册插件:

"dependencies": {
  "dsh-plugin-music": "file:C:/path/to/dsh-my-music"
},
"dsh": {
  "profile": {
    "bundles": ["@deepseek-ai/dsh-base", "@deepseek-ai/dsh-web-app", "dsh-plugin-music"]
  }
}

将 file: 路径改为你本机克隆或解压后的插件目录(示例为 Windows 路径,Linux/macOS 同理使用绝对路径)。

2、在该 profile 目录执行 pnpm install,完全重启 DeepSeek Harness;左侧图标栏会出现「音乐」。

发布后,官方文档给出的命令为:

dsh plugin --profile desktop add dsh-plugin-music

配置

在 ~/.dsh/profiles/desktop/cordis.patch.yml 中可为插件 music 增加配置(片段来自 README):

- id: music
  config:
    cookie: 'MUSIC_U=xxxxxxxx'   # 可选兜底;界面扫码登录/退出后不再起作用
    requestTimeoutMs: 15000
    defaultLevel: standard       # 音频代理默认音质
    downloadDir: 'C:/Users/you/Music/DSH'  # 客户端下载目录,必须是绝对路径;留空用 ~/Music/DSH

cookie 仅作可选兜底;扫码登录或退出后以界面登录态为准。

典型用法

在界面里听

重启后点左侧「音乐」,在发现或搜索里选曲,底部播放条控制播放;需要全屏歌词时进入沉浸式播放页。要同步「我喜欢」或播 VIP 完整版,先在设置里扫码登录网易云。

在对话里调工具

助手在具备相应工具权限时,可调用 music_search 查歌、music_song_url 取播放链、music_lyric 取歌词、music_playlist_tracks 列歌单内曲目;具体参数以插件源码与 DSH 工具注册为准。

本地改 UI 后的刷新

README 说明:客户端 bundle 带长期缓存。修改 lib/client.js 后应完全退出 DSH(托盘 → 退出)再打开;可在播放条进度条悬停提示或 设置 → 关于 查看版本号(如 v1.0.3)确认是否加载新包。

架构要点

DSH 桌面端
├─ 宿主插件 lib/index.js
│   ├─ /music/api/*        数据接口
│   ├─ /music/stream/:id   音频流代理(Range 透传)
│   └─ 4 个 agent 工具
└─ 客户端 lib/client.js(React)
    └─ 与宿主同源通信;音频走本地代理

<audio> 直接指向 /music/stream/:id,避免混合内容问题;数据层对网络类错误会重试两次,减轻单板块偶发空白。

适用场景与注意

适合希望在 同一 DSH 桌面窗口内完成听歌、歌单管理与对话联动的用户;也适合需要把搜歌、歌词、歌单查询暴露给智能体的场景。

插件以当前 DSH 进程权限运行,会访问网易云相关接口与本地下载目录;安装前请自行阅读 GitHub 仓库 源码与 MIT 许可证。README 免责声明写明:UI 结构复刻自 AlgerMusicPlayer;数据依赖社区维护的第三方接口库,仅供个人学习研究,音乐版权归网易云及版权方所有,请遵守当地法律,勿用于商业用途,且不包含音源解锁组件。

DeepSeek Harness 生态强调「一切皆插件」;SkillHub 目录页 为社区站点,与 DeepSeek / 幻方无官方从属关系。

结尾

DSH Music 把网易云式的整页播放体验嵌进 Harness 主区域,并用宿主代理解决播放与下载,同时为智能体提供四个音乐相关工具。若要查看截图、开发命令与完整 API 表,请以仓库 README 为准。

  • 目录页:https://www.skillhub.cn/plugins/caimc21069065-prog/dsh-my-music
  • GitHub:https://github.com/caimc21069065-prog/dsh-my-music
羽毛球分组比赛记分
小程序二维码

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

小夜