dsh-music-player 0.5.4 → 0.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +18 -8
- package/lib/client.js +927 -214
- package/lib/index.js +856 -38
- package/lib/qq.js +25 -8
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -6,18 +6,20 @@ DeepSeek Harness 本地音乐/小说播放插件。
|
|
|
6
6
|
|
|
7
7
|
写代码写累了、想摸鱼又不想切窗口?这个插件就是你的**摸鱼神器**——直接在 DeepSeek Harness 的网页里塞进一个 **DSH音乐播放器**:扫一下你电脑上的音乐目录(默认 `~/Music`)就能在浏览器里听歌,带播放条和可拖拽的播放面板,还能自己建歌单。
|
|
8
8
|
|
|
9
|
-
光听歌还不够,它还能**听书**:把本地 `.txt` 小说丢给 AI 朗读,想听哪章点哪章、声音随便挑。最绝的是它还注册了 `music_play` 模型工具——你连鼠标都不用动,在对话框里跟 agent 说句「播放周杰伦的歌」,音乐分分钟响起来,摸鱼摸出新境界。
|
|
9
|
+
光听歌还不够,它还能**听书**:把本地 `.txt`/`.epub` 小说丢给 AI 朗读,想听哪章点哪章、声音随便挑。最绝的是它还注册了 `music_play` 模型工具——你连鼠标都不用动,在对话框里跟 agent 说句「播放周杰伦的歌」,音乐分分钟响起来,摸鱼摸出新境界。
|
|
10
10
|
|
|
11
11
|
## 特性
|
|
12
12
|
|
|
13
13
|
- 本地音频流式播放(HTTP Range),刷新后断点续播
|
|
14
14
|
- 顺序播放、单曲循环、乱序播放三种模式
|
|
15
|
-
- 实时
|
|
15
|
+
- 实时 8 段频谱可视化(真实 FFT 频段,解码时离线计算、跟随播放位置)
|
|
16
|
+
- **实时歌词/字幕**:本地音频自动匹配同名 `.lrc` 逐行显示;在线 QQ 歌曲自动取官方歌词(外语歌带逐句翻译「原文 / 翻译」);AI 讲书时显示当前朗读句子(逐句滚动)。歌词/字幕显示在播放条频谱之后、时长之前,仅在闲置(控件组折叠)时展示,鼠标进入操作时自动收起
|
|
16
17
|
- 播放时申请屏幕唤醒锁,防止听歌时熄屏/休眠(支持 Wake Lock 的浏览器,如 Chrome/Edge)
|
|
17
18
|
- 播放列表面板可自由拖动,右下角可拖拽调整大小,位置与尺寸跨刷新记忆
|
|
18
|
-
- AI 讲书:本地 `.txt` 小说经 MiMo TTS 合成朗读,自动识别**书名/前言/章节/尾声**结构,播放条带**章节目录**跳转(打开即定位到当前正在播放的章节)、章节切歌,可选 4 种中文 AI 声音(默认白桦)
|
|
19
|
+
- AI 讲书:本地 `.txt` / `.epub` 小说经 MiMo TTS 合成朗读,自动识别**书名/前言/章节/尾声**结构,播放条带**章节目录**跳转(打开即定位到当前正在播放的章节)、章节切歌,可选 4 种中文 AI 声音(默认白桦)
|
|
19
20
|
- `music_play` 模型工具:agent 可按关键词播放本地音乐,也可按小说名启动 AI 讲书
|
|
20
21
|
- 支持的格式:`mp3 / m4a / m4b / aac / flac / wav / ogg / opus / webm / aiff`(自动递归扫描子目录,上限 500 首)
|
|
22
|
+
- **真实音质识别**:本地歌曲扫描时自动解析文件头(FLAC/WAV/AIFF 无损、MP3/AAC/OGG 码率、采样率/位深/声道),播放条显示「格式 · 音质档」(如 `FLAC · 无损` / `MP3 · 高音质` / `MP3 · 标准`),与在线 QQ 音乐的「无损/高音质/标准」三档一致
|
|
21
23
|
- **自建歌单**:可新建多个歌单,从本地文件(支持多选、可跨目录)添加歌曲;播放条爱心按钮一键收藏到默认歌单「我最喜欢」;歌单作为播放来源时,顺序/乱序循环只在该歌单内进行
|
|
22
24
|
- **在线 QQ 音乐**:面板内置「QQ音乐」页签——微信/QQ 扫码登录(解锁 VIP/高音质)、我的歌单/推荐歌单/分类歌单/排行榜/新歌/搜索浏览、卡片式歌单展示、一键收藏到「我喜欢」
|
|
23
25
|
|
|
@@ -83,7 +85,13 @@ dsh plugin --profile <profile> add ./dsh-music-player-0.1.0.tgz
|
|
|
83
85
|
name: 'dsh-music-player'
|
|
84
86
|
```
|
|
85
87
|
|
|
86
|
-
|
|
88
|
+
播放模式与音量等播放偏好都保存在 **Host 端**(见下),刷新后当前曲目与进度也会恢复(浏览器的自动播放可能被拦截,点一次 ▶ 即可解锁)。
|
|
89
|
+
|
|
90
|
+
> **状态持久化(重要)**:**所有**播放状态都持久化在 Host 端文件 `~/.dsh/music-player-prefs.json`,包括:
|
|
91
|
+
> 音量、播放顺序、AI 讲书声音、播放范围、面板位置、上次播放的曲目/进度、每本小说的进度、QQ 搜索历史、QQ 面板所在层、QQ「我喜欢」收藏兜底。
|
|
92
|
+
> 因此即使在 **dsh-desktop 桌面版**(每次启动随机端口、浏览器存储按源隔离)下,重启后这些状态照样能找回。
|
|
93
|
+
> **升级兼容**:旧版本(<0.7)把同样的键存在浏览器 `localStorage` 里。升级后客户端**优先读 Host**,Host 没有的记录会**自动回退读取旧 `localStorage` 副本并迁移进 Host**,升级不丢用户数据。
|
|
94
|
+
> 音乐/小说目录、自建歌单、QQ 登录态也持久化在 Host 端(见下文),同样不受影响。
|
|
87
95
|
|
|
88
96
|
## 自建歌单(收藏)
|
|
89
97
|
|
|
@@ -117,7 +125,7 @@ dsh plugin --profile <profile> add ./dsh-music-player-0.1.0.tgz
|
|
|
117
125
|
- 分类歌单:60+ 分类(默认折叠显示 8 个,可展开),每个分类的歌单支持「加载更多」。
|
|
118
126
|
- 排行榜:巅峰榜/地区榜/特色榜等分组,点榜单看歌曲(带榜单封面卡片),榜单详情底部「加载更多」可分页续载全部歌曲。
|
|
119
127
|
- 新歌:新歌速递(最新/内地/港台/欧美/韩国等)。
|
|
120
|
-
- 搜索:搜歌曲与歌单,带搜索历史(
|
|
128
|
+
- 搜索:搜歌曲与歌单,带搜索历史(Host 持久化,最近 10 条)。
|
|
121
129
|
- **播放**:点击任意歌曲即可播放(同一播放条 + 频谱);VIP 标识显示在歌名后,行尾显示歌手名。进入歌单/播放列表时自动定位到正在播放的那一首,且正在播放的条目以高亮选中态显示。
|
|
122
130
|
- **收藏**:播放条爱心按钮把当前在线曲目收藏到 QQ 音乐「我喜欢」,已收藏歌曲爱心实时点亮。
|
|
123
131
|
- **续播**:在线播放进度(当前曲目 + 队列)刷新后自动恢复,点 ▶ 续播。
|
|
@@ -125,7 +133,7 @@ dsh plugin --profile <profile> add ./dsh-music-player-0.1.0.tgz
|
|
|
125
133
|
|
|
126
134
|
## AI 讲书
|
|
127
135
|
|
|
128
|
-
把本地 `.txt` 小说交给 AI 朗读。**AI 语音目前仅支持xiaomi提供方(限时免费),请在设置中配置好再使用此功能。**
|
|
136
|
+
把本地 `.txt` / `.epub` 小说交给 AI 朗读。**AI 语音目前仅支持xiaomi提供方(限时免费),请在设置中配置好再使用此功能。**
|
|
129
137
|
|
|
130
138
|
### 前置
|
|
131
139
|
|
|
@@ -133,7 +141,7 @@ dsh plugin --profile <profile> add ./dsh-music-player-0.1.0.tgz
|
|
|
133
141
|
|
|
134
142
|
### 使用
|
|
135
143
|
|
|
136
|
-
1. 打开播放面板,切到「小说」标签,点「选择小说目录」选定包含 `.txt` 的目录(默认与音乐目录相同)。
|
|
144
|
+
1. 打开播放面板,切到「小说」标签,点「选择小说目录」选定包含 `.txt` / `.epub` 的目录(默认与音乐目录相同)。
|
|
137
145
|
2. 点击某一本小说开始朗读;也可让 agent 用 `music_play` 工具按小说名播放(如「播放《中国制造》」)。
|
|
138
146
|
3. 播放条上的讲书控制:
|
|
139
147
|
- **章节目录**(📖 按钮):自动识别全书结构(书名/前言/章节/尾声),点击弹出**位于按钮正上方**的目录(自动定位到当前正在播放的章节),点击任意章节即从该章开头朗读
|
|
@@ -141,7 +149,9 @@ dsh plugin --profile <profile> add ./dsh-music-player-0.1.0.tgz
|
|
|
141
149
|
- **AI 声音**:点音量按钮,在弹层选择声音——冰糖(女)、茉莉(女)、苏打(男)、白桦(男,默认)
|
|
142
150
|
4. 刷新页面后从上次位置续读(断点续播)。
|
|
143
151
|
|
|
144
|
-
|
|
152
|
+
支持的格式:
|
|
153
|
+
- `.txt`(自动识别 UTF-8 / UTF-16 / GBK/GB18030 编码,无需手工转码)
|
|
154
|
+
- `.epub`(自动解压并按其目录(spine)顺序把章节转成纯文本朗读;标题/作者取自 epub 元数据,可识别章节结构;加密/DRM 的章节会自动跳过)
|
|
145
155
|
|
|
146
156
|
## 开发
|
|
147
157
|
|