前言¶
在 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