dsh-netease-cdp
IdentifiedControls an already-running NetEase Cloud Music desktop client over CDP (the client must be started with --remote-debugging-port=9222) and searches songs through NetEase's public web API; no API key o
dsh-netease-cdp
用 Chrome DevTools Protocol(CDP) 驱动网易云桌面客户端,做成 DeepSeek Harness 点歌工具。
CDP 控制的是你已经登录的客户端窗口(会员曲库 / 私人雷达跟你本机会话走);关键词搜索走公开 web 接口,不读 cookie、不碰私有登录 API。
社区插件,与 DeepSeek / 网易云官方无关。
移植自canyueY/netease-cdp。
English: README.en.md
为什么用 CDP
网易云的私有 API 需要登录态、签名和频繁变动的加密参数,维护成本高。CDP 走的是另一条路:
- 客户端本来就登录着,会员曲库、私人雷达、每日推荐都在;
- 通过调试端口读播放器状态、派发播放动作,等价于“替用户点了一下”;
- 搜索用公开 web 接口拿 song id,再交给客户端播放;
- 不保存账号密码,不调用登录接口。
前提:客户端必须带调试端口启动
"C:\Program Files\Netease\CloudMusic\cloudmusic.exe" --remote-debugging-port=9222
调试端口只在进程启动参数里生效,运行中改不了。改完要完全退出客户端再开。
安装
dsh plugin --profile web add github:DSH-Raising-Plan/dsh-netease-cdp#plugin/dsh
本地开发需要先装依赖(ws):
npm ci
npm test
工具
| 工具 | 参数 | 作用 |
|---|---|---|
netease_probe | port? | 探测 CDP 是否可用,并返回当前曲目 |
netease_now_playing | port? | 读取当前曲目 |
netease_search | keyword(必填)、limit(1–20) | 搜索候选(id/name/artists),不播放 |
netease_play | song_id(必填)、force? | 按 song id 点播(force 用于同一首强制重派发) |
netease_play_keyword | keyword(必填)、index?、limit? | 搜索并点播第 N 个候选 |
netease_insert_next | song_id(必填) | 插到“下一首播放”,不打断当前曲 |
netease_play_card | card | 播放发现页卡片:daily / private_radar / heart_mode / private_roam |
netease_next | dom_fallback? | 下一首(Redux 失败时默认点 DOM) |
netease_prev | dom_fallback? | 上一首 |
插件还会在 ctx.netease 上挂搜索/点播能力,供其它插件复用。
配置
端口优先级:工具参数 port > ctx.config['dsh-netease-cdp'].port > 环境变量 NETEASE_CDP_PORT > 9222。
{
"dsh-netease-cdp": { "port": 9222 }
}
使用示例
netease_probe → 客户端在线?现在在放什么?
netease_play_keyword {"keyword":"夜航星"} → 搜索并播放第一首
netease_play {"song_id":"1234567"} → 精确点播
netease_insert_next {"song_id":"1234567"} → 插队到下一首
netease_play_card {"card":"private_radar"} → 播放私人雷达
故障排查
| 现象 | 原因 / 处理 |
|---|---|
连不上 CDP 端口 9222 | 客户端没带 --remote-debugging-port=9222 启动,完全退出后重开 |
没有可用的 page | 客户端还没加载完,等几秒再 probe |
Cannot find package 'ws' | 在插件目录执行 npm ci |
| 搜索有结果但播放无效 | 客户端未登录 / 会员曲库受限 / 页面结构变化,先 netease_probe 看状态 |
| 切歌不稳定 | 新版客户端可能改 Redux 路径;netease_next 默认会回退点 DOM |
限制
- 只控制桌面客户端,不是网页版;
- 搜索接口是公开 web API,可能随站点改动失效;
- 不读 cookie,因此拿不到“私人 FM 推荐理由”之类的账号数据;
- 客户端更新可能改变内部页面结构,需要跟着修选择器;
- 点播是“派发动作”,不保证版权/地区限制下一定成功。
开发
npm ci
npm test
npm run check
需要 @deepseek-ai/dsh-tools(或设置 DSH_TOOLS_PATH)才能注册工具。
许可
AGPL-3.0-or-later
Comments
Loading…
Similar plugins
by ZhaoZiyangShaanxi
Windows only, needs the NetEase Cloud Music client installed. NetEase Cloud Music player for the DSH Web UI: a mini bar that expands into a liquid-glass card with search, synced lyrics and volume, a c
★ 0
MIT
JavaScript
Oct 21, 2026
dsh plugin --profile web add dsh-netease-musicFull-page NetEase Cloud Music player for DSH: daily recommendations, playlist browsing by category, charts, new releases, search, playlist/album/artist pages, QR-code login, synced lyrics, queue and d
★ 0
dsh plugin --profile web add dsh-plugin-musicby doitian
NetEase Cloud Music (music.163.com) player and AI DJ bundle for DeepSeek Harness
★ 0
JavaScript
Oct 16, 2026
dsh plugin --profile web add @doitian/dsh-musicby xiaoqiezi-china
为Deepseek-Harness开发的音乐播放插件。允许用户播放本地与网易云音乐。支持通过Cookie解锁VIP歌曲。提供了丰富全面的skill允许Agent控制音乐播放,自定义播放器CSS层叠样式表。允许队列结束后自动通知AI来挑选新的歌曲。
★ 0
↓ 244/wk
MIT
JavaScript
Aug 15, 2026
dsh plugin --profile web add dsh-music-playerby xiekai886
这是一个可以让你边对话边听歌的 DeepSeek Harness 插件:折叠/展开两种可自由拖动的悬浮窗口形态,利用 Meting API 等解析源接入网易云音乐,支持歌单导入和按歌名或歌手搜索单曲导入。Chat and listen at the same time.
★ 4
MIT
JavaScript
Aug 16, 2026
dsh plugin --profile web add @dsh-external/dsh-musicDeepSeek Harness Web 本地音乐播放器插件:会话视图「音乐」标签页,flac/mp3 等常见格式,单曲/列表循环,macOS Music 风格 UI
★ 2
MIT
JavaScript
dsh plugin --profile web add @heshuren/dsh-music-player