[2026-04-14 00:00:01] [0.3.99] [INFO] xiaomusic.py:1484: The file conf/setting.json does not exist. [2026-04-14 00:00:01] [0.3.99] [INFO] xiaomusic.py:706: 协程时间循环未启动 [2026-04-14 00:00:01] [0.3.99] [INFO] analytics.py:33: analytics init ok [2026-04-14 00:00:01] [0.3.99] [INFO] xiaomusic.py:127: 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='cache', hostname='192.168.2.5', port=8090, public_port=58090, 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', '关机': '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_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=True, 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=False) [2026-04-14 00:00:01] [0.3.99] [INFO] httpserver.py:183: disable_httpauth:True [00:00:01] [0.3.99] [INFO] Started server process [9] [00:00:01] [0.3.99] [INFO] Waiting for application startup. [2026-04-14 00:00:01] [0.3.99] [INFO] xiaomusic.py:928: run_forever start [2026-04-14 00:00:01] [0.3.99] [INFO] xiaomusic.py:704: 启动后台构建 tag cache [2026-04-14 00:00:01] [0.3.99] [INFO] xiaomusic.py:941: run_forever session: [2026-04-14 00:00:01] [0.3.99] [INFO] xiaomusic.py:248: try login [00:00:01] [0.3.99] [INFO] Application startup complete. [2026-04-14 00:00:01] [0.3.99] [INFO] xiaomusic.py:676: 已从【cache/tag_cache.json】加载 tag cache [2026-04-14 00:00:01] [0.3.99] [INFO] xiaomusic.py:717: ignore_tag_absolute_dirs: [] [2026-04-14 00:00:01] [0.3.99] [INFO] xiaomusic.py:690: 保存:tag cache 已保存到【cache/tag_cache.json】 [2026-04-14 00:00:01] [0.3.99] [INFO] xiaomusic.py:745: tag 更新完成 [2026-04-14 00:00:01] [0.3.99] [INFO] analytics.py:75: analytics run_with_cancel success [2026-04-14 00:00:01] [0.3.99] [INFO] analytics.py:75: analytics run_with_cancel success [2026-04-14 00:00:01] [0.3.99] [INFO] analytics.py:101: umami data: {'payload': {'hostname': '192.168.2.5', 'language': 'zh-CN', 'referrer': '', 'screen': '430x932', 'title': '后端统计', 'url': '/backend', 'website': '7bfb0890-4115-4260-8892-b391513e7e99', 'name': 'startup', 'data': {'version': '0.3.99', 'useragent': 'XiaoMusic/0.3.99 (Linux #100-Ubuntu SMP PREEMPT_DYNAMIC Tue Jan 13 16:40:06 UTC 2026; 64bit; x86_64) Python/3.12.12'}}, 'type': 'event'} [2026-04-14 00:00:01] [0.3.99] [INFO] analytics.py:101: umami data: {'payload': {'hostname': '192.168.2.5', 'language': 'zh-CN', 'referrer': '', 'screen': '430x932', 'title': '后端统计', 'url': '/backend', 'website': '7bfb0890-4115-4260-8892-b391513e7e99', 'name': 'daily_active_user', 'data': {'version': '0.3.99', 'date': '2026-04-14', 'useragent': 'XiaoMusic/0.3.99 (Linux #100-Ubuntu SMP PREEMPT_DYNAMIC Tue Jan 13 16:40:06 UTC 2026; 64bit; x86_64) Python/3.12.12'}}, 'type': 'event'} [00:00:01] [0.3.99] [INFO] Uvicorn running on http://['0.0.0.0', '::']:8090 (Press CTRL+C to quit) [2026-04-14 00:00:02] [0.3.99] [INFO] analytics.py:108: umami Status: 521 [2026-04-14 00:00:02] [0.3.99] [INFO] analytics.py:108: umami Status: 521 [2026-04-14 00:00:03] [0.3.99] [INFO] xiaomusic.py:289: 登录完成. [2026-04-14 00:00:03] [0.3.99] [WARNING] xiaomusic.py:317: 可能登录失败. Error https://api2.mina.mi.com/admin/v2/device_list?master=0&requestId=app_ios_WiLltHJDX3d8Pg5yF79UmCn6Q0OkhZ: Login failed [2026-04-14 00:00:03] [0.3.99] [WARNING] xiaomusic.py:325: conf/.mi.token file not exist [05:25:18] [0.3.99] [INFO] 172.30.0.1:59972 - "GET /.env HTTP/1.0" 404 [07:49:29] [0.3.99] [INFO] 172.30.0.1:45644 - "GET /robots.txt HTTP/1.0" 404 [07:49:29] [0.3.99] [INFO] 172.30.0.1:45660 - "GET /robots.txt HTTP/1.0" 404 [07:49:29] [0.3.99] [INFO] 172.30.0.1:45676 - "GET / HTTP/1.0" 200 [12:38:38] [0.3.99] [INFO] 172.30.0.1:35894 - "GET /.env HTTP/1.0" 404 [13:46:28] [0.3.99] [INFO] 172.30.0.1:49346 - "GET /robots.txt HTTP/1.0" 404 [13:46:28] [0.3.99] [INFO] 172.30.0.1:49360 - "GET /static/xiaoai.png HTTP/1.0" 200 [13:46:29] [0.3.99] [INFO] 172.30.0.1:49366 - "GET /static/tailwind/index.html HTTP/1.0" 200 [13:47:59] [0.3.99] [INFO] 172.30.0.1:47986 - "GET /static/default_past/index.html HTTP/1.0" 200 [13:51:07] [0.3.99] [INFO] 172.30.0.1:51222 - "GET /static/xplayer/index.html HTTP/1.0" 200 [13:52:43] [0.3.99] [INFO] 172.30.0.1:57616 - "GET /static/pure/index.html HTTP/1.0" 200 [13:52:59] [0.3.99] [INFO] 172.30.0.1:33118 - "GET /static/soundSpace/index.html HTTP/1.0" 200 [13:52:59] [0.3.99] [INFO] 172.30.0.1:33132 - "GET /static/weapp/qrcode.html HTTP/1.0" 200 [13:54:14] [0.3.99] [INFO] 172.30.0.1:59156 - "GET /static/default/index.html HTTP/1.0" 200 [13:54:18] [0.3.99] [INFO] 172.30.0.1:59170 - "GET /static/favicon.ico HTTP/1.0" 200 [13:55:26] [0.3.99] [INFO] 172.30.0.1:52000 - "GET /static/manifest.json HTTP/1.0" 200 [15:37:09] [0.3.99] [INFO] 172.30.0.1:45202 - "GET /robots.txt HTTP/1.0" 404 [15:37:09] [0.3.99] [INFO] 172.30.0.1:45204 - "GET /static/tailwind/libs/tailwind.js HTTP/1.0" 200 [15:37:16] [0.3.99] [INFO] 172.30.0.1:56072 - "GET /static/tailwind/libs/animate.min.css HTTP/1.0" 200 [15:38:45] [0.3.99] [INFO] 172.30.0.1:48222 - "GET /static/tailwind/md.js HTTP/1.0" 200 [15:38:45] [0.3.99] [INFO] 172.30.0.1:48228 - "GET /static/tailwind/main.css HTTP/1.0" 200 [15:39:36] [0.3.99] [INFO] 172.30.0.1:53430 - "GET /static/tailwind/qrcode.png HTTP/1.0" 200 [15:39:36] [0.3.99] [INFO] 172.30.0.1:53444 - "GET /static/tailwind/downloadtool.html HTTP/1.0" 200 [15:40:59] [0.3.99] [INFO] 172.30.0.1:50468 - "GET /static/tailwind/libs/axios.min.js HTTP/1.0" 200 [15:42:06] [0.3.99] [INFO] 172.30.0.1:43366 - "GET /static/tailwind/libs/daisyui%404.12.23.css HTTP/1.0" 200 [15:42:56] [0.3.99] [INFO] 172.30.0.1:48340 - "GET /static/tailwind/api.js HTTP/1.0" 200 [15:44:37] [0.3.99] [INFO] 172.30.0.1:51094 - "GET /static/tailwind/libs/jquery-3.6.0.js HTTP/1.0" 200 [15:44:37] [0.3.99] [INFO] 172.30.0.1:51100 - "GET /static/tailwind/libs/vue%403.5.13.js HTTP/1.0" 200 [15:44:58] [0.3.99] [INFO] 172.30.0.1:38204 - "GET /static/tailwind/favicon.ico HTTP/1.0" 200 [15:46:26] [0.3.99] [INFO] 172.30.0.1:40296 - "GET /static/tailwind/setting.html HTTP/1.0" 200 [15:48:57] [0.3.99] [INFO] 172.30.0.1:39186 - "GET /static/default/setting.html HTTP/1.0" 200 [15:49:20] [0.3.99] [INFO] 172.30.0.1:56468 - "GET /static/soundSpace/assets/index-9NZzn3xg.css HTTP/1.0" 200 [15:49:20] [0.3.99] [INFO] 172.30.0.1:56476 - "GET /static/default_past/jquery-3.7.1.min.js?version=1733563859 HTTP/1.0" 200 [15:49:21] [0.3.99] [INFO] 172.30.0.1:56492 - "GET /static/default/jquery-3.7.1.min.js?version=1762088808 HTTP/1.0" 200 [15:50:21] [0.3.99] [INFO] 172.30.0.1:56400 - "GET /static/default/favicon.ico HTTP/1.0" 200 [15:50:42] [0.3.99] [INFO] 172.30.0.1:39788 - "GET /static/soundSpace/assets/index-ihgeXEwv.js HTTP/1.0" 200 [15:50:42] [0.3.99] [INFO] 172.30.0.1:39790 - "GET /static/default_past/style.css?version=1733563859 HTTP/1.0" 200 [15:50:46] [0.3.99] [INFO] 172.30.0.1:39794 - "GET /static/pure/assets/index-CfMOqlRg.css HTTP/1.0" 200 [15:52:10] [0.3.99] [INFO] 172.30.0.1:48524 - "GET /static/pure/favicon.ico HTTP/1.0" 200 [15:52:15] [0.3.99] [INFO] 172.30.0.1:48532 - "GET /static/default/main.css?version=1762088808 HTTP/1.0" 200 [15:53:04] [0.3.99] [INFO] 172.30.0.1:55642 - "GET /static/default_past/app.js?version=1733563859 HTTP/1.0" 200 [15:53:04] [0.3.99] [INFO] 172.30.0.1:55648 - "GET /static/xplayer/favicon.ico HTTP/1.0" 200 [15:53:40] [0.3.99] [INFO] 172.30.0.1:54128 - "GET /static/xplayer/assets/index-ESKkJcHu.js HTTP/1.0" 200 [15:54:36] [0.3.99] [INFO] 172.30.0.1:53732 - "GET /static/default/md.js?version=1762088808 HTTP/1.0" 200 [15:54:58] [0.3.99] [INFO] 172.30.0.1:47554 - "GET /static/soundSpace/vite.svg HTTP/1.0" 200 [15:55:57] [0.3.99] [INFO] 172.30.0.1:47562 - "GET /static/pure/assets/index-BAPaOAUA.js HTTP/1.0" 200 [15:55:57] [0.3.99] [INFO] 172.30.0.1:47570 - "GET /static/xplayer/assets/index-2Kb1oK2G.css HTTP/1.0" 200 [15:56:17] [0.3.99] [INFO] 172.30.0.1:50852 - "GET /favicon.ico HTTP/1.0" 404 [15:56:55] [0.3.99] [INFO] 172.30.0.1:36870 - "GET /static/default_past/setting.html HTTP/1.0" 200 [18:56:36] [0.3.99] [INFO] 172.30.0.1:42098 - "GET /robots.txt HTTP/1.0" 404 [18:56:36] [0.3.99] [INFO] 172.30.0.1:42100 - "GET /static/default/setting.js?version=1762088808 HTTP/1.0" 200 [18:58:39] [0.3.99] [INFO] 172.30.0.1:53334 - "GET /static/tailwind/m3u.html HTTP/1.0" 200 [18:58:39] [0.3.99] [INFO] 172.30.0.1:53344 - "GET /static/tailwind/debug.html HTTP/1.0" 200 [18:58:39] [0.3.99] [INFO] 172.30.0.1:53352 - "GET /docs HTTP/1.0" 200 [18:59:02] [0.3.99] [INFO] 172.30.0.1:54408 - "GET /static/default/downloadtool.html HTTP/1.0" 200 [19:00:13] [0.3.99] [INFO] 172.30.0.1:47956 - "GET /static/default/merge/index.html HTTP/1.0" 200