dsh-netease-music:在 DSH 里用原生工具管理网易云音乐

前言

在 DSH 里让模型「听歌、下歌、改歌单」,常见做法是写 shell 脚本或让 agent 自己拼 curl。网易云接口要走 weapi 加密,直链还会过期,字段在不同 API 里也不一致——模型很容易在路径、加密和重试上踩坑。

下面介绍社区插件 dsh-netease-music(维护者 XiaoMao-yty,分类:联网工具)。它把一套零 npm 依赖的 Node CLI nm.js 和配套 skill 挂进 DSH / Cordis:Host 注册 netease 原生工具,模型不必记 CLI 路径,也不必走 bash。单曲、MV、歌词、云村笔记、歌单操作,以及 AI 私人电台策展,都走同一套能力面。

这是什么

dsh-netease-music 是网易云音乐工具插件,面向 DeepSeek Harness(Cordis)环境下的 agent 开发者。

提供物 说明
netease 工具 将 CLI 子命令暴露为 DSH 原生工具
skill netease-cloud-music 用法、音质档位决策、已知接口坑、策展流程
nm.js 稳定落在 $DSH_HOME/netease/bin/nm.js,也可直接用 bash 调用

插件版本在 package.json 中为 1.0.0,许可证 MIT。社区目录页:SkillHub - dsh-netease-music;源码:GitHub - XiaoMao-yty/dsh-netease-music。

核心功能

能力以 README 与 skill 文档为准,主要包括:

媒体抓取与导出

  • 单曲:128k / 192k / 320k MP3、无损 FLAC、Hi-Res、超清母带;自动写标签与封面
  • MV:240p / 480p / 720p / 1080p
  • 歌词:导出 .lrc,可选原文 / 译文 / 罗马音 / 双语合并,含 [ti:]/[ar:]/[al:] 标签
  • 云村笔记(Mlog):视频、正文、图片

账号与库内操作

  • 歌单:查看、新建、加歌、移出、改名、删除
  • 搜索、专辑、歌手主页、用户主页、评论、听歌排行、排行榜、收藏夹、音乐云盘、相似歌曲、每日推荐
  • 图片原图:专辑封面、歌手头像与写真、MV 封面、主页背景

AI 私人电台

读口味 → 混合每日推荐 / 私人雷达 / 相似歌曲 → 挑歌写推荐语 → 建私密歌单;dj check 可自主检测推荐是否已刷新(网易云不暴露刷新时刻,靠内容指纹实测)。

完整子命令与决策规则见仓库内 skills/netease-cloud-music/SKILL.md。

安装与启用

安装命令须使用资料原文,不要自行拼接 dsh plugin add github:... 形式。

dsh plugin --profile web add https://github.com/XiaoMao-yty/dsh-netease-music/archive/refs/heads/main.tar.gz

装完后必须重启 dsh web。只有重启后 Host 才会挂载插件、注册 netease 工具,并同步 netease-cloud-music skill。

卸载:

dsh plugin --profile web remove dsh-netease-music

登录与会话

首次使用需要扫码登录:

node $DSH_HOME/netease/bin/nm.js login --qr     # 出码,并把二维码复制到工作区
node $DSH_HOME/netease/bin/nm.js login --wait   # 等待扫码(不要重跑上面那条,会换码)

若配合 dsh-better-sidebar 的 /sidebar/file 媒体路由,二维码可在聊天窗口内联渲染扫码。会话写入 $DSH_HOME/netease/session.json(权限 600)。该文件等价于账号凭据——不要提交到仓库,也不要随 skill 目录打包分享。

配置

在 profile 的 cordis.patch.yml 中追加(常用路径 ~/.dsh/profiles/web/cordis.patch.yml):

- id: dsh-netease-music
  config:
    cliPath: ''            # 覆盖 CLI 路径;留空用包内 scripts/nm.js
    timeoutMs: 600000      # 单次命令超时,默认 10 分钟(够下 MV)
    workspace: ''          # 默认工作目录;留空用会话工作区

运行依赖

  • Node ≥ 18(仅内置模块 + 全局 fetch,无 npm 依赖)
  • python3 + segno:仅用于渲染登录二维码,pip3 install segno
  • ffmpeg / ffprobe:写标签封面、读取真实分辨率;缺失时跳过而不失败

建议把下载目录放在会话工作区内,以便配合 dsh-better-sidebar 在聊天里内联展示专辑封面与登录二维码(该路由只服务工作区内的文件)。

典型用法思路

经过上面的安装与重启,在对话中可直接调用 netease 工具,由 skill 引导模型选择音质、处理歌词语言、或走 AI 电台策展流程,而无需模型自行维护 nm.js 路径。

需要手动调试时,可直接调用 CLI,例如登录两步如上;具体下载、歌单、搜索等子命令以 nm.js --help 与 SKILL.md 为准。

适用场景与注意

适合谁

  • 已在 DSH web profile 下开发 agent,需要从网易云拉取可落盘的音乐资源或管理歌单
  • 希望把「接口加密、直链过期、字段差异」封装在插件与 skill 里,而不是每次让模型写 curl

使用前请知悉

  • 插件以当前 dsh 进程权限运行;安装前请自行审阅 源码仓库 与 MIT 许可证。
  • 改代码或自建调用链前,README 列出的接口坑(weapi 加密、搜索路径废弃、直链约 20 分钟过期、写操作频率限制等)应优先阅读 SKILL.md。
  • DSH 社区插件目录(如 SkillHub)为独立生态站点,与 DeepSeek / 幻方无官方从属关系;本文介绍的是社区维护的联网工具插件。

结尾

dsh-netease-music 把网易云抓取、歌单管理与 AI 私人电台策展收敛成 DSH 原生 netease 工具与 netease-cloud-music skill,零 npm 依赖,适合在 Harness 里做可复现的音乐工作流。

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

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

Xiaoye