dsh-netease-music:在 DeepSeek Harness 里听网易云

前言

在 Harness 里写代码、跑对话时,如果还想听歌,常见做法是切到浏览器或桌面客户端,或者让 Agent 去调 MCP 里的 cloud_music_play,往往还会拉起桌面网易云。侧栏一旦被悬浮播放器挡住,输入框也不好点。下面介绍社区客户端插件 dsh-netease-music(维护者 zeelinkCN,分类:客户端):把扫码登录、推荐/歌单/搜索和播放条收进 Harness 左栏入口;离开音乐面板后,播放缩到左侧栏 Settings 上方的迷你播放器,不悬浮、不挡对话区。对话里说「放首歌」时,Agent 走插件自带的 netease_play,在内置播放器里播,不启动桌面客户端。

这是什么

dsh-netease-music 是 DeepSeek Harness 的网易云音乐面板插件,当前版本 1.1.0(MIT 许可证)。它提供左侧栏红标入口、整页音乐界面(每日推荐 / 歌单 / 歌手 / 搜索),并通过常驻 Python 数据引擎对接上游 Code-MonkeyZhang/cloud-music-mcp(pyncm + 本机登录态)。界面需要封面、时长、歌词等结构化字段与可播放音源,因此插件在 Host 侧用 server/bridge.py 跑引擎;MCP 的 tools 主要面向文本,面板与 Agent 工具则共用扫码后的 cookie(会镜像到 engine/cloud-music-mcp/src/cloud_music_mcp/storage/cookies.json)。

目录页:SkillHub 插件页
源码:github.com/zeelinkCN/dsh-netease-music

核心功能

界面与播放体验

  • 官方红标:左侧栏、面板左上角、插件管理页统一使用网易云红底白音符图标(22px)。
  • 首页「听歌模式」轮播:心动模式、漫游·私人 FM、相似歌曲、相似艺人、每日推荐五张卡;6 秒自动轮播,支持箭头/滑动,悬停暂停,点卡片直接开播;接口不可用时降级并提示。
  • 全屏播放页:黑胶与歌词两种模式严格互斥——黑胶为模糊背景 + 旋转唱片,歌词为大字号滚动 LRC(当前行品牌红高亮,可点行跳转);底部保留完整工具栏(进度、音量、音质、队列等),右上角可切换并记住偏好;支持浏览器原生 Fullscreen API。
  • 音质:自动 / 标准 / 较高 / 极高 / 无损 / Hi-Res,切换时保持进度;会员账号可实测无损 FLAC(README 示例约 1.5 Mbps)。
  • 播放模式:顺序 / 列表循环 / 单曲循环 / 随机,播放条与全屏页各有一组控制,选择会记住。
  • 列表点歌不跳页:在歌单、搜索、推荐列表点曲只更新底部 dock 播放条,停留在当前列表;进入播放页需主动点封面或「打开播放页」等。
  • 红心收藏:曲目行、播放页、底部播放条三处红心状态同步,收藏到「我喜欢的音乐」;未登录会提示先登录。
  • 扫码登录:面板内出二维码,手机网易云 App 扫一扫;登录态仅本机,默认目录见配置一节。

播放条与侧栏迷你播放器

  • 在音乐面板内:页面底部内嵌 dock,占布局行,不遮列表。
  • 回到对话或其他面板:仅在左侧栏 Settings 上方显示迷你播放器(封面、歌名、上一首/播放/下一首、音量);侧栏收成 56px 时只留封面按钮。

对话里点歌(Agent 工具)

插件注册 netease_play、netease_player。cordis.patch.yml 默认还带 netease-mcp 行,Agent 也可调 MCP 搜索类工具;两套工具共享登录态。README 说明:cloud_music_play / cloud_music_login 等会唤起桌面客户端的 MCP 调用已被拦截,模型会被引导到插件播放器与面板扫码。

常见对应关系:

你说 Agent 调用 效果
「放点周杰伦」 netease_play({query:"周杰伦", limit:20}) 搜索并播放前 20 首
「听心动模式 / 私人 FM」 netease_play({mode:"heart"\|"roam"\|…}) 按模式生成队列
「暂停 / 下一首 / 收藏这首」 netease_player({action:"pause"\|"next"\|"like"\|…}) 控制同一播放器

