让轮次轨道随电脑播放的声音起伏律动
31.5/100
综合分
2
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/11/3 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add XiaTian-606/dsh-whale-pulse该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
是什么
dsh 原生插件 · other
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 0 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令发起外部网络请求
查看扫描证据(共 11 处,展示前 11 条)
- 执行外部命令固定命令lib/index.js:108
const list = spawn('ffmpeg', ['-f', 'avfoundation', '-list_devices', 'true', '-i', ''], { - 执行外部命令固定命令lib/index.js:148
macProbe = spawn( - 执行外部命令固定命令lib/index.js:246
const child = spawn('swiftc', ['-O', '-parse-as-library', src, '-o', bin], { stdio: ['ignore', 'pipe', 'pipe'] }) - 执行外部命令来自配置/变量lib/index.js:273
macProbe = spawn(bin, [], { stdio: ['ignore', 'pipe', 'pipe'] }) - 执行外部命令固定命令lib/index.js:395
probeProcess = spawn( - 执行外部命令固定命令lib/index.js:605
child2 = spawn( - 发起网络请求lib/client.js:108
fetch('/dsh-whale-pulse/processes', { cache: 'no-store' }) - 发起网络请求lib/client.js:125
fetch('/dsh-whale-pulse/level', { cache: 'no-store' }) - 发起网络请求lib/client.js:233
fetch('/dsh-whale-pulse/config', { - 发起网络请求runtime/pulse.js:132
.fetch(REPORT_URL, { - 发起网络请求runtime/pulse.js:173
.fetch(LEVEL_URL, { cache: 'no-store' })
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
让 DeepSeek Harness 的轮次轨道跟着电脑正在播放的声音律动 · DSH 音频律动轮次轨道(WASAPI 回环、按应用捕获、不录音)。
README
由 DeepSeek 最新模型翻译生成dsh-whale-pulse · 大肥鱼音律
让 DeepSeek Harness 的轮次轨道,跟着电脑正在播放的声音一起律动。
简体中文 · 更新日志 · 反馈问题
目录
- 🌟 它是什么
- ✨ 功能
- 🖼️ 效果预览
- 🌐 兼容环境
- 💻 安装
- ⚙️ 设置
- 🏗️ 架构
- ❓ 常见问题
- 🔧 开发
- 🗺️ 路线图
- 🤝 参与贡献
- 📄 许可
🌟 它是什么
DSH 的聊天区右侧有一列竖着的小刻度(轮次轨道),点一下能跳到某一轮对话。
本插件把它变成一块「声波屏」:读取电脑当前的音频输出,算出 16 段频谱,再驱动每根刻度的长度、厚度、颜色和辉光。
🆕 最近更新 · 1.8.6(2026-11-03)
- 修复「默认输出设备」选不住:设置页不再被自动刷新覆盖你的选择;
- 整机模式自动挑「有声端点」:多声卡 / 虚拟声卡机器不再只读到静音底噪;
- 跳过 FxSound / Voicemeeter / VB-Audio / CABLE 这类中转端点;
- /level 新增 device 字段,能看当前实际抓的设备名。
完整更新记录见 CHANGELOG.md。
展开完整文档(README 剩余 1 节)
dsh-whale-pulse · 大肥鱼音律
让 DeepSeek Harness 的轮次轨道,跟着电脑正在播放的声音一起律动。
简体中文 · 更新日志 · 反馈问题
目录
- 🌟 它是什么
- ✨ 功能
- 🖼️ 效果预览
- 🌐 兼容环境
- 💻 安装
- ⚙️ 设置
- 🏗️ 架构
- ❓ 常见问题
- 🔧 开发
- 🗺️ 路线图
- 🤝 参与贡献
- 📄 许可
🌟 它是什么
DSH 的聊天区右侧有一列竖着的小刻度(轮次轨道),点一下能跳到某一轮对话。
本插件把它变成一块「声波屏」:读取电脑当前的音频输出,算出 16 段频谱,再驱动每根刻度的长度、厚度、颜色和辉光。
🆕 最近更新 · 1.8.6(2026-11-03)
- 修复「默认输出设备」选不住:设置页不再被自动刷新覆盖你的选择;
- 整机模式自动挑「有声端点」:多声卡 / 虚拟声卡机器不再只读到静音底噪;
- 跳过 FxSound / Voicemeeter / VB-Audio / CABLE 这类中转端点;
- /level 新增 device 字段,能看当前实际抓的设备名。
完整更新记录见 CHANGELOG.md。
- Windows 上由宿主侧 WASAPI loopback 采集(OBS 同款做法),不是浏览器录音接口;
- macOS 上由 ScreenCaptureKit 原生抓取系统音频,首次启动自动编译;
- 默认抓整个输出设备,Windows 上也可以只抓某一个应用(process loopback);
- 只算音量和频谱,不录音、不落盘、不上传。
✨ 功能
- [x] 每根刻度独立伸缩,像一道沿轨道流动的声波
- [x] 两种形状:海浪(随时间流动)/ 山峰(静止钟形,中间高两边低)
- [x] 按应用抓取:只跟 QQ 音乐、Chrome、游戏等某个应用的声音律动(Windows)
- [x] macOS 原生采集:ScreenCaptureKit,不需要 ffmpeg / BlackHole
- [x] 彩虹流光 / 单色,任意取色
- [x] 浮动幅度、低谷幅度、高峰幅度、流速、外圈泛光、最长长度全部可调
- [x] 上冲快、回落慢;间奏/换气不掉,暂停才安静
- [x] 完全静音时保留一层很轻的底波浪
🖼️ 效果预览
设置 → 鱼的耳机(可调项一览)
设置页
聊天区右侧的轮次轨道(跟着音乐起伏)
轨道律动
🌐 兼容环境
| 系统 | 状态 | 说明 |
| Windows 10/11 | ✅ 完整支持 | WASAPI + PowerShell,系统自带 .NET Framework 4.x |
| macOS 13+ | ✅ 原生支持 | ScreenCaptureKit 直接抓系统音频,首次启动自动编译,不需要 ffmpeg / BlackHole |
| Linux | ❌ 暂不支持 | PulseAudio monitor source 需要额外配置 |
Windows 上按应用抓取需要 Windows 10 2004(Build 19041)以上。
macOS 需要 Xcode 命令行工具(xcode-select --install)来编译原生采集器;如果编译不可用,会自动回退到 ffmpeg + BlackHole 方案(brew install ffmpeg blackhole-2ch)。
macOS 首次运行时,系统会请求「屏幕录制」权限,允许后重启一次插件即可。
💻 安装
方式一:从插件市场安装(推荐)
编辑 <DSH_HOME>\profiles\desktop\cordis.patch.yml,把市场的索引指向本仓库(国内用 jsDelivr 镜像,海外用 GitHub 原址,二选一):
- id: plugin-market
name: "@deepseek-ai/dsh-plugin-market"
config:
indexes:
国内:jsDelivr CDN
- https://cdn.jsdelivr.net/gh/XiaTian-606/dsh-whale-pulse@main/market-index.json
海外 / 备用:GitHub 原址
- https://raw.githubusercontent.com/XiaTian-606/dsh-whale-pulse/main/market-index.json
重启 DSH,打开 设置 → 插件市场(Discover),搜索「鱼的耳机」点安装即可。
[!NOTE]
市场索引里的安装源已经切到 npm(dsh-whale-pulse@1.8.4),国内会走 npm 镜像,比从 GitHub 拉稳很多。
方式二:npm 安装(推荐,最快)
npm i dsh-whale-pulse
或
pnpm add dsh-whale-pulse
然后把 "dsh-whale-pulse" 加进 dsh.profile.bundles,重启 DSH。
国内网络可以用镜像:
npm i dsh-whale-pulse --registry=https://registry.npmmirror.com
方式三:手动安装(开发 / 自用)
源码放 <DSH_HOME>\plugins\dsh-whale-pulse\(<DSH_HOME> 一般是 C:\Users\<你>\.dsh),然后在 <DSH_HOME>\profiles\desktop\ 做三件事:
1. package.json 的 dependencies 加一行:
"dsh-whale-pulse": "link:../../plugins/dsh-whale-pulse"
2. 同一个文件里 dsh.profile.bundles 数组加一行 "dsh-whale-pulse";
3. 建一个 junction:
New-Item -ItemType Junction
-Path "$env:USERPROFILE\.dsh\profiles\desktop\node_modules\dsh-whale-pulse"
-Target "$env:USERPROFILE\.dsh\plugins\dsh-whale-pulse"
4. 重启 DSH(宿主注入表和客户端模块都在启动时收集一次,刷新页面不够)。
方式四:从源码安装(git)
cd "$env:USERPROFILE\.dsh\profiles\desktop"
pnpm add github:XiaTian-606/dsh-whale-pulse
然后把 "dsh-whale-pulse" 加进 dsh.profile.bundles,重启 DSH。
⚙️ 设置
设置 → 鱼的耳机:
| 项 | 范围 | 说明 |
| 启用律动 | 开 / 关 | 总开关 |
| 音频来源 | 默认设备 / 指定应用 | 指定应用走 process loopback,列表每 10 秒自动刷新 |
| 浮动幅度 | 0~400% | 刻度对音量的响应强度 |
| 低谷幅度 | 0~60% | 静音/暂停时刻度保留的长度 |
| 高峰幅度 | 35~100% | 最响时刻度能到的最大长度 |
| 形状 | 海浪 / 山峰 | 海浪随时间流动;山峰是静止钟形 |
| 流速 | 0.3x~3x | 波形沿轨道滚动的速度(仅海浪) |
| 颜色模式 | 彩虹 / 单色 | 彩虹按刻度序号铺色相;单色用取色器 |
| 主色 | 任意颜色 | 单色直接用;彩虹从它的色相开始铺 |
| 外圈泛光 | 0~200% | 刻度外面那层包围光晕 |
| 最长长度 | 12~300px | 刻度最多向右延伸多远 |
- 律动配置存在浏览器 localStorage 的 dsh.whale-pulse.v1;
- 音频来源存在宿主侧 <DSH_HOME>/whale-pulse-config.json,重启后保持。
🏗️ 架构
宿主(Electron / Node) ├─ runtime/probe.ps1 PowerShell + NAudio 常驻采集器 │ ├─ 默认设备模式:WASAPI loopback │ ├─ 应用模式:-TargetPid <pid>,走 process loopback │ └─ 每 50ms 输出一行 JSON:{"peak":…,"rms":…,"bands":[16 段]} ├─ runtime/sessions.ps1 枚举有窗口/在出声的应用 ├─ /dsh-whale-pulse/level 页面轮询电平 ├─ /dsh-whale-pulse/processes 应用列表 ├─ /dsh-whale-pulse/config 切换音频来源 └─ /dsh-whale-pulse/report 页面诊断上报
浏览器 ├─ lib/client.js 客户端插件:注册「设置 → 鱼的耳机」页 └─ runtime/pulse.js/css 找轨道、轮询电平、写 CSS 变量
❓ 常见问题
| 现象 | 处理 |
| 设置里没有「鱼的耳机」 | 客户端 bundle 没被加载,确认 package.json 有 dsh.client,并重启 DSH |
| 轨道没反应 | 看 <DSH_HOME>/whale-pulse-host.log 有没有 probe ready;确认有声音在播放 |
| 刻度被截断 | 调大「最长长度」,容器宽度会跟着走 |
| 完全不亮 | 系统「减少动画」(prefers-reduced-motion)开着时律动会被禁用 |
| 换应用后没反应 | 等 10 秒自动刷新,或点「刷新」;应用 PID 变了要重新选 |
| 多声卡 / 虚拟声卡机器上「默认输出设备」没反应或者只有底噪 | 见下面「多声卡说明」 |
🔊 多声卡 / 虚拟声卡说明
设备级 loopback 抓的是输出端点(endpoint),不是「你的耳朵」听的那个混音结果。
- 装了 FxSound、Voicemeeter、VB-Audio、声卡虚拟通道之类的机器上,默认端点可能是静音端点,于是整机模式只能读到底噪;
- 这种机器请优先用「指定应用」模式(process loopback 直接跟进程走,不经过端点),实测更稳;
- 如果一定要整机模式,先在系统「声音设置」里确认默认输出设备确实是你在听的那个。
感谢社区反馈:多声卡机器上整机模式容易读到静音底噪,单应用模式才是首选。
🔧 开发
语法自检
node --check lib/index.js
node --check lib/client.js
node --check runtime/pulse.js
采集器单独测 powershell -File runtime/probe.ps1 powershell -File runtime/probe.ps1 -TargetPid 1234
应用列表powershell powershell -File runtime/sessions.ps1
- 改宿主或运行时后重启 DSH;只改 lib/client.js 可以刷新页面;
- 宿主日志在 <DSH_HOME>/whale-pulse-host.log。
[!TIP]
改 .ps1 时别用 Set-Content 覆盖:PowerShell 5.1 读无 BOM 的 UTF-8 中文脚本会乱码,文件要保留 UTF-8 BOM。
🗺️ 路线图
- [x] 效果截图与宣传视频
- [x] macOS 原生采集(ScreenCaptureKit)
- [ ] 更细的频谱分段(16 → 32)
- [ ] 跟随系统主题自动切换配色
- [ ] Linux 支持(PulseAudio monitor)
🤝 参与贡献
见 CONTRIBUTING.md。Bug 与想法走 issue,PR 请保持改动聚焦。
📄 许可
MIT,详见 LICENSE。
随包分发的 NAudio 1.10.0 同样是 MIT(Copyright © Mark Heath & Contributors)。
回到顶部预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
XiaTian-606/dsh-whale-pulse
让轮次轨道随电脑播放的声音起伏律动
相关插件 · 其他
模型破甲清洗HunYiSage/dsh-purge
⚔️ DeepSeek Harness 网络安全红队工具dsh-purge
★ 16,993已汉化DeepSeek 客户端
73
女娲蒸馏alchaincyf/nuwa-skill
输入名人名字,提炼其思维模型与决策方式供你调用
★ 37,308已汉化DSH
72
逆向分析桥接Fanqi89/dsh-rea
REA(Reverse Engineer Anything)MCP 桥接,用来把 REA 逆向工具接入 DSH 插件
★ 51已汉化DSH
72
语音女友beiyege-01/dsh-voice-ai-girlfriend
语音 AI 女友Voice AI girlfriend for DeepSeek Harness:Whisper…
★ 888已汉化DSH
71.6
红队越狱测试套件Minglink/dsh-infinite-gen-5
DeepSeek v4.1 flash 逆向工具无限五代 求 Star 收藏 ⭐欢迎大家提交项目的改进
★ 3,759已汉化DSH
71.4
协同办公空间dream-num/univer-workspace
一个让人类与 AI Agent 共同创作、协作和审阅的开源 Office 工作空间。
★ 2,269已汉化DSH
70.8
这是你的仓库?认领条目