在侧边栏播放网易云歌曲并让 AI DJ 自动续歌
30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/5 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add doitian/dsh-music该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:待复验
是什么
dsh 原生插件 · other
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 26 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🟢 扫描:未发现敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。
发起外部网络请求
查看扫描证据(共 6 处,展示前 6 条)
- 发起网络请求lib/client.js:156
const health = await (await fetch(`${BASE}/health`)).json(); - 发起网络请求lib/client.js:162
const html = await (await fetch(`${BASE}/panel`)).text(); - 发起网络请求lib/client.js:244
const response = await fetch(`${API}${path}`, { - 发起网络请求lib/client.js:428
fetch(`${BASE}/health`) - 发起网络请求lib/netease.js:340
response = await fetch(url, init); - 发起网络请求lib/netease.js:390
response = await fetch(url, {
扫描于 2026/11/1(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 侧边栏播放歌曲
- AIDJ自动续歌
网易云音乐(music.163.com)播放器与 AI DJ 套装,适配 DeepSeek Harness
README
由 DeepSeek 最新模型翻译生成@doitian/dsh-music
网易云音乐(music.163.com)播放,外加一个给 DeepSeek Harness 用的 AI DJ。
DSH 侧边栏里的 Music 入口会打开播放器:队列、同步歌词、扫码登录、网易云红心,还有一个不断往队列里补歌的 AI DJ。智能体可以通过七个工具操作同一个播放器。
想开发这个插件,或者好奇它怎么跑起来的?看 docs/DESIGN.md。
安装
在桌面应用里:Plugins → Add plugin → @doitian/dsh-music,然后重启应用。侧边栏就会出现 Music。
如果用的不是 desktop 配置档,改从终端安装:
dsh plugin --profile <name> add @doitian/dsh-music
播放器跟随 Harness 的语言设置(中文或 English)。
登录
可选。未登录时,搜索、榜单、歌单、歌词和非 VIP 播放都能用;VIP 歌曲没有音频。
在播放器里点 登录 Sign in,用网易云音乐 App 扫码,或者让智能体调用 music_login。cookie 存在 $DSH_HOME/music/session.json。
听歌历史。
展开完整文档(README 剩余 1 节)
@doitian/dsh-music 网易云音乐(music.163.com)播放,外加一个给 DeepSeek Harness 用的 AI DJ。 DSH 侧边栏里的 Music 入口会打开播放器:队列、同步歌词、扫码登录、网易云红心,还有一个不断往队列里补歌的 AI DJ。智能体可以通过七个工具操作同一个播放器。 想开发这个插件,或者好奇它怎么跑起来的?看 docs/DESIGN.md。 安装 在桌面应用里:Plugins → Add plugin → @doitian/dsh-music,然后重启应用。侧边栏就会出现 Music。 如果用的不是 desktop 配置档,改从终端安装: dsh plugin --profile <name> add @doitian/dsh-music 播放器跟随 Harness 的语言设置(中文或 English)。 登录 可选。未登录时,搜索、榜单、歌单、歌词和非 VIP 播放都能用;VIP 歌曲没有音频。 在播放器里点 登录 Sign in,用网易云音乐 App 扫码,或者让智能体调用 music_login。cookie 存在 $DSH_HOME/music/session.json。 听歌历史。 登录后,你在这里播放的歌曲会出现在网易云的历史记录里 —— 最近播放和听歌排行 —— 所有设备都能看到,来源显示为网页播放。一首歌要听过跳过窗口才算数(30 秒,或者长歌的四分之一);更早就跳过的不记录。想让播放记录只留在本地,关掉播放器顶部的 Listening history 开关(登录后才会出现),或者在配置里设 scrobble: false;开关的优先级高于配置。 智能体工具 | 工具 | 用途 | | music_search | 在网易云搜索歌曲 | | music_play | 按 id 或搜索词加入队列并播放 | | music_queue | 查看、追加、插入、替换、移除、跳转、清空 | | music_control | 播放、暂停、下一首、上一首、跳转进度、音量、静音、模式 | | music_dj | 运行或配置 AI DJ,可带心情简述或临时加权 | | music_now_playing | 当前播放和下一首,以及是否已登录 | | music_login | 状态、二维码、轮询、设置 cookie、退出登录 | 音乐在 Harness 窗口里播放,所以别关窗口。切到会话时播放不会中断。 使用播放器 窗口够宽时,播放器分两栏:左边是正在播放的内容 —— 封面、歌曲控制、播放控制和歌词 —— 右边是接下来要播的 —— AI DJ 卡片和队列。窗口窄了就上下堆叠。 音质。 在播放控制下面选一档:standard、higher、exhigh(320 kbps,默认)、lossless、hires,或者空间音频档位 jymaster、dolby、sky、jyeffect。如果某首歌不提供这一档,播放会逐级降档直到能播,说明文字会显示实际用的档位。 口味。 每首歌有三种状态:红心、未评价、不喜欢: | 控件 | 效果 | | ♡(标题旁边,或队列行上) | 在你的网易云账号里加红心。再点一次取消。 | | ✕(标题旁) | 不喜欢:这首歌离开队列,下一首接着播。只在本机生效;DJ 不再挑它。 | | ✕(队列行) | 移除这首歌。未评分的歌也会记为不喜欢。 | 跳过。 在 30 秒前(长歌则在四分之一前)按下一首,算一次跳过。一次跳过降低歌曲排名;两次就把它从 DJ 的挑选里移除,跳过的播放还会记到歌手头上。不喜欢不会同时算作跳过。 AI DJ 用播放器 AI DJ 卡片里的开关打开,或者用 music_dj。队列里剩不到 3 首歌时,DJ 会追加一批 5 首。它只负责往队列里补歌;从不开始或停止播放。 它怎么学你的口味: 从你的 NetEase 喜欢,以及你听完的歌里学。DJ 挑的歌,只有你听过了跳过窗口才算数,所以它自己的挑选教不会它你喜欢什么。 它去哪儿找: 和你听过、喜欢过的歌相似的歌,私人 FM 和三天没听的喜欢歌曲(登录后),每日推荐,新歌,以及四大榜单。登录后,榜单和新歌分到的位置更少,你自己的来源更多。每个来源都会缓存几小时并抽样,所以每批都不一样;发往 NetEase 的请求会拉开间隔,而不是一股脑发出去。 加权。 想让正在播的这类歌多来点,或者少来点,又不想留下长期的喜欢或不喜欢?按歌名旁的 ▲(多来点这种)或 ▼(少来点这种)。加权持续一小时,然后自己过期。DJ 开着时,▲ 还会在当前这首后面紧接着排几首相似的歌,▼ 则把 DJ 接下来要挑的相似歌曲从队列里拿掉(你自己排的歌留着)。生效中的加权会列在 AI DJ 卡片里,带剩余时间;按其中一个的 ✕,或者按实心的箭头,就能提前结束。智能体也能设置,时长从 5 分钟到 12 小时都行。 心情简述。 在 AI DJ 卡片里输入一种心情,比如 雨天 爵士 或 90s cantopop。DJ 会拿它去搜 NetEase 歌单。有模型可用时,简述会先被改写成中文搜索词,每条简述改写一次。 谁来挑: - 模型层: 模型按你的口味和心情从候选里挑,并写一句氛围描述。它直接调用模型;它不是智能体,也不开启对话。 - 启发式层: 没有模型可用或调用失败时使用。候选按心情匹配、常听歌手,以及你的喜欢、不喜欢和跳过来打分。 选择模型 默认情况下,DJ 用你会话的默认模型。想换别的,就在播放器的 AI DJ 模型 / DJ model 面板里选服务商和模型(测试 Test 只检查,不动队列),或者在你的配置档 cordis.patch.yml 里设置: - id: music name: '@doitian/dsh-music' config: dj: provider: opencode-go model: deepseek-v4.1-flash 播放器的选择优先于配置档;回退 Revert 把控制权交还回去。如果 DJ 退回启发式,健康页会在 dj.modelError 里说明原因(见故障排查)。 配置 所有字段都是可选的,放在配置档 cordis.patch.yml 里插件条目的 config 下。加载器会整体替换 config,所以把所有选项放在同一个块里。 | 字段 | 默认值 | 含义 | | audioLevel | exhigh | 起始音质,直到你在播放器里选一个 | | dataDir | $DSH_HOME/music | session.json 所在位置 | | requestTimeoutMs | 15000 | NetEase 请求超时 | | scrobble | true | 把你的播放记录上报到 NetEase 收听历史,直到你使用播放器的开关 | | dj.provider / dj.model | 会话模型 | DJ 的模型,同上 | 批量大小(djBatchSize,5)和补充阈值(djAutoExtendBelow,3)在播放器里没有控件。停止 harness 后,在 session.json 里改。 故障排查 - 没有声音: Chromium 会阻止音频,直到你和页面交互。在窗口里任意位置点一下。 - DJ 没有使用模型: 在健康页查看 dj.modelError。 - 服务商说你的用法违反其约定: 使用服务商目录里的路由名(例如 opencode-go),不要在配置档的 headers 里设置 x-opencode-session。 - 在配置档里改了设置却没反应: 重启应用。 健康页是 Harness 自身地址上的 /music/health —— 例如 http://127.0.0.1:<port>/music/health,端口用 Harness 窗口所服务的那个。它会报告账号、队列、DJ 的模型状态,以及注册了哪些工具。 安全 - /music 路由自身没有认证;只在回环地址上提供服务。任何能访问该端口的人都能浏览、串流,并更改账号的喜欢。 - NetEase cookie 以明文存储在 session.json 里,任何端点都不会返回它。 已知限制 - 未登录时 VIP 曲目不播放,有些曲目按专辑售卖,所以即使有 VIP 也不播放(例如 晴天,id 186016)。 - 没有歌单编辑,也没有心动模式,不喜欢只留在本地:NetEase 对这三者都没有简单的端点。 - DJ 的模型模式还没有用真实模型端到端测试过。如果它出问题,dj.modelError 会说明原因,DJ 不用它也能继续工作。 - 只有你最新的 500 个喜欢会作为候选提供回来。
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
doitian/dsh-music
在侧边栏播放网易云歌曲并让 AI DJ 自动续歌
相关插件 · 其他
模型破甲清洗YuJunZhiXue/dsh-purge
⚔️ DeepSeek Harness 网络安全红队工具dsh-purge
★ 14,822已汉化DeepSeek 客户端
73
逆向分析桥接Fanqi89/dsh-rea
REA(Reverse Engineer Anything)MCP 桥接,用来把 REA 逆向工具接入 DSH 插件
★ 51已汉化DSH
72
红队越狱测试套件Minglink/dsh-infinite-gen-5
DeepSeek v4.1 flash 逆向工具无限五代 求 Star 收藏 ⭐欢迎大家提交项目的改进
★ 3,759已汉化DSH
71.4
语音女友beiyege-01/dsh-voice-ai-girlfriend
语音 AI 女友Voice AI girlfriend for DeepSeek Harness:Whisper…
★ 718已汉化DSH
71.2
协同办公空间dream-num/univer-workspace
一个让人类与 AI Agent 共同创作、协作和审阅的开源 Office 工作空间。
★ 2,261已汉化DSH
70.7
破甲评测WoYun520/dsh-purge
在本机分离宿主拦截与模型拒绝,做受控红队评测
★ 199已汉化DSH
69.7