dsh-music-player 0.5.3 → 0.6.0

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 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
- - 实时 7 段频谱可视化(解码音频包络驱动)
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
 
@@ -112,20 +114,20 @@ dsh plugin --profile <profile> add ./dsh-music-player-0.1.0.tgz
112
114
 
113
115
  - **登录**:两种扫码方式——**QQ 登录**或**微信登录**(推荐)。登录态保存在 Host 端(`~/.dsh/music-player-qq-cookie.json`),刷新/重启不丢;面板右上角可退出登录。
114
116
  - **浏览**:6 个子页签——**我的歌单 / 推荐歌单 / 分类歌单 / 排行榜 / 新歌 / 搜索**。
115
- - 我的歌单:登录后展示当前账号的歌单(卡片式)。
117
+ - 我的歌单:登录后展示当前账号的歌单(卡片式),本人创建的歌单卡片右上角可一键删除(二次确认;「我喜欢」不可删除)。
116
118
  - 推荐歌单:热门推荐 12 条,底部「加载更多」可续载。
117
119
  - 分类歌单:60+ 分类(默认折叠显示 8 个,可展开),每个分类的歌单支持「加载更多」。
118
- - 排行榜:巅峰榜/地区榜/特色榜等分组,点榜单看歌曲(带榜单封面卡片)。
120
+ - 排行榜:巅峰榜/地区榜/特色榜等分组,点榜单看歌曲(带榜单封面卡片),榜单详情底部「加载更多」可分页续载全部歌曲。
119
121
  - 新歌:新歌速递(最新/内地/港台/欧美/韩国等)。
120
122
  - 搜索:搜歌曲与歌单,带搜索历史(localStorage,最近 10 条)。
121
- - **播放**:点击任意歌曲即可播放(同一播放条 + 频谱);VIP 标识显示在歌名后,行尾显示歌手名。
123
+ - **播放**:点击任意歌曲即可播放(同一播放条 + 频谱);VIP 标识显示在歌名后,行尾显示歌手名。进入歌单/播放列表时自动定位到正在播放的那一首,且正在播放的条目以高亮选中态显示。
122
124
  - **收藏**:播放条爱心按钮把当前在线曲目收藏到 QQ 音乐「我喜欢」,已收藏歌曲爱心实时点亮。
123
125
  - **续播**:在线播放进度(当前曲目 + 队列)刷新后自动恢复,点 ▶ 续播。
124
126
  - 在线曲目不占本地曲库的 500 首上限,与本地/讲书完全隔离。
125
127
 
126
128
  ## AI 讲书
127
129
 
128
- 把本地 `.txt` 小说交给 AI 朗读。**AI 语音目前仅支持xiaomi提供方(限时免费),请在设置中配置好再使用此功能。**
130
+ 把本地 `.txt` / `.epub` 小说交给 AI 朗读。**AI 语音目前仅支持xiaomi提供方(限时免费),请在设置中配置好再使用此功能。**
129
131
 
130
132
  ### 前置
131
133
 
@@ -133,7 +135,7 @@ dsh plugin --profile <profile> add ./dsh-music-player-0.1.0.tgz
133
135
 
134
136
  ### 使用
135
137
 
136
- 1. 打开播放面板,切到「小说」标签,点「选择小说目录」选定包含 `.txt` 的目录(默认与音乐目录相同)。
138
+ 1. 打开播放面板,切到「小说」标签,点「选择小说目录」选定包含 `.txt` / `.epub` 的目录(默认与音乐目录相同)。
137
139
  2. 点击某一本小说开始朗读;也可让 agent 用 `music_play` 工具按小说名播放(如「播放《中国制造》」)。
138
140
  3. 播放条上的讲书控制:
139
141
  - **章节目录**(📖 按钮):自动识别全书结构(书名/前言/章节/尾声),点击弹出**位于按钮正上方**的目录(自动定位到当前正在播放的章节),点击任意章节即从该章开头朗读
@@ -141,7 +143,9 @@ dsh plugin --profile <profile> add ./dsh-music-player-0.1.0.tgz
141
143
  - **AI 声音**:点音量按钮,在弹层选择声音——冰糖(女)、茉莉(女)、苏打(男)、白桦(男,默认)
142
144
  4. 刷新页面后从上次位置续读(断点续播)。
143
145
 
144
- 支持的格式:`.txt`(自动识别 UTF-8 / UTF-16 / GBK/GB18030 编码,无需手工转码)。
146
+ 支持的格式:
147
+ - `.txt`(自动识别 UTF-8 / UTF-16 / GBK/GB18030 编码,无需手工转码)
148
+ - `.epub`(自动解压并按其目录(spine)顺序把章节转成纯文本朗读;标题/作者取自 epub 元数据,可识别章节结构;加密/DRM 的章节会自动跳过)
145
149
 
146
150
  ## 开发
147
151