Web 界面里的悬浮音频控制面板:控制 Windows 媒体会话(SMTC)的播放/暂停/上一首/下一首与系统主音量/静音,由注册路由的主机半调用 PowerShell 助手实现。
安装
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:Li-Mingshuang/dsh-audio-control
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
在 DeepSeek Harness 的 Web 界面里直接控制电脑音频 —— 播放 / 暂停 / 上一首 / 下一首 / 音量 / 静音。
不用切窗口、不用摸媒体键:右下角悬浮一个控制面板,浏览器里就能遥控本机正在播放的音乐。

功能
- 🎵 多媒体会话控制:自动列出所有媒体会话(网易云音乐、Spotify、浏览器标签页……), 每个会话一行,带 ⏮ 播放/暂停 ⏭ 按钮和当前曲目
- 🔊 系统音量:音量滑条 + 一键静音,实时同步(改完立即生效、不卡界面)
- 🟢 出声指示:面板标题栏的小圆点提示当前是否有声音输出
- 🪟 悬浮面板:固定在右下角,可收起成 🎵 小圆钮,不挡聊天区
- ⚡ 改动即时热更新:前端改动由 DSH 的 client-hmr 自动热重载,无需重启
安装
这是一个 DSH profile bundle,安装后自动挂载(自带组合补丁,无需手改配置):
dsh plugin --profile web add git+https://github.com/Li-Mingshuang/dsh-audio-control.git
重启 Web GUI 后,右下角出现 🎵 面板。
前提:运行 Web GUI 的机器是 Windows,且有 PowerShell(
powershell.exe即可,不要求 pwsh)。
把仓库放到任意目录,然后在 $DSH_HOME/profiles/web/package.json 里加:
{
"dependencies": {
"dsh-audio-control": "link:C:/path/to/dsh-audio-control"
},
"dsh": {
"profile": {
"bundles": ["@deepseek-ai/dsh-base", "@deepseek-ai/dsh-web-app", "dsh-audio-control"]
}
}
}
然后 pnpm install --offline --dir $DSH_HOME/profiles/web 并重启 GUI。
使用
面板上每个媒体会话一行:
| 按钮 | 作用 |
|---|---|
| ⏮ | 上一首 |
| ▶ / ⏸ | 播放 / 暂停(显式指令,不会因状态不同步而误触发) |
| ⏭ | 下一首 |
| 🔊 / 🔇 | 静音开关 |
| 滑条 | 系统主音量(0–100%) |
| 标题栏 🎵 圆钮 | 收起 / 展开面板 |
工作原理
浏览器面板 (React,轮询 /audio-control/sessions)
│ fetch(/audio-control/command | volume | mute)
▼
DSH 主机半 (Node,Cordis 插件注册 webserver 命名路由)
│ spawn powershell.exe
▼
PowerShell 助手 → Windows SMTC(播放控制) + IAudioEndpointVolume(音量/静音)
- 主机半(
lib/index.js):在 Web GUI 的 webserver 上注册/audio-control/*路由, 每次调用跑一个动作驱动的 PowerShell 脚本,返回 JSON - 浏览器半(
lib/client.js):React 浮动面板,2.5 秒轮询一次状态 - 只依赖 Windows 自带能力,无需任何第三方二进制
路由一览:
| 方法 | 路径 | 请求体 | 作用 |
|---|---|---|---|
| GET | /audio-control/sessions |
— | { ok, sessions[], volume, muted, active } |
| POST | /audio-control/command |
{ action, app? } |
play / pause / toggle / next / prev |
| POST | /audio-control/volume |
{ value: 0..1 } |
设置主音量 |
| POST | /audio-control/mute |
{ muted? } |
设置 / 切换静音 |
关键词
中文:DSH 插件、DeepSeek Harness 插件、网页控制电脑音频、浏览器控制音量、音频控制面板、 多媒体播放控制、网易云音乐 远程控制、播放暂停 网页按钮、系统音量 网页滑条、Windows 音频控制、 SMTC 媒体会话控制、DSH 客户端插件示例、插件热更新示例
English: dsh plugin, deepseek harness plugin, control windows audio from browser, media session control, SMTC, system volume control web ui, play pause next track from web, netease cloud music remote control, floating audio control panel, cordis plugin example, hot reload client plugin, react web plugin for audio
开发
lib/ 是构建产物(已提交,安装即用);src/ 是源码参考。
重新构建需要 DeepSeek Harness 源码工作区(打包预设在其中),流程:
# 在 harness 工作区中(源码位于 packages/client/ui-audio-control)
tsc -b packages/client/ui-audio-control
tsdown --env.DSH_BUILD_FACE client
- 前端改动(
src/client/*)在开发链路下会被 DSH 的 client-hmr 自动热重载(浏览器无需刷新) - 主机半改动(路由 / PowerShell 脚本)需要重启 GUI
License
链接
同类插件
zhu1090093659/dsh-web#packages/dsh-task-board★ 8405
侧边栏多列任务看板:卡片交给真实 DSH 智能体会话执行,支持 cron 定时(Host 侧到点执行,关浏览器也生效)。
zhu1090093659/dsh-web#packages/dsh-web-all★ 8405
DSH Web UI 插件与皮肤合集:任务看板、git 图、右侧面板、远程移动端 UI、桌宠、实时 token 统计与皮肤中心。
ccch1mneyyy/dsh-TUI★ 4088
Claude Code 风格全屏终端 UI:像素鲸鱼顶栏、实时工作状态行、思考流式展开。
MeteorNOX/DeepSeek-Balance-Whale-Widget★ 4076
右下角常驻的小鲸鱼挂件:余额、今日已用与每轮对话消耗(含峰谷价),余额预警与今日预算的泡泡内容都可编辑;泡泡点击序列模块化自定义,支持并列加权 A/B、随机台词与随机图片;内置 30+ 厂商模板(OpenAI / OpenRouter / Kimi / 硅基流动 / 方舟 / 智谱 / MiniMax 等),按模型查余额与订阅额度;另有任务结束音效、导入音频、自定义角色与资源管理。数据全在本机,无遥测。
omdsh-dev/DSH-better-sidebar★ 4009
侧边栏完整工作台:内置文件渲染编辑、终端、Git 与子代理,支持三方插件注册新 Tab。
Devin-AXIS/deepseek-design#deepseek-idesign★ 1423
可视化设计工作室,支持网站、App 原型、海报、信息卡、报告和杂志的模板创建、元素编辑、选区级 AI 草稿衔接与导出。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。