播放不会自动切换你当前面板,也不启动桌面网易云客户端。

数据引擎自动安装

首次激活时,插件检测并自动安装数据引擎:克隆 cloud-music-mcp、创建 .venv、uv pip install -e .(无 uv 时退回 python3 -m venv + pip)。进度在面板「数据引擎」卡片显示,也可通过 GET /netease-panel/api/setup/install/log 查看。装好后自动连接并拉首页,无需重启 Harness。

安装与启用

README 写明:不需要任何命令行操作。在 DeepSeek Harness 里用 plugin_manager 的 install_bundle 指向该插件包目录即可。

经过上面的步骤,首次激活会自动安装引擎;左侧栏出现网易云图标后,点开扫码登录即可听歌。

依赖前置(自动安装时):

依赖 用途 没有时
uv 下载 Python 3.12 并建 venv(推荐) 退回系统 python3.10+ + pip
git 克隆上游 MCP 仓库 需提前把 cloud-music-mcp 放到 engine/
网络/代理 pip 与网易云接口 面板显示错误,可点「重试」

可选环境变量(一般不用改):

变量 默认 说明
DSH_NETEASE_MUSIC_DIR ~/.dsh/netease-panel 登录态与日志
DSH_NETEASE_PYTHON engine/cloud-music-mcp/.venv/bin/python 引擎解释器
DSH_NETEASE_ENGINE_DIR <插件目录>/engine/cloud-music-mcp 引擎安装目录
DSH_NETEASE_UV 自动探测 uv 可执行文件路径

典型用法

1、点左侧栏「网易云音乐」→ 右上角「扫码登录」→ 手机 App 扫码(会员账号解锁高音质)。

2、首页轮播选心动/漫游/每日推荐等,或切到「歌单」「歌手」「搜索」(搜索 tab 顶部有大搜索框,回车搜索)。

3、在列表连续点歌,用底部播放条拖进度、调音质、打开队列;点封面进入黑胶/歌词播放页,需要时用右上角「全屏」。

4、切回对话工作:迷你播放器留在侧栏底部;在对话里说「放首歌 / 来点周杰伦 / 听心动模式」,由 Agent 调用 netease_play 在同一播放器里播。

适用场景与注意

适合谁:长期在 Harness 里开发或对话、希望音乐留在侧栏与面板内、又希望 Agent 用自然语言点歌而不拉起桌面客户端的 DSH 用户。

运行权限与安全:插件以当前 DSH 进程权限运行,会拉起本机 Python 引擎、访问网易云接口并在本机保存 cookie(~/.dsh/netease-panel/cookies.json 等)。安装前请自行查看 GitHub 仓库 源码与 MIT 许可证;README 声明 cookie 不上传第三方,只经 pyncm 访问官方接口与本地 127.0.0.1。

已知局限(来自 README):未登录时会员曲目多为约 128k、约 42 秒试听;歌词为标准 LRC 非逐字;歌单详情首屏 100 行分页加载;迷你播放器依赖 Harness sidebar.footer.action 槽位,宿主改版时位置可能变化。

故障排查速查:

  • 引擎未装好:面板「重试」,或看 ~/.dsh/netease-panel/install.log。
  • 对话点歌无反应:确认侧栏可手动播放,查 ~/.dsh/netease-panel/bridge.log。
  • 扫码一直 waiting:检查网络/代理,同一日志文件。
  • 清空登录:面板退出登录,或删 ~/.dsh/netease-panel/cookies.json。

若不希望 Agent 直接操作 MCP 音乐工具,可删掉 cordis.patch.yml 里 netease-mcp 项并重启 Harness。

结尾

dsh-netease-music 把网易云收进 Harness 客户端:面板内完整听歌流程,侧栏迷你播放器兼顾对话工作区,Agent 用 netease_play / netease_player 在插件内播控。社区目录见 SkillHub,安装与细节以 GitHub README 为准。

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

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

小夜