[2025-12-29 06:59:47] [0.3.101] [INFO] xiaomusic.py:1861: do_tts ok. cur_music:11.爱错 [2025-12-29 06:59:47] [0.3.101] [INFO] xiaomusic.py:1861: do_tts ok. cur_music:11.爱错 [2025-12-29 06:59:47] [0.3.101] [INFO] xiaomusic.py:1965: 不会继续播放歌曲. isplaying:False isdownloading:False [2025-12-29 06:59:47] [0.3.101] [INFO] xiaomusic.py:1965: 不会继续播放歌曲. isplaying:False isdownloading:False [2025-12-29 06:59:47] [0.3.101] [ERROR] xiaomusic.py:974: Execption 'NoneType' object has no attribute 'get' Traceback (most recent call last): File "/app/xiaomusic/xiaomusic.py", line 972, in do_check_cmd await func(did=did, arg1=oparg) File "/app/xiaomusic/xiaomusic.py", line 1581, in exec await self.plugin_manager.execute_plugin(code) File "/app/xiaomusic/plugin.py", line 66, in execute_plugin await coroutine File "/app/plugins/code1.py", line 8, in code1 query = last_record.get("query", "").strip() ^^^^^^^^^^^^^^^ AttributeError: 'NoneType' object has no attribute 'get' [2025-12-29 06:59:47] [0.3.101] [ERROR] xiaomusic.py:974: Execption 'NoneType' object has no attribute 'get' Traceback (most recent call last): File "/app/xiaomusic/xiaomusic.py", line 972, in do_check_cmd await func(did=did, arg1=oparg) File "/app/xiaomusic/xiaomusic.py", line 1581, in exec await self.plugin_manager.execute_plugin(code) File "/app/xiaomusic/plugin.py", line 66, in execute_plugin await coroutine File "/app/plugins/code1.py", line 8, in code1 query = last_record.get("query", "").strip() ^^^^^^^^^^^^^^^ AttributeError: 'NoneType' object has no attribute 'get' [2025-12-29 06:59:47] [0.3.101] [WARNING] xiaomusic.py:271: 可能登录失败. Error https://api2.mina.mi.com/admin/v2/device_list?master=0&requestId=app_ios_w4OCGSrRHiPce1gZU6mnjY2D9uJdxT: Login failed [2025-12-29 06:59:47] [0.3.101] [WARNING] xiaomusic.py:271: 可能登录失败. Error https://api2.mina.mi.com/admin/v2/device_list?master=0&requestId=app_ios_w4OCGSrRHiPce1gZU6mnjY2D9uJdxT: Login failed [2025-12-29 06:59:47] [0.3.101] [INFO] xiaomusic.py:248: try login [2025-12-29 06:59:47] [0.3.101] [INFO] xiaomusic.py:248: try login [2025-12-29 06:59:47] [0.3.101] [WARNING] xiaomusic.py:385: Request failed with status 400 [2025-12-29 06:59:47] [0.3.101] [WARNING] xiaomusic.py:385: Request failed with status 400 [2025-12-29 06:59:47] [0.3.101] [WARNING] xiaomusic.py:385: Request failed with status 400 [2025-12-29 06:59:47] [0.3.101] [WARNING] xiaomusic.py:385: Request failed with status 400 [2025-12-29 06:59:47] [0.3.101] [WARNING] xiaomusic.py:385: Request failed with status 400 [2025-12-29 06:59:47] [0.3.101] [WARNING] xiaomusic.py:385: Request failed with status 400 [2025-12-29 06:59:47] [0.3.101] [INFO] xiaomusic.py:289: 登录完成. [2025-12-29 06:59:47] [0.3.101] [INFO] xiaomusic.py:289: 登录完成. [2025-12-29 06:59:47] [0.3.101] [WARNING] xiaomusic.py:385: Request failed with status 400 [2025-12-29 06:59:47] [0.3.101] [WARNING] xiaomusic.py:385: Request failed with status 400 [2025-12-29 06:59:47] [0.3.101] [WARNING] xiaomusic.py:385: Request failed with status 400 [2025-12-29 06:59:47] [0.3.101] [WARNING] xiaomusic.py:385: Request failed with status 400 [2025-12-29 06:59:47] [0.3.101] [WARNING] xiaomusic.py:385: Request failed with status 400 [2025-12-29 06:59:47] [0.3.101] [WARNING] xiaomusic.py:385: Request failed with status 400 [2025-12-29 06:59:47] [0.3.101] [WARNING] xiaomusic.py:385: Request failed with status 400 [2025-12-29 06:59:47] [0.3.101] [WARNING] xiaomusic.py:385: Request failed with status 400 [2025-12-29 06:59:47] [0.3.101] [WARNING] xiaomusic.py:409: get_latest_ask_from_xiaoai. All retries failed. [2025-12-29 06:59:47] [0.3.101] [WARNING] xiaomusic.py:409: get_latest_ask_from_xiaoai. All retries failed. [2025-12-29 06:59:47] [0.3.101] [WARNING] xiaomusic.py:385: Request failed with status 400 [2025-12-29 06:59:47] [0.3.101] [WARNING] xiaomusic.py:385: Request failed with status 400 [2025-12-29 06:59:47] [0.3.101] [WARNING] xiaomusic.py:409: get_latest_ask_from_xiaoai. All retries failed. [2025-12-29 06:59:47] [0.3.101] [WARNING] xiaomusic.py:409: get_latest_ask_from_xiaoai. All retries failed. [2025-12-29 06:59:47] [0.3.101] [WARNING] xiaomusic.py:385: Request failed with status 400 [2025-12-29 06:59:47] [0.3.101] [WARNING] xiaomusic.py:385: Request failed with status 400 [2025-12-29 06:59:47] [0.3.101] [WARNING] xiaomusic.py:409: get_latest_ask_from_xiaoai. All retries failed. [2025-12-29 06:59:47] [0.3.101] [WARNING] xiaomusic.py:409: get_latest_ask_from_xiaoai. All retries failed. [2025-12-29 06:59:47] [0.3.101] [WARNING] xiaomusic.py:317: 可能登录失败. Error https://api2.mina.mi.com/admin/v2/device_list?master=0&requestId=app_ios_FiKgWqEMtY14RhaVBlpvdy0kJGINC2: Login failed [2025-12-29 06:59:47] [0.3.101] [WARNING] xiaomusic.py:317: 可能登录失败. Error https://api2.mina.mi.com/admin/v2/device_list?master=0&requestId=app_ios_FiKgWqEMtY14RhaVBlpvdy0kJGINC2: Login failed [2025-12-29 06:59:47] [0.3.101] [WARNING] xiaomusic.py:325: conf/.mi.token file not exist [2025-12-29 06:59:47] [0.3.101] [WARNING] xiaomusic.py:325: conf/.mi.token file not exist [2025-12-29 06:59:47] [0.3.101] [INFO] xiaomusic.py:1655: 随机打乱 最近新增 [] [2025-12-29 06:59:47] [0.3.101] [INFO] xiaomusic.py:1655: 随机打乱 最近新增 [] [2025-12-29 06:59:47] [0.3.101] [INFO] xiaomusic.py:1655: 随机打乱 最近新增 [] [2025-12-29 06:59:47] [0.3.101] [INFO] xiaomusic.py:1655: 随机打乱 最近新增 [] [2025-12-29 06:59:47] [0.3.101] [INFO] xiaomusic.py:1655: 随机打乱 全部 [] [2025-12-29 06:59:47] [0.3.101] [INFO] xiaomusic.py:1655: 随机打乱 全部 [] [2025-12-29 06:59:47] [0.3.101] [INFO] xiaomusic.py:704: 启动后台构建 tag cache [2025-12-29 06:59:47] [0.3.101] [INFO] xiaomusic.py:704: 启动后台构建 tag cache [2025-12-29 06:59:47] [0.3.101] [INFO] xiaomusic.py:2264: in cancel_all_timer [2025-12-29 06:59:47] [0.3.101] [INFO] xiaomusic.py:2264: in cancel_all_timer [2025-12-29 06:59:47] [0.3.101] [INFO] xiaomusic.py:2264: in cancel_all_timer [2025-12-29 06:59:47] [0.3.101] [INFO] xiaomusic.py:2264: in cancel_all_timer [2025-12-29 06:59:47] [0.3.101] [INFO] xiaomusic.py:2264: in cancel_all_timer [2025-12-29 06:59:47] [0.3.101] [INFO] xiaomusic.py:2264: in cancel_all_timer [2025-12-29 06:59:47] [0.3.101] [INFO] xiaomusic.py:1552: reinit success. data:Config(account='******', password='******', mi_did='', cookie='', verbose=False, music_path='music', temp_path='music/tmp', download_path='', conf_path='conf', cache_dir='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,set_random_play,playlocal,play_music_list,stop,音量,大点音,小点音,继续', exclude_dirs='@eaDir', 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='/tmp/xiaomusic.txt', fuzzy_match_cutoff=0.6, enable_fuzzy_match=True, stop_tts_msg='收到,再见', enable_config_example=True, 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) [2025-12-29 06:59:47] [0.3.101] [INFO] xiaomusic.py:1552: reinit success. data:Config(account='******', password='******', mi_did='', cookie='', verbose=False, music_path='music', temp_path='music/tmp', download_path='', conf_path='conf', cache_dir='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,set_random_play,playlocal,play_music_list,stop,音量,大点音,小点音,继续', exclude_dirs='@eaDir', 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='/tmp/xiaomusic.txt', fuzzy_match_cutoff=0.6, enable_fuzzy_match=True, stop_tts_msg='收到,再见', enable_config_example=True, 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) [2025-12-29 06:59:47] [0.3.101] [INFO] httpserver.py:183: disable_httpauth:True [2025-12-29 06:59:47] [0.3.101] [INFO] httpserver.py:183: disable_httpauth:True [2025-12-29 06:59:47] [0.3.101] [INFO] xiaomusic.py:676: 已从【cache/tag_cache.json】加载 tag cache [2025-12-29 06:59:47] [0.3.101] [INFO] xiaomusic.py:676: 已从【cache/tag_cache.json】加载 tag cache [2025-12-29 06:59:47] [0.3.101] [INFO] xiaomusic.py:717: ignore_tag_absolute_dirs: [] [2025-12-29 06:59:47] [0.3.101] [INFO] xiaomusic.py:717: ignore_tag_absolute_dirs: [] [2025-12-29 06:59:47] [0.3.101] [INFO] xiaomusic.py:690: 保存:tag cache 已保存到【cache/tag_cache.json】 [2025-12-29 06:59:47] [0.3.101] [INFO] xiaomusic.py:690: 保存:tag cache 已保存到【cache/tag_cache.json】 [2025-12-29 06:59:47] [0.3.101] [INFO] xiaomusic.py:745: tag 更新完成 [2025-12-29 06:59:47] [0.3.101] [INFO] xiaomusic.py:745: tag 更新完成 [2025-12-30 00:12:49] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2025-12-30 00:12:49] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2025-12-31 00:12:50] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2025-12-31 00:12:50] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-01-01 00:12:50] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-01-01 00:12:50] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-01-02 00:12:50] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-01-02 00:12:50] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-01-03 00:12:50] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-01-03 00:12:50] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-01-04 00:12:50] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-01-04 00:12:50] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-01-05 00:12:50] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-01-05 00:12:50] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-01-06 00:12:50] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-01-06 00:12:50] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-01-07 00:12:50] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-01-07 00:12:50] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-01-08 00:12:50] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-01-08 00:12:50] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-01-09 00:12:50] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-01-09 00:12:50] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-01-10 00:12:50] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-01-10 00:12:50] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-01-11 00:12:51] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-01-11 00:12:51] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-01-12 00:12:51] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-01-12 00:12:51] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-01-13 00:12:51] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-01-13 00:12:51] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-01-14 00:12:51] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-01-14 00:12:51] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-01-15 00:12:51] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-01-15 00:12:51] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-01-16 00:12:51] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-01-16 00:12:51] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-01-17 00:12:51] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-01-17 00:12:51] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-01-18 00:12:51] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-01-18 00:12:51] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-01-19 00:12:51] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-01-19 00:12:51] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-01-20 00:12:51] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-01-20 00:12:51] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-01-21 00:12:51] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-01-21 00:12:51] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-01-22 00:12:51] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-01-22 00:12:51] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-01-22 04:08:29] [0.3.101] [WARNING] xiaomusic.py:1560: Execption Error https://api2.mina.mi.com/admin/v2/device_list?master=0&requestId=app_ios_WSytBVmNUIebgh51lEjq7iFrLKD08R: Login failed [2026-01-22 04:08:29] [0.3.101] [WARNING] xiaomusic.py:1560: Execption Error https://api2.mina.mi.com/admin/v2/device_list?master=0&requestId=app_ios_WSytBVmNUIebgh51lEjq7iFrLKD08R: Login failed [2026-01-22 04:08:34] [0.3.101] [WARNING] xiaomusic.py:1560: Execption Error https://api2.mina.mi.com/admin/v2/device_list?master=0&requestId=app_ios_eH3OGtZrU1uhWEzRLFYpfsbdkiwxXP: Login failed [2026-01-22 04:08:34] [0.3.101] [WARNING] xiaomusic.py:1560: Execption Error https://api2.mina.mi.com/admin/v2/device_list?master=0&requestId=app_ios_eH3OGtZrU1uhWEzRLFYpfsbdkiwxXP: Login failed [2026-01-22 05:05:31] [0.3.101] [WARNING] xiaomusic.py:1560: Execption Error https://api2.mina.mi.com/admin/v2/device_list?master=0&requestId=app_ios_YGhQKb8kSntiUWDuxFo4lZ1BP6M3A7: Login failed [2026-01-22 05:05:31] [0.3.101] [WARNING] xiaomusic.py:1560: Execption Error https://api2.mina.mi.com/admin/v2/device_list?master=0&requestId=app_ios_YGhQKb8kSntiUWDuxFo4lZ1BP6M3A7: Login failed [2026-01-23 00:12:51] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-01-23 00:12:51] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-01-24 00:12:51] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-01-24 00:12:51] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-01-25 00:12:51] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-01-25 00:12:51] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-01-26 00:12:51] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-01-26 00:12:51] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-01-27 00:12:51] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-01-27 00:12:51] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-01-28 00:12:52] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-01-28 00:12:52] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-01-29 00:12:52] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-01-29 00:12:52] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-01-30 00:12:52] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-01-30 00:12:52] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-01-31 00:12:52] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-01-31 00:12:52] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-02-01 00:12:52] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-02-01 00:12:52] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-02-02 00:12:52] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-02-02 00:12:52] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-02-03 00:12:52] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-02-03 00:12:52] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-02-04 00:12:52] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-02-04 00:12:52] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-02-05 00:12:52] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-02-05 00:12:52] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-02-06 00:12:52] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-02-06 00:12:52] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-02-07 00:12:52] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-02-07 00:12:52] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-02-08 00:12:52] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-02-08 00:12:52] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-02-09 00:12:52] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-02-09 00:12:52] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-02-10 00:12:52] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-02-10 00:12:52] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-02-11 00:12:52] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-02-11 00:12:52] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-02-12 00:12:52] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-02-12 00:12:52] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-02-13 00:12:52] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-02-13 00:12:52] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-02-14 00:12:52] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-02-14 00:12:52] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-02-15 00:12:52] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-02-15 00:12:52] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-02-16 00:12:52] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-02-16 00:12:52] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-02-17 00:12:52] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-02-17 00:12:52] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-02-18 00:12:52] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-02-18 00:12:52] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-02-19 00:12:52] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success [2026-02-19 00:12:52] [0.3.101] [INFO] analytics.py:75: analytics run_with_cancel success