[2026-01-18 23:46:18] [0.4.12] [INFO] js_plugin_manager.py:67: Node.js process started successfully [2026-01-18 23:46:18] [0.4.12] [INFO] js_plugin_manager.py:342: Plugins directory: conf/js_plugins [2026-01-18 23:46:18] [0.4.12] [INFO] js_plugin_manager.py:343: Plugins config file: conf/plugins-config.json [2026-01-18 23:46:18] [0.4.12] [INFO] xiaomusic.py:87: JS Plugin Manager initialized successfully [2026-01-18 23:46:18] [0.4.12] [INFO] xiaomusic.py:97: JS Adapter initialized successfully [2026-01-18 23:46:18] [0.4.12] [INFO] config_manager.py:42: The file conf/setting.json does not exist. [2026-01-18 23:46:18] [0.4.12] [INFO] music_library.py:879: 启动后台构建 tag cache [2026-01-18 23:46:18] [0.4.12] [INFO] analytics.py:33: analytics init ok [2026-01-18 23:46:18] [0.4.12] [INFO] xiaomusic.py:184: Startup OK. Config(account='******', password='******', mi_did='', cookie='', verbose=False, music_path='music', temp_path='music/tmp', download_path='music/download', conf_path='conf', cache_dir='music/cache', hostname='192.168.2.5', port=8090, public_port=0, proxy=None, loudnorm=None, search_prefix='bilisearch:', ffmpeg_location='./ffmpeg/bin', get_duration_type='ffprobe', active_cmd='play,search_play,set_play_type_rnd,playlocal,search_playlocal,play_music_list,play_music_list_index,stop_after_minute,stop', exclude_dirs='@eaDir,tmp', ignore_tag_dirs='', music_path_depth=10, disable_httpauth=True, httpauth_username='******', httpauth_password='******', music_list_url='', music_list_json='', custom_play_list_json='', disable_download=False, key_word_dict={'下一首': 'play_next', '上一首': 'play_prev', '单曲循环': 'set_play_type_one', '全部循环': 'set_play_type_all', '随机播放': 'set_play_type_rnd', '单曲播放': 'set_play_type_sin', '顺序播放': 'set_play_type_seq', '分钟后关机': 'stop_after_minute', '刷新列表': 'gen_music_list', '加入收藏': 'add_to_favorites', '收藏歌曲': 'add_to_favorites', '取消收藏': 'del_from_favorites', '播放列表第': 'play_music_list_index', '删除歌曲': 'cmd_del_music', '播放本地歌曲': 'playlocal', '本地播放歌曲': 'playlocal', '本地搜索播放': 'search_playlocal', '播放歌曲': 'play', '放歌曲': 'play', '搜索播放': 'search_play', '在线播放': 'online_play', '播放歌手': 'singer_play', '关机': 'stop', '暂停': 'stop', '停止': 'stop', '停止播放': 'stop', '播放列表': 'play_music_list', '播放歌单': 'play_music_list', '测试自定义口令': 'exec#code1("hello")', '测试链接': 'exec#httpget("https://github.com/hanxi/xiaomusic")'}, key_match_order=['分钟后关机', '下一首', '上一首', '单曲循环', '全部循环', '随机播放', '单曲播放', '顺序播放', '关机', '刷新列表', '播放列表第', '播放列表', '加入收藏', '收藏歌曲', '取消收藏', '删除歌曲', '播放本地歌曲', '本地播放歌曲', '本地搜索播放', '播放歌曲', '放歌曲', '搜索播放', '在线播放', '播放歌手', '暂停', '停止', '停止播放', '播放歌单', '测试自定义口令', '测试链接'], use_music_api=False, use_music_audio_id='1582971365183456177', use_music_id='355454500', log_file='xiaomusic.log.txt', fuzzy_match_cutoff=0.6, enable_fuzzy_match=True, stop_tts_msg='收到,再见', enable_config_example=False, keywords_playlocal='播放本地歌曲,本地播放歌曲', keywords_search_playlocal='本地搜索播放', keywords_play='播放歌曲,放歌曲', keywords_search_play='搜索播放', keywords_online_play='在线播放', keywords_singer_play='播放歌手', keywords_stop='关机,暂停,停止,停止播放', keywords_playlist='播放列表,播放歌单', user_key_word_dict={'测试自定义口令': 'exec#code1("hello")', '测试链接': 'exec#httpget("https://github.com/hanxi/xiaomusic")'}, enable_force_stop=False, devices={}, group_list='', remove_id3tag=False, convert_to_mp3=False, delay_sec=3, continue_play=False, enable_file_watch=False, file_watch_debounce=10, pull_ask_sec=1, enable_pull_ask=False, crontab_json='', enable_yt_dlp_cookies=False, enable_save_tag=False, enable_analytics=True, get_ask_by_mina=False, play_type_one_tts_msg='已经设置为单曲循环', play_type_all_tts_msg='已经设置为全部循环', play_type_rnd_tts_msg='已经设置为随机播放', play_type_sin_tts_msg='已经设置为单曲播放', play_type_seq_tts_msg='已经设置为顺序播放', recently_added_playlist_len=50, enable_cmd_del_music=False, search_music_count=100, web_music_proxy=True, edge_tts_voice='', enable_auto_clean_temp=True) [2026-01-18 23:46:18] [0.4.12] [INFO] dependencies.py:178: disable_httpauth:True [2026-01-18 23:46:18] [0.4.12] [INFO] Started server process [1] [2026-01-18 23:46:18] [0.4.12] [INFO] Waiting for application startup. [2026-01-18 23:46:18] [0.4.12] [INFO] music_library.py:835: 已从【music/cache/tag_cache.json】加载 tag cache [2026-01-18 23:46:18] [0.4.12] [INFO] music_library.py:895: ignore_tag_absolute_dirs: [] [2026-01-18 23:46:18] [0.4.12] [INFO] music_library.py:851: 保存:tag cache 已保存到【music/cache/tag_cache.json】 [2026-01-18 23:46:18] [0.4.12] [INFO] music_library.py:934: tag 更新完成 [2026-01-18 23:46:18] [0.4.12] [INFO] xiaomusic.py:277: run_forever start [2026-01-18 23:46:18] [0.4.12] [INFO] music_library.py:879: 启动后台构建 tag cache [2026-01-18 23:46:18] [0.4.12] [INFO] Application startup complete. [2026-01-18 23:46:18] [0.4.12] [INFO] music_library.py:835: 已从【music/cache/tag_cache.json】加载 tag cache [2026-01-18 23:46:18] [0.4.12] [INFO] music_library.py:895: ignore_tag_absolute_dirs: [] [2026-01-18 23:46:18] [0.4.12] [INFO] music_library.py:851: 保存:tag cache 已保存到【music/cache/tag_cache.json】 [2026-01-18 23:46:18] [0.4.12] [INFO] music_library.py:934: tag 更新完成 [2026-01-18 23:46:18] [0.4.12] [INFO] analytics.py:75: analytics run_with_cancel success [2026-01-18 23:46:18] [0.4.12] [WARNING] auth.py:208: conf/.mi.token file not exist [2026-01-18 23:46:18] [0.4.12] [WARNING] auth.py:82: 没有账号密码 或 cookies 无法登陆 [2026-01-18 23:46:18] [0.4.12] [INFO] auth.py:68: Maybe already logined is_need_login:True is_can_login:False [2026-01-18 23:46:18] [0.4.12] [WARNING] auth.py:162: 可能登录失败. 'NoneType' object has no attribute 'device_list' [2026-01-18 23:46:18] [0.4.12] [INFO] device_manager.py:60: 设备列表已更新: device_id_did={} [2026-01-18 23:46:18] [0.4.12] [INFO] device_manager.py:61: 设备分组已更新: groups={} [2026-01-18 23:46:18] [0.4.12] [WARNING] auth.py:208: conf/.mi.token file not exist [2026-01-18 23:46:18] [0.4.12] [INFO] analytics.py:75: analytics run_with_cancel success [2026-01-18 23:46:18] [0.4.12] [INFO] Uvicorn running on http://['0.0.0.0', '::']:8090 (Press CTRL+C to quit) [2026-01-18 23:49:44] [0.4.12] [INFO] 172.18.0.1:6516 - "GET / HTTP/1.1" 200 [2026-01-18 23:56:57] [0.4.12] [INFO] 172.18.0.1:19676 - "GET /favicon.ico HTTP/1.1" 404 [2026-01-18 23:59:36] [0.4.12] [INFO] 172.18.0.1:44450 - "GET / HTTP/1.1" 200 [2026-01-18 23:59:40] [0.4.12] [INFO] 172.18.0.1:44450 - "GET / HTTP/1.1" 200 [2026-01-18 23:59:41] [0.4.12] [INFO] 172.18.0.1:44450 - "GET /robots.txt HTTP/1.1" 404 [2026-01-18 23:59:48] [0.4.12] [INFO] 172.18.0.1:61318 - "GET / HTTP/1.1" 200 [2026-01-19 00:00:03] [0.4.12] [INFO] 172.18.0.1:31844 - "GET / HTTP/1.1" 200 [2026-01-19 00:09:23] [0.4.12] [INFO] 172.18.0.1:31870 - "GET / HTTP/1.1" 200 [2026-01-19 00:09:24] [0.4.12] [INFO] 172.18.0.1:31870 - "GET / HTTP/1.1" 200 [2026-01-19 00:16:54] [0.4.12] [INFO] 172.18.0.1:14752 - "GET / HTTP/1.1" 200 [2026-01-19 00:31:49] [0.4.12] [INFO] 172.18.0.1:2274 - "GET / HTTP/1.1" 200 [2026-01-19 00:31:49] [0.4.12] [INFO] 172.18.0.1:2280 - "GET /static/weapp/qrcode.html HTTP/1.1" 200 [2026-01-19 00:31:49] [0.4.12] [INFO] 172.18.0.1:2274 - "GET /static/xiaoai.png HTTP/1.1" 200 [2026-01-19 00:31:49] [0.4.12] [INFO] 172.18.0.1:2292 - "GET /static/sw.js HTTP/1.1" 200 [2026-01-19 00:31:50] [0.4.12] [INFO] 172.18.0.1:2292 - "GET /static/index.html HTTP/1.1" 200 [2026-01-19 00:31:51] [0.4.12] [INFO] 172.18.0.1:2292 - "GET /static/favicon.ico HTTP/1.1" 200 [2026-01-19 00:31:51] [0.4.12] [INFO] 172.18.0.1:2274 - "GET /static/manifest.json HTTP/1.1" 200 [2026-01-19 00:31:51] [0.4.12] [INFO] 172.18.0.1:2274 - "GET /static/icons/ios/144.png HTTP/1.1" 200 [2026-01-19 00:31:54] [0.4.12] [INFO] 172.18.0.1:2274 - "GET / HTTP/1.1" 200 [2026-01-19 00:31:55] [0.4.12] [INFO] 172.18.0.1:2274 - "GET /static/xiaoai.png HTTP/1.1" 200 [2026-01-19 00:31:55] [0.4.12] [INFO] 172.18.0.1:2298 - "GET /static/sw.js HTTP/1.1" 200 [2026-01-19 00:31:55] [0.4.12] [INFO] 172.18.0.1:2292 - "GET /static/weapp/qrcode.html HTTP/1.1" 200 [2026-01-19 00:31:55] [0.4.12] [INFO] 172.18.0.1:2274 - "GET /static/index.html HTTP/1.1" 200 [2026-01-19 00:31:56] [0.4.12] [INFO] 172.18.0.1:2274 - "GET /static/favicon.ico HTTP/1.1" 200 [2026-01-19 00:31:56] [0.4.12] [INFO] 172.18.0.1:2292 - "GET /static/manifest.json HTTP/1.1" 200 [2026-01-19 00:31:56] [0.4.12] [INFO] 172.18.0.1:2292 - "GET /static/icons/ios/144.png HTTP/1.1" 200 [2026-01-19 00:39:13] [0.4.12] [INFO] 172.18.0.1:18912 - "GET / HTTP/1.1" 200 [2026-01-19 00:46:18] [0.4.12] [INFO] analytics.py:75: analytics run_with_cancel success [2026-01-19 01:04:33] [0.4.12] [INFO] 172.18.0.1:56616 - "GET / HTTP/1.1" 200 [2026-01-19 01:04:33] [0.4.12] [INFO] 172.18.0.1:56616 - "GET /static/xiaoai.png HTTP/1.1" 200 [2026-01-19 01:04:33] [0.4.12] [INFO] 172.18.0.1:56632 - "GET /static/sw.js HTTP/1.1" 200 [2026-01-19 01:04:33] [0.4.12] [INFO] 172.18.0.1:56632 - "GET /static/weapp/qrcode.html HTTP/1.1" 200 [2026-01-19 01:04:34] [0.4.12] [INFO] 172.18.0.1:56616 - "GET /static/index.html HTTP/1.1" 200 [2026-01-19 01:20:45] [0.4.12] [INFO] 172.18.0.1:65028 - "GET / HTTP/1.1" 200 [2026-01-19 01:56:33] [0.4.12] [INFO] 172.18.0.1:10138 - "GET /robots.txt HTTP/1.1" 404 [2026-01-19 01:56:33] [0.4.12] [INFO] 172.18.0.1:10138 - "GET /static/soundSpace/index.html HTTP/1.1" 200 [2026-01-19 01:57:35] [0.4.12] [INFO] 172.18.0.1:44968 - "GET /static/pure/index.html HTTP/1.1" 200 [2026-01-19 01:57:56] [0.4.12] [INFO] 172.18.0.1:59138 - "GET /static/default/index.html HTTP/1.1" 200 [2026-01-19 01:59:17] [0.4.12] [INFO] 172.18.0.1:45212 - "GET /static/xiaoai.png HTTP/1.1" 200 [2026-01-19 01:59:17] [0.4.12] [INFO] 172.18.0.1:45218 - "GET /static/onlineSearch/index.html HTTP/1.1" 200 [2026-01-19 01:59:23] [0.4.12] [INFO] 172.18.0.1:2362 - "GET /static/xplayer/index.html HTTP/1.1" 200 [2026-01-19 02:00:00] [0.4.12] [INFO] 172.18.0.1:2222 - "GET /static/manifest.json HTTP/1.1" 200 [2026-01-19 02:00:01] [0.4.12] [INFO] 172.18.0.1:2222 - "GET /static/tailwind/index.html HTTP/1.1" 200 [2026-01-19 02:02:00] [0.4.12] [INFO] 172.18.0.1:38260 - "GET /static/weapp/qrcode.html HTTP/1.1" 200 [2026-01-19 02:02:00] [0.4.12] [INFO] 172.18.0.1:38258 - "GET /static/favicon.ico HTTP/1.1" 200 [2026-01-19 02:03:29] [0.4.12] [INFO] 172.18.0.1:39504 - "GET /static/default_past/index.html HTTP/1.1" 200 [2026-01-19 03:38:16] [0.4.12] [INFO] 172.18.0.1:32200 - "GET /robots.txt HTTP/1.1" 404 [2026-01-19 03:38:17] [0.4.12] [INFO] 172.18.0.1:32200 - "GET /static/default/setting.html HTTP/1.1" 200 [2026-01-19 03:39:29] [0.4.12] [INFO] 172.18.0.1:59530 - "GET /static/soundSpace/assets/index-fie2kaim.js HTTP/1.1" 200 [2026-01-19 03:39:54] [0.4.12] [INFO] 172.18.0.1:51242 - "GET /static/onlineSearch/config.js HTTP/1.1" 200 [2026-01-19 03:40:55] [0.4.12] [INFO] 172.18.0.1:3224 - "GET /static/default/main.css?version=1768490795 HTTP/1.1" 200 [2026-01-19 03:40:55] [0.4.12] [INFO] 172.18.0.1:3218 - "GET /static/default/jquery-3.7.1.min.js?version=1768490795 HTTP/1.1" 200 [2026-01-19 03:41:06] [0.4.12] [INFO] 172.18.0.1:11542 - "GET /static/soundSpace/assets/index-qfFWjqIn.css HTTP/1.1" 200 [2026-01-19 03:41:06] [0.4.12] [INFO] 172.18.0.1:11542 - "GET /static/default/md.js?version=1768490795 HTTP/1.1" 200 [2026-01-19 03:41:07] [0.4.12] [INFO] 172.18.0.1:11542 - "GET /static/default/favicon.ico HTTP/1.1" 200 [2026-01-19 03:43:38] [0.4.12] [INFO] 172.18.0.1:27236 - "GET /static/soundSpace/vite.svg HTTP/1.1" 200 [2026-01-19 03:44:01] [0.4.12] [INFO] 172.18.0.1:4344 - "GET /static/onlineSearch/setting.html HTTP/1.1" 200 [2026-01-19 03:44:13] [0.4.12] [INFO] 172.18.0.1:59536 - "GET /static/xplayer/assets/index-ESKkJcHu.js HTTP/1.1" 200 [2026-01-19 03:46:12] [0.4.12] [INFO] 172.18.0.1:8004 - "GET /static/pure/assets/index-BAPaOAUA.js HTTP/1.1" 200 [2026-01-19 03:46:12] [0.4.12] [INFO] 172.18.0.1:8004 - "GET /static/pure/assets/index-CfMOqlRg.css HTTP/1.1" 200 [2026-01-19 03:46:12] [0.4.12] [INFO] 172.18.0.1:8004 - "GET /static/pure/favicon.ico HTTP/1.1" 200 [2026-01-19 03:50:46] [0.4.12] [INFO] 172.18.0.1:52198 - "GET /static/xplayer/favicon.ico HTTP/1.1" 200 [2026-01-19 03:51:13] [0.4.12] [INFO] 172.18.0.1:10300 - "GET /static/xplayer/assets/index-2Kb1oK2G.css HTTP/1.1" 200 [2026-01-19 03:51:47] [0.4.12] [INFO] 172.18.0.1:16550 - "GET /static/tailwind/setting.html HTTP/1.1" 200 [2026-01-19 03:52:16] [0.4.12] [INFO] 172.18.0.1:30444 - "GET /static/tailwind/api.js HTTP/1.1" 200 [2026-01-19 03:53:05] [0.4.12] [INFO] 172.18.0.1:6286 - "GET /static/tailwind/main.css HTTP/1.1" 200 [2026-01-19 03:53:35] [0.4.12] [INFO] 172.18.0.1:55064 - "GET /static/tailwind/libs/daisyui%404.12.23.css HTTP/1.1" 200 [2026-01-19 03:53:42] [0.4.12] [INFO] 172.18.0.1:48766 - "GET /static/default_past/setting.html HTTP/1.1" 200 [2026-01-19 03:54:53] [0.4.12] [INFO] 172.18.0.1:36968 - "GET /static/tailwind/libs/animate.min.css HTTP/1.1" 200 [2026-01-19 03:55:19] [0.4.12] [INFO] 172.18.0.1:23598 - "GET /static/tailwind/md.js HTTP/1.1" 200 [2026-01-19 03:55:56] [0.4.12] [INFO] 172.18.0.1:37660 - "GET /static/tailwind/libs/tailwind.js HTTP/1.1" 200 [2026-01-19 03:56:27] [0.4.12] [INFO] 172.18.0.1:6166 - "GET /static/tailwind/libs/vue%403.5.13.js HTTP/1.1" 200 [2026-01-19 03:56:38] [0.4.12] [INFO] 172.18.0.1:50424 - "GET /static/tailwind/downloadtool.html HTTP/1.1" 200 [2026-01-19 03:56:54] [0.4.12] [INFO] 172.18.0.1:22844 - "GET /favicon.ico HTTP/1.1" 404 [2026-01-19 03:57:44] [0.4.12] [INFO] 172.18.0.1:53990 - "GET /static/tailwind/libs/jquery-3.6.0.js HTTP/1.1" 200 [2026-01-19 03:58:11] [0.4.12] [INFO] 172.18.0.1:42798 - "GET /static/tailwind/favicon.ico HTTP/1.1" 200 [2026-01-19 03:58:18] [0.4.12] [INFO] 172.18.0.1:42806 - "GET /static/tailwind/libs/axios.min.js HTTP/1.1" 200 [2026-01-19 03:59:04] [0.4.12] [INFO] 172.18.0.1:11490 - "GET /static/tailwind/qrcode.png HTTP/1.1" 200 [2026-01-19 03:59:29] [0.4.12] [INFO] 172.18.0.1:19308 - "GET /static/default_past/app.js?version=1733563859 HTTP/1.1" 200 [2026-01-19 03:59:34] [0.4.12] [INFO] 172.18.0.1:19310 - "GET /static/default_past/style.css?version=1733563859 HTTP/1.1" 200 [2026-01-19 04:00:33] [0.4.12] [INFO] 172.18.0.1:32012 - "GET /static/default_past/jquery-3.7.1.min.js?version=1733563859 HTTP/1.1" 200 [2026-01-19 05:12:12] [0.4.12] [INFO] 172.18.0.1:7030 - "GET / HTTP/1.1" 200 [2026-01-19 05:23:58] [0.4.12] [INFO] 172.18.0.1:22622 - "GET /robots.txt HTTP/1.1" 404 [2026-01-19 05:23:58] [0.4.12] [INFO] 172.18.0.1:22622 - "GET /static/default/debug.html HTTP/1.1" 200 [2026-01-19 05:25:26] [0.4.12] [INFO] 172.18.0.1:6040 - "GET /static/default/m3u.html HTTP/1.1" 200 [2026-01-19 05:27:20] [0.4.12] [INFO] 172.18.0.1:57158 - "GET /static/default/qrcode.png HTTP/1.1" 200 [2026-01-19 05:28:42] [0.4.12] [INFO] 172.18.0.1:42710 - "GET /static/default/downloadtool.html HTTP/1.1" 200 [2026-01-19 05:30:47] [0.4.12] [INFO] 172.18.0.1:60334 - "GET /static/default/merge/index.html HTTP/1.1" 200 [2026-01-19 05:31:44] [0.4.12] [INFO] 172.18.0.1:58372 - "GET /static/default/setting.js?version=1768490795 HTTP/1.1" 200