dsh-netease-island
DSH 灵动岛(Dynamic Island)风格的网易云音乐挂件:在页面顶部居中显示一个胶囊,
展示当前播放的封面、歌名、歌手与进度,并提供播放/暂停、上一首、下一首、点击进度条跳转。
收起态与展开态
上面这张是在开发用的静态页里渲染真实 lib/client.js 的截图。下面这张是真实 DSH 桌面窗口里
运行时的现场截图(已裁到顶部条,只看挂件本身):
在真实 DSH 桌面窗口里的灵动岛
它是怎么拿到播放状态的
不调用任何网易云私有接口,不登录,不读 cookie,不访问账号数据。
数据来自 Windows 的 SMTC(System Media Transport Controls,系统媒体控件)——
也就是你在按 Win 键时弹出的那个媒体控制浮层。任何向系统注册了媒体会话的播放器
(网易云、Spotify、浏览器里的网页播放器等)都会通过它对外暴露:
- 标题 / 歌手 / 专辑 / 封面缩略图
- 播放状态、播放进度与总时长
- 播放、暂停、上一首、下一首、跳转进度这些控制能力
宿主插件启动一个常驻的 Windows PowerShell 5.1 子进程(lib/smtc-bridge.ps1),
它从 SMTC 读取状态并按行输出 JSON,同时从 stdin 接收控制命令。
这样插件本身零依赖、不联网,也不需要用户做任何配置。
安装
从 GitHub 安装(推荐):
dsh plugin --profile desktop add github:yezisorft/dsh-netease-island
也可以直接用本目录的绝对路径安装:
dsh plugin --profile desktop add <本目录的绝对路径>
然后重启 DeepSeek Harness。
重启这一步是必须的:客户端注入表在宿主启动时只采集一次,之后没有刷新入口。
HTTP 路由是动态注册的,但页面里那份加载 widget.js 的注入行要在启动时才会被收集。
卸载:
dsh plugin --profile desktop remove dsh-netease-island
使用
- 平时收起为顶部居中的小胶囊;鼠标移上去展开。
- 点击胶囊主体 = 播放 / 暂停。
- 展开后:左侧上一首,右侧下一首,中间进度条可点击跳转。
- 胶囊可以拖动,位置会被记住;双击(或拖到顶部)恢复默认位置。
- 没有正在播放的会话时,整个挂件自动隐藏,不占用屏幕。
环境要求
| 项目 | 要求 |
|---|
| 系统 | Windows 10 / 11(依赖 WinRT 的 Windows.Media.Control) |
| PowerShell | Windows PowerShell 5.1(powershell.exe,不能用 PowerShell 7 / pwsh) |