涵曦
c4a49f0a41
feat: 项目停止更新
2026-05-29 19:48:14 +08:00
birdstudy-nj
800af937fe
新增版本更新提示,UI做了调整,更加匹配后台缓存及为新功能做准备 ( #893 )
2026-05-29 18:23:26 +08:00
涵曦
a37e19cd56
build: update static version
2026-05-28 23:15:40 +08:00
Issues Docs [BOT]
d3f830ad8c
Auto-Generate docs 🤖
2026-05-28 14:49:35 +00:00
涵曦
865e2a8b3a
项目停止维护
2026-05-28 22:46:29 +08:00
Issues Docs [BOT]
650e36b2f3
Auto-Generate docs 🤖
2026-05-28 12:29:44 +00:00
涵曦
aae4042c33
Update README with installation notes
...
Removed installation assistance tip and updated notes.
2026-05-28 20:27:36 +08:00
Issues Docs [BOT]
442a7d7ba0
Auto-Generate docs 🤖
2026-05-27 15:49:14 +00:00
涵曦
cd3c97cf3f
bump: version 0.5.7 → 0.5.8
v0.5.8
2026-05-27 23:47:02 +08:00
涵曦
0e2d0ac144
build: update static version
2026-05-27 23:46:58 +08:00
sysy
88404da7a2
fix: add trailing separator to path containment checks (CWE-22) ( #891 )
...
The startswith checks in music_file() and get_picture() lacked a
trailing os.sep, allowing sibling-prefix directory traversal.
For example, if music_path="/data/music", a request to
/music/../music_secret/file.txt resolves to /data/music_secret/file.txt
which passes startswith("/data/music") since "music_secret" starts
with "music". Adding os.sep ensures only paths strictly inside the
intended directory pass validation.
Affected endpoints:
- GET /music/{file_path:path} (line 968, 975)
- GET /picture/{file_path:path} (line 1022)
2026-05-27 04:29:55 +08:00
birdstudy-nj
c6679a69e4
feat: 增加触屏版封面选择,修改部分默认设置 ( #889 )
...
* 增加触屏版封面选择,修改部分默认设置
* 增加触屏版封面选择,修改部分默认设置
* 增加触屏版封面选择,修改部分默认设置
* 增加触屏版封面选择,修改部分默认设置
2026-05-26 18:49:58 +08:00
Formatter [BOT]
28741ab482
Auto-format code 🧹 🌟 🤖
2026-05-26 07:28:14 +00:00
birdstudy-nj
9685a37cf1
fix: 修复循环播放tts语音的问题之一 ( #888 )
2026-05-26 15:27:45 +08:00
ALITTLESEEDX
08cafae7f9
fix: 修复LX在未换源解析完成的情况跳歌 ( #887 )
2026-05-26 14:10:35 +08:00
Formatter [BOT]
f0676d3cab
Auto-format code 🧹 🌟 🤖
2026-05-25 16:28:23 +00:00
ALITTLESEEDX
4b60e73a0b
feat: 完善 LX Server 播放链接解析流程 ( #886 )
...
* fix: 修复 Python 3.10 环境下 asyncio.timeout 导致的 AttributeError
* feat: 完善 LX Server 播放链接解析流程
- 支持 LX Server 服务端缓存检查,命中缓存时直接返回播放地址
- 播放链接解析失败时支持按可用音质自动降级
- 音质降级耗尽后支持跨平台自动换源匹配同歌
2026-05-26 00:27:57 +08:00
Issues Docs [BOT]
6c40909155
Auto-Generate docs 🤖
2026-05-25 14:15:55 +00:00
ALITTLESEEDX
9b257e78bc
fix: 修复 Python 3.10 环境下 asyncio.timeout 导致的 AttributeError ( #885 )
2026-05-25 22:09:32 +08:00
Issues Docs [BOT]
2a5c8ddd84
Auto-Generate docs 🤖
2026-05-23 03:09:02 +00:00
birdstudy-nj
f6b74825da
fix: 修复同一账号下多台小爱,其中一台会莫名“小music收到”,或静音但指示灯不停闪烁 ( #883 )
2026-05-22 17:49:58 +08:00
Issues Docs [BOT]
e29b2bf126
Auto-Generate docs 🤖
2026-05-22 00:49:56 +00:00
Issues Docs [BOT]
d7988fad0c
Auto-Generate docs 🤖
2026-05-21 04:13:17 +00:00
涵曦
8de93eec7c
bump: version 0.5.6 → 0.5.7
v0.5.7
2026-05-21 12:11:03 +08:00
涵曦
d91261ed8b
build: update static version
2026-05-21 12:10:51 +08:00
jokinas
ba65ea5b6c
feat: 新增“是否开启多结果选择”功能 ( #881 )
...
* style: ruff lint and format fix
* fix: 恢复脚本文件的可执行权限属性
* feat: 新增多结果选择开关配置,前端页面支持开启关闭功能
2026-05-20 21:28:28 +08:00
jokinas
ed8411c4db
feat: 播放本地音乐支持一条指令完成搜索+选择 ( #880 )
...
* style: ruff lint and format fix
* fix: 恢复脚本文件的可执行权限属性
* feat: 播放本地音乐支持一条指令完成搜索+选择(如:播放本地音乐周杰伦第二个)
2026-05-20 20:48:56 +08:00
birdstudy-nj
cc01663599
feat: 后端增加缓存功能。默认缓存大小500M,当前歌曲20秒开始缓存下一首(支持随机播放的缓存命中) ( #878 )
...
* 后端增加缓存功能。默认缓存大小500M,当前歌曲20秒开始缓存下一首(支持随机播放的缓存命中)
* 后端增加缓存功能。默认缓存大小500M,当前歌曲20秒开始缓存下一首(支持随机播放的缓存命中)
* 后端增加缓存功能。默认缓存大小500M,当前歌曲20秒开始缓存下一首(支持随机播放的缓存命中)
* 后端增加缓存功能。默认缓存大小500M,当前歌曲20秒开始缓存下一首(支持随机播放的缓存命中)
* 把onlineSearch主题生成的歌单,UI统一搜歌搜人搜单
2026-05-20 15:38:56 +08:00
Issues Docs [BOT]
014749dc27
Auto-Generate docs 🤖
2026-05-19 03:49:12 +00:00
涵曦
a58e6d0d1e
bump: version 0.5.5 → 0.5.6
v0.5.6
2026-05-19 11:45:43 +08:00
涵曦
423d6fed5f
build: update static version
2026-05-19 11:45:39 +08:00
jokinas
dae20ee5e8
fix: 优化认证登录重试机制,新增 token 过期模拟调试接口,解决设备无故掉线问题 ( #875 )
...
* style: ruff lint and format fix
* feat: 优化认证登录重试机制和启动初始化逻辑
* feat: 新增系统日志API接口,优化认证登录和会话管理逻辑
* fix: 恢复脚本文件的可执行权限属性
2026-05-19 11:30:21 +08:00
Issues Docs [BOT]
39936f8add
Auto-Generate docs 🤖
2026-05-18 04:43:36 +00:00
涵曦
65e83a0792
bump: version 0.5.4 → 0.5.5
v0.5.5
2026-05-18 12:41:32 +08:00
涵曦
9d70d7edb6
build: update static version
2026-05-18 12:41:22 +08:00
涵曦
3d42818e93
update
2026-05-18 12:40:47 +08:00
jokinas
a8e4369774
feat: 优化登录重试机制和会话处理逻辑 ( #873 )
...
* style: ruff lint and format fix
* fix: 优化登录重试机制和会话处理逻辑
2026-05-18 12:31:52 +08:00
Issues Docs [BOT]
68224e9afc
Auto-Generate docs 🤖
2026-05-15 09:45:47 +00:00
Issues Docs [BOT]
eb307b7e37
Auto-Generate docs 🤖
2026-05-14 15:09:31 +00:00
涵曦
ed88ca3f78
update
2026-05-14 23:05:09 +08:00
涵曦
ab0cb64b7d
bump: version 0.5.3 → 0.5.4
v0.5.4
2026-05-14 23:04:38 +08:00
jokinas
497d0d70de
fix: 优化登录异常处理和设备发现逻辑,执行命令前先停止小爱避免播放不支持提示 ( #871 )
...
* feat: 增加搜索多结果选择功能
新增功能:
- 搜索结果多条记录时通过TTS告知用户匹配数量
- 支持用户重新呼叫'第X个'来选择并播放指定歌曲
- 实现记忆机制:选择后保留待选列表,支持持续多次选择
- 新增配置项 fuzzy_match_max_results 控制最大返回数量(默认100)
优化改进:
- 搜索结果排序:从随机排序改为按文件名自然排序(custom_sort_key)
- 日志输出优化:多结果时每个歌曲分行显示,带序号便于查看
修改文件:
- command_handler.py: 添加待选择状态检查逻辑,优先匹配'第X个'指令
- config.py: 新增 fuzzy_match_max_results 配置项
- device_player.py: 添加 _pending_selection 属性、多结果处理逻辑、handle_selection 方法、优化日志格式
- music_library.py: 将 random.shuffle 改为 sort(key=custom_sort_key) 自然排序
- xiaomusic.py: 新增 select_index 命令处理方法
* fix: 优化登录异常处理和设备发现逻辑,执行命令前先停止小爱避免播放不支持提示
* style: ruff lint and format fix
2026-05-14 22:59:56 +08:00
Issues Docs [BOT]
ff8bb26c6e
Auto-Generate docs 🤖
2026-05-13 01:08:20 +00:00
birdstudy-nj
5088c6fb7d
feat: 增加搜索成功后的语音提示选择 ( #868 )
...
* 增加搜索成功后的语音提示选择
核心作用:打断小爱的原生语音。语音静默或“小Music收到”
* 增加搜索成功后的语音提示选择
核心作用:打断小爱的原生语音。语音静默或“小Music收到”
2026-05-12 15:59:51 +08:00
birdstudy-nj
82de86b7a0
fix: 修复小爱触屏音箱歌曲封面及歌词显示 ( #866 )
...
* 修复小爱触屏音箱歌曲封面及歌词显示
* 修复小爱触屏音箱歌曲封面及歌词显示。增加页面提示词
2026-05-12 10:25:14 +08:00
Issues Docs [BOT]
cf50a8fbcf
Auto-Generate docs 🤖
2026-05-09 14:34:13 +00:00
涵曦
915bf92f78
bump: version 0.5.2 → 0.5.3
v0.5.3
2026-05-09 22:31:38 +08:00
涵曦
d7344b09d0
build: update static version
2026-05-09 22:31:31 +08:00
Formatter [BOT]
a8bca8fc59
Auto-format code 🧹 🌟 🤖
2026-05-09 14:30:21 +00:00
涵曦
6f8f0cb133
fix: lint
2026-05-09 22:29:43 +08:00