2025-12-07 22:35:31,916 - __main__ - INFO - 正在启动TSP智能助手综合管理平台...
2025-12-07 22:35:31,916 - __main__ - INFO - 跳过系统检查，直接启动服务...
2025-12-07 22:35:31,935 - __main__ - ERROR - 启动失败: unexpected indent (app.py, line 703)
2025-12-07 22:35:34,855 - __main__ - INFO - 正在启动TSP智能助手综合管理平台...
2025-12-07 22:35:34,855 - __main__ - INFO - 跳过系统检查，直接启动服务...
2025-12-07 22:35:34,894 - __main__ - ERROR - 启动失败: unexpected indent (app.py, line 703)
2025-12-07 22:38:40,362 - __main__ - INFO - 正在启动TSP智能助手综合管理平台...
2025-12-07 22:38:40,362 - __main__ - INFO - 跳过系统检查，直接启动服务...
2025-12-07 22:38:47,496 - src.core.database - INFO - 数据库初始化成功
2025-12-07 22:38:50,400 - src.core.backup_manager - INFO - 备份数据库初始化成功: tsp_assistant.db
2025-12-07 22:38:50,400 - src.integrations.config_manager - INFO - 配置加载成功
2025-12-07 22:38:50,531 - werkzeug - INFO - [31m[1mWARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.[0m
 * Running on all addresses (0.0.0.0)
 * Running on http://127.0.0.1:5000
 * Running on http://192.168.31.202:5000
2025-12-07 22:38:50,531 - werkzeug - INFO - [33mPress CTRL+C to quit[0m
2025-12-07 22:38:51,090 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 24 个条目
2025-12-07 22:38:51,498 - src.web.websocket_server - INFO - 启动WebSocket服务器: ws://localhost:8765
2025-12-07 22:38:51,514 - websockets.server - INFO - server listening on 127.0.0.1:8765
2025-12-07 22:38:51,516 - websockets.server - INFO - server listening on [::1]:8765
2025-12-07 22:38:53,504 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 22:38:53] "GET / HTTP/1.1" 200 -
2025-12-07 22:38:53,802 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 22:38:53] "[36mGET /static/js/main.js?v=1.0.0 HTTP/1.1[0m" 304 -
2025-12-07 22:38:53,818 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 22:38:53] "[36mGET /static/css/main.css?v=1.0.0 HTTP/1.1[0m" 304 -
2025-12-07 22:38:53,830 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 22:38:53] "[36mGET /static/css/variables.css HTTP/1.1[0m" 304 -
2025-12-07 22:38:53,830 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 22:38:53] "[36mGET /static/css/components.css HTTP/1.1[0m" 304 -
2025-12-07 22:38:53,834 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 22:38:53] "[36mGET /static/css/layout.css HTTP/1.1[0m" 304 -
2025-12-07 22:38:53,890 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 22:38:53] "[36mGET /static/js/core/utils.js HTTP/1.1[0m" 304 -
2025-12-07 22:38:53,890 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 22:38:53] "[36mGET /static/js/core/store.js HTTP/1.1[0m" 304 -
2025-12-07 22:38:53,890 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 22:38:53] "[36mGET /static/js/core/router.js HTTP/1.1[0m" 304 -
2025-12-07 22:38:53,898 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 22:38:53] "[36mGET /static/js/core/websocket.js HTTP/1.1[0m" 304 -
2025-12-07 22:38:53,907 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 22:38:53] "[36mGET /static/js/components/navbar.js HTTP/1.1[0m" 304 -
2025-12-07 22:38:53,909 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 22:38:53] "[36mGET /static/js/components/sidebar.js HTTP/1.1[0m" 304 -
2025-12-07 22:38:53,914 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 22:38:53] "[36mGET /static/js/components/modal.js HTTP/1.1[0m" 304 -
2025-12-07 22:38:53,931 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 22:38:53] "[36mGET /static/js/pages/login.js HTTP/1.1[0m" 304 -
2025-12-07 22:38:53,931 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 22:38:53] "[33mGET /sw.js HTTP/1.1[0m" 404 -
2025-12-07 22:38:54,298 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 22:38:54] "GET / HTTP/1.1" 200 -
2025-12-07 22:38:54,340 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 22:38:54] "[36mGET /static/js/main.js?v=1.0.0 HTTP/1.1[0m" 304 -
2025-12-07 22:38:54,340 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 22:38:54] "[36mGET /static/css/main.css?v=1.0.0 HTTP/1.1[0m" 304 -
2025-12-07 22:38:54,366 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 22:38:54] "[36mGET /static/css/variables.css HTTP/1.1[0m" 304 -
2025-12-07 22:38:54,380 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 22:38:54] "[36mGET /static/css/components.css HTTP/1.1[0m" 304 -
2025-12-07 22:38:54,380 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 22:38:54] "[36mGET /static/css/layout.css HTTP/1.1[0m" 304 -
2025-12-07 22:38:54,410 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 22:38:54] "[36mGET /static/js/core/utils.js HTTP/1.1[0m" 304 -
2025-12-07 22:38:54,423 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 22:38:54] "[36mGET /static/js/core/store.js HTTP/1.1[0m" 304 -
2025-12-07 22:38:54,427 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 22:38:54] "[36mGET /static/js/core/router.js HTTP/1.1[0m" 304 -
2025-12-07 22:38:54,427 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 22:38:54] "[36mGET /static/js/core/websocket.js HTTP/1.1[0m" 304 -
2025-12-07 22:38:54,442 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 22:38:54] "[36mGET /static/js/components/navbar.js HTTP/1.1[0m" 304 -
2025-12-07 22:38:54,442 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 22:38:54] "[36mGET /static/js/components/sidebar.js HTTP/1.1[0m" 304 -
2025-12-07 22:38:54,442 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 22:38:54] "[36mGET /static/js/components/modal.js HTTP/1.1[0m" 304 -
2025-12-07 22:38:54,481 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 22:38:54] "[36mGET /static/js/pages/login.js HTTP/1.1[0m" 304 -
2025-12-07 22:38:54,490 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 22:38:54] "[33mGET /sw.js HTTP/1.1[0m" 404 -
2025-12-07 22:38:54,833 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 22:38:54] "GET / HTTP/1.1" 200 -
2025-12-07 22:38:54,859 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 22:38:54] "[36mGET /static/css/main.css?v=1.0.0 HTTP/1.1[0m" 304 -
2025-12-07 22:38:54,867 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 22:38:54] "[36mGET /static/js/main.js?v=1.0.0 HTTP/1.1[0m" 304 -
2025-12-07 22:38:54,885 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 22:38:54] "[36mGET /static/css/variables.css HTTP/1.1[0m" 304 -
2025-12-07 22:38:54,890 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 22:38:54] "[36mGET /static/css/components.css HTTP/1.1[0m" 304 -
2025-12-07 22:38:54,890 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 22:38:54] "[36mGET /static/css/layout.css HTTP/1.1[0m" 304 -
2025-12-07 22:38:54,915 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 22:38:54] "[36mGET /static/js/core/utils.js HTTP/1.1[0m" 304 -
2025-12-07 22:38:54,915 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 22:38:54] "[36mGET /static/js/core/store.js HTTP/1.1[0m" 304 -
2025-12-07 22:38:54,923 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 22:38:54] "[36mGET /static/js/core/router.js HTTP/1.1[0m" 304 -
2025-12-07 22:38:54,923 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 22:38:54] "[36mGET /static/js/core/websocket.js HTTP/1.1[0m" 304 -
2025-12-07 22:38:54,936 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 22:38:54] "[36mGET /static/js/components/navbar.js HTTP/1.1[0m" 304 -
2025-12-07 22:38:54,940 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 22:38:54] "[36mGET /static/js/components/sidebar.js HTTP/1.1[0m" 304 -
2025-12-07 22:38:54,947 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 22:38:54] "[36mGET /static/js/components/modal.js HTTP/1.1[0m" 304 -
2025-12-07 22:38:54,970 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 22:38:54] "[36mGET /static/js/pages/login.js HTTP/1.1[0m" 304 -
2025-12-07 22:38:54,970 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 22:38:54] "[33mGET /sw.js HTTP/1.1[0m" 404 -
2025-12-07 22:39:02,958 - src.web.error_handlers - ERROR - 错误响应: 用户名或密码错误 - None
2025-12-07 22:39:02,958 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 22:39:02] "[31m[1mPOST /api/login HTTP/1.1[0m" 401 -
2025-12-07 22:42:12,287 - src.core.database - ERROR - 数据库操作失败: (pymysql.err.OperationalError) (2013, 'Lost connection to MySQL server during query')
(Background on this error at: https://sqlalche.me/e/20/e3q8)
2025-12-07 22:42:12,287 - src.web.error_handlers - ERROR - 未处理错误 login: (pymysql.err.OperationalError) (2013, 'Lost connection to MySQL server during query')
(Background on this error at: https://sqlalche.me/e/20/e3q8)
2025-12-07 22:42:12,287 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 22:42:12] "[35m[1mPOST /api/login HTTP/1.1[0m" 500 -
2025-12-07 22:43:22,951 - src.web.error_handlers - ERROR - 未处理错误 login: Instance <User at 0x2235dabe8d0> is not bound to a Session; attribute refresh operation cannot proceed (Background on this error at: https://sqlalche.me/e/20/bhk3)
2025-12-07 22:43:22,951 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 22:43:22] "[35m[1mPOST /api/login HTTP/1.1[0m" 500 -
2025-12-07 22:44:23,984 - src.web.error_handlers - ERROR - 未处理错误 login: Instance <User at 0x2235daaaf90> is not bound to a Session; attribute refresh operation cannot proceed (Background on this error at: https://sqlalche.me/e/20/bhk3)
2025-12-07 22:44:23,984 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 22:44:23] "[35m[1mPOST /api/login HTTP/1.1[0m" 500 -
2025-12-07 22:45:00,229 - src.web.error_handlers - ERROR - 未处理错误 login: Instance <User at 0x2235daab6d0> is not bound to a Session; attribute refresh operation cannot proceed (Background on this error at: https://sqlalche.me/e/20/bhk3)
2025-12-07 22:45:00,229 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 22:45:00] "[35m[1mPOST /api/login HTTP/1.1[0m" 500 -
2025-12-07 22:45:22,453 - src.web.error_handlers - ERROR - 未处理错误 login: Instance <User at 0x2235daa8dd0> is not bound to a Session; attribute refresh operation cannot proceed (Background on this error at: https://sqlalche.me/e/20/bhk3)
2025-12-07 22:45:22,453 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 22:45:22] "[35m[1mPOST /api/login HTTP/1.1[0m" 500 -
2025-12-07 22:46:50,929 - src.web.error_handlers - ERROR - 未处理错误 login: Instance <User at 0x2235da91510> is not bound to a Session; attribute refresh operation cannot proceed (Background on this error at: https://sqlalche.me/e/20/bhk3)
2025-12-07 22:46:50,929 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 22:46:50] "[35m[1mPOST /api/login HTTP/1.1[0m" 500 -
2025-12-07 22:47:31,069 - src.web.error_handlers - ERROR - 未处理错误 login: Instance <User at 0x2235da91450> is not bound to a Session; attribute refresh operation cannot proceed (Background on this error at: https://sqlalche.me/e/20/bhk3)
2025-12-07 22:47:31,069 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 22:47:31] "[35m[1mPOST /api/login HTTP/1.1[0m" 500 -
2025-12-07 22:48:52,888 - src.web.error_handlers - ERROR - 未处理错误 login: Instance <User at 0x2235da91250> is not bound to a Session; attribute refresh operation cannot proceed (Background on this error at: https://sqlalche.me/e/20/bhk3)
2025-12-07 22:48:52,888 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 22:48:52] "[35m[1mPOST /api/login HTTP/1.1[0m" 500 -
2025-12-07 22:49:30,361 - src.web.error_handlers - ERROR - 未处理错误 login: Instance <User at 0x2235da902d0> is not bound to a Session; attribute refresh operation cannot proceed (Background on this error at: https://sqlalche.me/e/20/bhk3)
2025-12-07 22:49:30,361 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 22:49:30] "[35m[1mPOST /api/login HTTP/1.1[0m" 500 -
2025-12-07 22:50:24,422 - src.web.error_handlers - ERROR - 未处理错误 login: Instance <User at 0x2235da90b90> is not bound to a Session; attribute refresh operation cannot proceed (Background on this error at: https://sqlalche.me/e/20/bhk3)
2025-12-07 22:50:24,422 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 22:50:24] "[35m[1mPOST /api/login HTTP/1.1[0m" 500 -
2025-12-07 23:11:26,193 - __main__ - INFO - 正在启动TSP智能助手综合管理平台...
2025-12-07 23:11:26,193 - __main__ - INFO - 跳过系统检查，直接启动服务...
2025-12-07 23:11:32,645 - src.core.database - INFO - 数据库初始化成功
2025-12-07 23:11:35,621 - src.core.backup_manager - INFO - 备份数据库初始化成功: tsp_assistant.db
2025-12-07 23:11:35,637 - src.integrations.config_manager - INFO - 配置加载成功
2025-12-07 23:11:35,797 - werkzeug - INFO - [31m[1mWARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.[0m
 * Running on all addresses (0.0.0.0)
 * Running on http://127.0.0.1:5000
 * Running on http://192.168.31.202:5000
2025-12-07 23:11:35,805 - werkzeug - INFO - [33mPress CTRL+C to quit[0m
2025-12-07 23:11:36,246 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 24 个条目
2025-12-07 23:11:36,639 - src.web.websocket_server - INFO - 启动WebSocket服务器: ws://localhost:8765
2025-12-07 23:11:36,662 - websockets.server - INFO - server listening on [::1]:8765
2025-12-07 23:11:36,662 - websockets.server - INFO - server listening on 127.0.0.1:8765
2025-12-07 23:11:38,588 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:38] "GET / HTTP/1.1" 200 -
2025-12-07 23:11:38,864 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:38] "[36mGET /static/js/main.js?v=1.0.0 HTTP/1.1[0m" 304 -
2025-12-07 23:11:38,884 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:38] "[36mGET /static/css/main.css?v=1.0.0 HTTP/1.1[0m" 304 -
2025-12-07 23:11:38,896 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:38] "GET /static/css/variables.css HTTP/1.1" 200 -
2025-12-07 23:11:38,896 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:38] "GET /static/css/components.css HTTP/1.1" 200 -
2025-12-07 23:11:38,896 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:38] "GET /static/css/layout.css HTTP/1.1" 200 -
2025-12-07 23:11:38,964 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:38] "[36mGET /static/js/core/utils.js HTTP/1.1[0m" 304 -
2025-12-07 23:11:38,971 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:38] "[36mGET /static/js/core/store.js HTTP/1.1[0m" 304 -
2025-12-07 23:11:38,971 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:38] "[36mGET /static/js/core/router.js HTTP/1.1[0m" 304 -
2025-12-07 23:11:38,977 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:38] "[36mGET /static/js/core/websocket.js HTTP/1.1[0m" 304 -
2025-12-07 23:11:38,987 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:38] "[36mGET /static/js/components/sidebar.js HTTP/1.1[0m" 304 -
2025-12-07 23:11:38,987 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:38] "GET /static/js/components/navbar.js HTTP/1.1" 200 -
2025-12-07 23:11:38,987 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:38] "[36mGET /static/js/components/modal.js HTTP/1.1[0m" 304 -
2025-12-07 23:11:39,029 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:39] "[33mGET /sw.js HTTP/1.1[0m" 404 -
2025-12-07 23:11:39,029 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:39] "GET /static/js/pages/dashboard.js HTTP/1.1" 200 -
2025-12-07 23:11:39,086 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:39] "[36mGET /static/js/core/api.js HTTP/1.1[0m" 304 -
2025-12-07 23:11:39,397 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:39] "GET / HTTP/1.1" 200 -
2025-12-07 23:11:39,457 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:39] "[36mGET /static/js/main.js?v=1.0.0 HTTP/1.1[0m" 304 -
2025-12-07 23:11:39,457 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:39] "[36mGET /static/css/main.css?v=1.0.0 HTTP/1.1[0m" 304 -
2025-12-07 23:11:39,471 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:39] "[36mGET /static/css/variables.css HTTP/1.1[0m" 304 -
2025-12-07 23:11:39,480 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:39] "[36mGET /static/css/components.css HTTP/1.1[0m" 304 -
2025-12-07 23:11:39,484 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:39] "[36mGET /static/css/layout.css HTTP/1.1[0m" 304 -
2025-12-07 23:11:39,503 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:39] "[36mGET /static/js/core/utils.js HTTP/1.1[0m" 304 -
2025-12-07 23:11:39,513 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:39] "[36mGET /static/js/core/store.js HTTP/1.1[0m" 304 -
2025-12-07 23:11:39,522 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:39] "[36mGET /static/js/core/router.js HTTP/1.1[0m" 304 -
2025-12-07 23:11:39,522 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:39] "[36mGET /static/js/core/websocket.js HTTP/1.1[0m" 304 -
2025-12-07 23:11:39,539 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:39] "[36mGET /static/js/components/navbar.js HTTP/1.1[0m" 304 -
2025-12-07 23:11:39,539 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:39] "[36mGET /static/js/components/sidebar.js HTTP/1.1[0m" 304 -
2025-12-07 23:11:39,539 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:39] "[36mGET /static/js/components/modal.js HTTP/1.1[0m" 304 -
2025-12-07 23:11:39,554 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:39] "[36mGET /static/js/pages/dashboard.js HTTP/1.1[0m" 304 -
2025-12-07 23:11:39,570 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:39] "[33mGET /sw.js HTTP/1.1[0m" 404 -
2025-12-07 23:11:39,587 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:39] "[36mGET /static/js/core/api.js HTTP/1.1[0m" 304 -
2025-12-07 23:11:39,928 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:39] "GET / HTTP/1.1" 200 -
2025-12-07 23:11:39,953 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:39] "[36mGET /static/css/main.css?v=1.0.0 HTTP/1.1[0m" 304 -
2025-12-07 23:11:39,953 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:39] "[36mGET /static/js/main.js?v=1.0.0 HTTP/1.1[0m" 304 -
2025-12-07 23:11:39,969 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:39] "[36mGET /static/css/variables.css HTTP/1.1[0m" 304 -
2025-12-07 23:11:39,977 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:39] "[36mGET /static/css/components.css HTTP/1.1[0m" 304 -
2025-12-07 23:11:39,977 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:39] "[36mGET /static/css/layout.css HTTP/1.1[0m" 304 -
2025-12-07 23:11:40,016 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:40] "[36mGET /static/js/core/utils.js HTTP/1.1[0m" 304 -
2025-12-07 23:11:40,020 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:40] "[36mGET /static/js/core/router.js HTTP/1.1[0m" 304 -
2025-12-07 23:11:40,020 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:40] "[36mGET /static/js/core/store.js HTTP/1.1[0m" 304 -
2025-12-07 23:11:40,025 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:40] "[36mGET /static/js/core/websocket.js HTTP/1.1[0m" 304 -
2025-12-07 23:11:40,040 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:40] "[36mGET /static/js/components/navbar.js HTTP/1.1[0m" 304 -
2025-12-07 23:11:40,044 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:40] "[36mGET /static/js/components/sidebar.js HTTP/1.1[0m" 304 -
2025-12-07 23:11:40,047 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:40] "[36mGET /static/js/components/modal.js HTTP/1.1[0m" 304 -
2025-12-07 23:11:40,070 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:40] "[33mGET /sw.js HTTP/1.1[0m" 404 -
2025-12-07 23:11:40,072 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:40] "[36mGET /static/js/pages/dashboard.js HTTP/1.1[0m" 304 -
2025-12-07 23:11:40,080 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:40] "[36mGET /static/js/core/api.js HTTP/1.1[0m" 304 -
2025-12-07 23:11:41,826 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 24 个条目
2025-12-07 23:11:41,920 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:41] "GET /api/workorders?page=1&per_page=5&sort=created_at&order=desc HTTP/1.1" 200 -
2025-12-07 23:11:41,990 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:41] "GET /api/alerts?page=1&per_page=5&sort=created_at&order=desc HTTP/1.1" 200 -
2025-12-07 23:11:42,026 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 24 个条目
2025-12-07 23:11:42,275 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:42] "GET /api/workorders?page=1&per_page=5&sort=created_at&order=desc HTTP/1.1" 200 -
2025-12-07 23:11:42,292 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 24 个条目
2025-12-07 23:11:42,465 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 24 个条目
2025-12-07 23:11:42,531 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:42] "GET /api/workorders?page=1&per_page=5&sort=created_at&order=desc HTTP/1.1" 200 -
2025-12-07 23:11:42,589 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 24 个条目
2025-12-07 23:11:42,639 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:42] "GET /api/alerts?page=1&per_page=5&sort=created_at&order=desc HTTP/1.1" 200 -
2025-12-07 23:11:42,814 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 24 个条目
2025-12-07 23:11:43,220 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:43] "GET /api/alerts?page=1&per_page=5&sort=created_at&order=desc HTTP/1.1" 200 -
2025-12-07 23:11:45,122 - src.core.database - ERROR - 数据库操作失败: (pymysql.err.OperationalError) (2013, 'Lost connection to MySQL server during query')
(Background on this error at: https://sqlalche.me/e/20/e3q8)
2025-12-07 23:11:45,122 - src.core.query_optimizer - ERROR - 优化分析查询失败: (pymysql.err.OperationalError) (2013, 'Lost connection to MySQL server during query')
(Background on this error at: https://sqlalche.me/e/20/e3q8)
2025-12-07 23:11:45,122 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:45] "GET /api/analytics?days=30 HTTP/1.1" 200 -
2025-12-07 23:11:52,053 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:52] "GET / HTTP/1.1" 200 -
2025-12-07 23:11:52,253 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:52] "GET /static/css/main.css?v=1.0.0 HTTP/1.1" 200 -
2025-12-07 23:11:52,383 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:52] "GET /static/js/main.js?v=1.0.0 HTTP/1.1" 200 -
2025-12-07 23:11:52,703 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:52] "GET /static/css/components.css HTTP/1.1" 200 -
2025-12-07 23:11:52,711 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:52] "GET /static/css/variables.css HTTP/1.1" 200 -
2025-12-07 23:11:52,728 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:52] "GET /static/css/layout.css HTTP/1.1" 200 -
2025-12-07 23:11:53,270 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:53] "GET /static/js/core/utils.js HTTP/1.1" 200 -
2025-12-07 23:11:53,336 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:53] "GET /static/js/core/store.js HTTP/1.1" 200 -
2025-12-07 23:11:53,403 - src.core.query_optimizer - WARNING - 未映射的状态: 'Analysising' (数量: 1)
2025-12-07 23:11:53,403 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:53] "GET /static/js/core/router.js HTTP/1.1" 200 -
2025-12-07 23:11:53,511 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:53] "GET /static/js/core/websocket.js HTTP/1.1" 200 -
2025-12-07 23:11:53,602 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:53] "GET /static/js/components/navbar.js HTTP/1.1" 200 -
2025-12-07 23:11:53,705 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:53] "GET /static/js/components/sidebar.js HTTP/1.1" 200 -
2025-12-07 23:11:53,720 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:53] "GET /static/js/components/modal.js HTTP/1.1" 200 -
2025-12-07 23:11:54,220 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:54] "GET /static/js/pages/login.js HTTP/1.1" 200 -
2025-12-07 23:11:54,237 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:54] "[33mGET /static/images/favicon-32.png HTTP/1.1[0m" 404 -
2025-12-07 23:11:54,237 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:54] "[33mGET /sw.js HTTP/1.1[0m" 404 -
2025-12-07 23:11:54,295 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:54] "GET /static/manifest.json HTTP/1.1" 200 -
2025-12-07 23:11:54,363 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:54] "[33mGET /static/images/favicon-16.png HTTP/1.1[0m" 404 -
2025-12-07 23:11:54,406 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:54] "GET /static/sw.js HTTP/1.1" 200 -
2025-12-07 23:11:54,662 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:54] "[33mGET /static/images/icon-144.png HTTP/1.1[0m" 404 -
2025-12-07 23:11:54,730 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:54] "GET / HTTP/1.1" 200 -
2025-12-07 23:11:54,906 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:54] "GET /static/css/main.css HTTP/1.1" 200 -
2025-12-07 23:11:54,906 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:54] "GET /static/js/main.js HTTP/1.1" 200 -
2025-12-07 23:11:54,927 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:54] "[36mGET /static/js/core/utils.js HTTP/1.1[0m" 304 -
2025-12-07 23:11:55,144 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:55] "GET /static/js/core/api.js HTTP/1.1" 200 -
2025-12-07 23:11:55,312 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:55] "GET /api/analytics?days=30 HTTP/1.1" 200 -
2025-12-07 23:11:55,316 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:55] "[36mGET /static/js/core/store.js HTTP/1.1[0m" 304 -
2025-12-07 23:11:55,321 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:55] "[36mGET /static/js/core/websocket.js HTTP/1.1[0m" 304 -
2025-12-07 23:11:55,329 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:55] "[36mGET /static/js/core/router.js HTTP/1.1[0m" 304 -
2025-12-07 23:11:55,510 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:55] "[36mGET /static/js/components/navbar.js HTTP/1.1[0m" 304 -
2025-12-07 23:11:55,654 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:55] "[36mGET /static/js/components/sidebar.js HTTP/1.1[0m" 304 -
2025-12-07 23:11:55,654 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:55] "[36mGET /static/js/components/modal.js HTTP/1.1[0m" 304 -
2025-12-07 23:11:55,661 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:55] "GET /static/js/pages/dashboard.js HTTP/1.1" 200 -
2025-12-07 23:11:55,836 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:55] "GET /static/js/pages/alerts.js HTTP/1.1" 200 -
2025-12-07 23:11:55,986 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:55] "GET /static/js/pages/workorders.js HTTP/1.1" 200 -
2025-12-07 23:11:55,999 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:55] "GET /static/js/pages/knowledge.js HTTP/1.1" 200 -
2025-12-07 23:11:56,007 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:56] "GET /static/js/pages/chat.js HTTP/1.1" 200 -
2025-12-07 23:11:56,171 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:56] "GET /static/js/pages/monitoring.js HTTP/1.1" 200 -
2025-12-07 23:11:56,305 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:11:56] "GET /static/js/pages/settings.js HTTP/1.1" 200 -
2025-12-07 23:12:22,703 - src.core.query_optimizer - WARNING - 未映射的状态: 'Analysising' (数量: 1)
2025-12-07 23:12:24,118 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:12:24] "GET /api/analytics?days=30 HTTP/1.1" 200 -
2025-12-07 23:12:30,237 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:12:30] "POST /api/login HTTP/1.1" 200 -
2025-12-07 23:12:30,669 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:12:30] "[36mGET /static/js/pages/dashboard.js HTTP/1.1[0m" 304 -
2025-12-07 23:12:30,921 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:12:30] "[36mGET /static/js/core/api.js HTTP/1.1[0m" 304 -
2025-12-07 23:12:32,142 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:12:32] "GET /api/workorders?page=1&per_page=5&sort=created_at&order=desc HTTP/1.1" 200 -
2025-12-07 23:12:32,142 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:12:32] "GET /api/alerts?page=1&per_page=5&sort=created_at&order=desc HTTP/1.1" 200 -
2025-12-07 23:12:40,971 - src.core.query_optimizer - WARNING - 未映射的状态: 'Analysising' (数量: 1)
2025-12-07 23:12:42,471 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:12:42] "GET /api/analytics?days=30 HTTP/1.1" 200 -
2025-12-07 23:14:38,300 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:14:38] "GET / HTTP/1.1" 200 -
2025-12-07 23:14:55,194 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:14:55] "[35m[1mPOST /api/login HTTP/1.1[0m" 500 -
2025-12-07 23:15:52,129 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:15:52] "POST /api/login HTTP/1.1" 200 -
2025-12-07 23:16:17,378 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:16:17] "GET /login HTTP/1.1" 200 -
2025-12-07 23:16:33,047 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:16:33] "GET /static/js/main.js HTTP/1.1" 200 -
2025-12-07 23:18:46,886 - __main__ - INFO - 正在启动TSP智能助手综合管理平台...
2025-12-07 23:18:46,886 - __main__ - INFO - 跳过系统检查，直接启动服务...
2025-12-07 23:18:53,982 - src.core.database - INFO - 数据库初始化成功
2025-12-07 23:18:57,082 - src.core.backup_manager - INFO - 备份数据库初始化成功: tsp_assistant.db
2025-12-07 23:18:57,104 - src.integrations.config_manager - INFO - 配置加载成功
2025-12-07 23:18:57,265 - werkzeug - INFO - [31m[1mWARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.[0m
 * Running on all addresses (0.0.0.0)
 * Running on http://127.0.0.1:5000
 * Running on http://192.168.31.202:5000
2025-12-07 23:18:57,265 - werkzeug - INFO - [33mPress CTRL+C to quit[0m
2025-12-07 23:18:57,681 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 24 个条目
2025-12-07 23:18:58,078 - src.web.websocket_server - INFO - 启动WebSocket服务器: ws://localhost:8765
2025-12-07 23:18:58,094 - websockets.server - INFO - server listening on [::1]:8765
2025-12-07 23:18:58,094 - websockets.server - INFO - server listening on 127.0.0.1:8765
2025-12-07 23:19:09,129 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:19:09] "GET / HTTP/1.1" 200 -
2025-12-07 23:19:09,486 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:19:09] "[36mGET /static/css/main.css?v=1.0.0 HTTP/1.1[0m" 304 -
2025-12-07 23:19:09,495 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:19:09] "[36mGET /static/js/main.js?v=1.0.0 HTTP/1.1[0m" 304 -
2025-12-07 23:19:09,545 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:19:09] "GET /static/css/variables.css HTTP/1.1" 200 -
2025-12-07 23:19:09,545 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:19:09] "GET /static/css/components.css HTTP/1.1" 200 -
2025-12-07 23:19:09,551 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:19:09] "GET /static/css/layout.css HTTP/1.1" 200 -
2025-12-07 23:19:09,595 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:19:09] "[36mGET /static/js/core/utils.js HTTP/1.1[0m" 304 -
2025-12-07 23:19:09,595 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:19:09] "[36mGET /static/js/core/store.js HTTP/1.1[0m" 304 -
2025-12-07 23:19:09,603 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:19:09] "[36mGET /static/js/core/router.js HTTP/1.1[0m" 304 -
2025-12-07 23:19:09,610 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:19:09] "[36mGET /static/js/core/websocket.js HTTP/1.1[0m" 304 -
2025-12-07 23:19:09,610 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:19:09] "GET /static/js/components/navbar.js HTTP/1.1" 200 -
2025-12-07 23:19:09,618 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:19:09] "[36mGET /static/js/components/sidebar.js HTTP/1.1[0m" 304 -
2025-12-07 23:19:09,618 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:19:09] "[36mGET /static/js/components/modal.js HTTP/1.1[0m" 304 -
2025-12-07 23:19:09,645 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:19:09] "[33mGET /sw.js HTTP/1.1[0m" 404 -
2025-12-07 23:19:09,653 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:19:09] "GET /static/js/pages/dashboard.js HTTP/1.1" 200 -
2025-12-07 23:19:09,700 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:19:09] "[36mGET /static/js/core/api.js HTTP/1.1[0m" 304 -
2025-12-07 23:19:12,128 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 24 个条目
2025-12-07 23:19:12,628 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:19:12] "GET /api/alerts?page=1&per_page=5&sort=created_at&order=desc HTTP/1.1" 200 -
2025-12-07 23:19:12,848 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 24 个条目
2025-12-07 23:19:14,748 - src.core.database - ERROR - 数据库操作失败: (pymysql.err.OperationalError) (2013, 'Lost connection to MySQL server during query')
(Background on this error at: https://sqlalche.me/e/20/e3q8)
2025-12-07 23:19:14,748 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:19:14] "[35m[1mGET /api/workorders?page=1&per_page=5&sort=created_at&order=desc HTTP/1.1[0m" 500 -
2025-12-07 23:19:21,245 - src.core.query_optimizer - WARNING - 未映射的状态: 'Analysising' (数量: 1)
2025-12-07 23:19:22,937 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:19:22] "GET /api/analytics?days=30 HTTP/1.1" 200 -
2025-12-07 23:33:48,313 - __main__ - INFO - 正在启动TSP智能助手综合管理平台...
2025-12-07 23:33:48,313 - __main__ - INFO - 跳过系统检查，直接启动服务...
2025-12-07 23:33:54,795 - src.core.database - INFO - 数据库初始化成功
2025-12-07 23:33:58,382 - src.core.backup_manager - INFO - 备份数据库初始化成功: tsp_assistant.db
2025-12-07 23:33:58,421 - src.integrations.config_manager - INFO - 配置加载成功
2025-12-07 23:33:58,592 - werkzeug - INFO - [31m[1mWARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.[0m
 * Running on all addresses (0.0.0.0)
 * Running on http://127.0.0.1:5000
 * Running on http://192.168.31.202:5000
2025-12-07 23:33:58,600 - werkzeug - INFO - [33mPress CTRL+C to quit[0m
2025-12-07 23:33:59,099 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 24 个条目
2025-12-07 23:33:59,496 - src.web.websocket_server - INFO - 启动WebSocket服务器: ws://localhost:8765
2025-12-07 23:33:59,513 - websockets.server - INFO - server listening on [::1]:8765
2025-12-07 23:33:59,513 - websockets.server - INFO - server listening on 127.0.0.1:8765
2025-12-07 23:34:00,645 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 24 个条目
2025-12-07 23:34:01,063 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 24 个条目
2025-12-07 23:34:01,463 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 24 个条目
2025-12-07 23:34:01,863 - src.web.service_manager - INFO - 服务 assistant 已初始化
2025-12-07 23:34:01,872 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 24 个条目
2025-12-07 23:34:02,262 - src.web.service_manager - INFO - 服务 assistant 已初始化
2025-12-07 23:34:03,962 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:34:03] "GET /api/alerts HTTP/1.1" 200 -
2025-12-07 23:34:04,855 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:34:04] "GET / HTTP/1.1" 200 -
2025-12-07 23:34:05,112 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:34:05] "GET /static/css/design-system.css?v=1.0.0 HTTP/1.1" 200 -
2025-12-07 23:34:05,152 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:34:05] "GET /static/js/dashboard.js?v=1.0.9 HTTP/1.1" 200 -
2025-12-07 23:34:05,171 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:34:05] "GET /static/css/style.css?v=1.0.0 HTTP/1.1" 200 -
2025-12-07 23:34:05,180 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:34:05] "GET /static/css/design-system.css HTTP/1.1" 200 -
2025-12-07 23:34:05,446 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:34:05] "GET /api/system/info HTTP/1.1" 200 -
2025-12-07 23:34:05,564 - websockets.server - INFO - connection rejected (500 Internal Server Error)
2025-12-07 23:34:05,572 - websockets.server - ERROR - opening handshake failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 356, in conn_handler
    await connection.handshake(
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 207, in handshake
    raise self.protocol.handshake_exc
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 147, in handshake
    response = process_request(self, self.request)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\code\assist\src\web\websocket_server.py", line 265, in _process_request
    if request_headers.get("Upgrade", "").lower() == "websocket":
       ^^^^^^^^^^^^^^^^^^^
AttributeError: 'Request' object has no attribute 'get'
2025-12-07 23:34:05,572 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:34:05] "GET /api/feishu-sync/config HTTP/1.1" 200 -
2025-12-07 23:34:07,214 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 24 个条目
2025-12-07 23:34:07,446 - src.web.service_manager - INFO - 服务 chat_manager 已初始化
2025-12-07 23:34:07,446 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:34:07] "GET /api/chat/sessions HTTP/1.1" 200 -
2025-12-07 23:34:07,596 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 24 个条目
2025-12-07 23:34:07,867 - src.config.unified_config - WARNING - 无法加载默认LLM配置，使用内置默认值: No module named 'config.llm_config'
2025-12-07 23:34:07,867 - src.config.unified_config - INFO - 配置文件加载成功
2025-12-07 23:34:07,879 - src.integrations.ai_suggestion_service - INFO - 使用LLM配置: openai - qwen-turbo
2025-12-07 23:34:07,945 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:34:07] "GET /api/workorders HTTP/1.1" 200 -
2025-12-07 23:34:07,951 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: TR Number -> order_id
2025-12-07 23:34:07,967 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: TR Description -> description
2025-12-07 23:34:07,967 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Type of problem -> category
2025-12-07 23:34:07,977 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: TR Level -> priority
2025-12-07 23:34:07,989 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: TR Status -> status
2025-12-07 23:34:07,990 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Source -> source
2025-12-07 23:34:07,998 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Date creation -> created_at
2025-12-07 23:34:08,007 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: 处理过程 -> resolution
2025-12-07 23:34:08,014 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: TR tracking -> resolution
2025-12-07 23:34:08,023 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Created by -> created_by
2025-12-07 23:34:08,030 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Module（模块） -> module
2025-12-07 23:34:08,036 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Wilfulness（责任人） -> wilfulness
2025-12-07 23:34:08,036 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Date of close TR -> date_of_close
2025-12-07 23:34:08,046 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Vehicle Type01 -> vehicle_type
2025-12-07 23:34:08,046 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: VIN|sim -> vin_sim
2025-12-07 23:34:08,063 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: App remote control version -> app_remote_control_version
2025-12-07 23:34:08,063 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: HMI SW -> hmi_sw
2025-12-07 23:34:08,074 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: 父记录 -> parent_record
2025-12-07 23:34:08,080 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Has it been updated on the same day -> has_updated_same_day
2025-12-07 23:34:08,080 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Operating time -> operating_time
2025-12-07 23:34:08,080 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:34:08] "GET /api/knowledge/stats HTTP/1.1" 200 -
2025-12-07 23:34:08,080 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: AI建议 -> ai_suggestion
2025-12-07 23:34:08,096 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Issue Start Time -> updated_at
2025-12-07 23:34:08,713 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:34:08] "GET /api/feishu-sync/status HTTP/1.1" 200 -
2025-12-07 23:34:10,080 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:34:10] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-07 23:34:10,612 - websockets.server - INFO - connection rejected (500 Internal Server Error)
2025-12-07 23:34:10,620 - websockets.server - ERROR - opening handshake failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 356, in conn_handler
    await connection.handshake(
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 207, in handshake
    raise self.protocol.handshake_exc
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 147, in handshake
    response = process_request(self, self.request)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\code\assist\src\web\websocket_server.py", line 265, in _process_request
    if request_headers.get("Upgrade", "").lower() == "websocket":
       ^^^^^^^^^^^^^^^^^^^
AttributeError: 'Request' object has no attribute 'get'
2025-12-07 23:34:12,128 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:34:12] "[36mGET /static/css/design-system.css?v=1.0.0 HTTP/1.1[0m" 304 -
2025-12-07 23:34:12,128 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:34:12] "[36mGET /static/css/style.css?v=1.0.0 HTTP/1.1[0m" 304 -
2025-12-07 23:34:12,128 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:34:12] "[36mGET /static/css/design-system.css HTTP/1.1[0m" 304 -
2025-12-07 23:34:12,595 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:34:12] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-07 23:34:15,638 - websockets.server - INFO - connection rejected (500 Internal Server Error)
2025-12-07 23:34:15,645 - websockets.server - ERROR - opening handshake failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 356, in conn_handler
    await connection.handshake(
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 207, in handshake
    raise self.protocol.handshake_exc
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 147, in handshake
    response = process_request(self, self.request)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\code\assist\src\web\websocket_server.py", line 265, in _process_request
    if request_headers.get("Upgrade", "").lower() == "websocket":
       ^^^^^^^^^^^^^^^^^^^
AttributeError: 'Request' object has no attribute 'get'
2025-12-07 23:34:20,646 - websockets.server - INFO - connection rejected (500 Internal Server Error)
2025-12-07 23:34:20,646 - websockets.server - ERROR - opening handshake failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 356, in conn_handler
    await connection.handshake(
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 207, in handshake
    raise self.protocol.handshake_exc
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 147, in handshake
    response = process_request(self, self.request)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\code\assist\src\web\websocket_server.py", line 265, in _process_request
    if request_headers.get("Upgrade", "").lower() == "websocket":
       ^^^^^^^^^^^^^^^^^^^
AttributeError: 'Request' object has no attribute 'get'
2025-12-07 23:34:22,831 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:34:22] "GET / HTTP/1.1" 200 -
2025-12-07 23:34:22,949 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:34:22] "GET /static/css/design-system.css?v=1.0.0 HTTP/1.1" 200 -
2025-12-07 23:34:22,963 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:34:22] "GET /static/css/style.css?v=1.0.0 HTTP/1.1" 200 -
2025-12-07 23:34:22,969 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:34:22] "GET /static/js/dashboard.js?v=1.0.9 HTTP/1.1" 200 -
2025-12-07 23:34:22,999 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:34:22] "GET /static/css/design-system.css HTTP/1.1" 200 -
2025-12-07 23:34:24,153 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:34:24] "GET /api/chat/sessions HTTP/1.1" 200 -
2025-12-07 23:34:24,175 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:34:24] "GET /api/system/info HTTP/1.1" 200 -
2025-12-07 23:34:24,228 - websockets.server - INFO - connection rejected (500 Internal Server Error)
2025-12-07 23:34:24,228 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:34:24] "GET /api/feishu-sync/config HTTP/1.1" 200 -
2025-12-07 23:34:24,236 - websockets.server - ERROR - opening handshake failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 356, in conn_handler
    await connection.handshake(
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 207, in handshake
    raise self.protocol.handshake_exc
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 147, in handshake
    response = process_request(self, self.request)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\code\assist\src\web\websocket_server.py", line 265, in _process_request
    if request_headers.get("Upgrade", "").lower() == "websocket":
       ^^^^^^^^^^^^^^^^^^^
AttributeError: 'Request' object has no attribute 'get'
2025-12-07 23:34:25,113 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:34:25] "GET /api/workorders HTTP/1.1" 200 -
2025-12-07 23:34:25,653 - websockets.server - INFO - connection rejected (500 Internal Server Error)
2025-12-07 23:34:25,661 - websockets.server - ERROR - opening handshake failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 356, in conn_handler
    await connection.handshake(
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 207, in handshake
    raise self.protocol.handshake_exc
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 147, in handshake
    response = process_request(self, self.request)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\code\assist\src\web\websocket_server.py", line 265, in _process_request
    if request_headers.get("Upgrade", "").lower() == "websocket":
       ^^^^^^^^^^^^^^^^^^^
AttributeError: 'Request' object has no attribute 'get'
2025-12-07 23:34:26,129 - src.agent_assistant - INFO - TSP Agent助手初始化完成
2025-12-07 23:34:26,129 - src.agent_assistant - INFO - TSP Agent助手初始化完成
2025-12-07 23:34:26,129 - src.web.service_manager - INFO - 服务 agent_assistant 已初始化
2025-12-07 23:34:26,129 - src.web.service_manager - INFO - 服务 agent_assistant 已初始化
2025-12-07 23:34:26,129 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:34:26] "GET /api/agent/tools/stats HTTP/1.1" 200 -
2025-12-07 23:34:26,129 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:34:26] "GET /api/agent/status HTTP/1.1" 200 -
2025-12-07 23:34:26,362 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:34:26] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-07 23:34:26,383 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:34:26] "GET /api/feishu-sync/status HTTP/1.1" 200 -
2025-12-07 23:34:27,081 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:34:27] "GET /api/knowledge/stats HTTP/1.1" 200 -
2025-12-07 23:34:27,882 - src.dialogue.realtime_chat - INFO - 创建新会话: session_user_001_1765121667
2025-12-07 23:34:27,882 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:34:27] "POST /api/chat/session HTTP/1.1" 200 -
2025-12-07 23:34:29,334 - websockets.server - INFO - connection rejected (500 Internal Server Error)
2025-12-07 23:34:29,334 - websockets.server - ERROR - opening handshake failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 356, in conn_handler
    await connection.handshake(
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 207, in handshake
    raise self.protocol.handshake_exc
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 147, in handshake
    response = process_request(self, self.request)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\code\assist\src\web\websocket_server.py", line 265, in _process_request
    if request_headers.get("Upgrade", "").lower() == "websocket":
       ^^^^^^^^^^^^^^^^^^^
AttributeError: 'Request' object has no attribute 'get'
2025-12-07 23:34:30,512 - src.knowledge_base.knowledge_manager - INFO - 搜索查询 '我的车辆无法远程启动' 返回 0 个结果
2025-12-07 23:34:30,711 - websockets.server - INFO - connection rejected (500 Internal Server Error)
2025-12-07 23:34:30,715 - websockets.server - ERROR - opening handshake failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 356, in conn_handler
    await connection.handshake(
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 207, in handshake
    raise self.protocol.handshake_exc
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 147, in handshake
    response = process_request(self, self.request)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\code\assist\src\web\websocket_server.py", line 265, in _process_request
    if request_headers.get("Upgrade", "").lower() == "websocket":
       ^^^^^^^^^^^^^^^^^^^
AttributeError: 'Request' object has no attribute 'get'
2025-12-07 23:34:30,851 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:34:30] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-07 23:34:34,352 - websockets.server - INFO - connection rejected (500 Internal Server Error)
2025-12-07 23:34:34,367 - websockets.server - ERROR - opening handshake failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 356, in conn_handler
    await connection.handshake(
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 207, in handshake
    raise self.protocol.handshake_exc
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 147, in handshake
    response = process_request(self, self.request)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\code\assist\src\web\websocket_server.py", line 265, in _process_request
    if request_headers.get("Upgrade", "").lower() == "websocket":
       ^^^^^^^^^^^^^^^^^^^
AttributeError: 'Request' object has no attribute 'get'
2025-12-07 23:34:35,212 - src.core.llm_client - INFO - API请求成功
2025-12-07 23:34:35,431 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:34:35] "GET /api/chat/sessions HTTP/1.1" 200 -
2025-12-07 23:34:35,747 - websockets.server - INFO - connection rejected (500 Internal Server Error)
2025-12-07 23:34:35,768 - websockets.server - ERROR - opening handshake failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 356, in conn_handler
    await connection.handshake(
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 207, in handshake
    raise self.protocol.handshake_exc
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 147, in handshake
    response = process_request(self, self.request)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\code\assist\src\web\websocket_server.py", line 265, in _process_request
    if request_headers.get("Upgrade", "").lower() == "websocket":
       ^^^^^^^^^^^^^^^^^^^
AttributeError: 'Request' object has no attribute 'get'
2025-12-07 23:34:35,768 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:34:35] "POST /api/chat/message HTTP/1.1" 200 -
2025-12-07 23:34:37,047 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:34:37] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-07 23:34:38,080 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:34:38] "GET /api/knowledge/stats HTTP/1.1" 200 -
2025-12-07 23:34:38,261 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:34:38] "GET /api/workorders HTTP/1.1" 200 -
2025-12-07 23:34:38,361 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:34:38] "GET /api/workorders?page=1&per_page=10 HTTP/1.1" 200 -
2025-12-07 23:34:39,378 - websockets.server - INFO - connection rejected (500 Internal Server Error)
2025-12-07 23:34:39,378 - websockets.server - ERROR - opening handshake failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 356, in conn_handler
    await connection.handshake(
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 207, in handshake
    raise self.protocol.handshake_exc
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 147, in handshake
    response = process_request(self, self.request)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\code\assist\src\web\websocket_server.py", line 265, in _process_request
    if request_headers.get("Upgrade", "").lower() == "websocket":
       ^^^^^^^^^^^^^^^^^^^
AttributeError: 'Request' object has no attribute 'get'
2025-12-07 23:34:40,800 - websockets.server - INFO - connection rejected (500 Internal Server Error)
2025-12-07 23:34:40,811 - websockets.server - ERROR - opening handshake failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 356, in conn_handler
    await connection.handshake(
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 207, in handshake
    raise self.protocol.handshake_exc
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 147, in handshake
    response = process_request(self, self.request)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\code\assist\src\web\websocket_server.py", line 265, in _process_request
    if request_headers.get("Upgrade", "").lower() == "websocket":
       ^^^^^^^^^^^^^^^^^^^
AttributeError: 'Request' object has no attribute 'get'
2025-12-07 23:34:41,561 - src.integrations.feishu_client - INFO - 正在获取飞书tenant_access_token，应用ID: cli_a8b50ec0eed1500d
2025-12-07 23:34:42,146 - src.integrations.feishu_client - INFO - 飞书API响应: {'code': 0, 'expire': 2122, 'msg': 'ok', 'tenant_access_token': 't-g104c7maYKB23RBJZIFTIRYRRDKDLDVT6HED7RLS'}
2025-12-07 23:34:42,178 - src.integrations.feishu_client - INFO - tenant_access_token获取成功: t-g104c7maYKB23RBJZI...
2025-12-07 23:34:42,180 - src.integrations.feishu_client - INFO - 令牌有效期: 2122秒，过期时间: 2025-12-08 00:10:04
2025-12-07 23:34:42,194 - src.integrations.feishu_client - INFO - 发送飞书API请求: GET https://open.feishu.cn/open-apis/bitable/v1/apps/XXnEbiCmEaMblSs6FDJcFCqsnIg/tables/tblnl3vJPpgMTSiP/records
2025-12-07 23:34:42,194 - src.integrations.feishu_client - INFO - 请求头: Authorization: Bearer t-g104c7maYKB23RBJZI...
2025-12-07 23:34:44,461 - websockets.server - INFO - connection rejected (500 Internal Server Error)
2025-12-07 23:34:44,561 - websockets.server - ERROR - opening handshake failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 356, in conn_handler
    await connection.handshake(
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 207, in handshake
    raise self.protocol.handshake_exc
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 147, in handshake
    response = process_request(self, self.request)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\code\assist\src\web\websocket_server.py", line 265, in _process_request
    if request_headers.get("Upgrade", "").lower() == "websocket":
       ^^^^^^^^^^^^^^^^^^^
AttributeError: 'Request' object has no attribute 'get'
2025-12-07 23:34:44,944 - src.integrations.feishu_client - INFO - 飞书API响应状态码: 200
2025-12-07 23:34:44,961 - src.integrations.feishu_client - INFO - 飞书API响应内容: {'code': 0, 'data': {'has_more': False, 'items': [{'fields': {'AI建议': "模拟LLM响应: \n作为技术支持专家，请基于以下问题描述为工单提供专业的处理建议：\n\n问题描述：The widget weather doesn't work \n\n相关背景信息：\n无相关背景信息\n\n请提供：\n1. 问题...", 'Created by': 'Evgeniy', 'Date creation': 1745769600000, 'Module（模块）': 'local O&M', 'Source': 'Mail', 'TR Description': "The widget weather doesn't work ", 'TR Level': 'Low', 'TR Number': 'TR559', 'TR Status': 'Processing', 'TR tracking': '28/04:Local feedback weather widget does not work, query TBOX and IHU login record is normal, traffic binding is normal, we suggest users to use mobile phone hotspot to connect to the car, observe whether the widget is restored, if not, try to capture the IHU logs.', 'Type of problem': 'HU troubles', 'VIN|sim': 'LVTDD24B8RG019153 ', 'Vehicle Type01': 'EXEED RX（T22）', 'Wilfulness（责任人）': 'Evgeniy', '处理过程': '0428：属地反馈天气小部件不起作用，查询TBOX及IHU登录记录正常，流量绑定正常，建议用户使用手机热点连接车机，观察小部件是否恢复，如不恢复，尝试抓取IHU日志', '当前问题状态': '1027：天气小部件无法使用，已确认TBOX及IHU登录正常、流量绑定正常，建议已完成手机热点连接测试并尝试抓取IHU日志，若问题仍存在，建议进站进行系统诊断或软件版本升级排查。\n0428：属地反馈天气小部件不起作用，查询TBOX及IHU登录记录正常，流量绑定正常，建议用户使用手机热点连接车机，观察小部件是否恢复，如不恢复，尝试抓取IHU日志'}, 'id': 'rec253kqBfXae4', 'record_id': 'rec253kqBfXae4'}, {'fields': {'AI建议': '模拟LLM响应: \n作为技术支持专家，请基于以下问题描述为工单提供专业的处理建议：\n\n问题描述：Vehicle data is not updated in the app => dated from October,...', 'Created by': 'Vsevolod Tsoi', 'Date creation': 1761148800000, 'Module（模块）': 'TBOX', 'Source': 'Mail', 'TR Description': 'Vehicle data is not updated in the app => dated from October, 19 - thus, they are old one. No TBOX log in since October, 19. TBOX is in deep sleep since October, 19.\n', 'TR Level': 'Low', 'TR Number': 'TR863', 'TR Status': 'Processing', 'TR tracking': '24/10:The vehicle is in deep sleep, and T-box logs cannot be remotely obtained. The problem is a bit complex and difficult to locate, so the customer needs to visit the station to retrieve T-box logs and DMC logs. @Vsevolod Tsoi', 'Type of problem': 'Remote control ', 'VIN|sim': 'LNNBDDEZ8SD345645 ', 'Vehicle Type01': 'JAECOO J7（T1EJ）', 'Wilfulness（责任人）': '刘娇龙', '处理过程': '1024:车辆处于深度睡眠中，远程无法获取T-box日志，问题有点复杂不好定位，需要客户进站取T-box日志和DMC日志', '当前问题状态': '1027：车辆自10月19日进入深度睡眠，TBOX无远程连接，建议客户尽快进站提取TBOX及DMC日志，进行本地诊断分析，排查电源管理或通信模块异常原因，确认硬件状态及软件配置是否正常。\n1024:车辆处于深度睡眠中，远程无法获取T-box日志，问题有点复杂不好定位，需要客户进站取T-box日志和DMC日志'}, 'id': 'recv0NLSh2a2S7', 'record_id': 'recv0NLSh2a2S7'}, {'fields': {'AI建议': '模拟LLM响应: \n作为技术支持专家，请基于以下问题描述为工单提供专业的处理建议：\n\n问题描述：User not able to enter into member center neither mobile phon...', 'Created by': 'Vsevolod Tsoi', 'Date creation': 1761148800000, 'Module（模块）': '生态/ecologically', 'Source': 'Mail', 'TR Description': 'User not able to enter into member center neither mobile phone nor QR code.', 'TR Level': 'Low', 'TR Number': 'TR864', 'TR Status': 'Processing', 'TR tracking': '23/10: DMC logs attached as well as vieos of the issue.', 'Type of problem': 'Problem with auth in member center', 'VIN|sim': 'LNNBDDEZXSD449358', 'Vehicle Type01': 'EXEED VX FL（M36T）', 'Wilfulness（责任人）': '袁清', '处理过程': '1024: DMC logs attached as well as vieos of the issue.', '当前问题状态': '1027：确认手机网络及APP版本正常，尝试清除APP缓存并重新登录，检查QR码扫描权限是否开启，重启手机和车机，若仍无法进入会员中心，建议联系售后进行远程诊断或进站排查系统故障。\n1024: DMC logs attached as well as vieos of the issue.'}, 'id': 'recv0NLZoKLlRJ', 'record_id': 'recv0NLZoKLlRJ'}, {'fields': {'AI建议': '模拟LLM响应: \n作为技术支持专家，请基于以下问题描述为工单提供专业的处理建议：\n\n问题描述：Abnormal traffic consumption\n\n相关背景信息：\n相关知识库信息：\n- TR866 - Traf...', 'Created by': 'Vsevolod Tsoi', 'Date creation': 1761235200000, 'Module（模块）': 'DMC', 'Source': 'Mail', 'TR Description': 'Abnormal traffic consumption', 'TR Level': 'Low', 'TR Number': 'TR866', 'TR Status': 'Analysising', 'TR tracking': '24/10: It is recommended that users grab the DMC log back for analysis.@Vsevolod Tsoi \n24/10: user states he use Navi only and no other apps. Consumption volume - 3.12 Gb for 3 days. Same symptom as E0X - traffic package size is plus mines the same - see pdf from MNO attached', 'Type of problem': 'Traffic is over', 'VIN|sim': 'XEYDD14B3SA012164', 'Vehicle Type01': 'TEST', 'Wilfulness（责任人）': 'Vsevolod Tsoi', '处理过程': '1024:建议用户抓去DMC日志回传分析\n1024：用户表示他只使用Navi，不使用其他应用程序。 消耗量-3.12 Gb，3天。 与E0X相同的症状-流量包大小加上地雷相同-见所附MNO的pdf', '当前问题状态': '1027：流量异常可能与导航应用后台持续联网有关，建议关闭Navi自动更新地图功能并限制后台数据使用，检查车机系统是否存在异常进程，如问题依旧，建议进站检测DMC模块日志及SIM卡通信状态，必要时升级系统或更换模块。\n1024:建议用户抓去DMC日志回传分析\n1024：用户表示他只使用Navi，不使用其他应用程序。 消耗量-3.12 Gb，3天。 与E0X相同的症状-流量包大小加上地雷相同-见所附MNO的pdf'}, 'id': 'recv0NLZoKjKvx', 'record_id': 'recv0NLZoKjKvx'}], 'total': 4}, 'msg': 'success'}
2025-12-07 23:34:45,011 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:34:45] "GET /api/feishu-sync/preview-feishu-data HTTP/1.1" 200 -
2025-12-07 23:34:45,528 - src.core.query_optimizer - WARNING - 未映射的状态: 'Analysising' (数量: 1)
2025-12-07 23:34:45,828 - websockets.server - INFO - connection rejected (500 Internal Server Error)
2025-12-07 23:34:45,828 - websockets.server - ERROR - opening handshake failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 356, in conn_handler
    await connection.handshake(
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 207, in handshake
    raise self.protocol.handshake_exc
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 147, in handshake
    response = process_request(self, self.request)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\code\assist\src\web\websocket_server.py", line 265, in _process_request
    if request_headers.get("Upgrade", "").lower() == "websocket":
       ^^^^^^^^^^^^^^^^^^^
AttributeError: 'Request' object has no attribute 'get'
2025-12-07 23:34:47,562 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:34:47] "GET /api/analytics?days=7&dimension=performance HTTP/1.1" 200 -
2025-12-07 23:34:47,594 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:34:47] "GET /api/settings HTTP/1.1" 200 -
2025-12-07 23:34:50,861 - websockets.server - INFO - connection rejected (500 Internal Server Error)
2025-12-07 23:34:50,861 - websockets.server - ERROR - opening handshake failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 356, in conn_handler
    await connection.handshake(
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 207, in handshake
    raise self.protocol.handshake_exc
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 147, in handshake
    response = process_request(self, self.request)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\code\assist\src\web\websocket_server.py", line 265, in _process_request
    if request_headers.get("Upgrade", "").lower() == "websocket":
       ^^^^^^^^^^^^^^^^^^^
AttributeError: 'Request' object has no attribute 'get'
2025-12-07 23:34:56,067 - websockets.server - INFO - connection rejected (500 Internal Server Error)
2025-12-07 23:34:56,082 - websockets.server - ERROR - opening handshake failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 356, in conn_handler
    await connection.handshake(
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 207, in handshake
    raise self.protocol.handshake_exc
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 147, in handshake
    response = process_request(self, self.request)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\code\assist\src\web\websocket_server.py", line 265, in _process_request
    if request_headers.get("Upgrade", "").lower() == "websocket":
       ^^^^^^^^^^^^^^^^^^^
AttributeError: 'Request' object has no attribute 'get'
2025-12-07 23:34:58,382 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:34:58] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-07 23:35:01,329 - websockets.server - INFO - connection rejected (500 Internal Server Error)
2025-12-07 23:35:01,860 - websockets.server - ERROR - opening handshake failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 356, in conn_handler
    await connection.handshake(
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 207, in handshake
    raise self.protocol.handshake_exc
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 147, in handshake
    response = process_request(self, self.request)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\code\assist\src\web\websocket_server.py", line 265, in _process_request
    if request_headers.get("Upgrade", "").lower() == "websocket":
       ^^^^^^^^^^^^^^^^^^^
AttributeError: 'Request' object has no attribute 'get'
2025-12-07 23:35:05,595 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:35:05] "GET /api/chat/sessions HTTP/1.1" 200 -
2025-12-07 23:35:06,735 - websockets.server - INFO - connection rejected (500 Internal Server Error)
2025-12-07 23:35:06,752 - websockets.server - ERROR - opening handshake failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 356, in conn_handler
    await connection.handshake(
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 207, in handshake
    raise self.protocol.handshake_exc
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 147, in handshake
    response = process_request(self, self.request)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\code\assist\src\web\websocket_server.py", line 265, in _process_request
    if request_headers.get("Upgrade", "").lower() == "websocket":
       ^^^^^^^^^^^^^^^^^^^
AttributeError: 'Request' object has no attribute 'get'
2025-12-07 23:35:08,419 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:35:08] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-07 23:35:08,913 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:35:08] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-07 23:35:10,035 - src.core.query_optimizer - WARNING - 未映射的状态: 'Analysising' (数量: 1)
2025-12-07 23:35:10,294 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:35:10] "GET /api/workorders HTTP/1.1" 200 -
2025-12-07 23:35:11,728 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:35:11] "GET /api/analytics HTTP/1.1" 200 -
2025-12-07 23:35:11,961 - websockets.server - INFO - connection rejected (500 Internal Server Error)
2025-12-07 23:35:11,961 - websockets.server - ERROR - opening handshake failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 356, in conn_handler
    await connection.handshake(
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 207, in handshake
    raise self.protocol.handshake_exc
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 147, in handshake
    response = process_request(self, self.request)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\code\assist\src\web\websocket_server.py", line 265, in _process_request
    if request_headers.get("Upgrade", "").lower() == "websocket":
       ^^^^^^^^^^^^^^^^^^^
AttributeError: 'Request' object has no attribute 'get'
2025-12-07 23:35:12,011 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:35:12] "GET /api/knowledge/stats HTTP/1.1" 200 -
2025-12-07 23:35:18,906 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:35:18] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-07 23:35:38,744 - src.core.query_optimizer - WARNING - 未映射的状态: 'Analysising' (数量: 1)
2025-12-07 23:35:40,993 - src.core.query_optimizer - WARNING - 未映射的状态: 'Analysising' (数量: 1)
2025-12-07 23:35:42,127 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:35:42] "GET /api/analytics HTTP/1.1" 200 -
2025-12-07 23:35:43,726 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:35:43] "GET /api/analytics?days=7&dimension=performance HTTP/1.1" 200 -
2025-12-07 23:35:43,765 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:35:43] "GET /api/settings HTTP/1.1" 200 -
2025-12-07 23:36:08,143 - src.core.query_optimizer - WARNING - 未映射的状态: 'Analysising' (数量: 1)
2025-12-07 23:36:10,448 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:36:10] "GET /api/analytics?days=7&dimension=performance HTTP/1.1" 200 -
2025-12-07 23:36:11,715 - src.core.database - ERROR - 数据库操作失败: (pymysql.err.OperationalError) (2013, 'Lost connection to MySQL server during query')
(Background on this error at: https://sqlalche.me/e/20/e3q8)
2025-12-07 23:36:11,715 - src.web.error_handlers - ERROR - 未处理错误 get_health: (pymysql.err.OperationalError) (2013, 'Lost connection to MySQL server during query')
(Background on this error at: https://sqlalche.me/e/20/e3q8)
2025-12-07 23:36:28,892 - src.core.query_optimizer - WARNING - 未映射的状态: 'Analysising' (数量: 1)
2025-12-07 23:36:31,477 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:36:31] "GET /api/analytics HTTP/1.1" 200 -
2025-12-07 23:36:39,110 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:36:39] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-07 23:36:45,076 - src.core.database - ERROR - 数据库操作失败: (pymysql.err.OperationalError) (2013, 'Lost connection to MySQL server during query')
(Background on this error at: https://sqlalche.me/e/20/e3q8)
2025-12-07 23:36:45,076 - src.web.error_handlers - ERROR - 未处理错误 get_health: (pymysql.err.OperationalError) (2013, 'Lost connection to MySQL server during query')
(Background on this error at: https://sqlalche.me/e/20/e3q8)
2025-12-07 23:36:52,526 - src.core.query_optimizer - WARNING - 未映射的状态: 'Analysising' (数量: 1)
2025-12-07 23:36:54,426 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:36:54] "GET /api/analytics?timeRange=30&dimension=workorders HTTP/1.1" 200 -
2025-12-07 23:42:25,805 - __main__ - INFO - 正在启动TSP智能助手综合管理平台...
2025-12-07 23:42:25,805 - __main__ - INFO - 跳过系统检查，直接启动服务...
2025-12-07 23:42:32,105 - src.core.database - INFO - 数据库初始化成功
2025-12-07 23:42:35,944 - src.core.backup_manager - INFO - 备份数据库初始化成功: tsp_assistant.db
2025-12-07 23:42:35,970 - src.integrations.config_manager - INFO - 配置加载成功
2025-12-07 23:42:36,098 - werkzeug - INFO - [31m[1mWARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.[0m
 * Running on all addresses (0.0.0.0)
 * Running on http://127.0.0.1:5000
 * Running on http://192.168.31.202:5000
2025-12-07 23:42:36,098 - werkzeug - INFO - [33mPress CTRL+C to quit[0m
2025-12-07 23:42:37,182 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 24 个条目
2025-12-07 23:42:38,261 - src.web.websocket_server - INFO - 启动WebSocket服务器: ws://localhost:8765
2025-12-07 23:42:38,277 - websockets.server - INFO - server listening on [::1]:8765
2025-12-07 23:42:38,279 - websockets.server - INFO - server listening on 127.0.0.1:8765
2025-12-07 23:43:16,387 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:43:16] "GET / HTTP/1.1" 200 -
2025-12-07 23:43:18,453 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:43:18] "[33mPOST /api/workorders/generate-ai-suggestion HTTP/1.1[0m" 404 -
2025-12-07 23:45:35,339 - __main__ - INFO - 正在启动TSP智能助手综合管理平台...
2025-12-07 23:45:35,339 - __main__ - INFO - 跳过系统检查，直接启动服务...
2025-12-07 23:45:41,453 - src.core.database - INFO - 数据库初始化成功
2025-12-07 23:45:44,883 - src.core.backup_manager - INFO - 备份数据库初始化成功: tsp_assistant.db
2025-12-07 23:45:44,926 - src.integrations.config_manager - INFO - 配置加载成功
2025-12-07 23:45:45,133 - werkzeug - INFO - [31m[1mWARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.[0m
 * Running on all addresses (0.0.0.0)
 * Running on http://127.0.0.1:5000
 * Running on http://192.168.31.202:5000
2025-12-07 23:45:45,133 - werkzeug - INFO - [33mPress CTRL+C to quit[0m
2025-12-07 23:45:45,650 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 24 个条目
2025-12-07 23:45:45,962 - src.web.websocket_server - INFO - 启动WebSocket服务器: ws://localhost:8765
2025-12-07 23:45:45,977 - websockets.server - INFO - server listening on 127.0.0.1:8765
2025-12-07 23:45:45,977 - websockets.server - INFO - server listening on [::1]:8765
2025-12-07 23:47:49,611 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 24 个条目
2025-12-07 23:47:49,915 - src.config.unified_config - WARNING - 无法加载默认LLM配置，使用内置默认值: No module named 'config.llm_config'
2025-12-07 23:47:49,915 - src.config.unified_config - INFO - 配置文件加载成功
2025-12-07 23:47:49,915 - src.integrations.ai_suggestion_service - INFO - 使用LLM配置: qwen - qwen-plus-latest
2025-12-07 23:47:50,384 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 24 个条目
2025-12-07 23:47:50,705 - src.dialogue.realtime_chat - INFO - 创建新会话: session_ai_suggestion_service_1765122470
2025-12-07 23:47:51,394 - src.knowledge_base.knowledge_manager - INFO - 搜索查询 '请为以下问题提供精炼的技术支持操作建议：

格式要求：
1. 现状+步骤，语言精炼
2. 总长度控制在150字以内

要求：
1. 首次给客户建议，只提供远程可操作的一般性排查步骤
2. 如检查网络、重启系统、确认配置等常见操作
3. 绝对不要提到"进站"、"抓取日志"等需要线下操作的内容
4. 语言简洁精炼，用逗号连接，不要用序号或分行

问题描述：车辆无法远程启动' 返回 3 个结果
2025-12-07 23:47:54,063 - src.core.llm_client - INFO - API请求成功
2025-12-07 23:47:54,869 - src.integrations.ai_suggestion_service - INFO - AI生成原始内容: 车辆无法远程启动，可能因网络异常导致，请先检查手机及车机网络信号是否正常，确认车辆不在无信号区域；重启车机系统后重试远程启动；检查奇瑞汽车APP登录状态及车辆绑定是否正常；确保远程启动功能已在APP中...
2025-12-07 23:47:54,885 - src.integrations.ai_suggestion_service - INFO - 未找到需要替换的内容: 车辆无法远程启动，可能因网络异常导致，请先检查手机及车机网络信号是否正常，确认车辆不在无信号区域；重启车机系统后重试远程启动；检查奇瑞汽车APP登录状态及车辆绑定是否正常；确保远程启动功能已在APP中
2025-12-07 23:47:54,885 - src.integrations.ai_suggestion_service - INFO - 未找到需要替换的内容: 车辆无法远程启动，可能因网络异常导致，请先检查手机及车机网络信号是否正常，确认车辆不在无信号区域；重启车机系统后重试远程启动；检查奇瑞汽车APP登录状态及车辆绑定是否正常；确保远程启动功能已在APP中
2025-12-07 23:47:54,885 - src.integrations.ai_suggestion_service - INFO - AI建议清理后: 车辆无法远程启动，可能因网络异常导致，请先检查手机及车机网络信号是否正常，确认车辆不在无信号区域；重启车机系统后重试远程启动；检查奇瑞汽车APP登录状态及车辆绑定是否正常；确保远程启动功能已在APP中...
2025-12-07 23:47:54,885 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:47:54] "POST /api/workorders/generate-ai-suggestion HTTP/1.1" 200 -
2025-12-07 23:49:32,059 - src.core.database - ERROR - 数据库操作失败: (pymysql.err.OperationalError) (2013, 'Lost connection to MySQL server during query')
(Background on this error at: https://sqlalche.me/e/20/e3q8)
2025-12-07 23:49:32,059 - src.knowledge_base.knowledge_manager - ERROR - 加载向量化器失败: (pymysql.err.OperationalError) (2013, 'Lost connection to MySQL server during query')
(Background on this error at: https://sqlalche.me/e/20/e3q8)
2025-12-07 23:49:32,059 - src.integrations.ai_suggestion_service - INFO - 使用LLM配置: qwen - qwen-plus-latest
2025-12-07 23:49:35,032 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 24 个条目
2025-12-07 23:49:35,375 - src.dialogue.realtime_chat - INFO - 创建新会话: session_ai_suggestion_service_1765122575
2025-12-07 23:49:35,743 - src.knowledge_base.knowledge_manager - INFO - 搜索查询 '请为以下问题提供精炼的技术支持操作建议：

格式要求：
1. 现状+步骤，语言精炼
2. 总长度控制在150字以内

要求：
1. 首次给客户建议，只提供远程可操作的一般性排查步骤
2. 如检查网络、重启系统、确认配置等常见操作
3. 绝对不要提到"进站"、"抓取日志"等需要线下操作的内容
4. 语言简洁精炼，用逗号连接，不要用序号或分行

问题描述：车辆无法远程启动' 返回 3 个结果
2025-12-07 23:49:38,096 - src.core.llm_client - INFO - API请求成功
2025-12-07 23:49:39,226 - src.integrations.ai_suggestion_service - INFO - AI生成原始内容: 车辆远程启动失败，可能因网络异常导致：检查手机与车机网络信号是否正常，确认车辆未处于无信号区域；重启车机系统后重试远程启动；确保奇瑞汽车APP已登录且账号绑定车辆无误；检查APP内远程控制功能是否已开...
2025-12-07 23:49:39,226 - src.integrations.ai_suggestion_service - INFO - 未找到需要替换的内容: 车辆远程启动失败，可能因网络异常导致：检查手机与车机网络信号是否正常，确认车辆未处于无信号区域；重启车机系统后重试远程启动；确保奇瑞汽车APP已登录且账号绑定车辆无误；检查APP内远程控制功能是否已开
2025-12-07 23:49:39,226 - src.integrations.ai_suggestion_service - INFO - 未找到需要替换的内容: 车辆远程启动失败，可能因网络异常导致：检查手机与车机网络信号是否正常，确认车辆未处于无信号区域；重启车机系统后重试远程启动；确保奇瑞汽车APP已登录且账号绑定车辆无误；检查APP内远程控制功能是否已开
2025-12-07 23:49:39,226 - src.integrations.ai_suggestion_service - INFO - AI建议清理后: 车辆远程启动失败，可能因网络异常导致：检查手机与车机网络信号是否正常，确认车辆未处于无信号区域；重启车机系统后重试远程启动；确保奇瑞汽车APP已登录且账号绑定车辆无误；检查APP内远程控制功能是否已开...
2025-12-07 23:49:39,226 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:49:39] "POST /api/workorders/generate-ai-suggestion HTTP/1.1" 200 -
2025-12-07 23:50:09,330 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:50:09] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-07 23:50:09,861 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:50:09] "GET / HTTP/1.1" 200 -
2025-12-07 23:50:09,910 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 24 个条目
2025-12-07 23:50:10,210 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:50:10] "[36mGET /static/css/style.css?v=1.0.0 HTTP/1.1[0m" 304 -
2025-12-07 23:50:10,231 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:50:10] "[36mGET /static/css/design-system.css HTTP/1.1[0m" 304 -
2025-12-07 23:50:10,244 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:50:10] "[36mGET /static/css/design-system.css?v=1.0.0 HTTP/1.1[0m" 304 -
2025-12-07 23:50:10,269 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:50:10] "[36mGET /static/js/dashboard.js?v=1.0.9 HTTP/1.1[0m" 304 -
2025-12-07 23:50:10,868 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 24 个条目
2025-12-07 23:50:11,486 - src.web.service_manager - INFO - 服务 assistant 已初始化
2025-12-07 23:50:12,007 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:50:12] "GET /api/system/info HTTP/1.1" 200 -
2025-12-07 23:50:12,023 - websockets.server - INFO - connection rejected (500 Internal Server Error)
2025-12-07 23:50:12,023 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:50:12] "GET /api/feishu-sync/config HTTP/1.1" 200 -
2025-12-07 23:50:12,023 - websockets.server - ERROR - opening handshake failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 356, in conn_handler
    await connection.handshake(
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 207, in handshake
    raise self.protocol.handshake_exc
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 147, in handshake
    response = process_request(self, self.request)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\code\assist\src\web\websocket_server.py", line 265, in _process_request
    if request_headers.get("Upgrade", "").lower() == "websocket":
       ^^^^^^^^^^^^^^^^^^^
AttributeError: 'Request' object has no attribute 'get'
2025-12-07 23:50:13,803 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 24 个条目
2025-12-07 23:50:13,827 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 24 个条目
2025-12-07 23:50:14,094 - src.integrations.ai_suggestion_service - INFO - 使用LLM配置: qwen - qwen-plus-latest
2025-12-07 23:50:14,110 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: TR Number -> order_id
2025-12-07 23:50:14,110 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: TR Description -> description
2025-12-07 23:50:14,120 - src.web.service_manager - INFO - 服务 chat_manager 已初始化
2025-12-07 23:50:14,120 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:50:14] "GET /api/chat/sessions HTTP/1.1" 200 -
2025-12-07 23:50:14,128 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Type of problem -> category
2025-12-07 23:50:14,145 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: TR Level -> priority
2025-12-07 23:50:14,153 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: TR Status -> status
2025-12-07 23:50:14,157 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Source -> source
2025-12-07 23:50:14,168 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Date creation -> created_at
2025-12-07 23:50:14,173 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: 处理过程 -> resolution
2025-12-07 23:50:14,181 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: TR tracking -> resolution
2025-12-07 23:50:14,194 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Created by -> created_by
2025-12-07 23:50:14,202 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Module（模块） -> module
2025-12-07 23:50:14,210 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Wilfulness（责任人） -> wilfulness
2025-12-07 23:50:14,218 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Date of close TR -> date_of_close
2025-12-07 23:50:14,227 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Vehicle Type01 -> vehicle_type
2025-12-07 23:50:14,244 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: VIN|sim -> vin_sim
2025-12-07 23:50:14,252 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: App remote control version -> app_remote_control_version
2025-12-07 23:50:14,261 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: HMI SW -> hmi_sw
2025-12-07 23:50:14,271 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: 父记录 -> parent_record
2025-12-07 23:50:14,277 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:50:14] "GET /api/workorders HTTP/1.1" 200 -
2025-12-07 23:50:14,315 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Has it been updated on the same day -> has_updated_same_day
2025-12-07 23:50:14,352 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Operating time -> operating_time
2025-12-07 23:50:14,360 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: AI建议 -> ai_suggestion
2025-12-07 23:50:14,381 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Issue Start Time -> updated_at
2025-12-07 23:50:14,594 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:50:14] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-07 23:50:15,078 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:50:15] "GET /api/feishu-sync/status HTTP/1.1" 200 -
2025-12-07 23:50:15,221 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:50:15] "GET /api/knowledge/stats HTTP/1.1" 200 -
2025-12-07 23:50:17,119 - websockets.server - INFO - connection rejected (500 Internal Server Error)
2025-12-07 23:50:17,135 - websockets.server - ERROR - opening handshake failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 356, in conn_handler
    await connection.handshake(
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 207, in handshake
    raise self.protocol.handshake_exc
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 147, in handshake
    response = process_request(self, self.request)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\code\assist\src\web\websocket_server.py", line 265, in _process_request
    if request_headers.get("Upgrade", "").lower() == "websocket":
       ^^^^^^^^^^^^^^^^^^^
AttributeError: 'Request' object has no attribute 'get'
2025-12-07 23:50:18,410 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:50:18] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-07 23:50:22,146 - websockets.server - INFO - connection rejected (500 Internal Server Error)
2025-12-07 23:50:22,146 - websockets.server - ERROR - opening handshake failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 356, in conn_handler
    await connection.handshake(
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 207, in handshake
    raise self.protocol.handshake_exc
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 147, in handshake
    response = process_request(self, self.request)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\code\assist\src\web\websocket_server.py", line 265, in _process_request
    if request_headers.get("Upgrade", "").lower() == "websocket":
       ^^^^^^^^^^^^^^^^^^^
AttributeError: 'Request' object has no attribute 'get'
2025-12-07 23:50:22,579 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:50:22] "GET /api/token-monitor/stats HTTP/1.1" 200 -
2025-12-07 23:50:23,329 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:50:23] "GET /api/token-monitor/records HTTP/1.1" 200 -
2025-12-07 23:50:26,413 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:50:26] "GET /api/token-monitor/chart HTTP/1.1" 200 -
2025-12-07 23:50:27,165 - websockets.server - INFO - connection rejected (500 Internal Server Error)
2025-12-07 23:50:27,165 - websockets.server - ERROR - opening handshake failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 356, in conn_handler
    await connection.handshake(
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 207, in handshake
    raise self.protocol.handshake_exc
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 147, in handshake
    response = process_request(self, self.request)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\code\assist\src\web\websocket_server.py", line 265, in _process_request
    if request_headers.get("Upgrade", "").lower() == "websocket":
       ^^^^^^^^^^^^^^^^^^^
AttributeError: 'Request' object has no attribute 'get'
2025-12-07 23:50:27,680 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:50:27] "GET /api/conversations?page=1&per_page=10 HTTP/1.1" 200 -
2025-12-07 23:50:29,631 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:50:29] "GET /api/conversations?page=1&per_page=10 HTTP/1.1" 200 -
2025-12-07 23:50:32,181 - websockets.server - INFO - connection rejected (500 Internal Server Error)
2025-12-07 23:50:32,181 - websockets.server - ERROR - opening handshake failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 356, in conn_handler
    await connection.handshake(
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 207, in handshake
    raise self.protocol.handshake_exc
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 147, in handshake
    response = process_request(self, self.request)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\code\assist\src\web\websocket_server.py", line 265, in _process_request
    if request_headers.get("Upgrade", "").lower() == "websocket":
       ^^^^^^^^^^^^^^^^^^^
AttributeError: 'Request' object has no attribute 'get'
2025-12-07 23:50:33,160 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:50:33] "GET /api/workorders?page=1&per_page=10 HTTP/1.1" 200 -
2025-12-07 23:50:34,860 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:50:34] "GET /api/knowledge?page=1&per_page=10 HTTP/1.1" 200 -
2025-12-07 23:50:37,374 - websockets.server - INFO - connection rejected (500 Internal Server Error)
2025-12-07 23:50:37,493 - websockets.server - ERROR - opening handshake failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 356, in conn_handler
    await connection.handshake(
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 207, in handshake
    raise self.protocol.handshake_exc
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 147, in handshake
    response = process_request(self, self.request)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\code\assist\src\web\websocket_server.py", line 265, in _process_request
    if request_headers.get("Upgrade", "").lower() == "websocket":
       ^^^^^^^^^^^^^^^^^^^
AttributeError: 'Request' object has no attribute 'get'
2025-12-07 23:50:42,461 - src.core.query_optimizer - WARNING - 未映射的状态: 'Analysising' (数量: 1)
2025-12-07 23:50:44,043 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:50:44] "GET /api/analytics HTTP/1.1" 200 -
2025-12-07 23:50:59,734 - src.core.query_optimizer - WARNING - 未映射的状态: 'Analysising' (数量: 1)
2025-12-07 23:51:02,007 - src.core.query_optimizer - WARNING - 未映射的状态: 'Analysising' (数量: 1)
2025-12-07 23:51:02,819 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:51:02] "GET /api/analytics HTTP/1.1" 200 -
2025-12-07 23:51:03,587 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:51:03] "GET /api/analytics?days=7&dimension=performance HTTP/1.1" 200 -
2025-12-07 23:51:03,614 - werkzeug - INFO - 127.0.0.1 - - [07/Dec/2025 23:51:03] "GET /api/settings HTTP/1.1" 200 -
2025-12-08 00:09:36,445 - __main__ - INFO - 正在启动TSP智能助手综合管理平台...
2025-12-08 00:09:36,445 - __main__ - INFO - 跳过系统检查，直接启动服务...
2025-12-08 00:09:42,511 - src.core.database - ERROR - 数据库初始化失败: (pymysql.err.OperationalError) (2013, 'Lost connection to MySQL server during query')
(Background on this error at: https://sqlalche.me/e/20/e3q8)
2025-12-08 00:09:42,526 - __main__ - ERROR - 启动失败: (pymysql.err.OperationalError) (2013, 'Lost connection to MySQL server during query')
(Background on this error at: https://sqlalche.me/e/20/e3q8)
2025-12-08 00:22:37,225 - __main__ - INFO - 正在启动TSP智能助手综合管理平台...
2025-12-08 00:22:43,311 - src.core.database - INFO - 数据库初始化成功
2025-12-08 00:22:44,341 - __main__ - INFO - 跳过系统检查，直接启动服务...
2025-12-08 00:22:47,876 - src.core.backup_manager - INFO - 备份数据库初始化成功: tsp_assistant.db
2025-12-08 00:22:47,891 - src.integrations.config_manager - INFO - 配置加载成功
2025-12-08 00:22:48,149 - werkzeug - INFO - [31m[1mWARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.[0m
 * Running on all addresses (0.0.0.0)
 * Running on http://127.0.0.1:5000
 * Running on http://192.168.31.202:5000
2025-12-08 00:22:48,157 - werkzeug - INFO - [33mPress CTRL+C to quit[0m
2025-12-08 00:22:48,638 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 24 个条目
2025-12-08 00:22:49,043 - src.web.websocket_server - INFO - 启动WebSocket服务器: ws://localhost:8765
2025-12-08 00:22:49,059 - websockets.server - INFO - server listening on 127.0.0.1:8765
2025-12-08 00:22:49,059 - websockets.server - INFO - server listening on [::1]:8765
2025-12-08 00:22:53,549 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:22:53] "GET / HTTP/1.1" 200 -
2025-12-08 00:22:54,061 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:22:54] "[36mGET /static/css/style.css?v=1.0.0 HTTP/1.1[0m" 304 -
2025-12-08 00:22:54,061 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:22:54] "GET /static/js/core/store.js HTTP/1.1" 200 -
2025-12-08 00:22:54,074 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:22:54] "[36mGET /static/css/design-system.css HTTP/1.1[0m" 304 -
2025-12-08 00:22:54,087 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:22:54] "[36mGET /static/js/dashboard.js?v=1.0.9 HTTP/1.1[0m" 304 -
2025-12-08 00:22:54,128 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:22:54] "GET /static/js/components/NotificationManager.js HTTP/1.1" 200 -
2025-12-08 00:22:54,147 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:22:54] "[36mGET /static/css/design-system.css?v=1.0.0 HTTP/1.1[0m" 304 -
2025-12-08 00:22:54,183 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:22:54] "GET /static/js/components/AlertManager.js HTTP/1.1" 200 -
2025-12-08 00:22:54,183 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:22:54] "GET /static/js/services/api.js HTTP/1.1" 200 -
2025-12-08 00:22:54,191 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:22:54] "GET /static/js/app-new.js HTTP/1.1" 200 -
2025-12-08 00:22:55,015 - src.agent_assistant - INFO - TSP Agent助手初始化完成
2025-12-08 00:22:55,024 - src.web.service_manager - INFO - 服务 agent_assistant 已初始化
2025-12-08 00:22:55,025 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:22:55] "GET /api/agent/status HTTP/1.1" 200 -
2025-12-08 00:22:55,080 - websockets.server - INFO - connection open
2025-12-08 00:22:55,088 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
          ^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: WebSocketServer.start_server.<locals>.handle_client_with_cors() missing 1 required positional argument: 'path'
2025-12-08 00:22:56,309 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:22:56] "GET /api/alerts HTTP/1.1" 200 -
2025-12-08 00:22:56,328 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:22:56] "GET / HTTP/1.1" 200 -
2025-12-08 00:22:56,365 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:22:56] "[36mGET /static/css/design-system.css?v=1.0.0 HTTP/1.1[0m" 304 -
2025-12-08 00:22:56,375 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:22:56] "[36mGET /static/js/core/store.js HTTP/1.1[0m" 304 -
2025-12-08 00:22:56,379 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:22:56] "[36mGET /static/css/style.css?v=1.0.0 HTTP/1.1[0m" 304 -
2025-12-08 00:22:56,379 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:22:56] "[36mGET /static/js/services/api.js HTTP/1.1[0m" 304 -
2025-12-08 00:22:56,387 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:22:56] "[36mGET /static/js/components/NotificationManager.js HTTP/1.1[0m" 304 -
2025-12-08 00:22:56,392 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:22:56] "[36mGET /static/js/components/AlertManager.js HTTP/1.1[0m" 304 -
2025-12-08 00:22:56,400 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:22:56] "[36mGET /static/js/app-new.js HTTP/1.1[0m" 304 -
2025-12-08 00:22:56,410 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:22:56] "[36mGET /static/js/dashboard.js?v=1.0.9 HTTP/1.1[0m" 304 -
2025-12-08 00:22:56,410 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:22:56] "[36mGET /static/css/design-system.css HTTP/1.1[0m" 304 -
2025-12-08 00:22:56,659 - websockets.server - INFO - connection open
2025-12-08 00:22:56,659 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
          ^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: WebSocketServer.start_server.<locals>.handle_client_with_cors() missing 1 required positional argument: 'path'
2025-12-08 00:22:56,727 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 24 个条目
2025-12-08 00:22:56,742 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 24 个条目
2025-12-08 00:22:56,727 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 24 个条目
2025-12-08 00:22:56,810 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 24 个条目
2025-12-08 00:22:57,143 - src.web.service_manager - INFO - 服务 chat_manager 已初始化
2025-12-08 00:22:57,143 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:22:57] "GET /api/chat/sessions HTTP/1.1" 200 -
2025-12-08 00:22:57,346 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:22:57] "GET /api/workorders HTTP/1.1" 200 -
2025-12-08 00:22:57,561 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 24 个条目
2025-12-08 00:22:57,609 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 24 个条目
2025-12-08 00:22:57,762 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 24 个条目
2025-12-08 00:22:57,892 - src.web.service_manager - INFO - 服务 assistant 已初始化
2025-12-08 00:22:57,944 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:22:57] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-08 00:22:57,959 - src.web.service_manager - INFO - 服务 assistant 已初始化
2025-12-08 00:22:58,158 - src.web.service_manager - INFO - 服务 assistant 已初始化
2025-12-08 00:22:58,158 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:22:58] "GET /api/rules HTTP/1.1" 200 -
2025-12-08 00:22:58,575 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 24 个条目
2025-12-08 00:22:58,891 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 24 个条目
2025-12-08 00:22:58,920 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 24 个条目
2025-12-08 00:22:58,942 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 24 个条目
2025-12-08 00:22:59,307 - src.web.service_manager - INFO - 服务 chat_manager 已初始化
2025-12-08 00:22:59,308 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:22:59] "GET /api/chat/sessions HTTP/1.1" 200 -
2025-12-08 00:22:59,308 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:22:59] "GET / HTTP/1.1" 200 -
2025-12-08 00:22:59,324 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 24 个条目
2025-12-08 00:22:59,361 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:22:59] "[36mGET /static/css/design-system.css?v=1.0.0 HTTP/1.1[0m" 304 -
2025-12-08 00:22:59,365 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:22:59] "[36mGET /static/js/core/store.js HTTP/1.1[0m" 304 -
2025-12-08 00:22:59,367 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:22:59] "[36mGET /static/js/services/api.js HTTP/1.1[0m" 304 -
2025-12-08 00:22:59,373 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:22:59] "[36mGET /static/css/style.css?v=1.0.0 HTTP/1.1[0m" 304 -
2025-12-08 00:22:59,375 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:22:59] "[36mGET /static/js/components/NotificationManager.js HTTP/1.1[0m" 304 -
2025-12-08 00:22:59,383 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:22:59] "[36mGET /static/js/app-new.js HTTP/1.1[0m" 304 -
2025-12-08 00:22:59,383 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:22:59] "[36mGET /static/js/components/AlertManager.js HTTP/1.1[0m" 304 -
2025-12-08 00:22:59,383 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:22:59] "[36mGET /static/js/dashboard.js?v=1.0.9 HTTP/1.1[0m" 304 -
2025-12-08 00:22:59,399 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:22:59] "[36mGET /static/css/design-system.css HTTP/1.1[0m" 304 -
2025-12-08 00:22:59,498 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:22:59] "GET /api/rules HTTP/1.1" 200 -
2025-12-08 00:22:59,506 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:22:59] "GET /api/agent/status HTTP/1.1" 200 -
2025-12-08 00:22:59,608 - websockets.server - INFO - connection open
2025-12-08 00:22:59,608 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
          ^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: WebSocketServer.start_server.<locals>.handle_client_with_cors() missing 1 required positional argument: 'path'
2025-12-08 00:22:59,619 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:22:59] "GET /api/chat/sessions HTTP/1.1" 200 -
2025-12-08 00:22:59,683 - src.web.service_manager - INFO - 服务 assistant 已初始化
2025-12-08 00:22:59,715 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 24 个条目
2025-12-08 00:22:59,774 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:22:59] "GET /api/alerts HTTP/1.1" 200 -
2025-12-08 00:22:59,841 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:22:59] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-08 00:22:59,977 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 24 个条目
2025-12-08 00:23:00,007 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:23:00] "GET /api/chat/sessions HTTP/1.1" 200 -
2025-12-08 00:23:00,075 - src.web.service_manager - INFO - 服务 assistant 已初始化
2025-12-08 00:23:00,361 - src.web.service_manager - INFO - 服务 assistant 已初始化
2025-12-08 00:23:00,361 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:23:00] "GET /api/rules HTTP/1.1" 200 -
2025-12-08 00:23:00,491 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:23:00] "GET /api/workorders HTTP/1.1" 200 -
2025-12-08 00:23:00,674 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:23:00] "GET /api/alerts HTTP/1.1" 200 -
2025-12-08 00:23:00,693 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:23:00] "GET /api/system/info HTTP/1.1" 200 -
2025-12-08 00:23:00,707 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:23:00] "GET /api/feishu-sync/config HTTP/1.1" 200 -
2025-12-08 00:23:00,941 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:23:00] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-08 00:23:01,125 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 24 个条目
2025-12-08 00:23:01,540 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:23:01] "GET /api/workorders HTTP/1.1" 200 -
2025-12-08 00:23:01,574 - src.config.unified_config - WARNING - 无法加载默认LLM配置，使用内置默认值: No module named 'config.llm_config'
2025-12-08 00:23:01,578 - src.config.unified_config - INFO - 配置文件加载成功
2025-12-08 00:23:01,578 - src.integrations.ai_suggestion_service - INFO - 使用LLM配置: qwen - qwen-plus-latest
2025-12-08 00:23:01,595 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: TR Number -> order_id
2025-12-08 00:23:01,606 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: TR Description -> description
2025-12-08 00:23:01,623 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Type of problem -> category
2025-12-08 00:23:01,630 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: TR Level -> priority
2025-12-08 00:23:01,645 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: TR Status -> status
2025-12-08 00:23:01,659 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Source -> source
2025-12-08 00:23:01,668 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Date creation -> created_at
2025-12-08 00:23:01,682 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: 处理过程 -> resolution
2025-12-08 00:23:01,688 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:23:01] "GET /api/knowledge/stats HTTP/1.1" 200 -
2025-12-08 00:23:01,688 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: TR tracking -> resolution
2025-12-08 00:23:01,707 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Created by -> created_by
2025-12-08 00:23:01,715 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Module（模块） -> module
2025-12-08 00:23:01,732 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Wilfulness（责任人） -> wilfulness
2025-12-08 00:23:01,740 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Date of close TR -> date_of_close
2025-12-08 00:23:01,748 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Vehicle Type01 -> vehicle_type
2025-12-08 00:23:01,764 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: VIN|sim -> vin_sim
2025-12-08 00:23:01,782 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: App remote control version -> app_remote_control_version
2025-12-08 00:23:01,797 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: HMI SW -> hmi_sw
2025-12-08 00:23:01,799 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: 父记录 -> parent_record
2025-12-08 00:23:01,813 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Has it been updated on the same day -> has_updated_same_day
2025-12-08 00:23:01,821 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Operating time -> operating_time
2025-12-08 00:23:01,829 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: AI建议 -> ai_suggestion
2025-12-08 00:23:01,847 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Issue Start Time -> updated_at
2025-12-08 00:23:02,174 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:23:02] "GET /api/workorders HTTP/1.1" 200 -
2025-12-08 00:23:02,829 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:23:02] "GET /api/feishu-sync/status HTTP/1.1" 200 -
2025-12-08 00:23:02,910 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:23:02] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-08 00:23:03,308 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:23:03] "GET /api/agent/status HTTP/1.1" 200 -
2025-12-08 00:23:03,331 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:23:03] "GET /api/agent/tools/stats HTTP/1.1" 200 -
2025-12-08 00:23:04,630 - src.core.database - WARNING - 数据库连接丢失，重试 1/3: (pymysql.err.OperationalError) (2013, 'Lost connection to MySQL server during query')
(Background on this error at: https://sqlalche.me/e/20/e3q8)
2025-12-08 00:23:04,630 - src.web.error_handlers - ERROR - 错误响应: 获取预警列表失败: generator didn't stop after throw() - None
2025-12-08 00:23:04,630 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:23:04] "[35m[1mGET /api/alerts?per_page=1000 HTTP/1.1[0m" 500 -
2025-12-08 00:23:04,657 - websockets.server - INFO - connection open
2025-12-08 00:23:04,665 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
          ^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: WebSocketServer.start_server.<locals>.handle_client_with_cors() missing 1 required positional argument: 'path'
2025-12-08 00:23:04,760 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:23:04] "GET /api/knowledge/stats HTTP/1.1" 200 -
2025-12-08 00:23:07,043 - src.dialogue.realtime_chat - INFO - 创建新会话: session_user_001_1765124587
2025-12-08 00:23:07,043 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:23:07] "POST /api/chat/session HTTP/1.1" 200 -
2025-12-08 00:23:07,724 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:23:07] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-08 00:23:08,543 - src.dialogue.realtime_chat - INFO - 结束会话: session_user_001_1765124587
2025-12-08 00:23:08,543 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:23:08] "DELETE /api/chat/session/session_user_001_1765124587 HTTP/1.1" 200 -
2025-12-08 00:23:09,691 - websockets.server - INFO - connection open
2025-12-08 00:23:09,710 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
          ^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: WebSocketServer.start_server.<locals>.handle_client_with_cors() missing 1 required positional argument: 'path'
2025-12-08 00:23:10,377 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:23:10] "GET /api/alerts HTTP/1.1" 200 -
2025-12-08 00:23:11,925 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:23:11] "GET /api/knowledge?page=1&per_page=10 HTTP/1.1" 200 -
2025-12-08 00:23:14,745 - websockets.server - INFO - connection open
2025-12-08 00:23:14,761 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
          ^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: WebSocketServer.start_server.<locals>.handle_client_with_cors() missing 1 required positional argument: 'path'
2025-12-08 00:23:18,257 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:23:18] "GET /api/workorders/78 HTTP/1.1" 200 -
2025-12-08 00:23:19,858 - websockets.server - INFO - connection open
2025-12-08 00:23:19,874 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
          ^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: WebSocketServer.start_server.<locals>.handle_client_with_cors() missing 1 required positional argument: 'path'
2025-12-08 00:23:20,408 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:23:20] "GET /api/alerts HTTP/1.1" 200 -
2025-12-08 00:23:24,923 - websockets.server - INFO - connection open
2025-12-08 00:23:24,927 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
          ^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: WebSocketServer.start_server.<locals>.handle_client_with_cors() missing 1 required positional argument: 'path'
2025-12-08 00:23:27,824 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:23:27] "GET /api/ai-monitor/stats HTTP/1.1" 200 -
2025-12-08 00:23:29,957 - websockets.server - INFO - connection open
2025-12-08 00:23:29,957 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
          ^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: WebSocketServer.start_server.<locals>.handle_client_with_cors() missing 1 required positional argument: 'path'
2025-12-08 00:23:30,381 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:23:30] "GET /api/ai-monitor/error-distribution HTTP/1.1" 200 -
2025-12-08 00:23:32,230 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:23:32] "GET /api/ai-monitor/model-comparison HTTP/1.1" 200 -
2025-12-08 00:23:33,632 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:23:33] "GET /api/ai-monitor/error-log HTTP/1.1" 200 -
2025-12-08 00:23:35,006 - websockets.server - INFO - connection open
2025-12-08 00:23:35,006 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
          ^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: WebSocketServer.start_server.<locals>.handle_client_with_cors() missing 1 required positional argument: 'path'
2025-12-08 00:23:38,127 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:23:38] "GET /api/token-monitor/stats HTTP/1.1" 200 -
2025-12-08 00:23:40,049 - websockets.server - INFO - connection open
2025-12-08 00:23:40,049 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
          ^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: WebSocketServer.start_server.<locals>.handle_client_with_cors() missing 1 required positional argument: 'path'
2025-12-08 00:23:42,465 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:23:42] "GET /api/token-monitor/chart HTTP/1.1" 200 -
2025-12-08 00:23:44,680 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:23:44] "GET /api/token-monitor/records HTTP/1.1" 200 -
2025-12-08 00:23:45,081 - websockets.server - INFO - connection open
2025-12-08 00:23:45,090 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
          ^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: WebSocketServer.start_server.<locals>.handle_client_with_cors() missing 1 required positional argument: 'path'
2025-12-08 00:23:45,861 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:23:45] "GET /api/conversations?page=1&per_page=10 HTTP/1.1" 200 -
2025-12-08 00:23:48,790 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:23:48] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-08 00:23:48,843 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:23:48] "GET /api/settings HTTP/1.1" 200 -
2025-12-08 00:23:50,107 - websockets.server - INFO - connection open
2025-12-08 00:23:50,107 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
          ^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: WebSocketServer.start_server.<locals>.handle_client_with_cors() missing 1 required positional argument: 'path'
2025-12-08 00:23:55,140 - websockets.server - INFO - connection open
2025-12-08 00:23:55,140 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
          ^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: WebSocketServer.start_server.<locals>.handle_client_with_cors() missing 1 required positional argument: 'path'
2025-12-08 00:24:00,256 - websockets.server - INFO - connection open
2025-12-08 00:24:00,271 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
          ^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: WebSocketServer.start_server.<locals>.handle_client_with_cors() missing 1 required positional argument: 'path'
2025-12-08 00:24:07,843 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:24:07] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-08 00:24:11,647 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:24:11] "GET /api/analytics HTTP/1.1" 200 -
2025-12-08 00:24:13,789 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:24:13] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-08 00:24:36,370 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:24:36] "GET /api/analytics?days=7&dimension=performance HTTP/1.1" 200 -
2025-12-08 00:24:43,922 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:24:43] "GET /api/analytics HTTP/1.1" 200 -
2025-12-08 00:24:59,515 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:24:59] "GET /api/analytics?days=7&dimension=performance HTTP/1.1" 200 -
2025-12-08 00:24:59,682 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:24:59] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-08 00:25:00,499 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:25:00] "GET /api/alerts HTTP/1.1" 200 -
2025-12-08 00:25:05,585 - src.core.database - WARNING - 数据库连接丢失，重试 1/3: (pymysql.err.OperationalError) (2013, 'Lost connection to MySQL server during query')
(Background on this error at: https://sqlalche.me/e/20/e3q8)
2025-12-08 00:25:05,687 - src.analytics.alert_system - ERROR - 获取活跃预警失败: generator didn't stop
2025-12-08 00:25:11,319 - src.core.database - WARNING - 数据库连接丢失，重试 1/3: (pymysql.err.OperationalError) (2013, 'Lost connection to MySQL server during query')
(Background on this error at: https://sqlalche.me/e/20/e3q8)
2025-12-08 00:25:11,420 - src.analytics.alert_system - ERROR - 获取活跃预警失败: generator didn't stop
2025-12-08 00:25:16,438 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:25:16] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-08 00:25:16,439 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:25:16] "GET /api/chat/sessions HTTP/1.1" 200 -
2025-12-08 00:25:17,435 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:25:17] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-08 00:25:18,198 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:25:18] "GET /api/workorders HTTP/1.1" 200 -
2025-12-08 00:25:19,898 - src.core.database - WARNING - 数据库连接丢失，重试 1/3: (pymysql.err.OperationalError) (2013, 'Lost connection to MySQL server during query')
(Background on this error at: https://sqlalche.me/e/20/e3q8)
2025-12-08 00:25:19,898 - src.analytics.alert_system - ERROR - 获取预警统计失败: generator didn't stop after throw()
2025-12-08 00:25:20,122 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:25:20] "GET /api/knowledge/stats HTTP/1.1" 200 -
2025-12-08 00:25:24,770 - src.core.database - WARNING - 数据库连接丢失，重试 1/3: (pymysql.err.OperationalError) (2013, 'Lost connection to MySQL server during query')
(Background on this error at: https://sqlalche.me/e/20/e3q8)
2025-12-08 00:25:24,873 - src.analytics.alert_system - ERROR - 获取活跃预警失败: generator didn't stop
2025-12-08 00:25:32,839 - src.core.database - WARNING - 数据库连接丢失，重试 1/3: (pymysql.err.OperationalError) (2013, 'Lost connection to MySQL server during query')
(Background on this error at: https://sqlalche.me/e/20/e3q8)
2025-12-08 00:25:32,923 - src.analytics.alert_system - ERROR - 获取活跃预警失败: generator didn't stop
2025-12-08 00:25:44,871 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:25:44] "GET /api/settings HTTP/1.1" 200 -
2025-12-08 00:25:51,120 - src.core.database - WARNING - 数据库连接丢失，重试 1/3: (pymysql.err.OperationalError) (2013, 'Lost connection to MySQL server during query')
(Background on this error at: https://sqlalche.me/e/20/e3q8)
2025-12-08 00:25:51,120 - src.web.error_handlers - ERROR - 未处理错误 get_health: generator didn't stop after throw()
2025-12-08 00:25:51,206 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:25:51] "GET /api/analytics?timeRange=30&dimension=workorders HTTP/1.1" 200 -
2025-12-08 00:26:09,914 - src.core.database - WARNING - 数据库连接丢失，重试 1/3: (pymysql.err.OperationalError) (2013, 'Lost connection to MySQL server during query')
(Background on this error at: https://sqlalche.me/e/20/e3q8)
2025-12-08 00:26:09,937 - src.web.error_handlers - ERROR - 未处理错误 get_health: generator didn't stop
2025-12-08 00:26:13,585 - src.core.database - WARNING - 数据库连接丢失，重试 1/3: (pymysql.err.OperationalError) (2013, 'Lost connection to MySQL server during query')
(Background on this error at: https://sqlalche.me/e/20/e3q8)
2025-12-08 00:26:13,585 - src.analytics.alert_system - ERROR - 获取预警统计失败: generator didn't stop after throw()
2025-12-08 00:26:15,404 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:26:15] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-08 00:26:18,653 - src.core.database - WARNING - 数据库连接丢失，重试 1/3: (pymysql.err.OperationalError) (2013, 'Lost connection to MySQL server during query')
(Background on this error at: https://sqlalche.me/e/20/e3q8)
2025-12-08 00:26:18,670 - src.web.error_handlers - ERROR - 未处理错误 get_health: generator didn't stop after throw()
2025-12-08 00:26:20,462 - src.core.database - WARNING - 数据库连接丢失，重试 1/3: (pymysql.err.OperationalError) (2013, 'Lost connection to MySQL server during query')
(Background on this error at: https://sqlalche.me/e/20/e3q8)
2025-12-08 00:26:20,487 - src.analytics.alert_system - ERROR - 获取活跃预警失败: generator didn't stop after throw()
2025-12-08 00:26:34,821 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:26:34] "GET /api/analytics HTTP/1.1" 200 -
2025-12-08 00:26:56,976 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:26:56] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-08 00:26:59,704 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:26:59] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-08 00:27:07,498 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:27:07] "GET /api/analytics?timeRange=30&dimension=workorders HTTP/1.1" 200 -
2025-12-08 00:27:22,552 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:27:22] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-08 00:27:30,169 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:27:30] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-08 00:27:31,733 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:27:31] "GET /api/alerts HTTP/1.1" 200 -
2025-12-08 00:27:53,602 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:27:53] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-08 00:27:55,401 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:27:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-08 00:28:17,477 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:28:17] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-08 00:28:20,151 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:28:20] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-08 00:28:34,062 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:28:34] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-08 00:28:34,681 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:28:34] "GET /api/alerts HTTP/1.1" 200 -
2025-12-08 00:28:48,267 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:28:48] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-08 00:28:56,519 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:28:56] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-08 00:29:02,536 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:29:02] "GET /api/chat/sessions HTTP/1.1" 200 -
2025-12-08 00:29:06,850 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:29:06] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-08 00:29:07,956 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:29:07] "GET /api/workorders HTTP/1.1" 200 -
2025-12-08 00:29:09,800 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:29:09] "GET /api/knowledge/stats HTTP/1.1" 200 -
2025-12-08 00:29:17,108 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:29:17] "GET /api/alerts HTTP/1.1" 200 -
2025-12-08 00:29:17,537 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:29:17] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-08 00:30:00,884 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:30:00] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-08 00:30:03,133 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:30:03] "GET /api/alerts HTTP/1.1" 200 -
2025-12-08 00:30:07,463 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:30:07] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-08 00:30:21,591 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:30:21] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-08 00:30:38,600 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:30:38] "GET /api/alerts HTTP/1.1" 200 -
2025-12-08 00:30:39,154 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:30:39] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-08 00:30:50,140 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:30:50] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-08 00:30:59,201 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:30:59] "GET /api/analytics?timeRange=30&dimension=workorders HTTP/1.1" 200 -
2025-12-08 00:30:59,228 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:30:59] "GET /api/settings HTTP/1.1" 200 -
2025-12-08 00:31:22,933 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:31:22] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-08 00:31:24,516 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:31:24] "GET /api/alerts HTTP/1.1" 200 -
2025-12-08 00:31:32,283 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:31:32] "GET /api/alerts HTTP/1.1" 200 -
2025-12-08 00:31:42,001 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:31:42] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-08 00:31:50,641 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:31:50] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-08 00:32:11,064 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:32:11] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-08 00:32:27,720 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:32:27] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-08 00:32:30,013 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:32:30] "GET /api/alerts HTTP/1.1" 200 -
2025-12-08 00:32:54,831 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:32:54] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-08 00:33:07,031 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:33:07] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-08 00:33:07,910 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:33:07] "GET /api/alerts HTTP/1.1" 200 -
2025-12-08 00:33:13,658 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:33:13] "GET /api/analytics?days=7&dimension=performance HTTP/1.1" 200 -
2025-12-08 00:33:14,420 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:33:14] "GET /api/alerts HTTP/1.1" 200 -
2025-12-08 00:33:27,392 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:33:27] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-08 00:33:29,903 - werkzeug - INFO - 127.0.0.1 - - [08/Dec/2025 00:33:29] "GET /api/alerts HTTP/1.1" 200 -
2025-12-08 00:56:18,014 - __main__ - INFO - 正在启动TSP智能助手综合管理平台...
2025-12-08 00:56:18,825 - src.core.database - INFO - 数据库初始化成功
2025-12-08 00:56:18,831 - __main__ - INFO - 跳过系统检查，直接启动服务...
2025-12-08 00:56:27,849 - src.core.backup_manager - INFO - 备份数据库初始化成功: tsp_assistant.db
2025-12-08 00:56:27,869 - src.integrations.config_manager - INFO - 配置加载成功
2025-12-08 00:56:28,009 - werkzeug - INFO - [31m[1mWARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.[0m
 * Running on all addresses (0.0.0.0)
 * Running on http://127.0.0.1:5000
 * Running on http://10.3.12.3:5000
2025-12-08 00:56:28,009 - werkzeug - INFO - [33mPress CTRL+C to quit[0m
2025-12-08 00:56:45,294 - werkzeug - INFO - 36.231.97.35 - - [08/Dec/2025 00:56:45] "GET / HTTP/1.1" 200 -
2025-12-08 00:56:45,731 - werkzeug - INFO - 36.231.97.35 - - [08/Dec/2025 00:56:45] "GET /static/css/design-system.css?v=1.0.0 HTTP/1.1" 200 -
2025-12-08 00:56:46,149 - werkzeug - INFO - 36.231.97.35 - - [08/Dec/2025 00:56:46] "GET /static/css/style.css?v=1.0.0 HTTP/1.1" 200 -
2025-12-08 00:56:46,209 - werkzeug - INFO - 36.231.97.35 - - [08/Dec/2025 00:56:46] "GET /static/js/services/api.js HTTP/1.1" 200 -
2025-12-08 00:56:46,354 - werkzeug - INFO - 36.231.97.35 - - [08/Dec/2025 00:56:46] "GET /static/js/app-new.js HTTP/1.1" 200 -
2025-12-08 00:56:46,543 - werkzeug - INFO - 36.231.97.35 - - [08/Dec/2025 00:56:46] "GET /static/js/components/AlertManager.js HTTP/1.1" 200 -
2025-12-08 00:56:46,546 - werkzeug - INFO - 36.231.97.35 - - [08/Dec/2025 00:56:46] "GET /static/js/components/NotificationManager.js HTTP/1.1" 200 -
2025-12-08 00:56:46,985 - werkzeug - INFO - 36.231.97.35 - - [08/Dec/2025 00:56:46] "GET /static/js/dashboard.js?v=1.0.9 HTTP/1.1" 200 -
2025-12-08 00:56:53,110 - werkzeug - INFO - 36.231.97.35 - - [08/Dec/2025 00:56:53] "GET /api/workorders HTTP/1.1" 200 -
2025-12-08 00:56:53,240 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 24 个条目
2025-12-08 00:56:53,248 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 24 个条目
2025-12-08 00:56:53,251 - src.web.service_manager - INFO - 服务 assistant 已初始化
2025-12-08 00:56:53,434 - src.agent_assistant - INFO - TSP Agent助手初始化完成
2025-12-08 00:56:53,434 - src.web.service_manager - INFO - 服务 agent_assistant 已初始化
2025-12-08 00:56:53,435 - werkzeug - INFO - 36.231.97.35 - - [08/Dec/2025 00:56:53] "GET /api/agent/status HTTP/1.1" 200 -
2025-12-08 00:56:53,487 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 24 个条目
2025-12-08 00:56:53,491 - src.web.service_manager - INFO - 服务 chat_manager 已初始化
2025-12-08 00:56:53,492 - werkzeug - INFO - 36.231.97.35 - - [08/Dec/2025 00:56:53] "GET /api/chat/sessions HTTP/1.1" 200 -
2025-12-08 00:56:54,333 - werkzeug - INFO - 36.231.97.35 - - [08/Dec/2025 00:56:54] "GET /api/system/info HTTP/1.1" 200 -
2025-12-08 00:56:54,421 - werkzeug - INFO - 36.231.97.35 - - [08/Dec/2025 00:56:54] "GET /api/feishu-sync/config HTTP/1.1" 200 -
2025-12-08 00:56:54,425 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 24 个条目
2025-12-08 00:56:54,429 - src.config.unified_config - WARNING - 无法加载默认LLM配置，使用内置默认值: No module named 'config.llm_config'
2025-12-08 00:56:54,429 - src.config.unified_config - INFO - 配置文件加载成功
2025-12-08 00:56:54,429 - src.integrations.ai_suggestion_service - INFO - 使用LLM配置: qwen - qwen-plus-latest
2025-12-08 00:56:54,430 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: TR Number -> order_id
2025-12-08 00:56:54,431 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: TR Description -> description
2025-12-08 00:56:54,432 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Type of problem -> category
2025-12-08 00:56:54,433 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: TR Level -> priority
2025-12-08 00:56:54,434 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: TR Status -> status
2025-12-08 00:56:54,435 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Source -> source
2025-12-08 00:56:54,436 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Date creation -> created_at
2025-12-08 00:56:54,438 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: 处理过程 -> resolution
2025-12-08 00:56:54,439 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: TR tracking -> resolution
2025-12-08 00:56:54,440 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Created by -> created_by
2025-12-08 00:56:54,441 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Module（模块） -> module
2025-12-08 00:56:54,442 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Wilfulness（责任人） -> wilfulness
2025-12-08 00:56:54,443 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Date of close TR -> date_of_close
2025-12-08 00:56:54,444 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Vehicle Type01 -> vehicle_type
2025-12-08 00:56:54,445 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: VIN|sim -> vin_sim
2025-12-08 00:56:54,446 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: App remote control version -> app_remote_control_version
2025-12-08 00:56:54,447 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: HMI SW -> hmi_sw
2025-12-08 00:56:54,448 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: 父记录 -> parent_record
2025-12-08 00:56:54,449 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Has it been updated on the same day -> has_updated_same_day
2025-12-08 00:56:54,450 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Operating time -> operating_time
2025-12-08 00:56:54,451 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: AI建议 -> ai_suggestion
2025-12-08 00:56:54,452 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Issue Start Time -> updated_at
2025-12-08 00:56:54,464 - werkzeug - INFO - 36.231.97.35 - - [08/Dec/2025 00:56:54] "GET /api/feishu-sync/status HTTP/1.1" 200 -
2025-12-08 00:56:58,379 - werkzeug - ERROR - 36.231.97.35 - - [08/Dec/2025 00:56:58] code 400, message Bad request version ("n,(RÇ¯^\x03XÆ,\x13\x13±ÄvÐ×&RR]ÃX\x14#k'sà\x1bâ\x00")
2025-12-08 00:56:58,397 - werkzeug - INFO - 36.231.97.35 - - [08/Dec/2025 00:56:58] "[35m[1m\x16\x03\x01\x06ö\x01\x00\x06ò\x03\x03\x80\x8e\x18:\x9e\x8b\x90\x1d¾\x9côX\x9a0ð¹¯@S\x8d\x1bR8`\x1cF}x) \x06U n,(RÇ¯^\x03XÆ,\x13\x13±ÄvÐ×&RR]ÃX\x14#k'sà\x1bâ\x00 [0m" HTTPStatus.BAD_REQUEST -
2025-12-08 00:56:58,400 - werkzeug - ERROR - 36.231.97.35 - - [08/Dec/2025 00:56:58] code 400, message Bad HTTP/0.9 request type ('\x16\x03\x01\x06Ö\x01\x00\x06Ò\x03\x03qºÝX\x91hD#B\x01ÉÎ§\x0f=\x0eËdALÛÂ\x968KåHî±U\x84é')
2025-12-08 00:56:58,400 - werkzeug - INFO - 36.231.97.35 - - [08/Dec/2025 00:56:58] "[35m[1m\x16\x03\x01\x06Ö\x01\x00\x06Ò\x03\x03qºÝX\x91hD#B\x01ÉÎ§\x0f=\x0eËdALÛÂ\x968KåHî±U\x84é \x8f½¦\x16ò\x83å´\x8b^®¢K?ÖË\x96ìH\x88m)¥3(8ïz3Zªc\x00 [0m" HTTPStatus.BAD_REQUEST -
2025-12-08 00:56:58,652 - werkzeug - INFO - 36.231.97.35 - - [08/Dec/2025 00:56:58] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-08 00:56:58,972 - werkzeug - ERROR - 36.231.97.35 - - [08/Dec/2025 00:56:58] code 400, message Bad request version ("8\x8f|\x05t\\Ê>/\x813Ú\x92_\x81\x07\x9bcÖ?TSÅÏÑXm%%\x94\x94\x90\x84ô'ðÃ")
2025-12-08 00:56:58,978 - werkzeug - INFO - 36.231.97.35 - - [08/Dec/2025 00:56:58] "[35m[1m\x16\x03\x01\x06ö\x01\x00\x06ò\x03\x03­¹:\x8f\x00\x92VoÏ$!;\x9dIXkCL{câãKî\x9fñÕ\x1e\\B\x9c\x8c °âg\x0f\x95ÌY|ÕHs\x13øsßøD\x13\x86M&ú^j\x81_uÊÐ^ù%\x00 êê\x13\x01\x13\x02\x13\x03À+À/À,À0Ì©Ì¨À\x13À\x14\x00\x9c\x00\x9d\x00/\x005\x01\x00\x06\x89\x1a\x1a\x00\x00\x00\x0d\x00\x12\x00\x10\x04\x03\x08\x04\x04\x01\x05\x03\x08\x05\x05\x01\x08\x06\x06\x01\x003\x04ï\x04íªª\x00\x01\x00\x11ì\x04Àõ&l\x82\x92¼ÝìBnCeÅSNnûÌÓHs4±\x03ÒÑ2\x92¼O£@\x84\x89( \x09\x07\x81,Û:¯õrÂ\\R 8\x8f|\x05t\\Ê>/\x813Ú\x92_\x81\x07\x9bcÖ?TSÅÏÑXm%%\x94\x94\x90\x84ô'ðÃ[0m" HTTPStatus.BAD_REQUEST -
2025-12-08 00:56:59,019 - werkzeug - ERROR - 36.231.97.35 - - [08/Dec/2025 00:56:59] code 400, message Bad request version ('\x1aAa\xad')
2025-12-08 00:56:59,019 - werkzeug - INFO - 36.231.97.35 - - [08/Dec/2025 00:56:59] "[35m[1m\x16\x03\x01\x06ö\x01\x00\x06ò\x03\x03û\x16jë,Û0e5|zO\x8dwUBÛDÝ=\x1c ËêÖ[îo_Ê÷\x1f Ñ\x1e26\x83¨q6\x99\x8c\x9a\\¤\x13¹n*Ïø\x91úoá*ÄÊufVìEð\x00 \x9a\x9a\x13\x01\x13\x02\x13\x03À+À/À,À0Ì©Ì¨À\x13À\x14\x00\x9c\x00\x9d\x00/\x005\x01\x00\x06\x89ÚÚ\x00\x00\x003\x04ï\x04íÚÚ\x00\x01\x00\x11ì\x04À]\x98\x8a!b\x14Ï¤T\x90\x158\x89º{,ç(ÉÜ\x96.c¢´\x90Å¯\x90\x8d¼\x89\x05 \x11f\x92%`4#!\x92A\x9a\x0c«Z¢¼\x87&\x12Áj5½\x9b\x19WÄ\x8ciw¨µî\x1ah^\x02\x0f\x91\x024\x1aõÍÜÂ¨\x0dC-\x18\x05\x18\x1er\x0bR\x04\x95\x88j\x7f´öÈ\x93õ(\x98ª=ÈõF0ð\x9böÙjü\x87¸¯\x13}á\x15%\x8b¶\x96UÅ\x13¹¸t\x08×\x1d=\x85RÆz8éC¸â\x1c\x1aAa­[0m" HTTPStatus.BAD_REQUEST -
2025-12-08 00:57:03,185 - werkzeug - INFO - 36.231.97.35 - - [08/Dec/2025 00:57:03] "GET / HTTP/1.1" 200 -
2025-12-08 00:57:04,270 - werkzeug - INFO - 36.231.97.35 - - [08/Dec/2025 00:57:04] "GET /static/js/core/store.js HTTP/1.1" 200 -
2025-12-08 00:57:04,803 - werkzeug - INFO - 36.231.97.35 - - [08/Dec/2025 00:57:04] "GET /api/analytics HTTP/1.1" 200 -
2025-12-08 00:57:13,846 - werkzeug - INFO - 36.231.97.35 - - [08/Dec/2025 00:57:13] "GET /api/alerts HTTP/1.1" 200 -
2025-12-08 00:57:13,929 - werkzeug - INFO - 36.231.97.35 - - [08/Dec/2025 00:57:13] "[33mGET /favicon.ico HTTP/1.1[0m" 404 -
2025-12-08 00:57:14,056 - werkzeug - INFO - 36.231.97.35 - - [08/Dec/2025 00:57:14] "GET /api/knowledge/stats HTTP/1.1" 200 -
2025-12-08 00:57:14,711 - werkzeug - INFO - 36.231.97.35 - - [08/Dec/2025 00:57:14] "GET /api/rules HTTP/1.1" 200 -
2025-12-08 00:57:19,212 - werkzeug - INFO - 36.231.97.35 - - [08/Dec/2025 00:57:19] "GET /api/agent/status HTTP/1.1" 200 -
2025-12-08 00:57:22,436 - werkzeug - INFO - 36.231.97.35 - - [08/Dec/2025 00:57:22] "GET /api/alerts?page=1&per_page=10 HTTP/1.1" 200 -
2025-12-08 00:57:24,357 - werkzeug - INFO - 36.231.97.35 - - [08/Dec/2025 00:57:24] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-08 00:57:25,435 - werkzeug - INFO - 36.231.97.35 - - [08/Dec/2025 00:57:25] "GET /api/alerts HTTP/1.1" 200 -
2025-12-08 00:57:30,329 - werkzeug - INFO - 36.231.97.35 - - [08/Dec/2025 00:57:30] "POST /api/batch-delete/alerts HTTP/1.1" 200 -
2025-12-08 00:57:32,130 - werkzeug - INFO - 36.231.97.35 - - [08/Dec/2025 00:57:32] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-08 00:57:33,842 - werkzeug - INFO - 36.231.97.35 - - [08/Dec/2025 00:57:33] "GET /api/analytics?days=7&dimension=performance HTTP/1.1" 200 -
2025-12-08 00:57:34,014 - werkzeug - INFO - 36.231.97.35 - - [08/Dec/2025 00:57:34] "GET /api/alerts HTTP/1.1" 200 -
2025-12-08 00:57:35,041 - werkzeug - INFO - 36.231.97.35 - - [08/Dec/2025 00:57:35] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-08 00:57:36,262 - werkzeug - INFO - 36.231.97.35 - - [08/Dec/2025 00:57:36] "GET /api/alerts?page=1&per_page=50 HTTP/1.1" 200 -
2025-12-08 00:57:38,099 - werkzeug - INFO - 36.231.97.35 - - [08/Dec/2025 00:57:38] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-08 00:57:38,281 - werkzeug - INFO - 36.231.97.35 - - [08/Dec/2025 00:57:38] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-08 00:57:39,235 - werkzeug - INFO - 36.231.97.35 - - [08/Dec/2025 00:57:39] "GET /api/analytics HTTP/1.1" 200 -
2025-12-08 00:57:40,355 - werkzeug - INFO - 36.231.97.35 - - [08/Dec/2025 00:57:40] "POST /api/batch-delete/alerts HTTP/1.1" 200 -
2025-12-08 00:57:56,581 - werkzeug - INFO - 36.231.97.35 - - [08/Dec/2025 00:57:56] "GET /api/alerts HTTP/1.1" 200 -
2025-12-08 00:58:12,902 - werkzeug - INFO - 36.231.97.35 - - [08/Dec/2025 00:58:12] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-08 00:58:14,287 - werkzeug - INFO - 36.231.97.35 - - [08/Dec/2025 00:58:14] "GET /api/analytics HTTP/1.1" 200 -
2025-12-08 00:58:14,381 - src.web.error_handlers - ERROR - 错误响应: 预警不存在: [111616, 111617, 111618, 111619, 111620, 111621, 111622, 111623, 111624, 111625, 111626, 111627, 111628, 111629, 111630, 111631, 111632, 111633, 111634, 111635, 111636, 111637, 111638, 111639, 111640, 111641, 111642, 111643, 111644, 111645, 111646, 111647, 111648, 111649, 111650, 111651, 111652, 111653, 111654, 111655, 111656, 111657, 111658, 111659, 111660, 111661, 111612, 111613, 111614, 111615] - None
2025-12-08 00:58:14,409 - werkzeug - INFO - 36.231.97.35 - - [08/Dec/2025 00:58:14] "[33mPOST /api/batch-delete/alerts HTTP/1.1[0m" 404 -
2025-12-08 00:58:15,728 - werkzeug - INFO - 36.231.97.35 - - [08/Dec/2025 00:58:15] "GET /api/analytics?timeRange=30&dimension=workorders HTTP/1.1" 200 -
2025-12-08 00:58:20,658 - werkzeug - INFO - 36.231.97.35 - - [08/Dec/2025 00:58:20] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-08 00:58:25,226 - werkzeug - INFO - 36.231.97.35 - - [08/Dec/2025 00:58:25] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-08 00:58:26,834 - werkzeug - INFO - 36.231.97.35 - - [08/Dec/2025 00:58:26] "GET /api/workorders?page=1&per_page=10 HTTP/1.1" 200 -
2025-12-08 00:58:49,660 - werkzeug - INFO - 36.231.97.35 - - [08/Dec/2025 00:58:49] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-08 00:58:58,072 - werkzeug - INFO - 36.231.97.35 - - [08/Dec/2025 00:58:58] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-08 00:59:05,172 - werkzeug - INFO - 36.231.97.35 - - [08/Dec/2025 00:59:05] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-08 00:59:06,477 - src.integrations.workorder_sync - INFO - 开始从飞书同步工单数据...
2025-12-08 00:59:06,480 - src.integrations.feishu_client - INFO - 正在获取飞书tenant_access_token，应用ID: cli_a8b50ec0eed1500d
2025-12-08 00:59:06,970 - src.integrations.feishu_client - INFO - 飞书API响应: {'code': 0, 'expire': 3056, 'msg': 'ok', 'tenant_access_token': 't-g104c7nOSPYB6V6UE63G2DXX5T3ACJFDSQZ3AJ3B'}
2025-12-08 00:59:06,974 - src.integrations.feishu_client - INFO - tenant_access_token获取成功: t-g104c7nOSPYB6V6UE6...
2025-12-08 00:59:06,974 - src.integrations.feishu_client - INFO - 令牌有效期: 3056秒，过期时间: 2025-12-08 01:50:02
2025-12-08 00:59:06,975 - src.integrations.feishu_client - INFO - 发送飞书API请求: GET https://open.feishu.cn/open-apis/bitable/v1/apps/XXnEbiCmEaMblSs6FDJcFCqsnIg/tables/tblnl3vJPpgMTSiP/records
2025-12-08 00:59:06,977 - src.integrations.feishu_client - INFO - 请求头: Authorization: Bearer t-g104c7nOSPYB6V6UE6...
2025-12-08 00:59:09,328 - src.integrations.feishu_client - INFO - 飞书API响应状态码: 200
2025-12-08 00:59:09,332 - src.integrations.feishu_client - INFO - 飞书API响应内容: {'code': 0, 'data': {'has_more': False, 'items': [{'fields': {'AI建议': "模拟LLM响应: \n作为技术支持专家，请基于以下问题描述为工单提供专业的处理建议：\n\n问题描述：The widget weather doesn't work \n\n相关背景信息：\n无相关背景信息\n\n请提供：\n1. 问题...", 'Created by': 'Evgeniy', 'Date creation': 1745769600000, 'Module（模块）': 'local O&M', 'Source': 'Mail', 'TR Description': "The widget weather doesn't work ", 'TR Level': 'Low', 'TR Number': 'TR559', 'TR Status': 'Processing', 'TR tracking': '28/04:Local feedback weather widget does not work, query TBOX and IHU login record is normal, traffic binding is normal, we suggest users to use mobile phone hotspot to connect to the car, observe whether the widget is restored, if not, try to capture the IHU logs.', 'Type of problem': 'HU troubles', 'VIN|sim': 'LVTDD24B8RG019153 ', 'Vehicle Type01': 'EXEED RX（T22）', 'Wilfulness（责任人）': 'Evgeniy', '处理过程': '0428：属地反馈天气小部件不起作用，查询TBOX及IHU登录记录正常，流量绑定正常，建议用户使用手机热点连接车机，观察小部件是否恢复，如不恢复，尝试抓取IHU日志', '当前问题状态': '1027：天气小部件无法使用，已确认TBOX及IHU登录正常、流量绑定正常，建议已完成手机热点连接测试并尝试抓取IHU日志，若问题仍存在，建议进站进行系统诊断或软件版本升级排查。\n0428：属地反馈天气小部件不起作用，查询TBOX及IHU登录记录正常，流量绑定正常，建议用户使用手机热点连接车机，观察小部件是否恢复，如不恢复，尝试抓取IHU日志'}, 'id': 'rec253kqBfXae4', 'record_id': 'rec253kqBfXae4'}, {'fields': {'AI建议': '模拟LLM响应: \n作为技术支持专家，请基于以下问题描述为工单提供专业的处理建议：\n\n问题描述：Vehicle data is not updated in the app => dated from October,...', 'Created by': 'Vsevolod Tsoi', 'Date creation': 1761148800000, 'Module（模块）': 'TBOX', 'Source': 'Mail', 'TR Description': 'Vehicle data is not updated in the app => dated from October, 19 - thus, they are old one. No TBOX log in since October, 19. TBOX is in deep sleep since October, 19.\n', 'TR Level': 'Low', 'TR Number': 'TR863', 'TR Status': 'Processing', 'TR tracking': '24/10:The vehicle is in deep sleep, and T-box logs cannot be remotely obtained. The problem is a bit complex and difficult to locate, so the customer needs to visit the station to retrieve T-box logs and DMC logs. @Vsevolod Tsoi', 'Type of problem': 'Remote control ', 'VIN|sim': 'LNNBDDEZ8SD345645 ', 'Vehicle Type01': 'JAECOO J7（T1EJ）', 'Wilfulness（责任人）': '刘娇龙', '处理过程': '1024:车辆处于深度睡眠中，远程无法获取T-box日志，问题有点复杂不好定位，需要客户进站取T-box日志和DMC日志', '当前问题状态': '1027：车辆自10月19日进入深度睡眠，TBOX无远程连接，建议客户尽快进站提取TBOX及DMC日志，进行本地诊断分析，排查电源管理或通信模块异常原因，确认硬件状态及软件配置是否正常。\n1024:车辆处于深度睡眠中，远程无法获取T-box日志，问题有点复杂不好定位，需要客户进站取T-box日志和DMC日志'}, 'id': 'recv0NLSh2a2S7', 'record_id': 'recv0NLSh2a2S7'}, {'fields': {'AI建议': '模拟LLM响应: \n作为技术支持专家，请基于以下问题描述为工单提供专业的处理建议：\n\n问题描述：User not able to enter into member center neither mobile phon...', 'Created by': 'Vsevolod Tsoi', 'Date creation': 1761148800000, 'Module（模块）': '生态/ecologically', 'Source': 'Mail', 'TR Description': 'User not able to enter into member center neither mobile phone nor QR code.', 'TR Level': 'Low', 'TR Number': 'TR864', 'TR Status': 'Processing', 'TR tracking': '23/10: DMC logs attached as well as vieos of the issue.', 'Type of problem': 'Problem with auth in member center', 'VIN|sim': 'LNNBDDEZXSD449358', 'Vehicle Type01': 'EXEED VX FL（M36T）', 'Wilfulness（责任人）': '袁清', '处理过程': '1024: DMC logs attached as well as vieos of the issue.', '当前问题状态': '1027：确认手机网络及APP版本正常，尝试清除APP缓存并重新登录，检查QR码扫描权限是否开启，重启手机和车机，若仍无法进入会员中心，建议联系售后进行远程诊断或进站排查系统故障。\n1024: DMC logs attached as well as vieos of the issue.'}, 'id': 'recv0NLZoKLlRJ', 'record_id': 'recv0NLZoKLlRJ'}, {'fields': {'AI建议': '模拟LLM响应: \n作为技术支持专家，请基于以下问题描述为工单提供专业的处理建议：\n\n问题描述：Abnormal traffic consumption\n\n相关背景信息：\n相关知识库信息：\n- TR866 - Traf...', 'Created by': 'Vsevolod Tsoi', 'Date creation': 1761235200000, 'Module（模块）': 'DMC', 'Source': 'Mail', 'TR Description': 'Abnormal traffic consumption', 'TR Level': 'Low', 'TR Number': 'TR866', 'TR Status': 'Analysising', 'TR tracking': '24/10: It is recommended that users grab the DMC log back for analysis.@Vsevolod Tsoi \n24/10: user states he use Navi only and no other apps. Consumption volume - 3.12 Gb for 3 days. Same symptom as E0X - traffic package size is plus mines the same - see pdf from MNO attached', 'Type of problem': 'Traffic is over', 'VIN|sim': 'XEYDD14B3SA012164', 'Vehicle Type01': 'TEST', 'Wilfulness（责任人）': 'Vsevolod Tsoi', '处理过程': '1024:建议用户抓去DMC日志回传分析\n1024：用户表示他只使用Navi，不使用其他应用程序。 消耗量-3.12 Gb，3天。 与E0X相同的症状-流量包大小加上地雷相同-见所附MNO的pdf', '当前问题状态': '1027：流量异常可能与导航应用后台持续联网有关，建议关闭Navi自动更新地图功能并限制后台数据使用，检查车机系统是否存在异常进程，如问题依旧，建议进站检测DMC模块日志及SIM卡通信状态，必要时升级系统或更换模块。\n1024:建议用户抓去DMC日志回传分析\n1024：用户表示他只使用Navi，不使用其他应用程序。 消耗量-3.12 Gb，3天。 与E0X相同的症状-流量包大小加上地雷相同-见所附MNO的pdf'}, 'id': 'recv0NLZoKjKvx', 'record_id': 'recv0NLZoKjKvx'}], 'total': 4}, 'msg': 'success'}
2025-12-08 00:59:09,337 - src.integrations.workorder_sync - INFO - 从飞书获取 4 条记录
2025-12-08 00:59:09,337 - src.integrations.workorder_sync - INFO - 开始生成AI建议...
2025-12-08 00:59:09,339 - src.integrations.workorder_sync - INFO - 第一条记录结构示例: record_id=rec253kqBfXae4, 有fields字段=True
2025-12-08 00:59:09,341 - src.integrations.workorder_sync - INFO - 第一条记录的fields示例: ['AI建议', 'Created by', 'Date creation', 'Module（模块）', 'Source']
2025-12-08 00:59:09,341 - src.integrations.workorder_sync - INFO - 第一条记录的AI建议字段内容: 模拟LLM响应: 
作为技术支持专家，请基于以下问题描述为工单提供专业的处理建议：

问题描述：Th
2025-12-08 00:59:09,348 - src.integrations.ai_suggestion_service - INFO - 记录 rec253kqBfXae4 - 现有AI建议长度: 112
2025-12-08 00:59:09,349 - src.integrations.ai_suggestion_service - INFO - 记录 rec253kqBfXae4 - 现有AI建议前100字符: 模拟LLM响应: 
作为技术支持专家，请基于以下问题描述为工单提供专业的处理建议：

问题描述：The widget weather doesn't work 

相关背景信息：
无相关背景信息

请
2025-12-08 00:59:09,480 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 24 个条目
2025-12-08 00:59:09,496 - src.dialogue.realtime_chat - INFO - 创建新会话: session_ai_suggestion_service_1765126749
2025-12-08 00:59:09,528 - src.knowledge_base.knowledge_manager - INFO - 搜索查询 '请作为专业的汽车技术支持工程师，为以下工单问题提供详细的技术分析和处理建议。

问题描述：
The widget weather doesn't work 


当前处理进度：
0428：属地反馈天气小部件不起作用，查询TBOX及IHU登录记录正常，流量绑定正常，建议用户使用手机热点连接车机，观察小部件是否恢复，如不恢复，尝试抓取IHU日志


历史AI建议记录：
模拟LLM响应: 
作为技术支持专家，请基于以下问题描述为工单提供专业的处理建议：

问题描述：The widget weather doesn't work 

相关背景信息：
无相关背景信息

请提供：
1. 问题...


要求：
1. 基于已有处理记录和当前进度，分析问题进展情况
2. 判断之前的处理步骤是否有效，找出可能的遗漏点
3. 根据问题发展阶段提供更深入的技术解决方案
4. 如果远程处理无效，明确说明需要哪些线下技术支持
5. 详细说明进站后需要执行的具体诊断和修复步骤
6. 包含技术参数、工具要求和注意事项
7. 便于技术人员快速理解问题状态和下一步行动

请提供针对性的深入分析和处理建议：' 返回 3 个结果
2025-12-08 00:59:22,469 - werkzeug - INFO - 36.231.97.35 - - [08/Dec/2025 00:59:22] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-08 00:59:23,084 - werkzeug - INFO - 36.231.97.35 - - [08/Dec/2025 00:59:23] "GET /api/conversations?page=1&per_page=10 HTTP/1.1" 200 -
2025-12-08 00:59:29,120 - werkzeug - INFO - 36.231.97.35 - - [08/Dec/2025 00:59:29] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-08 00:59:30,610 - src.core.llm_client - INFO - API请求成功
2025-12-08 00:59:30,824 - src.knowledge_base.knowledge_manager - INFO - 成功更新 3 个知识库条目的使用次数
2025-12-08 00:59:30,825 - src.integrations.ai_suggestion_service - INFO - AI生成原始内容: 您好，感谢您反馈天气小部件异常问题。结合当前处理进度（0428已确认TBOX/IHU登录正常、流量绑定正常），现提供专业分析与升级处理建议如下：

1. **问题进展分析**：  
   前期已排除基...
2025-12-08 00:59:30,825 - src.integrations.ai_suggestion_service - INFO - 未找到需要替换的内容: 您好，感谢您反馈天气小部件异常问题。结合当前处理进度（0428已确认TBOX/IHU登录正常、流量绑定正常），现提供专业分析与升级处理建议如下：

1. **问题进展分析**：  
   前期已排除基
2025-12-08 00:59:30,836 - src.integrations.ai_suggestion_service - INFO - 未找到需要替换的内容: 您好，感谢您反馈天气小部件异常问题。结合当前处理进度（0428已确认TBOX/IHU登录正常、流量绑定正常），现提供专业分析与升级处理建议如下：
2025-12-08 00:59:30,843 - src.integrations.ai_suggestion_service - INFO - AI建议清理后: 您好，感谢您反馈天气小部件异常问题。结合当前处理进度（0428已确认TBOX/IHU登录正常、流量绑定正常），现提供专业分析与升级处理建议如下：...
2025-12-08 00:59:30,843 - src.integrations.ai_suggestion_service - INFO - _format_ai_suggestion_with_numbering 调用 - time_str=1208, existing长度=112
2025-12-08 00:59:30,843 - src.integrations.ai_suggestion_service - INFO - 为记录 rec253kqBfXae4 生成AI建议，新建议长度: 190
2025-12-08 00:59:30,850 - src.integrations.ai_suggestion_service - INFO - 记录 recv0NLSh2a2S7 - 现有AI建议长度: 112
2025-12-08 00:59:30,879 - src.integrations.ai_suggestion_service - INFO - 记录 recv0NLSh2a2S7 - 现有AI建议前100字符: 模拟LLM响应: 
作为技术支持专家，请基于以下问题描述为工单提供专业的处理建议：

问题描述：Vehicle data is not updated in the app => dated from
2025-12-08 00:59:30,920 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 24 个条目
2025-12-08 00:59:30,943 - src.dialogue.realtime_chat - INFO - 创建新会话: session_ai_suggestion_service_1765126770
2025-12-08 00:59:30,965 - src.knowledge_base.knowledge_manager - INFO - 搜索查询 '请作为专业的汽车技术支持工程师，为以下工单问题提供详细的技术分析和处理建议。

问题描述：
Vehicle data is not updated in the app => dated from October, 19 - thus, they are old one. No TBOX log in since October, 19. TBOX is in deep sleep since October, 19.



当前处理进度：
1024:车辆处于深度睡眠中，远程无法获取T-box日志，问题有点复杂不好定位，需要客户进站取T-box日志和DMC日志


历史AI建议记录：
模拟LLM响应: 
作为技术支持专家，请基于以下问题描述为工单提供专业的处理建议：

问题描述：Vehicle data is not updated in the app => dated from October,...


要求：
1. 基于已有处理记录和当前进度，分析问题进展情况
2. 判断之前的处理步骤是否有效，找出可能的遗漏点
3. 根据问题发展阶段提供更深入的技术解决方案
4. 如果远程处理无效，明确说明需要哪些线下技术支持
5. 详细说明进站后需要执行的具体诊断和修复步骤
6. 包含技术参数、工具要求和注意事项
7. 便于技术人员快速理解问题状态和下一步行动

请提供针对性的深入分析和处理建议：' 返回 3 个结果
2025-12-08 00:59:37,986 - werkzeug - INFO - 36.231.97.35 - - [08/Dec/2025 00:59:37] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-08 00:59:44,965 - werkzeug - INFO - 36.231.97.35 - - [08/Dec/2025 00:59:44] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-08 00:59:49,625 - werkzeug - INFO - 36.231.97.35 - - [08/Dec/2025 00:59:49] "GET /api/alerts HTTP/1.1" 200 -
2025-12-08 00:59:51,821 - werkzeug - INFO - 36.231.97.35 - - [08/Dec/2025 00:59:51] "GET /api/analytics?timeRange=30&dimension=workorders HTTP/1.1" 200 -
2025-12-08 00:59:53,910 - src.core.llm_client - INFO - API请求成功
2025-12-08 00:59:54,067 - src.knowledge_base.knowledge_manager - INFO - 成功更新 3 个知识库条目的使用次数
2025-12-08 00:59:54,067 - src.integrations.ai_suggestion_service - INFO - AI生成原始内容: 该工单问题已明确为TBOX自10月19日起持续处于深度睡眠（Deep Sleep）状态，导致车辆数据停止更新、APP端数据滞留、且无任何TBOX日志上传——这已超出远程唤醒与诊断能力范围，属典型TBO...
2025-12-08 00:59:54,068 - src.integrations.ai_suggestion_service - INFO - 未找到需要替换的内容: 该工单问题已明确为TBOX自10月19日起持续处于深度睡眠（Deep Sleep）状态，导致车辆数据停止更新、APP端数据滞留、且无任何TBOX日志上传——这已超出远程唤醒与诊断能力范围，属典型TBO
2025-12-08 00:59:54,068 - src.integrations.ai_suggestion_service - INFO - 未找到需要替换的内容: 该工单问题已明确为TBOX自10月19日起持续处于深度睡眠（Deep Sleep）状态，导致车辆数据停止更新、APP端数据滞留、且无任何TBOX日志上传——这已超出远程唤醒与诊断能力范围，属典型TBO
2025-12-08 00:59:54,070 - src.integrations.ai_suggestion_service - INFO - AI建议清理后: 该工单问题已明确为TBOX自10月19日起持续处于深度睡眠（Deep Sleep）状态，导致车辆数据停止更新、APP端数据滞留、且无任何TBOX日志上传——这已超出远程唤醒与诊断能力范围，属典型TBO...
2025-12-08 00:59:54,073 - src.integrations.ai_suggestion_service - INFO - _format_ai_suggestion_with_numbering 调用 - time_str=1208, existing长度=112
2025-12-08 00:59:54,075 - src.integrations.ai_suggestion_service - INFO - 为记录 recv0NLSh2a2S7 生成AI建议，新建议长度: 231
2025-12-08 00:59:54,075 - src.integrations.ai_suggestion_service - INFO - 记录 recv0NLZoKLlRJ - 现有AI建议长度: 112
2025-12-08 00:59:54,077 - src.integrations.ai_suggestion_service - INFO - 记录 recv0NLZoKLlRJ - 现有AI建议前100字符: 模拟LLM响应: 
作为技术支持专家，请基于以下问题描述为工单提供专业的处理建议：

问题描述：User not able to enter into member center neither mo
2025-12-08 00:59:54,096 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 24 个条目
2025-12-08 00:59:54,105 - src.dialogue.realtime_chat - INFO - 创建新会话: session_ai_suggestion_service_1765126794
2025-12-08 00:59:54,119 - src.knowledge_base.knowledge_manager - INFO - 搜索查询 '请作为专业的汽车技术支持工程师，为以下工单问题提供详细的技术分析和处理建议。

问题描述：
User not able to enter into member center neither mobile phone nor QR code.


当前处理进度：
1024: DMC logs attached as well as vieos of the issue.


历史AI建议记录：
模拟LLM响应: 
作为技术支持专家，请基于以下问题描述为工单提供专业的处理建议：

问题描述：User not able to enter into member center neither mobile phon...


要求：
1. 基于已有处理记录和当前进度，分析问题进展情况
2. 判断之前的处理步骤是否有效，找出可能的遗漏点
3. 根据问题发展阶段提供更深入的技术解决方案
4. 如果远程处理无效，明确说明需要哪些线下技术支持
5. 详细说明进站后需要执行的具体诊断和修复步骤
6. 包含技术参数、工具要求和注意事项
7. 便于技术人员快速理解问题状态和下一步行动

请提供针对性的深入分析和处理建议：' 返回 3 个结果
2025-12-08 01:00:01,162 - werkzeug - INFO - 36.231.97.35 - - [08/Dec/2025 01:00:01] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-08 01:00:02,087 - werkzeug - INFO - 36.231.97.35 - - [08/Dec/2025 01:00:02] "GET /api/alerts HTTP/1.1" 200 -
2025-12-08 01:00:04,293 - werkzeug - INFO - 36.231.97.35 - - [08/Dec/2025 01:00:04] "GET /api/analytics HTTP/1.1" 200 -
2025-12-08 01:00:04,915 - src.integrations.feishu_client - INFO - 发送飞书API请求: GET https://open.feishu.cn/open-apis/bitable/v1/apps/XXnEbiCmEaMblSs6FDJcFCqsnIg/tables/tblnl3vJPpgMTSiP/records
2025-12-08 01:00:04,935 - src.integrations.feishu_client - INFO - 请求头: Authorization: Bearer t-g104c7nOSPYB6V6UE6...
2025-12-08 01:00:06,700 - src.integrations.feishu_client - INFO - 飞书API响应状态码: 200
2025-12-08 01:00:06,703 - src.integrations.feishu_client - INFO - 飞书API响应内容: {'code': 0, 'data': {'has_more': False, 'items': [{'fields': {'AI建议': "模拟LLM响应: \n作为技术支持专家，请基于以下问题描述为工单提供专业的处理建议：\n\n问题描述：The widget weather doesn't work \n\n相关背景信息：\n无相关背景信息\n\n请提供：\n1. 问题...", 'Created by': 'Evgeniy', 'Date creation': 1745769600000, 'Module（模块）': 'local O&M', 'Source': 'Mail', 'TR Description': "The widget weather doesn't work ", 'TR Level': 'Low', 'TR Number': 'TR559', 'TR Status': 'Processing', 'TR tracking': '28/04:Local feedback weather widget does not work, query TBOX and IHU login record is normal, traffic binding is normal, we suggest users to use mobile phone hotspot to connect to the car, observe whether the widget is restored, if not, try to capture the IHU logs.', 'Type of problem': 'HU troubles', 'VIN|sim': 'LVTDD24B8RG019153 ', 'Vehicle Type01': 'EXEED RX（T22）', 'Wilfulness（责任人）': 'Evgeniy', '处理过程': '0428：属地反馈天气小部件不起作用，查询TBOX及IHU登录记录正常，流量绑定正常，建议用户使用手机热点连接车机，观察小部件是否恢复，如不恢复，尝试抓取IHU日志', '当前问题状态': '1027：天气小部件无法使用，已确认TBOX及IHU登录正常、流量绑定正常，建议已完成手机热点连接测试并尝试抓取IHU日志，若问题仍存在，建议进站进行系统诊断或软件版本升级排查。\n0428：属地反馈天气小部件不起作用，查询TBOX及IHU登录记录正常，流量绑定正常，建议用户使用手机热点连接车机，观察小部件是否恢复，如不恢复，尝试抓取IHU日志'}, 'id': 'rec253kqBfXae4', 'record_id': 'rec253kqBfXae4'}, {'fields': {'AI建议': '模拟LLM响应: \n作为技术支持专家，请基于以下问题描述为工单提供专业的处理建议：\n\n问题描述：Vehicle data is not updated in the app => dated from October,...', 'Created by': 'Vsevolod Tsoi', 'Date creation': 1761148800000, 'Module（模块）': 'TBOX', 'Source': 'Mail', 'TR Description': 'Vehicle data is not updated in the app => dated from October, 19 - thus, they are old one. No TBOX log in since October, 19. TBOX is in deep sleep since October, 19.\n', 'TR Level': 'Low', 'TR Number': 'TR863', 'TR Status': 'Processing', 'TR tracking': '24/10:The vehicle is in deep sleep, and T-box logs cannot be remotely obtained. The problem is a bit complex and difficult to locate, so the customer needs to visit the station to retrieve T-box logs and DMC logs. @Vsevolod Tsoi', 'Type of problem': 'Remote control ', 'VIN|sim': 'LNNBDDEZ8SD345645 ', 'Vehicle Type01': 'JAECOO J7（T1EJ）', 'Wilfulness（责任人）': '刘娇龙', '处理过程': '1024:车辆处于深度睡眠中，远程无法获取T-box日志，问题有点复杂不好定位，需要客户进站取T-box日志和DMC日志', '当前问题状态': '1027：车辆自10月19日进入深度睡眠，TBOX无远程连接，建议客户尽快进站提取TBOX及DMC日志，进行本地诊断分析，排查电源管理或通信模块异常原因，确认硬件状态及软件配置是否正常。\n1024:车辆处于深度睡眠中，远程无法获取T-box日志，问题有点复杂不好定位，需要客户进站取T-box日志和DMC日志'}, 'id': 'recv0NLSh2a2S7', 'record_id': 'recv0NLSh2a2S7'}, {'fields': {'AI建议': '模拟LLM响应: \n作为技术支持专家，请基于以下问题描述为工单提供专业的处理建议：\n\n问题描述：User not able to enter into member center neither mobile phon...', 'Created by': 'Vsevolod Tsoi', 'Date creation': 1761148800000, 'Module（模块）': '生态/ecologically', 'Source': 'Mail', 'TR Description': 'User not able to enter into member center neither mobile phone nor QR code.', 'TR Level': 'Low', 'TR Number': 'TR864', 'TR Status': 'Processing', 'TR tracking': '23/10: DMC logs attached as well as vieos of the issue.', 'Type of problem': 'Problem with auth in member center', 'VIN|sim': 'LNNBDDEZXSD449358', 'Vehicle Type01': 'EXEED VX FL（M36T）', 'Wilfulness（责任人）': '袁清', '处理过程': '1024: DMC logs attached as well as vieos of the issue.', '当前问题状态': '1027：确认手机网络及APP版本正常，尝试清除APP缓存并重新登录，检查QR码扫描权限是否开启，重启手机和车机，若仍无法进入会员中心，建议联系售后进行远程诊断或进站排查系统故障。\n1024: DMC logs attached as well as vieos of the issue.'}, 'id': 'recv0NLZoKLlRJ', 'record_id': 'recv0NLZoKLlRJ'}, {'fields': {'AI建议': '模拟LLM响应: \n作为技术支持专家，请基于以下问题描述为工单提供专业的处理建议：\n\n问题描述：Abnormal traffic consumption\n\n相关背景信息：\n相关知识库信息：\n- TR866 - Traf...', 'Created by': 'Vsevolod Tsoi', 'Date creation': 1761235200000, 'Module（模块）': 'DMC', 'Source': 'Mail', 'TR Description': 'Abnormal traffic consumption', 'TR Level': 'Low', 'TR Number': 'TR866', 'TR Status': 'Analysising', 'TR tracking': '24/10: It is recommended that users grab the DMC log back for analysis.@Vsevolod Tsoi \n24/10: user states he use Navi only and no other apps. Consumption volume - 3.12 Gb for 3 days. Same symptom as E0X - traffic package size is plus mines the same - see pdf from MNO attached', 'Type of problem': 'Traffic is over', 'VIN|sim': 'XEYDD14B3SA012164', 'Vehicle Type01': 'TEST', 'Wilfulness（责任人）': 'Vsevolod Tsoi', '处理过程': '1024:建议用户抓去DMC日志回传分析\n1024：用户表示他只使用Navi，不使用其他应用程序。 消耗量-3.12 Gb，3天。 与E0X相同的症状-流量包大小加上地雷相同-见所附MNO的pdf', '当前问题状态': '1027：流量异常可能与导航应用后台持续联网有关，建议关闭Navi自动更新地图功能并限制后台数据使用，检查车机系统是否存在异常进程，如问题依旧，建议进站检测DMC模块日志及SIM卡通信状态，必要时升级系统或更换模块。\n1024:建议用户抓去DMC日志回传分析\n1024：用户表示他只使用Navi，不使用其他应用程序。 消耗量-3.12 Gb，3天。 与E0X相同的症状-流量包大小加上地雷相同-见所附MNO的pdf'}, 'id': 'recv0NLZoKjKvx', 'record_id': 'recv0NLZoKjKvx'}], 'total': 4}, 'msg': 'success'}
2025-12-08 01:00:06,708 - werkzeug - INFO - 36.231.97.35 - - [08/Dec/2025 01:00:06] "GET /api/feishu-sync/preview-feishu-data HTTP/1.1" 200 -
2025-12-08 01:00:13,560 - src.core.llm_client - INFO - API请求成功
2025-12-08 01:00:13,804 - src.knowledge_base.knowledge_manager - INFO - 成功更新 3 个知识库条目的使用次数
2025-12-08 01:00:13,810 - src.integrations.ai_suggestion_service - INFO - AI生成原始内容: 经分析当前工单进展：用户无法通过手机号或二维码登录会员中心，且已上传DMC日志及问题视频（时间戳1024），说明远程行为已完整复现，初步排除用户操作误触可能。

当前处理有效性评估：  
✅ 已完成关...
2025-12-08 01:00:13,828 - src.integrations.ai_suggestion_service - INFO - 未找到需要替换的内容: 经分析当前工单进展：用户无法通过手机号或二维码登录会员中心，且已上传DMC日志及问题视频（时间戳1024），说明远程行为已完整复现，初步排除用户操作误触可能。

当前处理有效性评估：  
✅ 已完成关
2025-12-08 01:00:13,838 - src.integrations.ai_suggestion_service - INFO - 未找到需要替换的内容: 经分析当前工单进展：用户无法通过手机号或二维码登录会员中心，且已上传DMC日志及问题视频（时间戳1024），说明远程行为已完整复现，初步排除用户操作误触可能。
2025-12-08 01:00:14,071 - src.integrations.ai_suggestion_service - INFO - AI建议清理后: 经分析当前工单进展：用户无法通过手机号或二维码登录会员中心，且已上传DMC日志及问题视频（时间戳1024），说明远程行为已完整复现，初步排除用户操作误触可能。...
2025-12-08 01:00:14,080 - src.integrations.ai_suggestion_service - INFO - _format_ai_suggestion_with_numbering 调用 - time_str=1208, existing长度=112
2025-12-08 01:00:14,086 - src.integrations.ai_suggestion_service - INFO - 为记录 recv0NLZoKLlRJ 生成AI建议，新建议长度: 197
2025-12-08 01:00:14,092 - src.integrations.ai_suggestion_service - INFO - 记录 recv0NLZoKjKvx - 现有AI建议长度: 112
2025-12-08 01:00:14,099 - src.integrations.ai_suggestion_service - INFO - 记录 recv0NLZoKjKvx - 现有AI建议前100字符: 模拟LLM响应: 
作为技术支持专家，请基于以下问题描述为工单提供专业的处理建议：

问题描述：Abnormal traffic consumption

相关背景信息：
相关知识库信息：
- TR8
2025-12-08 01:00:14,153 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 24 个条目
2025-12-08 01:00:14,177 - src.dialogue.realtime_chat - INFO - 创建新会话: session_ai_suggestion_service_1765126814
2025-12-08 01:00:14,236 - src.knowledge_base.knowledge_manager - INFO - 搜索查询 '请作为专业的汽车技术支持工程师，为以下工单问题提供详细的技术分析和处理建议。

问题描述：
Abnormal traffic consumption


当前处理进度：
1024:建议用户抓去DMC日志回传分析
1024：用户表示他只使用Navi，不使用其他应用程序。 消耗量-3.12 Gb，3天。 与E0X相同的症状-流量包大小加上地雷相同-见所附MNO的pdf


历史AI建议记录：
模拟LLM响应: 
作为技术支持专家，请基于以下问题描述为工单提供专业的处理建议：

问题描述：Abnormal traffic consumption

相关背景信息：
相关知识库信息：
- TR866 - Traf...


要求：
1. 基于已有处理记录和当前进度，分析问题进展情况
2. 判断之前的处理步骤是否有效，找出可能的遗漏点
3. 根据问题发展阶段提供更深入的技术解决方案
4. 如果远程处理无效，明确说明需要哪些线下技术支持
5. 详细说明进站后需要执行的具体诊断和修复步骤
6. 包含技术参数、工具要求和注意事项
7. 便于技术人员快速理解问题状态和下一步行动

请提供针对性的深入分析和处理建议：' 返回 3 个结果
2025-12-08 01:00:18,434 - werkzeug - INFO - 36.231.97.35 - - [08/Dec/2025 01:00:18] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-08 01:00:23,257 - werkzeug - INFO - 36.231.97.35 - - [08/Dec/2025 01:00:23] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-08 01:00:24,752 - werkzeug - INFO - 36.231.97.35 - - [08/Dec/2025 01:00:24] "GET /api/alerts HTTP/1.1" 200 -
2025-12-08 01:00:25,794 - werkzeug - INFO - 36.231.97.35 - - [08/Dec/2025 01:00:25] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-08 01:00:35,439 - src.core.llm_client - INFO - API请求成功
2025-12-08 01:00:36,167 - src.knowledge_base.knowledge_manager - INFO - 成功更新 3 个知识库条目的使用次数
2025-12-08 01:00:36,195 - src.integrations.ai_suggestion_service - INFO - AI生成原始内容: 您好，感谢您反馈异常流量消耗问题。结合当前工单进展（已建议抓取DMC日志、用户确认仅使用导航且3天消耗3.12GB，症状与E0X车型TR866案例高度一致），现提供专业分析与处理建议如下：

一、问题...
2025-12-08 01:00:36,200 - src.integrations.ai_suggestion_service - INFO - 未找到需要替换的内容: 您好，感谢您反馈异常流量消耗问题。结合当前工单进展（已建议抓取DMC日志、用户确认仅使用导航且3天消耗3.12GB，症状与E0X车型TR866案例高度一致），现提供专业分析与处理建议如下：

一、问题
2025-12-08 01:00:36,201 - src.integrations.ai_suggestion_service - INFO - 未找到需要替换的内容: 您好，感谢您反馈异常流量消耗问题。结合当前工单进展（已建议抓取DMC日志、用户确认仅使用导航且3天消耗3.12GB，症状与E0X车型TR866案例高度一致），现提供专业分析与处理建议如下：
2025-12-08 01:00:36,201 - src.integrations.ai_suggestion_service - INFO - AI建议清理后: 您好，感谢您反馈异常流量消耗问题。结合当前工单进展（已建议抓取DMC日志、用户确认仅使用导航且3天消耗3.12GB，症状与E0X车型TR866案例高度一致），现提供专业分析与处理建议如下：...
2025-12-08 01:00:36,204 - src.integrations.ai_suggestion_service - INFO - _format_ai_suggestion_with_numbering 调用 - time_str=1208, existing长度=112
2025-12-08 01:00:36,231 - src.integrations.ai_suggestion_service - INFO - 为记录 recv0NLZoKjKvx 生成AI建议，新建议长度: 212
2025-12-08 01:00:36,250 - src.integrations.feishu_client - INFO - 发送飞书API请求: PUT https://open.feishu.cn/open-apis/bitable/v1/apps/XXnEbiCmEaMblSs6FDJcFCqsnIg/tables/tblnl3vJPpgMTSiP/records/rec253kqBfXae4
2025-12-08 01:00:36,250 - src.integrations.feishu_client - INFO - 请求头: Authorization: Bearer t-g104c7nOSPYB6V6UE6...
2025-12-08 01:00:38,160 - src.integrations.feishu_client - INFO - 飞书API响应状态码: 200
2025-12-08 01:00:38,175 - src.integrations.feishu_client - INFO - 飞书API响应内容: {'code': 0, 'data': {'record': {'fields': {'AI建议': "1208：您好，感谢您反馈天气小部件异常问题。结合当前处理进度（0428已确认TBOX/IHU登录正常、流量绑定正常），现提供专业分析与升级处理建议如下：\n模拟LLM响应: \n作为技术支持专家，请基于以下问题描述为工单提供专业的处理建议：\n\n问题描述：The widget weather doesn't work \n\n相关背景信息：\n无相关背景信息\n\n请提供：\n1. 问题..."}, 'id': 'rec253kqBfXae4', 'record_id': 'rec253kqBfXae4'}}, 'msg': 'success'}
2025-12-08 01:00:38,194 - src.integrations.workorder_sync - INFO - 更新飞书记录 rec253kqBfXae4 的AI建议
2025-12-08 01:00:38,205 - src.integrations.feishu_client - INFO - 发送飞书API请求: PUT https://open.feishu.cn/open-apis/bitable/v1/apps/XXnEbiCmEaMblSs6FDJcFCqsnIg/tables/tblnl3vJPpgMTSiP/records/recv0NLSh2a2S7
2025-12-08 01:00:38,225 - src.integrations.feishu_client - INFO - 请求头: Authorization: Bearer t-g104c7nOSPYB6V6UE6...
2025-12-08 01:00:39,921 - src.integrations.feishu_client - INFO - 飞书API响应状态码: 200
2025-12-08 01:00:39,921 - src.integrations.feishu_client - INFO - 飞书API响应内容: {'code': 0, 'data': {'record': {'fields': {'AI建议': '1208：该工单问题已明确为TBOX自10月19日起持续处于深度睡眠（Deep Sleep）状态，导致车辆数据停止更新、APP端数据滞留、且无任何TBOX日志上传——这已超出远程唤醒与诊断能力范围，属典型TBOX通信链路或电源管理异常。\n模拟LLM响应: \n作为技术支持专家，请基于以下问题描述为工单提供专业的处理建议：\n\n问题描述：Vehicle data is not updated in the app => dated from October,...'}, 'id': 'recv0NLSh2a2S7', 'record_id': 'recv0NLSh2a2S7'}}, 'msg': 'success'}
2025-12-08 01:00:39,923 - src.integrations.workorder_sync - INFO - 更新飞书记录 recv0NLSh2a2S7 的AI建议
2025-12-08 01:00:39,923 - src.integrations.feishu_client - INFO - 发送飞书API请求: PUT https://open.feishu.cn/open-apis/bitable/v1/apps/XXnEbiCmEaMblSs6FDJcFCqsnIg/tables/tblnl3vJPpgMTSiP/records/recv0NLZoKLlRJ
2025-12-08 01:00:39,923 - src.integrations.feishu_client - INFO - 请求头: Authorization: Bearer t-g104c7nOSPYB6V6UE6...
2025-12-08 01:00:41,718 - src.integrations.feishu_client - INFO - 飞书API响应状态码: 200
2025-12-08 01:00:41,719 - src.integrations.feishu_client - INFO - 飞书API响应内容: {'code': 0, 'data': {'record': {'fields': {'AI建议': '1208：经分析当前工单进展：用户无法通过手机号或二维码登录会员中心，且已上传DMC日志及问题视频（时间戳1024），说明远程行为已完整复现，初步排除用户操作误触可能。\n模拟LLM响应: \n作为技术支持专家，请基于以下问题描述为工单提供专业的处理建议：\n\n问题描述：User not able to enter into member center neither mobile phon...'}, 'id': 'recv0NLZoKLlRJ', 'record_id': 'recv0NLZoKLlRJ'}}, 'msg': 'success'}
2025-12-08 01:00:41,720 - src.integrations.workorder_sync - INFO - 更新飞书记录 recv0NLZoKLlRJ 的AI建议
2025-12-08 01:00:41,720 - src.integrations.feishu_client - INFO - 发送飞书API请求: PUT https://open.feishu.cn/open-apis/bitable/v1/apps/XXnEbiCmEaMblSs6FDJcFCqsnIg/tables/tblnl3vJPpgMTSiP/records/recv0NLZoKjKvx
2025-12-08 01:00:41,721 - src.integrations.feishu_client - INFO - 请求头: Authorization: Bearer t-g104c7nOSPYB6V6UE6...
2025-12-08 01:00:43,739 - src.integrations.feishu_client - INFO - 飞书API响应状态码: 200
2025-12-08 01:00:43,741 - src.integrations.feishu_client - INFO - 飞书API响应内容: {'code': 0, 'data': {'record': {'fields': {'AI建议': '1208：您好，感谢您反馈异常流量消耗问题。结合当前工单进展（已建议抓取DMC日志、用户确认仅使用导航且3天消耗3.12GB，症状与E0X车型TR866案例高度一致），现提供专业分析与处理建议如下：\n模拟LLM响应: \n作为技术支持专家，请基于以下问题描述为工单提供专业的处理建议：\n\n问题描述：Abnormal traffic consumption\n\n相关背景信息：\n相关知识库信息：\n- TR866 - Traf...'}, 'id': 'recv0NLZoKjKvx', 'record_id': 'recv0NLZoKjKvx'}}, 'msg': 'success'}
2025-12-08 01:00:43,741 - src.integrations.workorder_sync - INFO - 更新飞书记录 recv0NLZoKjKvx 的AI建议
2025-12-08 01:00:43,834 - src.integrations.workorder_sync - INFO - 开始转换飞书字段: {'AI建议': "模拟LLM响应: \n作为技术支持专家，请基于以下问题描述为工单提供专业的处理建议：\n\n问题描述：The widget weather doesn't work \n\n相关背景信息：\n无相关背景信息\n\n请提供：\n1. 问题...", 'Created by': 'Evgeniy', 'Date creation': 1745769600000, 'Module（模块）': 'local O&M', 'Source': 'Mail', 'TR Description': "The widget weather doesn't work ", 'TR Level': 'Low', 'TR Number': 'TR559', 'TR Status': 'Processing', 'TR tracking': '28/04:Local feedback weather widget does not work, query TBOX and IHU login record is normal, traffic binding is normal, we suggest users to use mobile phone hotspot to connect to the car, observe whether the widget is restored, if not, try to capture the IHU logs.', 'Type of problem': 'HU troubles', 'VIN|sim': 'LVTDD24B8RG019153 ', 'Vehicle Type01': 'EXEED RX（T22）', 'Wilfulness（责任人）': 'Evgeniy', '处理过程': '0428：属地反馈天气小部件不起作用，查询TBOX及IHU登录记录正常，流量绑定正常，建议用户使用手机热点连接车机，观察小部件是否恢复，如不恢复，尝试抓取IHU日志', '当前问题状态': '1027：天气小部件无法使用，已确认TBOX及IHU登录正常、流量绑定正常，建议已完成手机热点连接测试并尝试抓取IHU日志，若问题仍存在，建议进站进行系统诊断或软件版本升级排查。\n0428：属地反馈天气小部件不起作用，查询TBOX及IHU登录记录正常，流量绑定正常，建议用户使用手机热点连接车机，观察小部件是否恢复，如不恢复，尝试抓取IHU日志'}
2025-12-08 01:00:43,836 - src.integrations.flexible_field_mapper - INFO - 开始转换字段: ['AI建议', 'Created by', 'Date creation', 'Module（模块）', 'Source', 'TR Description', 'TR Level', 'TR Number', 'TR Status', 'TR tracking', 'Type of problem', 'VIN|sim', 'Vehicle Type01', 'Wilfulness（责任人）', '处理过程', '当前问题状态']
2025-12-08 01:00:43,837 - src.integrations.flexible_field_mapper - INFO - 映射字段 AI建议 -> ai_suggestion: 模拟LLM响应: 
作为技术支持专家，请基于以下问题描述为工单提供专业的处理建议：

问题描述：The widget weather doesn't work 

相关背景信息：
无相关背景信息

请提供：
1. 问题...
2025-12-08 01:00:43,837 - src.integrations.flexible_field_mapper - INFO - 映射字段 Created by -> created_by: Evgeniy
2025-12-08 01:00:43,838 - src.integrations.flexible_field_mapper - INFO - 映射字段 Date creation -> created_at: 1745769600000
2025-12-08 01:00:43,838 - src.integrations.flexible_field_mapper - INFO - 映射字段 Module（模块） -> module: local O&M
2025-12-08 01:00:43,838 - src.integrations.flexible_field_mapper - INFO - 映射字段 Source -> source: Mail
2025-12-08 01:00:43,838 - src.integrations.flexible_field_mapper - INFO - 映射字段 TR Description -> description: The widget weather doesn't work 
2025-12-08 01:00:43,838 - src.integrations.flexible_field_mapper - INFO - 映射字段 TR Level -> priority: Low
2025-12-08 01:00:43,838 - src.integrations.flexible_field_mapper - INFO - 映射字段 TR Number -> order_id: TR559
2025-12-08 01:00:43,840 - src.integrations.flexible_field_mapper - INFO - 映射字段 TR Status -> status: Processing
2025-12-08 01:00:43,840 - src.integrations.flexible_field_mapper - INFO - 映射字段 TR tracking -> resolution: 28/04:Local feedback weather widget does not work, query TBOX and IHU login record is normal, traffic binding is normal, we suggest users to use mobile phone hotspot to connect to the car, observe whether the widget is restored, if not, try to capture the IHU logs.
2025-12-08 01:00:43,840 - src.integrations.flexible_field_mapper - INFO - 映射字段 Type of problem -> category: HU troubles
2025-12-08 01:00:43,840 - src.integrations.flexible_field_mapper - INFO - 映射字段 VIN|sim -> vin_sim: LVTDD24B8RG019153 
2025-12-08 01:00:43,856 - src.integrations.flexible_field_mapper - INFO - 映射字段 Vehicle Type01 -> vehicle_type: EXEED RX（T22）
2025-12-08 01:00:43,863 - src.integrations.flexible_field_mapper - INFO - 映射字段 Wilfulness（责任人） -> wilfulness: Evgeniy
2025-12-08 01:00:43,863 - src.integrations.flexible_field_mapper - INFO - 映射字段 处理过程 -> resolution: 0428：属地反馈天气小部件不起作用，查询TBOX及IHU登录记录正常，流量绑定正常，建议用户使用手机热点连接车机，观察小部件是否恢复，如不恢复，尝试抓取IHU日志
2025-12-08 01:00:43,956 - src.integrations.flexible_field_mapper - INFO - 飞书字段 当前问题状态 不存在于数据中
2025-12-08 01:00:43,960 - src.integrations.flexible_field_mapper - INFO - 字段转换完成: 已映射 15, 未映射 1
2025-12-08 01:00:43,961 - src.integrations.workorder_sync - INFO - 字段转换统计: 总字段 16, 已映射 15, 未映射 1
2025-12-08 01:00:43,961 - src.integrations.workorder_sync - WARNING - 未映射字段: ['当前问题状态']
2025-12-08 01:00:43,961 - src.integrations.workorder_sync - INFO - 字段 '当前问题状态' 的建议映射: {'local_field': 'status', 'similarity': 0.7, 'matched_pattern': '.*状态.*', 'confidence': 'medium', 'reason': "匹配模式 '.*状态.*'"}
2025-12-08 01:00:44,146 - src.integrations.workorder_sync - INFO - 开始转换飞书字段: {'AI建议': '模拟LLM响应: \n作为技术支持专家，请基于以下问题描述为工单提供专业的处理建议：\n\n问题描述：Vehicle data is not updated in the app => dated from October,...', 'Created by': 'Vsevolod Tsoi', 'Date creation': 1761148800000, 'Module（模块）': 'TBOX', 'Source': 'Mail', 'TR Description': 'Vehicle data is not updated in the app => dated from October, 19 - thus, they are old one. No TBOX log in since October, 19. TBOX is in deep sleep since October, 19.\n', 'TR Level': 'Low', 'TR Number': 'TR863', 'TR Status': 'Processing', 'TR tracking': '24/10:The vehicle is in deep sleep, and T-box logs cannot be remotely obtained. The problem is a bit complex and difficult to locate, so the customer needs to visit the station to retrieve T-box logs and DMC logs. @Vsevolod Tsoi', 'Type of problem': 'Remote control ', 'VIN|sim': 'LNNBDDEZ8SD345645 ', 'Vehicle Type01': 'JAECOO J7（T1EJ）', 'Wilfulness（责任人）': '刘娇龙', '处理过程': '1024:车辆处于深度睡眠中，远程无法获取T-box日志，问题有点复杂不好定位，需要客户进站取T-box日志和DMC日志', '当前问题状态': '1027：车辆自10月19日进入深度睡眠，TBOX无远程连接，建议客户尽快进站提取TBOX及DMC日志，进行本地诊断分析，排查电源管理或通信模块异常原因，确认硬件状态及软件配置是否正常。\n1024:车辆处于深度睡眠中，远程无法获取T-box日志，问题有点复杂不好定位，需要客户进站取T-box日志和DMC日志'}
2025-12-08 01:00:44,160 - src.integrations.flexible_field_mapper - INFO - 开始转换字段: ['AI建议', 'Created by', 'Date creation', 'Module（模块）', 'Source', 'TR Description', 'TR Level', 'TR Number', 'TR Status', 'TR tracking', 'Type of problem', 'VIN|sim', 'Vehicle Type01', 'Wilfulness（责任人）', '处理过程', '当前问题状态']
2025-12-08 01:00:44,160 - src.integrations.flexible_field_mapper - INFO - 映射字段 AI建议 -> ai_suggestion: 模拟LLM响应: 
作为技术支持专家，请基于以下问题描述为工单提供专业的处理建议：

问题描述：Vehicle data is not updated in the app => dated from October,...
2025-12-08 01:00:44,160 - src.integrations.flexible_field_mapper - INFO - 映射字段 Created by -> created_by: Vsevolod Tsoi
2025-12-08 01:00:44,163 - src.integrations.flexible_field_mapper - INFO - 映射字段 Date creation -> created_at: 1761148800000
2025-12-08 01:00:44,171 - src.integrations.flexible_field_mapper - INFO - 映射字段 Module（模块） -> module: TBOX
2025-12-08 01:00:44,171 - src.integrations.flexible_field_mapper - INFO - 映射字段 Source -> source: Mail
2025-12-08 01:00:44,171 - src.integrations.flexible_field_mapper - INFO - 映射字段 TR Description -> description: Vehicle data is not updated in the app => dated from October, 19 - thus, they are old one. No TBOX log in since October, 19. TBOX is in deep sleep since October, 19.

2025-12-08 01:00:44,171 - src.integrations.flexible_field_mapper - INFO - 映射字段 TR Level -> priority: Low
2025-12-08 01:00:44,171 - src.integrations.flexible_field_mapper - INFO - 映射字段 TR Number -> order_id: TR863
2025-12-08 01:00:44,171 - src.integrations.flexible_field_mapper - INFO - 映射字段 TR Status -> status: Processing
2025-12-08 01:00:44,171 - src.integrations.flexible_field_mapper - INFO - 映射字段 TR tracking -> resolution: 24/10:The vehicle is in deep sleep, and T-box logs cannot be remotely obtained. The problem is a bit complex and difficult to locate, so the customer needs to visit the station to retrieve T-box logs and DMC logs. @Vsevolod Tsoi
2025-12-08 01:00:44,172 - src.integrations.flexible_field_mapper - INFO - 映射字段 Type of problem -> category: Remote control 
2025-12-08 01:00:44,172 - src.integrations.flexible_field_mapper - INFO - 映射字段 VIN|sim -> vin_sim: LNNBDDEZ8SD345645 
2025-12-08 01:00:44,172 - src.integrations.flexible_field_mapper - INFO - 映射字段 Vehicle Type01 -> vehicle_type: JAECOO J7（T1EJ）
2025-12-08 01:00:44,172 - src.integrations.flexible_field_mapper - INFO - 映射字段 Wilfulness（责任人） -> wilfulness: 刘娇龙
2025-12-08 01:00:44,172 - src.integrations.flexible_field_mapper - INFO - 映射字段 处理过程 -> resolution: 1024:车辆处于深度睡眠中，远程无法获取T-box日志，问题有点复杂不好定位，需要客户进站取T-box日志和DMC日志
2025-12-08 01:00:44,174 - src.integrations.flexible_field_mapper - INFO - 飞书字段 当前问题状态 不存在于数据中
2025-12-08 01:00:44,174 - src.integrations.flexible_field_mapper - INFO - 字段转换完成: 已映射 15, 未映射 1
2025-12-08 01:00:44,174 - src.integrations.workorder_sync - INFO - 字段转换统计: 总字段 16, 已映射 15, 未映射 1
2025-12-08 01:00:44,174 - src.integrations.workorder_sync - WARNING - 未映射字段: ['当前问题状态']
2025-12-08 01:00:44,174 - src.integrations.workorder_sync - INFO - 字段 '当前问题状态' 的建议映射: {'local_field': 'status', 'similarity': 0.7, 'matched_pattern': '.*状态.*', 'confidence': 'medium', 'reason': "匹配模式 '.*状态.*'"}
2025-12-08 01:00:44,197 - src.integrations.workorder_sync - INFO - 开始转换飞书字段: {'AI建议': '模拟LLM响应: \n作为技术支持专家，请基于以下问题描述为工单提供专业的处理建议：\n\n问题描述：User not able to enter into member center neither mobile phon...', 'Created by': 'Vsevolod Tsoi', 'Date creation': 1761148800000, 'Module（模块）': '生态/ecologically', 'Source': 'Mail', 'TR Description': 'User not able to enter into member center neither mobile phone nor QR code.', 'TR Level': 'Low', 'TR Number': 'TR864', 'TR Status': 'Processing', 'TR tracking': '23/10: DMC logs attached as well as vieos of the issue.', 'Type of problem': 'Problem with auth in member center', 'VIN|sim': 'LNNBDDEZXSD449358', 'Vehicle Type01': 'EXEED VX FL（M36T）', 'Wilfulness（责任人）': '袁清', '处理过程': '1024: DMC logs attached as well as vieos of the issue.', '当前问题状态': '1027：确认手机网络及APP版本正常，尝试清除APP缓存并重新登录，检查QR码扫描权限是否开启，重启手机和车机，若仍无法进入会员中心，建议联系售后进行远程诊断或进站排查系统故障。\n1024: DMC logs attached as well as vieos of the issue.'}
2025-12-08 01:00:44,198 - src.integrations.flexible_field_mapper - INFO - 开始转换字段: ['AI建议', 'Created by', 'Date creation', 'Module（模块）', 'Source', 'TR Description', 'TR Level', 'TR Number', 'TR Status', 'TR tracking', 'Type of problem', 'VIN|sim', 'Vehicle Type01', 'Wilfulness（责任人）', '处理过程', '当前问题状态']
2025-12-08 01:00:44,198 - src.integrations.flexible_field_mapper - INFO - 映射字段 AI建议 -> ai_suggestion: 模拟LLM响应: 
作为技术支持专家，请基于以下问题描述为工单提供专业的处理建议：

问题描述：User not able to enter into member center neither mobile phon...
2025-12-08 01:00:44,198 - src.integrations.flexible_field_mapper - INFO - 映射字段 Created by -> created_by: Vsevolod Tsoi
2025-12-08 01:00:44,198 - src.integrations.flexible_field_mapper - INFO - 映射字段 Date creation -> created_at: 1761148800000
2025-12-08 01:00:44,198 - src.integrations.flexible_field_mapper - INFO - 映射字段 Module（模块） -> module: 生态/ecologically
2025-12-08 01:00:44,199 - src.integrations.flexible_field_mapper - INFO - 映射字段 Source -> source: Mail
2025-12-08 01:00:44,199 - src.integrations.flexible_field_mapper - INFO - 映射字段 TR Description -> description: User not able to enter into member center neither mobile phone nor QR code.
2025-12-08 01:00:44,199 - src.integrations.flexible_field_mapper - INFO - 映射字段 TR Level -> priority: Low
2025-12-08 01:00:44,199 - src.integrations.flexible_field_mapper - INFO - 映射字段 TR Number -> order_id: TR864
2025-12-08 01:00:44,199 - src.integrations.flexible_field_mapper - INFO - 映射字段 TR Status -> status: Processing
2025-12-08 01:00:44,199 - src.integrations.flexible_field_mapper - INFO - 映射字段 TR tracking -> resolution: 23/10: DMC logs attached as well as vieos of the issue.
2025-12-08 01:00:44,199 - src.integrations.flexible_field_mapper - INFO - 映射字段 Type of problem -> category: Problem with auth in member center
2025-12-08 01:00:44,199 - src.integrations.flexible_field_mapper - INFO - 映射字段 VIN|sim -> vin_sim: LNNBDDEZXSD449358
2025-12-08 01:00:44,199 - src.integrations.flexible_field_mapper - INFO - 映射字段 Vehicle Type01 -> vehicle_type: EXEED VX FL（M36T）
2025-12-08 01:00:44,199 - src.integrations.flexible_field_mapper - INFO - 映射字段 Wilfulness（责任人） -> wilfulness: 袁清
2025-12-08 01:00:44,199 - src.integrations.flexible_field_mapper - INFO - 映射字段 处理过程 -> resolution: 1024: DMC logs attached as well as vieos of the issue.
2025-12-08 01:00:44,202 - src.integrations.flexible_field_mapper - INFO - 飞书字段 当前问题状态 不存在于数据中
2025-12-08 01:00:44,202 - src.integrations.flexible_field_mapper - INFO - 字段转换完成: 已映射 15, 未映射 1
2025-12-08 01:00:44,208 - src.integrations.workorder_sync - INFO - 字段转换统计: 总字段 16, 已映射 15, 未映射 1
2025-12-08 01:00:44,222 - src.integrations.workorder_sync - WARNING - 未映射字段: ['当前问题状态']
2025-12-08 01:00:44,228 - src.integrations.workorder_sync - INFO - 字段 '当前问题状态' 的建议映射: {'local_field': 'status', 'similarity': 0.7, 'matched_pattern': '.*状态.*', 'confidence': 'medium', 'reason': "匹配模式 '.*状态.*'"}
2025-12-08 01:00:44,283 - src.integrations.workorder_sync - INFO - 开始转换飞书字段: {'AI建议': '模拟LLM响应: \n作为技术支持专家，请基于以下问题描述为工单提供专业的处理建议：\n\n问题描述：Abnormal traffic consumption\n\n相关背景信息：\n相关知识库信息：\n- TR866 - Traf...', 'Created by': 'Vsevolod Tsoi', 'Date creation': 1761235200000, 'Module（模块）': 'DMC', 'Source': 'Mail', 'TR Description': 'Abnormal traffic consumption', 'TR Level': 'Low', 'TR Number': 'TR866', 'TR Status': 'Analysising', 'TR tracking': '24/10: It is recommended that users grab the DMC log back for analysis.@Vsevolod Tsoi \n24/10: user states he use Navi only and no other apps. Consumption volume - 3.12 Gb for 3 days. Same symptom as E0X - traffic package size is plus mines the same - see pdf from MNO attached', 'Type of problem': 'Traffic is over', 'VIN|sim': 'XEYDD14B3SA012164', 'Vehicle Type01': 'TEST', 'Wilfulness（责任人）': 'Vsevolod Tsoi', '处理过程': '1024:建议用户抓去DMC日志回传分析\n1024：用户表示他只使用Navi，不使用其他应用程序。 消耗量-3.12 Gb，3天。 与E0X相同的症状-流量包大小加上地雷相同-见所附MNO的pdf', '当前问题状态': '1027：流量异常可能与导航应用后台持续联网有关，建议关闭Navi自动更新地图功能并限制后台数据使用，检查车机系统是否存在异常进程，如问题依旧，建议进站检测DMC模块日志及SIM卡通信状态，必要时升级系统或更换模块。\n1024:建议用户抓去DMC日志回传分析\n1024：用户表示他只使用Navi，不使用其他应用程序。 消耗量-3.12 Gb，3天。 与E0X相同的症状-流量包大小加上地雷相同-见所附MNO的pdf'}
2025-12-08 01:00:44,294 - src.integrations.flexible_field_mapper - INFO - 开始转换字段: ['AI建议', 'Created by', 'Date creation', 'Module（模块）', 'Source', 'TR Description', 'TR Level', 'TR Number', 'TR Status', 'TR tracking', 'Type of problem', 'VIN|sim', 'Vehicle Type01', 'Wilfulness（责任人）', '处理过程', '当前问题状态']
2025-12-08 01:00:44,296 - src.integrations.flexible_field_mapper - INFO - 映射字段 AI建议 -> ai_suggestion: 模拟LLM响应: 
作为技术支持专家，请基于以下问题描述为工单提供专业的处理建议：

问题描述：Abnormal traffic consumption

相关背景信息：
相关知识库信息：
- TR866 - Traf...
2025-12-08 01:00:44,483 - src.integrations.flexible_field_mapper - INFO - 映射字段 Created by -> created_by: Vsevolod Tsoi
2025-12-08 01:00:44,485 - src.integrations.flexible_field_mapper - INFO - 映射字段 Date creation -> created_at: 1761235200000
2025-12-08 01:00:44,485 - src.integrations.flexible_field_mapper - INFO - 映射字段 Module（模块） -> module: DMC
2025-12-08 01:00:44,498 - src.integrations.flexible_field_mapper - INFO - 映射字段 Source -> source: Mail
2025-12-08 01:00:44,498 - src.integrations.flexible_field_mapper - INFO - 映射字段 TR Description -> description: Abnormal traffic consumption
2025-12-08 01:00:44,505 - src.integrations.flexible_field_mapper - INFO - 映射字段 TR Level -> priority: Low
2025-12-08 01:00:44,508 - src.integrations.flexible_field_mapper - INFO - 映射字段 TR Number -> order_id: TR866
2025-12-08 01:00:44,514 - src.integrations.flexible_field_mapper - INFO - 映射字段 TR Status -> status: Analysising
2025-12-08 01:00:44,515 - src.integrations.flexible_field_mapper - INFO - 映射字段 TR tracking -> resolution: 24/10: It is recommended that users grab the DMC log back for analysis.@Vsevolod Tsoi 
24/10: user states he use Navi only and no other apps. Consumption volume - 3.12 Gb for 3 days. Same symptom as E0X - traffic package size is plus mines the same - see pdf from MNO attached
2025-12-08 01:00:44,536 - src.integrations.flexible_field_mapper - INFO - 映射字段 Type of problem -> category: Traffic is over
2025-12-08 01:00:44,543 - src.integrations.flexible_field_mapper - INFO - 映射字段 VIN|sim -> vin_sim: XEYDD14B3SA012164
2025-12-08 01:00:44,543 - src.integrations.flexible_field_mapper - INFO - 映射字段 Vehicle Type01 -> vehicle_type: TEST
2025-12-08 01:00:44,543 - src.integrations.flexible_field_mapper - INFO - 映射字段 Wilfulness（责任人） -> wilfulness: Vsevolod Tsoi
2025-12-08 01:00:44,543 - src.integrations.flexible_field_mapper - INFO - 映射字段 处理过程 -> resolution: 1024:建议用户抓去DMC日志回传分析
1024：用户表示他只使用Navi，不使用其他应用程序。 消耗量-3.12 Gb，3天。 与E0X相同的症状-流量包大小加上地雷相同-见所附MNO的pdf
2025-12-08 01:00:44,547 - src.integrations.flexible_field_mapper - INFO - 飞书字段 当前问题状态 不存在于数据中
2025-12-08 01:00:44,547 - src.integrations.flexible_field_mapper - INFO - 字段转换完成: 已映射 15, 未映射 1
2025-12-08 01:00:44,548 - src.integrations.workorder_sync - INFO - 字段转换统计: 总字段 16, 已映射 15, 未映射 1
2025-12-08 01:00:44,548 - src.integrations.workorder_sync - WARNING - 未映射字段: ['当前问题状态']
2025-12-08 01:00:44,548 - src.integrations.workorder_sync - INFO - 字段 '当前问题状态' 的建议映射: {'local_field': 'status', 'similarity': 0.7, 'matched_pattern': '.*状态.*', 'confidence': 'medium', 'reason': "匹配模式 '.*状态.*'"}
2025-12-08 01:00:44,738 - src.integrations.workorder_sync - INFO - 飞书同步完成: {'success': True, 'total_records': 4, 'synced_count': 4, 'created_count': 0, 'updated_count': 4, 'ai_suggestions_generated': True, 'errors': []}
2025-12-08 01:00:44,739 - werkzeug - INFO - 36.231.97.35 - - [08/Dec/2025 01:00:44] "POST /api/feishu-sync/sync-from-feishu HTTP/1.1" 200 -
2025-12-08 01:00:48,369 - werkzeug - INFO - 36.231.97.35 - - [08/Dec/2025 01:00:48] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-08 01:00:54,363 - src.integrations.feishu_client - INFO - 发送飞书API请求: GET https://open.feishu.cn/open-apis/bitable/v1/apps/XXnEbiCmEaMblSs6FDJcFCqsnIg/tables/tblnl3vJPpgMTSiP/records
2025-12-08 01:00:54,398 - src.integrations.feishu_client - INFO - 请求头: Authorization: Bearer t-g104c7nOSPYB6V6UE6...
2025-12-08 01:00:55,328 - werkzeug - INFO - 36.231.97.35 - - [08/Dec/2025 01:00:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-08 01:00:56,310 - src.integrations.feishu_client - INFO - 飞书API响应状态码: 200
2025-12-08 01:00:56,310 - src.integrations.feishu_client - INFO - 飞书API响应内容: {'code': 0, 'data': {'has_more': False, 'items': [{'fields': {'AI建议': "1208：您好，感谢您反馈天气小部件异常问题。结合当前处理进度（0428已确认TBOX/IHU登录正常、流量绑定正常），现提供专业分析与升级处理建议如下：\n模拟LLM响应: \n作为技术支持专家，请基于以下问题描述为工单提供专业的处理建议：\n\n问题描述：The widget weather doesn't work \n\n相关背景信息：\n无相关背景信息\n\n请提供：\n1. 问题...", 'Created by': 'Evgeniy', 'Date creation': 1745769600000, 'Module（模块）': 'local O&M', 'Source': 'Mail', 'TR Description': "The widget weather doesn't work ", 'TR Level': 'Low', 'TR Number': 'TR559', 'TR Status': 'Processing', 'TR tracking': '28/04:Local feedback weather widget does not work, query TBOX and IHU login record is normal, traffic binding is normal, we suggest users to use mobile phone hotspot to connect to the car, observe whether the widget is restored, if not, try to capture the IHU logs.', 'Type of problem': 'HU troubles', 'VIN|sim': 'LVTDD24B8RG019153 ', 'Vehicle Type01': 'EXEED RX（T22）', 'Wilfulness（责任人）': 'Evgeniy', '处理过程': '0428：属地反馈天气小部件不起作用，查询TBOX及IHU登录记录正常，流量绑定正常，建议用户使用手机热点连接车机，观察小部件是否恢复，如不恢复，尝试抓取IHU日志', '当前问题状态': '1027：天气小部件无法使用，已确认TBOX及IHU登录正常、流量绑定正常，建议已完成手机热点连接测试并尝试抓取IHU日志，若问题仍存在，建议进站进行系统诊断或软件版本升级排查。\n0428：属地反馈天气小部件不起作用，查询TBOX及IHU登录记录正常，流量绑定正常，建议用户使用手机热点连接车机，观察小部件是否恢复，如不恢复，尝试抓取IHU日志'}, 'id': 'rec253kqBfXae4', 'record_id': 'rec253kqBfXae4'}, {'fields': {'AI建议': '1208：该工单问题已明确为TBOX自10月19日起持续处于深度睡眠（Deep Sleep）状态，导致车辆数据停止更新、APP端数据滞留、且无任何TBOX日志上传——这已超出远程唤醒与诊断能力范围，属典型TBOX通信链路或电源管理异常。\n模拟LLM响应: \n作为技术支持专家，请基于以下问题描述为工单提供专业的处理建议：\n\n问题描述：Vehicle data is not updated in the app => dated from October,...', 'Created by': 'Vsevolod Tsoi', 'Date creation': 1761148800000, 'Module（模块）': 'TBOX', 'Source': 'Mail', 'TR Description': 'Vehicle data is not updated in the app => dated from October, 19 - thus, they are old one. No TBOX log in since October, 19. TBOX is in deep sleep since October, 19.\n', 'TR Level': 'Low', 'TR Number': 'TR863', 'TR Status': 'Processing', 'TR tracking': '24/10:The vehicle is in deep sleep, and T-box logs cannot be remotely obtained. The problem is a bit complex and difficult to locate, so the customer needs to visit the station to retrieve T-box logs and DMC logs. @Vsevolod Tsoi', 'Type of problem': 'Remote control ', 'VIN|sim': 'LNNBDDEZ8SD345645 ', 'Vehicle Type01': 'JAECOO J7（T1EJ）', 'Wilfulness（责任人）': '刘娇龙', '处理过程': '1024:车辆处于深度睡眠中，远程无法获取T-box日志，问题有点复杂不好定位，需要客户进站取T-box日志和DMC日志', '当前问题状态': '1027：车辆自10月19日进入深度睡眠，TBOX无远程连接，建议客户尽快进站提取TBOX及DMC日志，进行本地诊断分析，排查电源管理或通信模块异常原因，确认硬件状态及软件配置是否正常。\n1024:车辆处于深度睡眠中，远程无法获取T-box日志，问题有点复杂不好定位，需要客户进站取T-box日志和DMC日志'}, 'id': 'recv0NLSh2a2S7', 'record_id': 'recv0NLSh2a2S7'}, {'fields': {'AI建议': '1208：经分析当前工单进展：用户无法通过手机号或二维码登录会员中心，且已上传DMC日志及问题视频（时间戳1024），说明远程行为已完整复现，初步排除用户操作误触可能。\n模拟LLM响应: \n作为技术支持专家，请基于以下问题描述为工单提供专业的处理建议：\n\n问题描述：User not able to enter into member center neither mobile phon...', 'Created by': 'Vsevolod Tsoi', 'Date creation': 1761148800000, 'Module（模块）': '生态/ecologically', 'Source': 'Mail', 'TR Description': 'User not able to enter into member center neither mobile phone nor QR code.', 'TR Level': 'Low', 'TR Number': 'TR864', 'TR Status': 'Processing', 'TR tracking': '23/10: DMC logs attached as well as vieos of the issue.', 'Type of problem': 'Problem with auth in member center', 'VIN|sim': 'LNNBDDEZXSD449358', 'Vehicle Type01': 'EXEED VX FL（M36T）', 'Wilfulness（责任人）': '袁清', '处理过程': '1024: DMC logs attached as well as vieos of the issue.', '当前问题状态': '1027：确认手机网络及APP版本正常，尝试清除APP缓存并重新登录，检查QR码扫描权限是否开启，重启手机和车机，若仍无法进入会员中心，建议联系售后进行远程诊断或进站排查系统故障。\n1024: DMC logs attached as well as vieos of the issue.'}, 'id': 'recv0NLZoKLlRJ', 'record_id': 'recv0NLZoKLlRJ'}, {'fields': {'AI建议': '1208：您好，感谢您反馈异常流量消耗问题。结合当前工单进展（已建议抓取DMC日志、用户确认仅使用导航且3天消耗3.12GB，症状与E0X车型TR866案例高度一致），现提供专业分析与处理建议如下：\n模拟LLM响应: \n作为技术支持专家，请基于以下问题描述为工单提供专业的处理建议：\n\n问题描述：Abnormal traffic consumption\n\n相关背景信息：\n相关知识库信息：\n- TR866 - Traf...', 'Created by': 'Vsevolod Tsoi', 'Date creation': 1761235200000, 'Module（模块）': 'DMC', 'Source': 'Mail', 'TR Description': 'Abnormal traffic consumption', 'TR Level': 'Low', 'TR Number': 'TR866', 'TR Status': 'Analysising', 'TR tracking': '24/10: It is recommended that users grab the DMC log back for analysis.@Vsevolod Tsoi \n24/10: user states he use Navi only and no other apps. Consumption volume - 3.12 Gb for 3 days. Same symptom as E0X - traffic package size is plus mines the same - see pdf from MNO attached', 'Type of problem': 'Traffic is over', 'VIN|sim': 'XEYDD14B3SA012164', 'Vehicle Type01': 'TEST', 'Wilfulness（责任人）': 'Vsevolod Tsoi', '处理过程': '1024:建议用户抓去DMC日志回传分析\n1024：用户表示他只使用Navi，不使用其他应用程序。 消耗量-3.12 Gb，3天。 与E0X相同的症状-流量包大小加上地雷相同-见所附MNO的pdf', '当前问题状态': '1027：流量异常可能与导航应用后台持续联网有关，建议关闭Navi自动更新地图功能并限制后台数据使用，检查车机系统是否存在异常进程，如问题依旧，建议进站检测DMC模块日志及SIM卡通信状态，必要时升级系统或更换模块。\n1024:建议用户抓去DMC日志回传分析\n1024：用户表示他只使用Navi，不使用其他应用程序。 消耗量-3.12 Gb，3天。 与E0X相同的症状-流量包大小加上地雷相同-见所附MNO的pdf'}, 'id': 'recv0NLZoKjKvx', 'record_id': 'recv0NLZoKjKvx'}], 'total': 4}, 'msg': 'success'}
2025-12-08 01:00:56,317 - src.integrations.flexible_field_mapper - INFO - 开始发现字段: ['AI建议', 'Created by', 'Date creation', 'Module（模块）', 'Source', 'TR Description', 'TR Level', 'TR Number', 'TR Status', 'TR tracking', 'Type of problem', 'VIN|sim', 'Vehicle Type01', 'Wilfulness（责任人）', '处理过程', '当前问题状态']
2025-12-08 01:00:56,374 - src.integrations.flexible_field_mapper - INFO - 字段发现完成: 已映射 15, 未映射 1, 建议映射 1
2025-12-08 01:00:56,405 - werkzeug - INFO - 36.231.97.35 - - [08/Dec/2025 01:00:56] "POST /api/feishu-sync/field-mapping/discover HTTP/1.1" 200 -
2025-12-08 01:00:57,846 - werkzeug - INFO - 36.231.97.35 - - [08/Dec/2025 01:00:57] "GET /api/alerts HTTP/1.1" 200 -
2025-12-08 01:01:04,117 - src.core.system_optimizer - WARNING - 性能预警: 内存使用率过高: 87.2%
2025-12-08 01:01:04,940 - src.core.system_optimizer - WARNING - 性能预警: 内存使用率过高: 87.1%
2025-12-08 01:01:18,776 - src.integrations.workorder_sync - INFO - 开始从飞书同步工单数据...
2025-12-08 01:01:18,782 - src.integrations.feishu_client - INFO - 发送飞书API请求: GET https://open.feishu.cn/open-apis/bitable/v1/apps/XXnEbiCmEaMblSs6FDJcFCqsnIg/tables/tblnl3vJPpgMTSiP/records
2025-12-08 01:01:18,783 - src.integrations.feishu_client - INFO - 请求头: Authorization: Bearer t-g104c7nOSPYB6V6UE6...
2025-12-08 01:01:20,324 - src.integrations.feishu_client - INFO - 飞书API响应状态码: 200
2025-12-08 01:01:20,329 - src.integrations.feishu_client - INFO - 飞书API响应内容: {'code': 0, 'data': {'has_more': False, 'items': [{'fields': {'AI建议': "1208：您好，感谢您反馈天气小部件异常问题。结合当前处理进度（0428已确认TBOX/IHU登录正常、流量绑定正常），现提供专业分析与升级处理建议如下：\n模拟LLM响应: \n作为技术支持专家，请基于以下问题描述为工单提供专业的处理建议：\n\n问题描述：The widget weather doesn't work \n\n相关背景信息：\n无相关背景信息\n\n请提供：\n1. 问题...", 'Created by': 'Evgeniy', 'Date creation': 1745769600000, 'Module（模块）': 'local O&M', 'Source': 'Mail', 'TR Description': "The widget weather doesn't work ", 'TR Level': 'Low', 'TR Number': 'TR559', 'TR Status': 'Processing', 'TR tracking': '28/04:Local feedback weather widget does not work, query TBOX and IHU login record is normal, traffic binding is normal, we suggest users to use mobile phone hotspot to connect to the car, observe whether the widget is restored, if not, try to capture the IHU logs.', 'Type of problem': 'HU troubles', 'VIN|sim': 'LVTDD24B8RG019153 ', 'Vehicle Type01': 'EXEED RX（T22）', 'Wilfulness（责任人）': 'Evgeniy', '处理过程': '0428：属地反馈天气小部件不起作用，查询TBOX及IHU登录记录正常，流量绑定正常，建议用户使用手机热点连接车机，观察小部件是否恢复，如不恢复，尝试抓取IHU日志', '当前问题状态': '1027：天气小部件无法使用，已确认TBOX及IHU登录正常、流量绑定正常，建议已完成手机热点连接测试并尝试抓取IHU日志，若问题仍存在，建议进站进行系统诊断或软件版本升级排查。\n0428：属地反馈天气小部件不起作用，查询TBOX及IHU登录记录正常，流量绑定正常，建议用户使用手机热点连接车机，观察小部件是否恢复，如不恢复，尝试抓取IHU日志'}, 'id': 'rec253kqBfXae4', 'record_id': 'rec253kqBfXae4'}, {'fields': {'AI建议': '1208：该工单问题已明确为TBOX自10月19日起持续处于深度睡眠（Deep Sleep）状态，导致车辆数据停止更新、APP端数据滞留、且无任何TBOX日志上传——这已超出远程唤醒与诊断能力范围，属典型TBOX通信链路或电源管理异常。\n模拟LLM响应: \n作为技术支持专家，请基于以下问题描述为工单提供专业的处理建议：\n\n问题描述：Vehicle data is not updated in the app => dated from October,...', 'Created by': 'Vsevolod Tsoi', 'Date creation': 1761148800000, 'Module（模块）': 'TBOX', 'Source': 'Mail', 'TR Description': 'Vehicle data is not updated in the app => dated from October, 19 - thus, they are old one. No TBOX log in since October, 19. TBOX is in deep sleep since October, 19.\n', 'TR Level': 'Low', 'TR Number': 'TR863', 'TR Status': 'Processing', 'TR tracking': '24/10:The vehicle is in deep sleep, and T-box logs cannot be remotely obtained. The problem is a bit complex and difficult to locate, so the customer needs to visit the station to retrieve T-box logs and DMC logs. @Vsevolod Tsoi', 'Type of problem': 'Remote control ', 'VIN|sim': 'LNNBDDEZ8SD345645 ', 'Vehicle Type01': 'JAECOO J7（T1EJ）', 'Wilfulness（责任人）': '刘娇龙', '处理过程': '1024:车辆处于深度睡眠中，远程无法获取T-box日志，问题有点复杂不好定位，需要客户进站取T-box日志和DMC日志', '当前问题状态': '1027：车辆自10月19日进入深度睡眠，TBOX无远程连接，建议客户尽快进站提取TBOX及DMC日志，进行本地诊断分析，排查电源管理或通信模块异常原因，确认硬件状态及软件配置是否正常。\n1024:车辆处于深度睡眠中，远程无法获取T-box日志，问题有点复杂不好定位，需要客户进站取T-box日志和DMC日志'}, 'id': 'recv0NLSh2a2S7', 'record_id': 'recv0NLSh2a2S7'}, {'fields': {'AI建议': '1208：经分析当前工单进展：用户无法通过手机号或二维码登录会员中心，且已上传DMC日志及问题视频（时间戳1024），说明远程行为已完整复现，初步排除用户操作误触可能。\n模拟LLM响应: \n作为技术支持专家，请基于以下问题描述为工单提供专业的处理建议：\n\n问题描述：User not able to enter into member center neither mobile phon...', 'Created by': 'Vsevolod Tsoi', 'Date creation': 1761148800000, 'Module（模块）': '生态/ecologically', 'Source': 'Mail', 'TR Description': 'User not able to enter into member center neither mobile phone nor QR code.', 'TR Level': 'Low', 'TR Number': 'TR864', 'TR Status': 'Processing', 'TR tracking': '23/10: DMC logs attached as well as vieos of the issue.', 'Type of problem': 'Problem with auth in member center', 'VIN|sim': 'LNNBDDEZXSD449358', 'Vehicle Type01': 'EXEED VX FL（M36T）', 'Wilfulness（责任人）': '袁清', '处理过程': '1024: DMC logs attached as well as vieos of the issue.', '当前问题状态': '1027：确认手机网络及APP版本正常，尝试清除APP缓存并重新登录，检查QR码扫描权限是否开启，重启手机和车机，若仍无法进入会员中心，建议联系售后进行远程诊断或进站排查系统故障。\n1024: DMC logs attached as well as vieos of the issue.'}, 'id': 'recv0NLZoKLlRJ', 'record_id': 'recv0NLZoKLlRJ'}, {'fields': {'AI建议': '1208：您好，感谢您反馈异常流量消耗问题。结合当前工单进展（已建议抓取DMC日志、用户确认仅使用导航且3天消耗3.12GB，症状与E0X车型TR866案例高度一致），现提供专业分析与处理建议如下：\n模拟LLM响应: \n作为技术支持专家，请基于以下问题描述为工单提供专业的处理建议：\n\n问题描述：Abnormal traffic consumption\n\n相关背景信息：\n相关知识库信息：\n- TR866 - Traf...', 'Created by': 'Vsevolod Tsoi', 'Date creation': 1761235200000, 'Module（模块）': 'DMC', 'Source': 'Mail', 'TR Description': 'Abnormal traffic consumption', 'TR Level': 'Low', 'TR Number': 'TR866', 'TR Status': 'Analysising', 'TR tracking': '24/10: It is recommended that users grab the DMC log back for analysis.@Vsevolod Tsoi \n24/10: user states he use Navi only and no other apps. Consumption volume - 3.12 Gb for 3 days. Same symptom as E0X - traffic package size is plus mines the same - see pdf from MNO attached', 'Type of problem': 'Traffic is over', 'VIN|sim': 'XEYDD14B3SA012164', 'Vehicle Type01': 'TEST', 'Wilfulness（责任人）': 'Vsevolod Tsoi', '处理过程': '1024:建议用户抓去DMC日志回传分析\n1024：用户表示他只使用Navi，不使用其他应用程序。 消耗量-3.12 Gb，3天。 与E0X相同的症状-流量包大小加上地雷相同-见所附MNO的pdf', '当前问题状态': '1027：流量异常可能与导航应用后台持续联网有关，建议关闭Navi自动更新地图功能并限制后台数据使用，检查车机系统是否存在异常进程，如问题依旧，建议进站检测DMC模块日志及SIM卡通信状态，必要时升级系统或更换模块。\n1024:建议用户抓去DMC日志回传分析\n1024：用户表示他只使用Navi，不使用其他应用程序。 消耗量-3.12 Gb，3天。 与E0X相同的症状-流量包大小加上地雷相同-见所附MNO的pdf'}, 'id': 'recv0NLZoKjKvx', 'record_id': 'recv0NLZoKjKvx'}], 'total': 4}, 'msg': 'success'}
2025-12-08 01:01:20,331 - src.integrations.workorder_sync - INFO - 从飞书获取 4 条记录
2025-12-08 01:01:20,396 - src.integrations.workorder_sync - INFO - 开始转换飞书字段: {'AI建议': "1208：您好，感谢您反馈天气小部件异常问题。结合当前处理进度（0428已确认TBOX/IHU登录正常、流量绑定正常），现提供专业分析与升级处理建议如下：\n模拟LLM响应: \n作为技术支持专家，请基于以下问题描述为工单提供专业的处理建议：\n\n问题描述：The widget weather doesn't work \n\n相关背景信息：\n无相关背景信息\n\n请提供：\n1. 问题...", 'Created by': 'Evgeniy', 'Date creation': 1745769600000, 'Module（模块）': 'local O&M', 'Source': 'Mail', 'TR Description': "The widget weather doesn't work ", 'TR Level': 'Low', 'TR Number': 'TR559', 'TR Status': 'Processing', 'TR tracking': '28/04:Local feedback weather widget does not work, query TBOX and IHU login record is normal, traffic binding is normal, we suggest users to use mobile phone hotspot to connect to the car, observe whether the widget is restored, if not, try to capture the IHU logs.', 'Type of problem': 'HU troubles', 'VIN|sim': 'LVTDD24B8RG019153 ', 'Vehicle Type01': 'EXEED RX（T22）', 'Wilfulness（责任人）': 'Evgeniy', '处理过程': '0428：属地反馈天气小部件不起作用，查询TBOX及IHU登录记录正常，流量绑定正常，建议用户使用手机热点连接车机，观察小部件是否恢复，如不恢复，尝试抓取IHU日志', '当前问题状态': '1027：天气小部件无法使用，已确认TBOX及IHU登录正常、流量绑定正常，建议已完成手机热点连接测试并尝试抓取IHU日志，若问题仍存在，建议进站进行系统诊断或软件版本升级排查。\n0428：属地反馈天气小部件不起作用，查询TBOX及IHU登录记录正常，流量绑定正常，建议用户使用手机热点连接车机，观察小部件是否恢复，如不恢复，尝试抓取IHU日志'}
2025-12-08 01:01:20,680 - src.integrations.flexible_field_mapper - INFO - 开始转换字段: ['AI建议', 'Created by', 'Date creation', 'Module（模块）', 'Source', 'TR Description', 'TR Level', 'TR Number', 'TR Status', 'TR tracking', 'Type of problem', 'VIN|sim', 'Vehicle Type01', 'Wilfulness（责任人）', '处理过程', '当前问题状态']
2025-12-08 01:01:20,681 - src.integrations.flexible_field_mapper - INFO - 映射字段 AI建议 -> ai_suggestion: 1208：您好，感谢您反馈天气小部件异常问题。结合当前处理进度（0428已确认TBOX/IHU登录正常、流量绑定正常），现提供专业分析与升级处理建议如下：
模拟LLM响应: 
作为技术支持专家，请基于以下问题描述为工单提供专业的处理建议：

问题描述：The widget weather doesn't work 

相关背景信息：
无相关背景信息

请提供：
1. 问题...
2025-12-08 01:01:20,681 - src.integrations.flexible_field_mapper - INFO - 映射字段 Created by -> created_by: Evgeniy
2025-12-08 01:01:20,681 - src.integrations.flexible_field_mapper - INFO - 映射字段 Date creation -> created_at: 1745769600000
2025-12-08 01:01:20,681 - src.integrations.flexible_field_mapper - INFO - 映射字段 Module（模块） -> module: local O&M
2025-12-08 01:01:20,681 - src.integrations.flexible_field_mapper - INFO - 映射字段 Source -> source: Mail
2025-12-08 01:01:20,681 - src.integrations.flexible_field_mapper - INFO - 映射字段 TR Description -> description: The widget weather doesn't work 
2025-12-08 01:01:20,681 - src.integrations.flexible_field_mapper - INFO - 映射字段 TR Level -> priority: Low
2025-12-08 01:01:20,681 - src.integrations.flexible_field_mapper - INFO - 映射字段 TR Number -> order_id: TR559
2025-12-08 01:01:20,681 - src.integrations.flexible_field_mapper - INFO - 映射字段 TR Status -> status: Processing
2025-12-08 01:01:20,681 - src.integrations.flexible_field_mapper - INFO - 映射字段 TR tracking -> resolution: 28/04:Local feedback weather widget does not work, query TBOX and IHU login record is normal, traffic binding is normal, we suggest users to use mobile phone hotspot to connect to the car, observe whether the widget is restored, if not, try to capture the IHU logs.
2025-12-08 01:01:20,699 - src.integrations.flexible_field_mapper - INFO - 映射字段 Type of problem -> category: HU troubles
2025-12-08 01:01:20,699 - src.integrations.flexible_field_mapper - INFO - 映射字段 VIN|sim -> vin_sim: LVTDD24B8RG019153 
2025-12-08 01:01:20,699 - src.integrations.flexible_field_mapper - INFO - 映射字段 Vehicle Type01 -> vehicle_type: EXEED RX（T22）
2025-12-08 01:01:20,699 - src.integrations.flexible_field_mapper - INFO - 映射字段 Wilfulness（责任人） -> wilfulness: Evgeniy
2025-12-08 01:01:20,699 - src.integrations.flexible_field_mapper - INFO - 映射字段 处理过程 -> resolution: 0428：属地反馈天气小部件不起作用，查询TBOX及IHU登录记录正常，流量绑定正常，建议用户使用手机热点连接车机，观察小部件是否恢复，如不恢复，尝试抓取IHU日志
2025-12-08 01:01:20,702 - src.integrations.flexible_field_mapper - INFO - 飞书字段 当前问题状态 不存在于数据中
2025-12-08 01:01:20,702 - src.integrations.flexible_field_mapper - INFO - 字段转换完成: 已映射 15, 未映射 1
2025-12-08 01:01:20,702 - src.integrations.workorder_sync - INFO - 字段转换统计: 总字段 16, 已映射 15, 未映射 1
2025-12-08 01:01:20,702 - src.integrations.workorder_sync - WARNING - 未映射字段: ['当前问题状态']
2025-12-08 01:01:20,702 - src.integrations.workorder_sync - INFO - 字段 '当前问题状态' 的建议映射: {'local_field': 'status', 'similarity': 0.7, 'matched_pattern': '.*状态.*', 'confidence': 'medium', 'reason': "匹配模式 '.*状态.*'"}
2025-12-08 01:01:20,714 - src.integrations.workorder_sync - INFO - 开始转换飞书字段: {'AI建议': '1208：该工单问题已明确为TBOX自10月19日起持续处于深度睡眠（Deep Sleep）状态，导致车辆数据停止更新、APP端数据滞留、且无任何TBOX日志上传——这已超出远程唤醒与诊断能力范围，属典型TBOX通信链路或电源管理异常。\n模拟LLM响应: \n作为技术支持专家，请基于以下问题描述为工单提供专业的处理建议：\n\n问题描述：Vehicle data is not updated in the app => dated from October,...', 'Created by': 'Vsevolod Tsoi', 'Date creation': 1761148800000, 'Module（模块）': 'TBOX', 'Source': 'Mail', 'TR Description': 'Vehicle data is not updated in the app => dated from October, 19 - thus, they are old one. No TBOX log in since October, 19. TBOX is in deep sleep since October, 19.\n', 'TR Level': 'Low', 'TR Number': 'TR863', 'TR Status': 'Processing', 'TR tracking': '24/10:The vehicle is in deep sleep, and T-box logs cannot be remotely obtained. The problem is a bit complex and difficult to locate, so the customer needs to visit the station to retrieve T-box logs and DMC logs. @Vsevolod Tsoi', 'Type of problem': 'Remote control ', 'VIN|sim': 'LNNBDDEZ8SD345645 ', 'Vehicle Type01': 'JAECOO J7（T1EJ）', 'Wilfulness（责任人）': '刘娇龙', '处理过程': '1024:车辆处于深度睡眠中，远程无法获取T-box日志，问题有点复杂不好定位，需要客户进站取T-box日志和DMC日志', '当前问题状态': '1027：车辆自10月19日进入深度睡眠，TBOX无远程连接，建议客户尽快进站提取TBOX及DMC日志，进行本地诊断分析，排查电源管理或通信模块异常原因，确认硬件状态及软件配置是否正常。\n1024:车辆处于深度睡眠中，远程无法获取T-box日志，问题有点复杂不好定位，需要客户进站取T-box日志和DMC日志'}
2025-12-08 01:01:20,720 - src.integrations.flexible_field_mapper - INFO - 开始转换字段: ['AI建议', 'Created by', 'Date creation', 'Module（模块）', 'Source', 'TR Description', 'TR Level', 'TR Number', 'TR Status', 'TR tracking', 'Type of problem', 'VIN|sim', 'Vehicle Type01', 'Wilfulness（责任人）', '处理过程', '当前问题状态']
2025-12-08 01:01:20,720 - src.integrations.flexible_field_mapper - INFO - 映射字段 AI建议 -> ai_suggestion: 1208：该工单问题已明确为TBOX自10月19日起持续处于深度睡眠（Deep Sleep）状态，导致车辆数据停止更新、APP端数据滞留、且无任何TBOX日志上传——这已超出远程唤醒与诊断能力范围，属典型TBOX通信链路或电源管理异常。
模拟LLM响应: 
作为技术支持专家，请基于以下问题描述为工单提供专业的处理建议：

问题描述：Vehicle data is not updated in the app => dated from October,...
2025-12-08 01:01:20,720 - src.integrations.flexible_field_mapper - INFO - 映射字段 Created by -> created_by: Vsevolod Tsoi
2025-12-08 01:01:20,726 - src.integrations.flexible_field_mapper - INFO - 映射字段 Date creation -> created_at: 1761148800000
2025-12-08 01:01:20,726 - src.integrations.flexible_field_mapper - INFO - 映射字段 Module（模块） -> module: TBOX
2025-12-08 01:01:20,726 - src.integrations.flexible_field_mapper - INFO - 映射字段 Source -> source: Mail
2025-12-08 01:01:20,733 - src.integrations.flexible_field_mapper - INFO - 映射字段 TR Description -> description: Vehicle data is not updated in the app => dated from October, 19 - thus, they are old one. No TBOX log in since October, 19. TBOX is in deep sleep since October, 19.

2025-12-08 01:01:20,738 - src.integrations.flexible_field_mapper - INFO - 映射字段 TR Level -> priority: Low
2025-12-08 01:01:20,748 - src.integrations.flexible_field_mapper - INFO - 映射字段 TR Number -> order_id: TR863
2025-12-08 01:01:20,748 - src.integrations.flexible_field_mapper - INFO - 映射字段 TR Status -> status: Processing
2025-12-08 01:01:20,787 - src.integrations.flexible_field_mapper - INFO - 映射字段 TR tracking -> resolution: 24/10:The vehicle is in deep sleep, and T-box logs cannot be remotely obtained. The problem is a bit complex and difficult to locate, so the customer needs to visit the station to retrieve T-box logs and DMC logs. @Vsevolod Tsoi
2025-12-08 01:01:20,787 - src.integrations.flexible_field_mapper - INFO - 映射字段 Type of problem -> category: Remote control 
2025-12-08 01:01:20,787 - src.integrations.flexible_field_mapper - INFO - 映射字段 VIN|sim -> vin_sim: LNNBDDEZ8SD345645 
2025-12-08 01:01:20,788 - src.integrations.flexible_field_mapper - INFO - 映射字段 Vehicle Type01 -> vehicle_type: JAECOO J7（T1EJ）
2025-12-08 01:01:20,788 - src.integrations.flexible_field_mapper - INFO - 映射字段 Wilfulness（责任人） -> wilfulness: 刘娇龙
2025-12-08 01:01:20,789 - src.integrations.flexible_field_mapper - INFO - 映射字段 处理过程 -> resolution: 1024:车辆处于深度睡眠中，远程无法获取T-box日志，问题有点复杂不好定位，需要客户进站取T-box日志和DMC日志
2025-12-08 01:01:20,802 - src.integrations.flexible_field_mapper - INFO - 飞书字段 当前问题状态 不存在于数据中
2025-12-08 01:01:20,815 - src.integrations.flexible_field_mapper - INFO - 字段转换完成: 已映射 15, 未映射 1
2025-12-08 01:01:20,822 - src.integrations.workorder_sync - INFO - 字段转换统计: 总字段 16, 已映射 15, 未映射 1
2025-12-08 01:01:20,823 - src.integrations.workorder_sync - WARNING - 未映射字段: ['当前问题状态']
2025-12-08 01:01:20,849 - src.integrations.workorder_sync - INFO - 字段 '当前问题状态' 的建议映射: {'local_field': 'status', 'similarity': 0.7, 'matched_pattern': '.*状态.*', 'confidence': 'medium', 'reason': "匹配模式 '.*状态.*'"}
2025-12-08 01:01:20,906 - src.integrations.workorder_sync - INFO - 开始转换飞书字段: {'AI建议': '1208：经分析当前工单进展：用户无法通过手机号或二维码登录会员中心，且已上传DMC日志及问题视频（时间戳1024），说明远程行为已完整复现，初步排除用户操作误触可能。\n模拟LLM响应: \n作为技术支持专家，请基于以下问题描述为工单提供专业的处理建议：\n\n问题描述：User not able to enter into member center neither mobile phon...', 'Created by': 'Vsevolod Tsoi', 'Date creation': 1761148800000, 'Module（模块）': '生态/ecologically', 'Source': 'Mail', 'TR Description': 'User not able to enter into member center neither mobile phone nor QR code.', 'TR Level': 'Low', 'TR Number': 'TR864', 'TR Status': 'Processing', 'TR tracking': '23/10: DMC logs attached as well as vieos of the issue.', 'Type of problem': 'Problem with auth in member center', 'VIN|sim': 'LNNBDDEZXSD449358', 'Vehicle Type01': 'EXEED VX FL（M36T）', 'Wilfulness（责任人）': '袁清', '处理过程': '1024: DMC logs attached as well as vieos of the issue.', '当前问题状态': '1027：确认手机网络及APP版本正常，尝试清除APP缓存并重新登录，检查QR码扫描权限是否开启，重启手机和车机，若仍无法进入会员中心，建议联系售后进行远程诊断或进站排查系统故障。\n1024: DMC logs attached as well as vieos of the issue.'}
2025-12-08 01:01:20,941 - src.integrations.flexible_field_mapper - INFO - 开始转换字段: ['AI建议', 'Created by', 'Date creation', 'Module（模块）', 'Source', 'TR Description', 'TR Level', 'TR Number', 'TR Status', 'TR tracking', 'Type of problem', 'VIN|sim', 'Vehicle Type01', 'Wilfulness（责任人）', '处理过程', '当前问题状态']
2025-12-08 01:01:20,941 - src.integrations.flexible_field_mapper - INFO - 映射字段 AI建议 -> ai_suggestion: 1208：经分析当前工单进展：用户无法通过手机号或二维码登录会员中心，且已上传DMC日志及问题视频（时间戳1024），说明远程行为已完整复现，初步排除用户操作误触可能。
模拟LLM响应: 
作为技术支持专家，请基于以下问题描述为工单提供专业的处理建议：

问题描述：User not able to enter into member center neither mobile phon...
2025-12-08 01:01:20,941 - src.integrations.flexible_field_mapper - INFO - 映射字段 Created by -> created_by: Vsevolod Tsoi
2025-12-08 01:01:20,941 - src.integrations.flexible_field_mapper - INFO - 映射字段 Date creation -> created_at: 1761148800000
2025-12-08 01:01:20,941 - src.integrations.flexible_field_mapper - INFO - 映射字段 Module（模块） -> module: 生态/ecologically
2025-12-08 01:01:20,941 - src.integrations.flexible_field_mapper - INFO - 映射字段 Source -> source: Mail
2025-12-08 01:01:20,942 - src.integrations.flexible_field_mapper - INFO - 映射字段 TR Description -> description: User not able to enter into member center neither mobile phone nor QR code.
2025-12-08 01:01:20,942 - src.integrations.flexible_field_mapper - INFO - 映射字段 TR Level -> priority: Low
2025-12-08 01:01:20,942 - src.integrations.flexible_field_mapper - INFO - 映射字段 TR Number -> order_id: TR864
2025-12-08 01:01:20,942 - src.integrations.flexible_field_mapper - INFO - 映射字段 TR Status -> status: Processing
2025-12-08 01:01:20,942 - src.integrations.flexible_field_mapper - INFO - 映射字段 TR tracking -> resolution: 23/10: DMC logs attached as well as vieos of the issue.
2025-12-08 01:01:20,942 - src.integrations.flexible_field_mapper - INFO - 映射字段 Type of problem -> category: Problem with auth in member center
2025-12-08 01:01:20,942 - src.integrations.flexible_field_mapper - INFO - 映射字段 VIN|sim -> vin_sim: LNNBDDEZXSD449358
2025-12-08 01:01:20,942 - src.integrations.flexible_field_mapper - INFO - 映射字段 Vehicle Type01 -> vehicle_type: EXEED VX FL（M36T）
2025-12-08 01:01:20,942 - src.integrations.flexible_field_mapper - INFO - 映射字段 Wilfulness（责任人） -> wilfulness: 袁清
2025-12-08 01:01:20,943 - src.integrations.flexible_field_mapper - INFO - 映射字段 处理过程 -> resolution: 1024: DMC logs attached as well as vieos of the issue.
2025-12-08 01:01:20,946 - src.integrations.flexible_field_mapper - INFO - 飞书字段 当前问题状态 不存在于数据中
2025-12-08 01:01:20,946 - src.integrations.flexible_field_mapper - INFO - 字段转换完成: 已映射 15, 未映射 1
2025-12-08 01:01:20,946 - src.integrations.workorder_sync - INFO - 字段转换统计: 总字段 16, 已映射 15, 未映射 1
2025-12-08 01:01:20,946 - src.integrations.workorder_sync - WARNING - 未映射字段: ['当前问题状态']
2025-12-08 01:01:20,953 - src.integrations.workorder_sync - INFO - 字段 '当前问题状态' 的建议映射: {'local_field': 'status', 'similarity': 0.7, 'matched_pattern': '.*状态.*', 'confidence': 'medium', 'reason': "匹配模式 '.*状态.*'"}
2025-12-08 01:01:21,010 - src.integrations.workorder_sync - INFO - 开始转换飞书字段: {'AI建议': '1208：您好，感谢您反馈异常流量消耗问题。结合当前工单进展（已建议抓取DMC日志、用户确认仅使用导航且3天消耗3.12GB，症状与E0X车型TR866案例高度一致），现提供专业分析与处理建议如下：\n模拟LLM响应: \n作为技术支持专家，请基于以下问题描述为工单提供专业的处理建议：\n\n问题描述：Abnormal traffic consumption\n\n相关背景信息：\n相关知识库信息：\n- TR866 - Traf...', 'Created by': 'Vsevolod Tsoi', 'Date creation': 1761235200000, 'Module（模块）': 'DMC', 'Source': 'Mail', 'TR Description': 'Abnormal traffic consumption', 'TR Level': 'Low', 'TR Number': 'TR866', 'TR Status': 'Analysising', 'TR tracking': '24/10: It is recommended that users grab the DMC log back for analysis.@Vsevolod Tsoi \n24/10: user states he use Navi only and no other apps. Consumption volume - 3.12 Gb for 3 days. Same symptom as E0X - traffic package size is plus mines the same - see pdf from MNO attached', 'Type of problem': 'Traffic is over', 'VIN|sim': 'XEYDD14B3SA012164', 'Vehicle Type01': 'TEST', 'Wilfulness（责任人）': 'Vsevolod Tsoi', '处理过程': '1024:建议用户抓去DMC日志回传分析\n1024：用户表示他只使用Navi，不使用其他应用程序。 消耗量-3.12 Gb，3天。 与E0X相同的症状-流量包大小加上地雷相同-见所附MNO的pdf', '当前问题状态': '1027：流量异常可能与导航应用后台持续联网有关，建议关闭Navi自动更新地图功能并限制后台数据使用，检查车机系统是否存在异常进程，如问题依旧，建议进站检测DMC模块日志及SIM卡通信状态，必要时升级系统或更换模块。\n1024:建议用户抓去DMC日志回传分析\n1024：用户表示他只使用Navi，不使用其他应用程序。 消耗量-3.12 Gb，3天。 与E0X相同的症状-流量包大小加上地雷相同-见所附MNO的pdf'}
2025-12-08 01:01:21,021 - src.integrations.flexible_field_mapper - INFO - 开始转换字段: ['AI建议', 'Created by', 'Date creation', 'Module（模块）', 'Source', 'TR Description', 'TR Level', 'TR Number', 'TR Status', 'TR tracking', 'Type of problem', 'VIN|sim', 'Vehicle Type01', 'Wilfulness（责任人）', '处理过程', '当前问题状态']
2025-12-08 01:01:21,022 - src.integrations.flexible_field_mapper - INFO - 映射字段 AI建议 -> ai_suggestion: 1208：您好，感谢您反馈异常流量消耗问题。结合当前工单进展（已建议抓取DMC日志、用户确认仅使用导航且3天消耗3.12GB，症状与E0X车型TR866案例高度一致），现提供专业分析与处理建议如下：
模拟LLM响应: 
作为技术支持专家，请基于以下问题描述为工单提供专业的处理建议：

问题描述：Abnormal traffic consumption

相关背景信息：
相关知识库信息：
- TR866 - Traf...
2025-12-08 01:01:21,030 - src.integrations.flexible_field_mapper - INFO - 映射字段 Created by -> created_by: Vsevolod Tsoi
2025-12-08 01:01:21,031 - src.integrations.flexible_field_mapper - INFO - 映射字段 Date creation -> created_at: 1761235200000
2025-12-08 01:01:21,039 - src.integrations.flexible_field_mapper - INFO - 映射字段 Module（模块） -> module: DMC
2025-12-08 01:01:21,039 - src.integrations.flexible_field_mapper - INFO - 映射字段 Source -> source: Mail
2025-12-08 01:01:21,040 - src.integrations.flexible_field_mapper - INFO - 映射字段 TR Description -> description: Abnormal traffic consumption
2025-12-08 01:01:21,040 - src.integrations.flexible_field_mapper - INFO - 映射字段 TR Level -> priority: Low
2025-12-08 01:01:21,047 - src.integrations.flexible_field_mapper - INFO - 映射字段 TR Number -> order_id: TR866
2025-12-08 01:01:21,047 - src.integrations.flexible_field_mapper - INFO - 映射字段 TR Status -> status: Analysising
2025-12-08 01:01:21,047 - src.integrations.flexible_field_mapper - INFO - 映射字段 TR tracking -> resolution: 24/10: It is recommended that users grab the DMC log back for analysis.@Vsevolod Tsoi 
24/10: user states he use Navi only and no other apps. Consumption volume - 3.12 Gb for 3 days. Same symptom as E0X - traffic package size is plus mines the same - see pdf from MNO attached
2025-12-08 01:01:21,047 - src.integrations.flexible_field_mapper - INFO - 映射字段 Type of problem -> category: Traffic is over
2025-12-08 01:01:21,047 - src.integrations.flexible_field_mapper - INFO - 映射字段 VIN|sim -> vin_sim: XEYDD14B3SA012164
2025-12-08 01:01:21,047 - src.integrations.flexible_field_mapper - INFO - 映射字段 Vehicle Type01 -> vehicle_type: TEST
2025-12-08 01:01:21,047 - src.integrations.flexible_field_mapper - INFO - 映射字段 Wilfulness（责任人） -> wilfulness: Vsevolod Tsoi
2025-12-08 01:01:21,047 - src.integrations.flexible_field_mapper - INFO - 映射字段 处理过程 -> resolution: 1024:建议用户抓去DMC日志回传分析
1024：用户表示他只使用Navi，不使用其他应用程序。 消耗量-3.12 Gb，3天。 与E0X相同的症状-流量包大小加上地雷相同-见所附MNO的pdf
2025-12-08 01:01:21,050 - src.integrations.flexible_field_mapper - INFO - 飞书字段 当前问题状态 不存在于数据中
2025-12-08 01:01:21,050 - src.integrations.flexible_field_mapper - INFO - 字段转换完成: 已映射 15, 未映射 1
2025-12-08 01:01:21,050 - src.integrations.workorder_sync - INFO - 字段转换统计: 总字段 16, 已映射 15, 未映射 1
2025-12-08 01:01:21,050 - src.integrations.workorder_sync - WARNING - 未映射字段: ['当前问题状态']
2025-12-08 01:01:21,050 - src.integrations.workorder_sync - INFO - 字段 '当前问题状态' 的建议映射: {'local_field': 'status', 'similarity': 0.7, 'matched_pattern': '.*状态.*', 'confidence': 'medium', 'reason': "匹配模式 '.*状态.*'"}
2025-12-08 01:01:21,131 - src.integrations.workorder_sync - INFO - 飞书同步完成: {'success': True, 'total_records': 4, 'synced_count': 4, 'created_count': 0, 'updated_count': 4, 'ai_suggestions_generated': False, 'errors': []}
2025-12-08 01:01:21,132 - werkzeug - INFO - 36.231.97.35 - - [08/Dec/2025 01:01:21] "POST /api/feishu-sync/sync-from-feishu HTTP/1.1" 200 -
2025-12-08 01:01:22,302 - werkzeug - INFO - 36.231.97.35 - - [08/Dec/2025 01:01:22] "GET /api/alerts HTTP/1.1" 200 -
2025-12-08 01:01:29,904 - werkzeug - INFO - 36.231.97.35 - - [08/Dec/2025 01:01:29] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-08 01:01:33,628 - werkzeug - INFO - 36.231.97.35 - - [08/Dec/2025 01:01:33] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-08 01:01:43,409 - werkzeug - INFO - 203.175.14.32 - - [08/Dec/2025 01:01:43] "GET /api/feishu-sync/field-mapping/status HTTP/1.1" 200 -
2025-12-08 01:01:47,237 - werkzeug - INFO - 23.247.138.217 - - [08/Dec/2025 01:01:47] "GET /api/alerts HTTP/1.1" 200 -
2025-12-08 01:01:51,719 - werkzeug - INFO - 36.231.97.35 - - [08/Dec/2025 01:01:51] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-08 01:02:05,782 - src.core.system_optimizer - WARNING - 性能预警: 内存使用率过高: 90.7%
2025-12-08 01:02:06,308 - src.core.system_optimizer - WARNING - 性能预警: 内存使用率过高: 90.9%
2025-12-08 01:02:12,892 - __main__ - INFO - 正在启动TSP智能助手综合管理平台...
2025-12-08 01:02:13,693 - src.core.database - INFO - 数据库初始化成功
2025-12-08 01:02:13,698 - __main__ - INFO - 跳过系统检查，直接启动服务...
2025-12-08 01:02:16,181 - src.core.backup_manager - INFO - 备份数据库初始化成功: tsp_assistant.db
2025-12-08 01:02:16,191 - src.integrations.config_manager - INFO - 配置加载成功
2025-12-08 01:02:16,250 - werkzeug - INFO - [31m[1mWARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.[0m
 * Running on all addresses (0.0.0.0)
 * Running on http://127.0.0.1:5000
 * Running on http://10.3.12.3:5000
2025-12-08 01:02:16,250 - werkzeug - INFO - [33mPress CTRL+C to quit[0m
2025-12-08 01:02:16,561 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 24 个条目
2025-12-08 01:02:16,562 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 24 个条目
2025-12-08 01:02:16,572 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 24 个条目
2025-12-08 01:02:16,576 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 24 个条目
2025-12-08 01:02:16,578 - src.web.service_manager - INFO - 服务 assistant 已初始化
2025-12-08 01:02:16,586 - src.web.service_manager - INFO - 服务 assistant 已初始化
2025-12-08 01:02:16,615 - werkzeug - INFO - 23.247.138.217 - - [08/Dec/2025 01:02:16] "GET /api/alerts HTTP/1.1" 200 -
2025-12-08 01:02:38,059 - werkzeug - INFO - 36.231.97.35 - - [08/Dec/2025 01:02:38] "GET /api/alerts HTTP/1.1" 200 -
2025-12-08 01:02:38,625 - werkzeug - INFO - 36.231.97.35 - - [08/Dec/2025 01:02:38] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-08 01:02:38,627 - werkzeug - INFO - 36.231.97.35 - - [08/Dec/2025 01:02:38] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-08 13:22:24,082 - __main__ - INFO - 正在启动TSP智能助手综合管理平台...
2025-12-08 13:22:24,658 - src.core.database - INFO - 数据库初始化成功
2025-12-08 13:22:24,663 - __main__ - INFO - 跳过系统检查，直接启动服务...
2025-12-08 13:22:27,263 - src.core.backup_manager - INFO - 备份数据库初始化成功: tsp_assistant.db
2025-12-08 13:22:27,273 - src.integrations.config_manager - INFO - 配置加载成功
2025-12-08 13:22:27,332 - werkzeug - INFO - [31m[1mWARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.[0m
 * Running on all addresses (0.0.0.0)
 * Running on http://127.0.0.1:5000
 * Running on http://10.3.12.3:5000
2025-12-08 13:22:27,332 - werkzeug - INFO - [33mPress CTRL+C to quit[0m
2025-12-08 13:22:48,185 - werkzeug - INFO - 211.141.219.110 - - [08/Dec/2025 13:22:48] "GET / HTTP/1.1" 200 -
2025-12-08 13:22:48,305 - werkzeug - INFO - 211.141.219.110 - - [08/Dec/2025 13:22:48] "GET /static/css/design-system.css?v=1.0.0 HTTP/1.1" 200 -
2025-12-08 13:22:48,425 - werkzeug - INFO - 211.141.219.110 - - [08/Dec/2025 13:22:48] "GET /static/css/style.css?v=1.0.0 HTTP/1.1" 200 -
2025-12-08 13:22:48,642 - werkzeug - INFO - 211.141.219.110 - - [08/Dec/2025 13:22:48] "GET /static/css/design-system.css HTTP/1.1" 200 -
2025-12-08 13:22:48,669 - werkzeug - INFO - 211.141.219.110 - - [08/Dec/2025 13:22:48] "GET /static/js/core/store.js HTTP/1.1" 200 -
2025-12-08 13:22:48,675 - werkzeug - INFO - 211.141.219.110 - - [08/Dec/2025 13:22:48] "GET /static/js/services/api.js HTTP/1.1" 200 -
2025-12-08 13:22:48,676 - werkzeug - INFO - 211.141.219.110 - - [08/Dec/2025 13:22:48] "GET /static/js/components/NotificationManager.js HTTP/1.1" 200 -
2025-12-08 13:22:48,871 - werkzeug - INFO - 211.141.219.110 - - [08/Dec/2025 13:22:48] "GET /static/js/components/AlertManager.js HTTP/1.1" 200 -
2025-12-08 13:22:48,999 - werkzeug - INFO - 211.141.219.110 - - [08/Dec/2025 13:22:48] "GET /static/js/app-new.js HTTP/1.1" 200 -
2025-12-08 13:22:49,125 - werkzeug - INFO - 211.141.219.110 - - [08/Dec/2025 13:22:49] "GET /static/js/dashboard.js?v=1.0.9 HTTP/1.1" 200 -
2025-12-08 13:22:50,310 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 24 个条目
2025-12-08 13:22:50,311 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 24 个条目
2025-12-08 13:22:50,316 - src.agent_assistant - INFO - TSP Agent助手初始化完成
2025-12-08 13:22:50,316 - src.web.service_manager - INFO - 服务 agent_assistant 已初始化
2025-12-08 13:22:50,317 - werkzeug - INFO - 211.141.219.110 - - [08/Dec/2025 13:22:50] "GET /api/agent/status HTTP/1.1" 200 -
2025-12-08 13:22:50,326 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 24 个条目
2025-12-08 13:22:50,328 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 24 个条目
2025-12-08 13:22:50,329 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 24 个条目
2025-12-08 13:22:50,332 - src.web.service_manager - INFO - 服务 assistant 已初始化
2025-12-08 13:22:50,332 - src.web.service_manager - INFO - 服务 assistant 已初始化
2025-12-08 13:22:50,333 - werkzeug - INFO - 211.141.219.110 - - [08/Dec/2025 13:22:50] "GET /api/rules HTTP/1.1" 200 -
2025-12-08 13:22:50,338 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 24 个条目
2025-12-08 13:22:50,341 - src.web.service_manager - INFO - 服务 assistant 已初始化
2025-12-08 13:22:50,569 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 24 个条目
2025-12-08 13:22:50,571 - src.web.service_manager - INFO - 服务 chat_manager 已初始化
2025-12-08 13:22:50,572 - werkzeug - INFO - 211.141.219.110 - - [08/Dec/2025 13:22:50] "GET /api/chat/sessions HTTP/1.1" 200 -
2025-12-08 13:22:50,931 - werkzeug - INFO - 211.141.219.110 - - [08/Dec/2025 13:22:50] "GET /api/knowledge/stats HTTP/1.1" 200 -
2025-12-08 13:22:50,972 - werkzeug - INFO - 211.141.219.110 - - [08/Dec/2025 13:22:50] "GET /api/alerts HTTP/1.1" 200 -
2025-12-08 13:22:50,984 - werkzeug - INFO - 211.141.219.110 - - [08/Dec/2025 13:22:50] "GET /api/workorders HTTP/1.1" 200 -
2025-12-08 13:22:51,176 - werkzeug - INFO - 211.141.219.110 - - [08/Dec/2025 13:22:51] "GET /api/system/info HTTP/1.1" 200 -
2025-12-08 13:22:51,192 - werkzeug - INFO - 211.141.219.110 - - [08/Dec/2025 13:22:51] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-08 13:22:51,203 - werkzeug - INFO - 211.141.219.110 - - [08/Dec/2025 13:22:51] "GET /api/feishu-sync/config HTTP/1.1" 200 -
2025-12-08 13:22:51,383 - werkzeug - INFO - 211.141.219.110 - - [08/Dec/2025 13:22:51] "[33mGET /favicon.ico HTTP/1.1[0m" 404 -
2025-12-08 13:22:51,453 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 24 个条目
2025-12-08 13:22:51,489 - src.config.unified_config - WARNING - 无法加载默认LLM配置，使用内置默认值: No module named 'config.llm_config'
2025-12-08 13:22:51,495 - src.config.unified_config - INFO - 配置文件加载成功
2025-12-08 13:22:51,495 - src.integrations.ai_suggestion_service - INFO - 使用LLM配置: qwen - qwen-plus-latest
2025-12-08 13:22:51,503 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: TR Number -> order_id
2025-12-08 13:22:51,506 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: TR Description -> description
2025-12-08 13:22:51,506 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Type of problem -> category
2025-12-08 13:22:51,515 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: TR Level -> priority
2025-12-08 13:22:51,519 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: TR Status -> status
2025-12-08 13:22:51,524 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Source -> source
2025-12-08 13:22:51,525 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Date creation -> created_at
2025-12-08 13:22:51,532 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: 处理过程 -> resolution
2025-12-08 13:22:51,534 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: TR tracking -> resolution
2025-12-08 13:22:51,535 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Created by -> created_by
2025-12-08 13:22:51,542 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Module（模块） -> module
2025-12-08 13:22:51,548 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Wilfulness（责任人） -> wilfulness
2025-12-08 13:22:51,553 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Date of close TR -> date_of_close
2025-12-08 13:22:51,557 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Vehicle Type01 -> vehicle_type
2025-12-08 13:22:51,566 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: VIN|sim -> vin_sim
2025-12-08 13:22:51,568 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: App remote control version -> app_remote_control_version
2025-12-08 13:22:51,571 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: HMI SW -> hmi_sw
2025-12-08 13:22:51,572 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: 父记录 -> parent_record
2025-12-08 13:22:51,576 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Has it been updated on the same day -> has_updated_same_day
2025-12-08 13:22:51,581 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Operating time -> operating_time
2025-12-08 13:22:51,582 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: AI建议 -> ai_suggestion
2025-12-08 13:22:51,587 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Issue Start Time -> updated_at
2025-12-08 13:22:51,635 - werkzeug - INFO - 211.141.219.110 - - [08/Dec/2025 13:22:51] "GET /api/feishu-sync/status HTTP/1.1" 200 -
2025-12-08 13:22:55,597 - werkzeug - INFO - 211.141.219.110 - - [08/Dec/2025 13:22:55] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-08 13:23:00,728 - werkzeug - INFO - 211.141.219.110 - - [08/Dec/2025 13:23:00] "GET /api/alerts HTTP/1.1" 200 -
2025-12-08 13:23:08,875 - werkzeug - INFO - 211.141.219.110 - - [08/Dec/2025 13:23:08] "GET /api/analytics?days=7&dimension=performance HTTP/1.1" 200 -
2025-12-08 13:23:08,888 - werkzeug - INFO - 211.141.219.110 - - [08/Dec/2025 13:23:08] "GET /api/agent/status HTTP/1.1" 200 -
2025-12-08 13:23:09,246 - werkzeug - INFO - 211.141.219.110 - - [08/Dec/2025 13:23:09] "GET /api/agent/tools/stats HTTP/1.1" 200 -
2025-12-08 13:23:09,302 - werkzeug - INFO - 211.141.219.110 - - [08/Dec/2025 13:23:09] "GET /api/settings HTTP/1.1" 200 -
2025-12-08 13:23:10,525 - werkzeug - INFO - 211.141.219.110 - - [08/Dec/2025 13:23:10] "GET /api/alerts HTTP/1.1" 200 -
2025-12-08 13:23:10,865 - werkzeug - INFO - 211.141.219.110 - - [08/Dec/2025 13:23:10] "GET /api/alerts?page=1&per_page=10 HTTP/1.1" 200 -
2025-12-08 13:23:11,751 - werkzeug - INFO - 211.141.219.110 - - [08/Dec/2025 13:23:11] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-08 13:23:12,403 - werkzeug - INFO - 211.141.219.110 - - [08/Dec/2025 13:23:12] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-08 13:23:15,711 - werkzeug - INFO - 211.141.219.110 - - [08/Dec/2025 13:23:15] "POST /api/batch-delete/alerts HTTP/1.1" 200 -
2025-12-08 13:23:16,658 - werkzeug - INFO - 211.141.219.110 - - [08/Dec/2025 13:23:16] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-08 13:23:17,555 - werkzeug - INFO - 211.141.219.110 - - [08/Dec/2025 13:23:17] "GET /api/analytics HTTP/1.1" 200 -
2025-12-08 13:23:17,980 - werkzeug - INFO - 211.141.219.110 - - [08/Dec/2025 13:23:17] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-08 13:23:42,384 - werkzeug - INFO - 211.141.219.110 - - [08/Dec/2025 13:23:42] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-08 13:24:00,231 - werkzeug - INFO - 211.141.219.110 - - [08/Dec/2025 13:24:00] "GET /api/analytics HTTP/1.1" 200 -
2025-12-08 13:24:01,376 - werkzeug - INFO - 211.141.219.110 - - [08/Dec/2025 13:24:01] "GET /api/alerts HTTP/1.1" 200 -
2025-12-08 13:24:01,737 - werkzeug - INFO - 211.141.219.110 - - [08/Dec/2025 13:24:01] "GET /api/analytics?timeRange=30&dimension=workorders HTTP/1.1" 200 -
2025-12-08 13:24:02,538 - werkzeug - INFO - 211.141.219.110 - - [08/Dec/2025 13:24:02] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-08 13:24:08,797 - src.web.error_handlers - ERROR - 错误响应: 预警不存在: [111610, 111608, 111611, 111606, 111607, 111672, 111673, 111674, 111675, 111609] - None
2025-12-08 13:24:08,802 - werkzeug - INFO - 211.141.219.110 - - [08/Dec/2025 13:24:08] "[33mPOST /api/batch-delete/alerts HTTP/1.1[0m" 404 -
2025-12-08 13:24:09,306 - werkzeug - INFO - 211.141.219.110 - - [08/Dec/2025 13:24:09] "GET /api/alerts?page=1&per_page=50 HTTP/1.1" 200 -
2025-12-08 13:24:17,892 - werkzeug - INFO - 211.141.219.110 - - [08/Dec/2025 13:24:17] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-08 13:24:33,642 - werkzeug - INFO - 211.141.219.110 - - [08/Dec/2025 13:24:33] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-08 13:24:44,176 - werkzeug - INFO - 211.141.219.110 - - [08/Dec/2025 13:24:44] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-08 13:24:51,434 - werkzeug - INFO - 220.205.252.43 - - [08/Dec/2025 13:24:51] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-08 13:24:51,470 - werkzeug - INFO - 220.205.252.43 - - [08/Dec/2025 13:24:51] "GET /api/alerts HTTP/1.1" 200 -
2025-12-08 13:24:55,480 - werkzeug - INFO - 211.141.219.110 - - [08/Dec/2025 13:24:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-08 13:25:11,583 - werkzeug - INFO - 220.205.252.43 - - [08/Dec/2025 13:25:11] "GET /api/alerts HTTP/1.1" 200 -
2025-12-08 13:25:16,365 - werkzeug - INFO - 220.205.252.43 - - [08/Dec/2025 13:25:16] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-08 13:25:35,401 - werkzeug - INFO - 220.205.252.43 - - [08/Dec/2025 13:25:35] "GET /api/alerts HTTP/1.1" 200 -
2025-12-08 13:25:58,762 - werkzeug - INFO - 220.205.252.43 - - [08/Dec/2025 13:25:58] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-08 13:25:59,367 - werkzeug - INFO - 220.205.252.43 - - [08/Dec/2025 13:25:59] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-08 13:26:10,513 - werkzeug - INFO - 220.196.160.125 - - [08/Dec/2025 13:26:10] "GET / HTTP/1.1" 200 -
2025-12-08 13:26:11,746 - werkzeug - INFO - 159.75.199.224 - - [08/Dec/2025 13:26:11] "GET /static/js/core/store.js HTTP/1.1" 200 -
2025-12-08 13:26:11,953 - werkzeug - INFO - 159.75.199.224 - - [08/Dec/2025 13:26:11] "GET /static/js/services/api.js HTTP/1.1" 200 -
2025-12-08 13:26:12,169 - werkzeug - INFO - 43.144.106.82 - - [08/Dec/2025 13:26:12] "GET /static/js/components/NotificationManager.js HTTP/1.1" 200 -
2025-12-08 13:26:12,765 - werkzeug - INFO - 180.101.245.246 - - [08/Dec/2025 13:26:12] "GET / HTTP/1.1" 200 -
2025-12-08 13:26:13,198 - werkzeug - INFO - 180.101.245.246 - - [08/Dec/2025 13:26:13] "GET /static/css/design-system.css?v=1.0.0 HTTP/1.1" 200 -
2025-12-08 13:26:13,226 - werkzeug - INFO - 180.101.245.246 - - [08/Dec/2025 13:26:13] "GET /static/css/style.css?v=1.0.0 HTTP/1.1" 200 -
2025-12-08 13:26:13,641 - werkzeug - INFO - 180.101.245.246 - - [08/Dec/2025 13:26:13] "GET /static/js/core/store.js HTTP/1.1" 200 -
2025-12-08 13:26:13,653 - werkzeug - INFO - 180.101.245.246 - - [08/Dec/2025 13:26:13] "GET /static/js/components/NotificationManager.js HTTP/1.1" 200 -
2025-12-08 13:26:13,660 - werkzeug - INFO - 180.101.245.246 - - [08/Dec/2025 13:26:13] "GET /static/js/components/AlertManager.js HTTP/1.1" 200 -
2025-12-08 13:26:13,664 - werkzeug - INFO - 180.101.245.246 - - [08/Dec/2025 13:26:13] "GET /static/js/services/api.js HTTP/1.1" 200 -
2025-12-08 13:26:13,669 - werkzeug - INFO - 180.101.245.246 - - [08/Dec/2025 13:26:13] "GET /static/js/app-new.js HTTP/1.1" 200 -
2025-12-08 13:26:13,683 - werkzeug - INFO - 180.101.245.246 - - [08/Dec/2025 13:26:13] "GET /static/js/dashboard.js?v=1.0.9 HTTP/1.1" 200 -
2025-12-08 13:26:13,904 - werkzeug - INFO - 180.101.245.246 - - [08/Dec/2025 13:26:13] "GET /static/css/design-system.css HTTP/1.1" 200 -
2025-12-08 13:26:15,947 - werkzeug - INFO - 180.101.245.246 - - [08/Dec/2025 13:26:15] "GET /api/agent/status HTTP/1.1" 200 -
2025-12-08 13:26:15,949 - werkzeug - INFO - 180.101.245.246 - - [08/Dec/2025 13:26:15] "GET /api/rules HTTP/1.1" 200 -
2025-12-08 13:26:16,071 - werkzeug - INFO - 180.101.245.246 - - [08/Dec/2025 13:26:16] "GET /api/chat/sessions HTTP/1.1" 200 -
2025-12-08 13:26:16,270 - werkzeug - INFO - 180.101.245.246 - - [08/Dec/2025 13:26:16] "GET /api/alerts HTTP/1.1" 200 -
2025-12-08 13:26:16,524 - werkzeug - INFO - 180.101.245.246 - - [08/Dec/2025 13:26:16] "GET /api/workorders HTTP/1.1" 200 -
2025-12-08 13:26:16,791 - werkzeug - INFO - 180.101.245.246 - - [08/Dec/2025 13:26:16] "GET /api/system/info HTTP/1.1" 200 -
2025-12-08 13:26:17,023 - werkzeug - INFO - 180.101.245.246 - - [08/Dec/2025 13:26:17] "GET /api/feishu-sync/config HTTP/1.1" 200 -
2025-12-08 13:26:17,130 - werkzeug - INFO - 180.101.245.246 - - [08/Dec/2025 13:26:17] "GET /api/feishu-sync/status HTTP/1.1" 200 -
2025-12-08 13:26:17,808 - werkzeug - INFO - 180.101.245.246 - - [08/Dec/2025 13:26:17] "GET /api/knowledge/stats HTTP/1.1" 200 -
2025-12-08 13:26:17,918 - werkzeug - INFO - 180.101.245.246 - - [08/Dec/2025 13:26:17] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-08 13:26:22,605 - werkzeug - INFO - 180.101.245.246 - - [08/Dec/2025 13:26:22] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-08 13:26:26,034 - werkzeug - INFO - 180.101.245.246 - - [08/Dec/2025 13:26:26] "GET /api/alerts HTTP/1.1" 200 -
2025-12-08 13:26:27,225 - werkzeug - INFO - 220.205.252.43 - - [08/Dec/2025 13:26:27] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-08 13:26:30,789 - werkzeug - INFO - 220.205.252.43 - - [08/Dec/2025 13:26:30] "GET /api/alerts HTTP/1.1" 200 -
2025-12-08 13:26:36,011 - werkzeug - INFO - 180.101.245.246 - - [08/Dec/2025 13:26:36] "GET /api/alerts HTTP/1.1" 200 -
2025-12-08 13:26:44,098 - werkzeug - INFO - 220.205.252.43 - - [08/Dec/2025 13:26:44] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-08 13:26:47,862 - werkzeug - INFO - 180.101.245.246 - - [08/Dec/2025 13:26:47] "GET /api/settings HTTP/1.1" 200 -
2025-12-08 13:27:02,616 - src.core.system_optimizer - WARNING - 性能预警: 内存使用率过高: 88.2%
2025-12-08 13:27:02,627 - src.core.system_optimizer - WARNING - 性能预警: 内存使用率过高: 88.2%
2025-12-08 13:27:02,628 - src.core.system_optimizer - WARNING - 性能预警: 内存使用率过高: 88.2%
2025-12-08 13:27:02,631 - src.core.system_optimizer - WARNING - 性能预警: 内存使用率过高: 88.2%
2025-12-08 13:27:02,632 - src.core.system_optimizer - WARNING - 性能预警: 内存使用率过高: 88.2%
2025-12-08 13:27:02,817 - src.core.system_optimizer - WARNING - 性能预警: 内存使用率过高: 88.2%
2025-12-08 13:27:31,856 - werkzeug - INFO - 180.101.245.246 - - [08/Dec/2025 13:27:31] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-08 13:27:40,039 - werkzeug - INFO - 180.101.245.246 - - [08/Dec/2025 13:27:40] "GET /api/analytics?days=7&dimension=performance HTTP/1.1" 200 -
2025-12-08 13:27:43,368 - werkzeug - INFO - 180.101.245.246 - - [08/Dec/2025 13:27:43] "GET /api/analytics HTTP/1.1" 200 -
2025-12-08 13:27:54,941 - werkzeug - INFO - 220.205.252.43 - - [08/Dec/2025 13:27:54] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-08 13:28:04,121 - src.core.system_optimizer - WARNING - 性能预警: 内存使用率过高: 94.0%
2025-12-08 13:28:04,135 - src.core.system_optimizer - WARNING - 性能预警: 内存使用率过高: 94.1%
2025-12-08 13:28:04,143 - src.core.system_optimizer - WARNING - 性能预警: 内存使用率过高: 94.0%
2025-12-08 13:28:04,148 - src.core.system_optimizer - WARNING - 性能预警: 内存使用率过高: 94.0%
2025-12-08 13:28:04,148 - src.core.system_optimizer - WARNING - 性能预警: 内存使用率过高: 94.1%
2025-12-08 13:28:04,153 - src.core.system_optimizer - WARNING - 性能预警: 内存使用率过高: 94.0%
2025-12-08 13:28:26,089 - werkzeug - INFO - 180.101.245.246 - - [08/Dec/2025 13:28:26] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-08 13:31:34,853 - src.core.system_optimizer - WARNING - 性能预警: 内存使用率过高: 94.1%
2025-12-08 13:31:34,850 - src.core.system_optimizer - WARNING - 性能预警: 内存使用率过高: 94.1%
2025-12-08 13:31:34,864 - src.core.system_optimizer - WARNING - 性能预警: 内存使用率过高: 94.1%
2025-12-08 13:31:34,873 - src.core.system_optimizer - WARNING - 性能预警: 内存使用率过高: 94.1%
2025-12-08 13:31:34,879 - src.core.system_optimizer - WARNING - 性能预警: 内存使用率过高: 94.1%
2025-12-08 13:31:34,932 - src.core.system_optimizer - WARNING - 性能预警: 内存使用率过高: 94.0%
2025-12-08 13:31:44,979 - src.core.database - ERROR - 数据库操作失败: (pymysql.err.OperationalError) (2013, 'Lost connection to MySQL server during query')
[SQL: SELECT alerts.id AS alerts_id, alerts.rule_name AS alerts_rule_name, alerts.alert_type AS alerts_alert_type, alerts.level AS alerts_level, alerts.severity AS alerts_severity, alerts.message AS alerts_message, alerts.data AS alerts_data, alerts.is_active AS alerts_is_active, alerts.created_at AS alerts_created_at, alerts.resolved_at AS alerts_resolved_at 
FROM alerts 
WHERE alerts.is_active = true ORDER BY alerts.created_at DESC]
(Background on this error at: https://sqlalche.me/e/20/e3q8)
2025-12-08 13:31:45,046 - src.analytics.alert_system - ERROR - 获取活跃预警失败: (pymysql.err.OperationalError) (2013, 'Lost connection to MySQL server during query')
[SQL: SELECT alerts.id AS alerts_id, alerts.rule_name AS alerts_rule_name, alerts.alert_type AS alerts_alert_type, alerts.level AS alerts_level, alerts.severity AS alerts_severity, alerts.message AS alerts_message, alerts.data AS alerts_data, alerts.is_active AS alerts_is_active, alerts.created_at AS alerts_created_at, alerts.resolved_at AS alerts_resolved_at 
FROM alerts 
WHERE alerts.is_active = true ORDER BY alerts.created_at DESC]
(Background on this error at: https://sqlalche.me/e/20/e3q8)
2025-12-08 13:31:56,702 - werkzeug - INFO - 180.101.245.246 - - [08/Dec/2025 13:31:56] "GET /api/analytics HTTP/1.1" 200 -
2025-12-08 13:32:16,444 - werkzeug - INFO - 220.205.252.43 - - [08/Dec/2025 13:32:16] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-08 13:32:22,328 - werkzeug - INFO - 220.205.252.43 - - [08/Dec/2025 13:32:22] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-08 13:32:36,038 - src.core.system_optimizer - WARNING - 性能预警: 内存使用率过高: 88.2%
2025-12-08 13:32:36,044 - src.core.system_optimizer - WARNING - 性能预警: 内存使用率过高: 88.2%
2025-12-08 13:32:36,045 - src.core.system_optimizer - WARNING - 性能预警: 内存使用率过高: 88.2%
2025-12-08 13:32:36,045 - src.core.system_optimizer - WARNING - 性能预警: 内存使用率过高: 88.2%
2025-12-08 13:32:36,069 - src.core.system_optimizer - WARNING - 性能预警: 内存使用率过高: 88.2%
2025-12-08 13:32:36,088 - src.core.system_optimizer - WARNING - 性能预警: 内存使用率过高: 88.1%
2025-12-10 16:03:04,292 - __main__ - INFO - 正在启动TSP智能助手综合管理平台...
2025-12-10 16:03:08,151 - src.core.database - INFO - 数据库初始化成功
2025-12-10 16:03:08,620 - __main__ - INFO - 跳过系统检查，直接启动服务...
2025-12-10 16:03:10,589 - src.core.backup_manager - INFO - 备份数据库初始化成功: tsp_assistant.db
2025-12-10 16:03:10,622 - src.integrations.config_manager - INFO - 配置加载成功
2025-12-10 16:03:10,712 - werkzeug - INFO - [31m[1mWARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.[0m
 * Running on all addresses (0.0.0.0)
 * Running on http://127.0.0.1:5000
 * Running on http://172.23.31.194:5000
2025-12-10 16:03:10,712 - werkzeug - INFO - [33mPress CTRL+C to quit[0m
2025-12-10 16:03:11,311 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 24 个条目
2025-12-10 16:03:11,538 - src.web.websocket_server - INFO - 启动WebSocket服务器: ws://localhost:8765
2025-12-10 16:03:11,543 - websockets.server - INFO - server listening on [::1]:8765
2025-12-10 16:03:11,544 - websockets.server - INFO - server listening on 127.0.0.1:8765
2025-12-10 16:03:13,917 - werkzeug - INFO - 127.0.0.1 - - [10/Dec/2025 16:03:13] "GET / HTTP/1.1" 200 -
2025-12-10 16:03:14,894 - src.agent_assistant - INFO - TSP Agent助手初始化完成
2025-12-10 16:03:14,894 - src.web.service_manager - INFO - 服务 agent_assistant 已初始化
2025-12-10 16:03:14,895 - werkzeug - INFO - 127.0.0.1 - - [10/Dec/2025 16:03:14] "GET /api/agent/status HTTP/1.1" 200 -
2025-12-10 16:03:14,935 - websockets.server - INFO - connection open
2025-12-10 16:03:14,936 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    path = websocket.path
           ^^^^^^^^^^^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-10 16:03:15,753 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 24 个条目
2025-12-10 16:03:16,183 - werkzeug - INFO - 127.0.0.1 - - [10/Dec/2025 16:03:16] "GET /api/alerts HTTP/1.1" 200 -
2025-12-10 16:03:16,262 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 24 个条目
2025-12-10 16:03:16,308 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 24 个条目
2025-12-10 16:03:16,463 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 24 个条目
2025-12-10 16:03:16,504 - src.web.service_manager - INFO - 服务 assistant 已初始化
2025-12-10 16:03:16,756 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 24 个条目
2025-12-10 16:03:16,819 - werkzeug - INFO - 127.0.0.1 - - [10/Dec/2025 16:03:16] "GET /api/workorders HTTP/1.1" 200 -
2025-12-10 16:03:16,904 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 24 个条目
2025-12-10 16:03:16,986 - src.web.service_manager - INFO - 服务 chat_manager 已初始化
2025-12-10 16:03:16,987 - werkzeug - INFO - 127.0.0.1 - - [10/Dec/2025 16:03:16] "GET /api/chat/sessions HTTP/1.1" 200 -
2025-12-10 16:03:16,993 - werkzeug - INFO - 127.0.0.1 - - [10/Dec/2025 16:03:16] "GET /api/system/info HTTP/1.1" 200 -
2025-12-10 16:03:16,997 - werkzeug - INFO - 127.0.0.1 - - [10/Dec/2025 16:03:16] "GET /api/feishu-sync/config HTTP/1.1" 200 -
2025-12-10 16:03:17,148 - src.web.service_manager - INFO - 服务 assistant 已初始化
2025-12-10 16:03:17,149 - werkzeug - INFO - 127.0.0.1 - - [10/Dec/2025 16:03:17] "GET /api/rules HTTP/1.1" 200 -
2025-12-10 16:03:17,155 - werkzeug - INFO - 127.0.0.1 - - [10/Dec/2025 16:03:17] "[33mGET /favicon.ico HTTP/1.1[0m" 404 -
2025-12-10 16:03:17,234 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 24 个条目
2025-12-10 16:03:17,386 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 24 个条目
2025-12-10 16:03:17,479 - src.config.unified_config - WARNING - 无法加载默认LLM配置，使用内置默认值: No module named 'config.llm_config'
2025-12-10 16:03:17,480 - src.config.unified_config - INFO - 配置文件加载成功
2025-12-10 16:03:17,480 - src.integrations.ai_suggestion_service - INFO - 使用LLM配置: qwen - qwen-plus-latest
2025-12-10 16:03:17,481 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: TR Number -> order_id
2025-12-10 16:03:17,482 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: TR Description -> description
2025-12-10 16:03:17,484 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Type of problem -> category
2025-12-10 16:03:17,485 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: TR Level -> priority
2025-12-10 16:03:17,486 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: TR Status -> status
2025-12-10 16:03:17,487 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Source -> source
2025-12-10 16:03:17,489 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Date creation -> created_at
2025-12-10 16:03:17,489 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: 处理过程 -> resolution
2025-12-10 16:03:17,490 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: TR tracking -> resolution
2025-12-10 16:03:17,492 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Created by -> created_by
2025-12-10 16:03:17,492 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Module（模块） -> module
2025-12-10 16:03:17,494 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Wilfulness（责任人） -> wilfulness
2025-12-10 16:03:17,495 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Date of close TR -> date_of_close
2025-12-10 16:03:17,496 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Vehicle Type01 -> vehicle_type
2025-12-10 16:03:17,497 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: VIN|sim -> vin_sim
2025-12-10 16:03:17,498 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: App remote control version -> app_remote_control_version
2025-12-10 16:03:17,499 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: HMI SW -> hmi_sw
2025-12-10 16:03:17,500 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: 父记录 -> parent_record
2025-12-10 16:03:17,503 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Has it been updated on the same day -> has_updated_same_day
2025-12-10 16:03:17,505 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Operating time -> operating_time
2025-12-10 16:03:17,506 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: AI建议 -> ai_suggestion
2025-12-10 16:03:17,507 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Issue Start Time -> updated_at
2025-12-10 16:03:17,629 - src.web.service_manager - INFO - 服务 assistant 已初始化
2025-12-10 16:03:17,741 - werkzeug - INFO - 127.0.0.1 - - [10/Dec/2025 16:03:17] "GET /api/knowledge/stats HTTP/1.1" 200 -
2025-12-10 16:03:17,746 - werkzeug - INFO - 127.0.0.1 - - [10/Dec/2025 16:03:17] "GET /api/chat/sessions HTTP/1.1" 200 -
2025-12-10 16:03:17,750 - src.dialogue.realtime_chat - INFO - 创建新会话: session_user_001_1765353797
2025-12-10 16:03:17,751 - werkzeug - INFO - 127.0.0.1 - - [10/Dec/2025 16:03:17] "POST /api/chat/session HTTP/1.1" 200 -
2025-12-10 16:03:18,141 - werkzeug - INFO - 127.0.0.1 - - [10/Dec/2025 16:03:18] "GET /api/workorders HTTP/1.1" 200 -
2025-12-10 16:03:18,352 - werkzeug - INFO - 127.0.0.1 - - [10/Dec/2025 16:03:18] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-10 16:03:18,469 - werkzeug - INFO - 127.0.0.1 - - [10/Dec/2025 16:03:18] "GET /api/feishu-sync/status HTTP/1.1" 200 -
2025-12-10 16:03:19,067 - werkzeug - INFO - 127.0.0.1 - - [10/Dec/2025 16:03:19] "GET /api/knowledge/stats HTTP/1.1" 200 -
2025-12-10 16:03:19,984 - websockets.server - INFO - connection open
2025-12-10 16:03:19,985 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    path = websocket.path
           ^^^^^^^^^^^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-10 16:03:20,026 - src.knowledge_base.knowledge_manager - INFO - 搜索查询 'APP显示车辆信息错误' 返回 1 个结果
2025-12-10 16:03:21,987 - werkzeug - INFO - 127.0.0.1 - - [10/Dec/2025 16:03:21] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-10 16:03:22,618 - werkzeug - INFO - 127.0.0.1 - - [10/Dec/2025 16:03:22] "GET /api/workorders?page=1&per_page=10 HTTP/1.1" 200 -
2025-12-10 16:03:23,274 - src.core.llm_client - INFO - API请求成功
2025-12-10 16:03:24,420 - src.knowledge_base.knowledge_manager - INFO - 成功更新 1 个知识库条目的使用次数
2025-12-10 16:03:24,421 - werkzeug - INFO - 127.0.0.1 - - [10/Dec/2025 16:03:24] "POST /api/chat/message HTTP/1.1" 200 -
2025-12-10 16:03:24,992 - websockets.server - INFO - connection open
2025-12-10 16:03:24,993 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    path = websocket.path
           ^^^^^^^^^^^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-10 16:03:25,021 - werkzeug - INFO - 127.0.0.1 - - [10/Dec/2025 16:03:25] "GET /api/knowledge?page=1&per_page=10 HTTP/1.1" 200 -
2025-12-10 16:03:25,110 - werkzeug - INFO - 127.0.0.1 - - [10/Dec/2025 16:03:25] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-10 16:03:25,749 - werkzeug - INFO - 127.0.0.1 - - [10/Dec/2025 16:03:25] "GET /api/alerts HTTP/1.1" 200 -
2025-12-10 16:03:29,707 - werkzeug - INFO - 127.0.0.1 - - [10/Dec/2025 16:03:29] "POST /api/batch-delete/workorders HTTP/1.1" 200 -
2025-12-10 16:03:30,005 - websockets.server - INFO - connection open
2025-12-10 16:03:30,005 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    path = websocket.path
           ^^^^^^^^^^^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-10 16:03:31,279 - werkzeug - INFO - 127.0.0.1 - - [10/Dec/2025 16:03:31] "GET /api/workorders?page=true&per_page=10 HTTP/1.1" 200 -
2025-12-10 16:03:35,011 - websockets.server - INFO - connection open
2025-12-10 16:03:35,011 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    path = websocket.path
           ^^^^^^^^^^^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-10 16:03:35,546 - werkzeug - INFO - 127.0.0.1 - - [10/Dec/2025 16:03:35] "GET /api/alerts HTTP/1.1" 200 -
2025-12-10 16:03:40,022 - websockets.server - INFO - connection open
2025-12-10 16:03:40,022 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    path = websocket.path
           ^^^^^^^^^^^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-10 16:03:45,038 - websockets.server - INFO - connection open
2025-12-10 16:03:45,038 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    path = websocket.path
           ^^^^^^^^^^^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 09:56:08,705 - __main__ - INFO - 正在启动TSP智能助手综合管理平台...
2025-12-12 09:56:22,795 - __main__ - INFO - 正在启动TSP智能助手综合管理平台...
2025-12-12 09:56:44,222 - src.core.database - ERROR - 数据库初始化失败: (pymysql.err.OperationalError) (2003, "Can't connect to MySQL server on 'jeason.online' ([WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应，连接尝试失败。)")
(Background on this error at: https://sqlalche.me/e/20/e3q8)
2025-12-12 09:56:44,223 - __main__ - ERROR - 数据库连接失败，退出启动
2025-12-12 09:57:09,661 - __main__ - INFO - 正在启动TSP智能助手综合管理平台...
2025-12-12 09:57:09,974 - src.core.database - INFO - 数据库初始化成功
2025-12-12 09:57:09,975 - __main__ - INFO - 跳过系统检查，直接启动服务...
2025-12-12 09:57:11,908 - src.core.backup_manager - INFO - 备份数据库初始化成功: tsp_assistant.db
2025-12-12 09:57:11,917 - src.integrations.config_manager - INFO - 配置加载成功
2025-12-12 09:57:12,030 - werkzeug - INFO - [31m[1mWARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.[0m
 * Running on all addresses (0.0.0.0)
 * Running on http://127.0.0.1:5000
 * Running on http://10.105.212.207:5000
2025-12-12 09:57:12,031 - werkzeug - INFO - [33mPress CTRL+C to quit[0m
2025-12-12 09:57:12,056 - src.web.websocket_server - INFO - 启动WebSocket服务器: ws://localhost:8765
2025-12-12 09:57:12,062 - websockets.server - INFO - server listening on [::1]:8765
2025-12-12 09:57:12,063 - websockets.server - INFO - server listening on 127.0.0.1:8765
2025-12-12 09:57:21,982 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:57:21] "GET / HTTP/1.1" 200 -
2025-12-12 09:57:22,283 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:57:22] "GET /static/css/design-system.css?v=1.0.0 HTTP/1.1" 200 -
2025-12-12 09:57:22,301 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:57:22] "GET /static/css/style.css?v=1.0.0 HTTP/1.1" 200 -
2025-12-12 09:57:22,302 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:57:22] "GET /static/js/core/store.js HTTP/1.1" 200 -
2025-12-12 09:57:22,309 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:57:22] "GET /static/js/services/api.js HTTP/1.1" 200 -
2025-12-12 09:57:22,311 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:57:22] "GET /static/js/components/NotificationManager.js HTTP/1.1" 200 -
2025-12-12 09:57:22,311 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:57:22] "GET /static/js/components/AlertManager.js HTTP/1.1" 200 -
2025-12-12 09:57:22,591 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:57:22] "GET /static/css/design-system.css HTTP/1.1" 200 -
2025-12-12 09:57:22,621 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:57:22] "GET /static/js/app-new.js HTTP/1.1" 200 -
2025-12-12 09:57:22,622 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:57:22] "GET /static/js/dashboard.js?v=1.0.9 HTTP/1.1" 200 -
2025-12-12 09:57:23,100 - websockets.server - INFO - connection open
2025-12-12 09:57:23,100 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    path = websocket.path
           ^^^^^^^^^^^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 09:57:23,343 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:57:23] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 09:57:23,344 - src.agent_assistant - INFO - TSP Agent助手初始化完成
2025-12-12 09:57:23,347 - src.web.service_manager - INFO - 服务 agent_assistant 已初始化
2025-12-12 09:57:23,348 - src.web.service_manager - INFO - 服务 assistant 已初始化
2025-12-12 09:57:23,350 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:57:23] "GET /api/agent/status HTTP/1.1" 200 -
2025-12-12 09:57:23,351 - src.web.service_manager - INFO - 服务 chat_manager 已初始化
2025-12-12 09:57:23,351 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:57:23] "GET /api/rules HTTP/1.1" 200 -
2025-12-12 09:57:23,351 - src.web.service_manager - INFO - 服务 assistant 已初始化
2025-12-12 09:57:23,354 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:57:23] "GET /api/chat/sessions HTTP/1.1" 200 -
2025-12-12 09:57:23,357 - src.web.service_manager - INFO - 服务 assistant 已初始化
2025-12-12 09:57:23,381 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:57:23] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 09:57:23,654 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:57:23] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-12 09:57:23,666 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:57:23] "GET /api/workorders HTTP/1.1" 200 -
2025-12-12 09:57:23,672 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:57:23] "GET /api/system/info HTTP/1.1" 200 -
2025-12-12 09:57:23,677 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:57:23] "GET /api/knowledge/stats HTTP/1.1" 200 -
2025-12-12 09:57:23,692 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:57:23] "GET /api/feishu-sync/config HTTP/1.1" 200 -
2025-12-12 09:57:23,715 - src.config.unified_config - WARNING - 无法加载默认LLM配置，使用内置默认值: No module named 'config.llm_config'
2025-12-12 09:57:23,716 - src.config.unified_config - INFO - 配置文件加载成功
2025-12-12 09:57:23,717 - src.integrations.ai_suggestion_service - INFO - 使用LLM配置: qwen - qwen-plus-latest
2025-12-12 09:57:23,718 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: TR Number -> order_id
2025-12-12 09:57:23,720 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: TR Description -> description
2025-12-12 09:57:23,721 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Type of problem -> category
2025-12-12 09:57:23,722 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: TR Level -> priority
2025-12-12 09:57:23,723 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: TR Status -> status
2025-12-12 09:57:23,723 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Source -> source
2025-12-12 09:57:23,725 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Date creation -> created_at
2025-12-12 09:57:23,727 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: 处理过程 -> resolution
2025-12-12 09:57:23,728 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: TR tracking -> resolution
2025-12-12 09:57:23,730 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Created by -> created_by
2025-12-12 09:57:23,731 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Module（模块） -> module
2025-12-12 09:57:23,732 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Wilfulness（责任人） -> wilfulness
2025-12-12 09:57:23,733 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Date of close TR -> date_of_close
2025-12-12 09:57:23,735 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Vehicle Type01 -> vehicle_type
2025-12-12 09:57:23,736 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: VIN|sim -> vin_sim
2025-12-12 09:57:23,737 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: App remote control version -> app_remote_control_version
2025-12-12 09:57:23,738 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: HMI SW -> hmi_sw
2025-12-12 09:57:23,739 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: 父记录 -> parent_record
2025-12-12 09:57:23,741 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Has it been updated on the same day -> has_updated_same_day
2025-12-12 09:57:23,743 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Operating time -> operating_time
2025-12-12 09:57:23,744 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: AI建议 -> ai_suggestion
2025-12-12 09:57:23,746 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Issue Start Time -> updated_at
2025-12-12 09:57:23,752 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:57:23] "GET /api/feishu-sync/status HTTP/1.1" 200 -
2025-12-12 09:57:23,991 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:57:23] "GET /api/analytics?days=7&dimension=performance HTTP/1.1" 200 -
2025-12-12 09:57:24,315 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:57:24] "[33mGET /favicon.ico HTTP/1.1[0m" 404 -
2025-12-12 09:57:24,321 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:57:24] "GET /api/settings HTTP/1.1" 200 -
2025-12-12 09:57:24,580 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:57:24] "GET /api/analytics HTTP/1.1" 200 -
2025-12-12 09:57:24,639 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:57:24] "GET /api/analytics?timeRange=30&dimension=workorders HTTP/1.1" 200 -
2025-12-12 09:57:26,075 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:57:26] "GET / HTTP/1.1" 200 -
2025-12-12 09:57:26,169 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:57:26] "GET /static/css/design-system.css?v=1.0.0 HTTP/1.1" 200 -
2025-12-12 09:57:26,175 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:57:26] "GET /static/css/style.css?v=1.0.0 HTTP/1.1" 200 -
2025-12-12 09:57:26,178 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:57:26] "GET /static/js/core/store.js HTTP/1.1" 200 -
2025-12-12 09:57:26,189 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:57:26] "GET /static/js/services/api.js HTTP/1.1" 200 -
2025-12-12 09:57:26,190 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:57:26] "GET /static/js/components/NotificationManager.js HTTP/1.1" 200 -
2025-12-12 09:57:26,195 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:57:26] "GET /static/js/components/AlertManager.js HTTP/1.1" 200 -
2025-12-12 09:57:26,211 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:57:26] "GET /static/js/dashboard.js?v=1.0.9 HTTP/1.1" 200 -
2025-12-12 09:57:26,213 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:57:26] "GET /static/js/app-new.js HTTP/1.1" 200 -
2025-12-12 09:57:26,227 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:57:26] "GET /static/css/design-system.css HTTP/1.1" 200 -
2025-12-12 09:57:26,830 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:57:26] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 09:57:26,835 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:57:26] "GET /api/rules HTTP/1.1" 200 -
2025-12-12 09:57:26,843 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:57:26] "GET /api/agent/status HTTP/1.1" 200 -
2025-12-12 09:57:26,852 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:57:26] "GET /api/chat/sessions HTTP/1.1" 200 -
2025-12-12 09:57:26,871 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:57:26] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-12 09:57:26,875 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:57:26] "GET /api/workorders HTTP/1.1" 200 -
2025-12-12 09:57:26,881 - websockets.server - INFO - connection open
2025-12-12 09:57:26,883 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:57:26] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 09:57:26,885 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    path = websocket.path
           ^^^^^^^^^^^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 09:57:26,886 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:57:26] "GET /api/system/info HTTP/1.1" 200 -
2025-12-12 09:57:26,899 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:57:26] "GET /api/feishu-sync/config HTTP/1.1" 200 -
2025-12-12 09:57:26,904 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:57:26] "GET /api/knowledge/stats HTTP/1.1" 200 -
2025-12-12 09:57:26,914 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:57:26] "GET /api/feishu-sync/status HTTP/1.1" 200 -
2025-12-12 09:57:26,963 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:57:26] "[33mGET /favicon.ico HTTP/1.1[0m" 404 -
2025-12-12 09:57:26,965 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:57:26] "GET /api/analytics?days=7&dimension=performance HTTP/1.1" 200 -
2025-12-12 09:57:26,994 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:57:26] "GET /api/settings HTTP/1.1" 200 -
2025-12-12 09:57:27,006 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:57:27] "GET /api/analytics HTTP/1.1" 200 -
2025-12-12 09:57:27,021 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:57:27] "GET /api/analytics?timeRange=30&dimension=workorders HTTP/1.1" 200 -
2025-12-12 09:57:28,128 - websockets.server - INFO - connection open
2025-12-12 09:57:28,129 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    path = websocket.path
           ^^^^^^^^^^^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 09:57:28,350 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:57:28] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 09:57:28,429 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:57:28] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-12 09:57:28,431 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:57:28] "GET /api/analytics HTTP/1.1" 200 -
2025-12-12 09:57:28,749 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:57:28] "GET /api/analytics?timeRange=30&dimension=workorders HTTP/1.1" 200 -
2025-12-12 09:57:30,520 - src.dialogue.realtime_chat - INFO - 创建新会话: session_user_001_1765504650
2025-12-12 09:57:30,521 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:57:30] "POST /api/chat/session HTTP/1.1" 200 -
2025-12-12 09:57:31,835 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:57:31] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 09:57:31,867 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:57:31] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-12 09:57:31,870 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:57:31] "GET /api/analytics HTTP/1.1" 200 -
2025-12-12 09:57:31,882 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:57:31] "GET /api/analytics?timeRange=30&dimension=workorders HTTP/1.1" 200 -
2025-12-12 09:57:31,945 - websockets.server - INFO - connection open
2025-12-12 09:57:31,946 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    path = websocket.path
           ^^^^^^^^^^^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 09:57:31,971 - src.knowledge_base.knowledge_manager - WARNING - 知识库中没有活跃条目
2025-12-12 09:57:33,140 - websockets.server - INFO - connection open
2025-12-12 09:57:33,141 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    path = websocket.path
           ^^^^^^^^^^^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 09:57:33,345 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:57:33] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 09:57:33,378 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:57:33] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 09:57:36,097 - src.core.llm_client - INFO - API请求成功
2025-12-12 09:57:36,109 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:57:36] "POST /api/chat/message HTTP/1.1" 200 -
2025-12-12 09:57:37,297 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:57:37] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 09:57:37,318 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:57:37] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 09:57:41,846 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:57:41] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 09:57:44,614 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:57:44] "GET /api/agent/status HTTP/1.1" 200 -
2025-12-12 09:57:44,616 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:57:44] "GET /api/agent/tools/stats HTTP/1.1" 200 -
2025-12-12 09:57:45,837 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:57:45] "GET /api/knowledge?page=1&per_page=10 HTTP/1.1" 200 -
2025-12-12 09:57:46,824 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:57:46] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 09:57:46,839 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:57:46] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 09:57:48,447 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:57:48] "GET /api/knowledge?page=1&per_page=10 HTTP/1.1" 200 -
2025-12-12 09:57:48,671 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:57:48] "GET /api/knowledge?page=1&per_page=10 HTTP/1.1" 200 -
2025-12-12 09:57:48,865 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:57:48] "GET /api/knowledge?page=1&per_page=10 HTTP/1.1" 200 -
2025-12-12 09:57:52,293 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:57:52] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 09:57:57,298 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:57:57] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 09:57:57,314 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:57:57] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 09:58:02,305 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:58:02] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 09:58:05,580 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:58:05] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-12 09:58:06,830 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:58:06] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 09:58:06,845 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:58:06] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 09:58:07,039 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:58:07] "GET /api/workorders?page=1&per_page=10 HTTP/1.1" 200 -
2025-12-12 09:58:08,543 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:58:08] "GET /api/conversations?page=1&per_page=10 HTTP/1.1" 200 -
2025-12-12 09:58:11,755 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:58:11] "GET /api/conversations/1 HTTP/1.1" 200 -
2025-12-12 09:58:11,845 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:58:11] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 09:58:15,046 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:58:15] "GET /api/token-monitor/stats HTTP/1.1" 200 -
2025-12-12 09:58:15,065 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:58:15] "GET /api/token-monitor/records HTTP/1.1" 200 -
2025-12-12 09:58:15,067 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:58:15] "GET /api/token-monitor/chart HTTP/1.1" 200 -
2025-12-12 09:58:16,833 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:58:16] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 09:58:16,859 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:58:16] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 09:58:18,279 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:58:18] "GET /api/ai-monitor/stats HTTP/1.1" 200 -
2025-12-12 09:58:18,290 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:58:18] "GET /api/ai-monitor/model-comparison HTTP/1.1" 200 -
2025-12-12 09:58:18,292 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:58:18] "GET /api/ai-monitor/error-distribution HTTP/1.1" 200 -
2025-12-12 09:58:18,296 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:58:18] "GET /api/ai-monitor/error-log HTTP/1.1" 200 -
2025-12-12 09:58:21,836 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:58:21] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 09:58:21,917 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:58:21] "GET /api/system-optimizer/status HTTP/1.1" 200 -
2025-12-12 09:58:21,928 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:58:21] "GET /api/system-optimizer/security-settings HTTP/1.1" 200 -
2025-12-12 09:58:21,929 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:58:21] "GET /api/system-optimizer/traffic-settings HTTP/1.1" 200 -
2025-12-12 09:58:21,931 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:58:21] "GET /api/system-optimizer/cost-settings HTTP/1.1" 200 -
2025-12-12 09:58:24,855 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:58:24] "GET /api/analytics HTTP/1.1" 200 -
2025-12-12 09:58:24,878 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:58:24] "GET /api/analytics?timeRange=30&dimension=workorders HTTP/1.1" 200 -
2025-12-12 09:58:24,964 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:58:24] "GET /api/analytics?timeRange=30&dimension=workorders HTTP/1.1" 200 -
2025-12-12 09:58:26,824 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:58:26] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 09:58:26,840 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:58:26] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 09:58:32,301 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:58:32] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 09:58:37,299 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:58:37] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 09:58:37,315 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:58:37] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 09:58:42,291 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:58:42] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 09:58:45,244 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:58:45] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-12 09:58:45,252 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:58:45] "GET /api/analytics HTTP/1.1" 200 -
2025-12-12 09:58:45,267 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:58:45] "GET /api/analytics?timeRange=30&dimension=workorders HTTP/1.1" 200 -
2025-12-12 09:58:46,828 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:58:46] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 09:58:46,845 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:58:46] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 09:58:49,207 - src.integrations.feishu_client - INFO - 正在获取飞书tenant_access_token，应用ID: cli_a8b50ec0eed1500d
2025-12-12 09:58:49,381 - src.integrations.feishu_client - INFO - 飞书API响应: {'code': 0, 'expire': 3072, 'msg': 'ok', 'tenant_access_token': 't-g104cc8O2CZW3GLGNUZ3LZWBEO5TTEGCCVWP2HHG'}
2025-12-12 09:58:49,382 - src.integrations.feishu_client - INFO - tenant_access_token获取成功: t-g104cc8O2CZW3GLGNU...
2025-12-12 09:58:49,382 - src.integrations.feishu_client - INFO - 令牌有效期: 3072秒，过期时间: 2025-12-12 10:50:01
2025-12-12 09:58:49,383 - src.integrations.feishu_client - INFO - 发送飞书API请求: GET https://open.feishu.cn/open-apis/bitable/v1/apps/XXnEbiCmEaMblSs6FDJcFCqsnIg/tables/tblnl3vJPpgMTSiP/records
2025-12-12 09:58:49,383 - src.integrations.feishu_client - INFO - 请求头: Authorization: Bearer t-g104cc8O2CZW3GLGNU...
2025-12-12 09:58:52,314 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:58:52] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 09:58:53,022 - src.integrations.feishu_client - INFO - 飞书API响应状态码: 200
2025-12-12 09:58:53,023 - src.integrations.feishu_client - INFO - 飞书API响应内容: {'code': 0, 'data': {'has_more': False, 'items': [{'fields': {'AI建议': "1208：您好，感谢您反馈天气小部件异常问题。结合当前处理进度（0428已确认TBOX/IHU登录正常、流量绑定正常），现提供专业分析与升级处理建议如下：\n模拟LLM响应: \n作为技术支持专家，请基于以下问题描述为工单提供专业的处理建议：\n\n问题描述：The widget weather doesn't work \n\n相关背景信息：\n无相关背景信息\n\n请提供：\n1. 问题...", 'Created by': 'Evgeniy', 'Date creation': 1745769600000, 'Module（模块）': 'local O&M', 'Source': 'Mail', 'TR Description': "The widget weather doesn't work ", 'TR Level': 'Low', 'TR Number': 'TR559', 'TR Status': 'Processing', 'TR tracking': '28/04:Local feedback weather widget does not work, query TBOX and IHU login record is normal, traffic binding is normal, we suggest users to use mobile phone hotspot to connect to the car, observe whether the widget is restored, if not, try to capture the IHU logs.', 'Type of problem': 'HU troubles', 'VIN|sim': 'LVTDD24B8RG019153 ', 'Vehicle Type01': 'EXEED RX（T22）', 'Wilfulness（责任人）': 'Evgeniy', '处理过程': '0428：属地反馈天气小部件不起作用，查询TBOX及IHU登录记录正常，流量绑定正常，建议用户使用手机热点连接车机，观察小部件是否恢复，如不恢复，尝试抓取IHU日志', '当前问题状态': '1027：天气小部件无法使用，已确认TBOX及IHU登录正常、流量绑定正常，建议已完成手机热点连接测试并尝试抓取IHU日志，若问题仍存在，建议进站进行系统诊断或软件版本升级排查。\n0428：属地反馈天气小部件不起作用，查询TBOX及IHU登录记录正常，流量绑定正常，建议用户使用手机热点连接车机，观察小部件是否恢复，如不恢复，尝试抓取IHU日志'}, 'id': 'rec253kqBfXae4', 'record_id': 'rec253kqBfXae4'}, {'fields': {'AI建议': '1208：该工单问题已明确为TBOX自10月19日起持续处于深度睡眠（Deep Sleep）状态，导致车辆数据停止更新、APP端数据滞留、且无任何TBOX日志上传——这已超出远程唤醒与诊断能力范围，属典型TBOX通信链路或电源管理异常。\n模拟LLM响应: \n作为技术支持专家，请基于以下问题描述为工单提供专业的处理建议：\n\n问题描述：Vehicle data is not updated in the app => dated from October,...', 'Created by': 'Vsevolod Tsoi', 'Date creation': 1761148800000, 'Module（模块）': 'TBOX', 'Source': 'Mail', 'TR Description': 'Vehicle data is not updated in the app => dated from October, 19 - thus, they are old one. No TBOX log in since October, 19. TBOX is in deep sleep since October, 19.\n', 'TR Level': 'Low', 'TR Number': 'TR863', 'TR Status': 'Processing', 'TR tracking': '24/10:The vehicle is in deep sleep, and T-box logs cannot be remotely obtained. The problem is a bit complex and difficult to locate, so the customer needs to visit the station to retrieve T-box logs and DMC logs. @Vsevolod Tsoi', 'Type of problem': 'Remote control ', 'VIN|sim': 'LNNBDDEZ8SD345645 ', 'Vehicle Type01': 'JAECOO J7（T1EJ）', 'Wilfulness（责任人）': '刘娇龙', '处理过程': '1024:车辆处于深度睡眠中，远程无法获取T-box日志，问题有点复杂不好定位，需要客户进站取T-box日志和DMC日志', '当前问题状态': '1027：车辆自10月19日进入深度睡眠，TBOX无远程连接，建议客户尽快进站提取TBOX及DMC日志，进行本地诊断分析，排查电源管理或通信模块异常原因，确认硬件状态及软件配置是否正常。\n1024:车辆处于深度睡眠中，远程无法获取T-box日志，问题有点复杂不好定位，需要客户进站取T-box日志和DMC日志'}, 'id': 'recv0NLSh2a2S7', 'record_id': 'recv0NLSh2a2S7'}, {'fields': {'AI建议': '1208：经分析当前工单进展：用户无法通过手机号或二维码登录会员中心，且已上传DMC日志及问题视频（时间戳1024），说明远程行为已完整复现，初步排除用户操作误触可能。\n模拟LLM响应: \n作为技术支持专家，请基于以下问题描述为工单提供专业的处理建议：\n\n问题描述：User not able to enter into member center neither mobile phon...', 'Created by': 'Vsevolod Tsoi', 'Date creation': 1761148800000, 'Module（模块）': '生态/ecologically', 'Source': 'Mail', 'TR Description': 'User not able to enter into member center neither mobile phone nor QR code.', 'TR Level': 'Low', 'TR Number': 'TR864', 'TR Status': 'Processing', 'TR tracking': '23/10: DMC logs attached as well as vieos of the issue.', 'Type of problem': 'Problem with auth in member center', 'VIN|sim': 'LNNBDDEZXSD449358', 'Vehicle Type01': 'EXEED VX FL（M36T）', 'Wilfulness（责任人）': '袁清', '处理过程': '1024: DMC logs attached as well as vieos of the issue.', '当前问题状态': '1027：确认手机网络及APP版本正常，尝试清除APP缓存并重新登录，检查QR码扫描权限是否开启，重启手机和车机，若仍无法进入会员中心，建议联系售后进行远程诊断或进站排查系统故障。\n1024: DMC logs attached as well as vieos of the issue.'}, 'id': 'recv0NLZoKLlRJ', 'record_id': 'recv0NLZoKLlRJ'}, {'fields': {'AI建议': '1208：您好，感谢您反馈异常流量消耗问题。结合当前工单进展（已建议抓取DMC日志、用户确认仅使用导航且3天消耗3.12GB，症状与E0X车型TR866案例高度一致），现提供专业分析与处理建议如下：\n模拟LLM响应: \n作为技术支持专家，请基于以下问题描述为工单提供专业的处理建议：\n\n问题描述：Abnormal traffic consumption\n\n相关背景信息：\n相关知识库信息：\n- TR866 - Traf...', 'Created by': 'Vsevolod Tsoi', 'Date creation': 1761235200000, 'Module（模块）': 'DMC', 'Source': 'Mail', 'TR Description': 'Abnormal traffic consumption', 'TR Level': 'Low', 'TR Number': 'TR866', 'TR Status': 'Analysising', 'TR tracking': '24/10: It is recommended that users grab the DMC log back for analysis.@Vsevolod Tsoi \n24/10: user states he use Navi only and no other apps. Consumption volume - 3.12 Gb for 3 days. Same symptom as E0X - traffic package size is plus mines the same - see pdf from MNO attached', 'Type of problem': 'Traffic is over', 'VIN|sim': 'XEYDD14B3SA012164', 'Vehicle Type01': 'TEST', 'Wilfulness（责任人）': 'Vsevolod Tsoi', '处理过程': '1024:建议用户抓去DMC日志回传分析\n1024：用户表示他只使用Navi，不使用其他应用程序。 消耗量-3.12 Gb，3天。 与E0X相同的症状-流量包大小加上地雷相同-见所附MNO的pdf', '当前问题状态': '1027：流量异常可能与导航应用后台持续联网有关，建议关闭Navi自动更新地图功能并限制后台数据使用，检查车机系统是否存在异常进程，如问题依旧，建议进站检测DMC模块日志及SIM卡通信状态，必要时升级系统或更换模块。\n1024:建议用户抓去DMC日志回传分析\n1024：用户表示他只使用Navi，不使用其他应用程序。 消耗量-3.12 Gb，3天。 与E0X相同的症状-流量包大小加上地雷相同-见所附MNO的pdf'}, 'id': 'recv0NLZoKjKvx', 'record_id': 'recv0NLZoKjKvx'}], 'total': 4}, 'msg': 'success'}
2025-12-12 09:58:53,027 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:58:53] "GET /api/feishu-sync/preview-feishu-data HTTP/1.1" 200 -
2025-12-12 09:58:57,305 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:58:57] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 09:58:57,320 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:58:57] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 09:59:02,778 - src.integrations.workorder_sync - INFO - 从飞书记录 rec253kqBfXae4 创建工单
2025-12-12 09:59:02,778 - src.integrations.feishu_client - INFO - 发送飞书API请求: GET https://open.feishu.cn/open-apis/bitable/v1/apps/XXnEbiCmEaMblSs6FDJcFCqsnIg/tables/tblnl3vJPpgMTSiP/records/rec253kqBfXae4
2025-12-12 09:59:02,779 - src.integrations.feishu_client - INFO - 请求头: Authorization: Bearer t-g104cc8O2CZW3GLGNU...
2025-12-12 09:59:02,793 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:59:02] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 09:59:04,679 - src.integrations.feishu_client - INFO - 飞书API响应状态码: 200
2025-12-12 09:59:04,679 - src.integrations.feishu_client - INFO - 飞书API响应内容: {'code': 0, 'data': {'record': {'fields': {'AI建议': "1208：您好，感谢您反馈天气小部件异常问题。结合当前处理进度（0428已确认TBOX/IHU登录正常、流量绑定正常），现提供专业分析与升级处理建议如下：\n模拟LLM响应: \n作为技术支持专家，请基于以下问题描述为工单提供专业的处理建议：\n\n问题描述：The widget weather doesn't work \n\n相关背景信息：\n无相关背景信息\n\n请提供：\n1. 问题...", 'Created by': 'Evgeniy', 'Date creation': 1745769600000, 'Module（模块）': 'local O&M', 'Source': 'Mail', 'TR Description': "The widget weather doesn't work ", 'TR Level': 'Low', 'TR Number': 'TR559', 'TR Status': 'Processing', 'TR tracking': '28/04:Local feedback weather widget does not work, query TBOX and IHU login record is normal, traffic binding is normal, we suggest users to use mobile phone hotspot to connect to the car, observe whether the widget is restored, if not, try to capture the IHU logs.', 'Type of problem': 'HU troubles', 'VIN|sim': 'LVTDD24B8RG019153 ', 'Vehicle Type01': 'EXEED RX（T22）', 'Wilfulness（责任人）': 'Evgeniy', '处理过程': '0428：属地反馈天气小部件不起作用，查询TBOX及IHU登录记录正常，流量绑定正常，建议用户使用手机热点连接车机，观察小部件是否恢复，如不恢复，尝试抓取IHU日志', '当前问题状态': '1027：天气小部件无法使用，已确认TBOX及IHU登录正常、流量绑定正常，建议已完成手机热点连接测试并尝试抓取IHU日志，若问题仍存在，建议进站进行系统诊断或软件版本升级排查。\n0428：属地反馈天气小部件不起作用，查询TBOX及IHU登录记录正常，流量绑定正常，建议用户使用手机热点连接车机，观察小部件是否恢复，如不恢复，尝试抓取IHU日志'}, 'id': 'rec253kqBfXae4', 'record_id': 'rec253kqBfXae4'}}, 'msg': 'success'}
2025-12-12 09:59:04,681 - src.integrations.workorder_sync - INFO - 开始转换飞书字段: {'AI建议': "1208：您好，感谢您反馈天气小部件异常问题。结合当前处理进度（0428已确认TBOX/IHU登录正常、流量绑定正常），现提供专业分析与升级处理建议如下：\n模拟LLM响应: \n作为技术支持专家，请基于以下问题描述为工单提供专业的处理建议：\n\n问题描述：The widget weather doesn't work \n\n相关背景信息：\n无相关背景信息\n\n请提供：\n1. 问题...", 'Created by': 'Evgeniy', 'Date creation': 1745769600000, 'Module（模块）': 'local O&M', 'Source': 'Mail', 'TR Description': "The widget weather doesn't work ", 'TR Level': 'Low', 'TR Number': 'TR559', 'TR Status': 'Processing', 'TR tracking': '28/04:Local feedback weather widget does not work, query TBOX and IHU login record is normal, traffic binding is normal, we suggest users to use mobile phone hotspot to connect to the car, observe whether the widget is restored, if not, try to capture the IHU logs.', 'Type of problem': 'HU troubles', 'VIN|sim': 'LVTDD24B8RG019153 ', 'Vehicle Type01': 'EXEED RX（T22）', 'Wilfulness（责任人）': 'Evgeniy', '处理过程': '0428：属地反馈天气小部件不起作用，查询TBOX及IHU登录记录正常，流量绑定正常，建议用户使用手机热点连接车机，观察小部件是否恢复，如不恢复，尝试抓取IHU日志', '当前问题状态': '1027：天气小部件无法使用，已确认TBOX及IHU登录正常、流量绑定正常，建议已完成手机热点连接测试并尝试抓取IHU日志，若问题仍存在，建议进站进行系统诊断或软件版本升级排查。\n0428：属地反馈天气小部件不起作用，查询TBOX及IHU登录记录正常，流量绑定正常，建议用户使用手机热点连接车机，观察小部件是否恢复，如不恢复，尝试抓取IHU日志'}
2025-12-12 09:59:04,682 - src.integrations.flexible_field_mapper - INFO - 开始转换字段: ['AI建议', 'Created by', 'Date creation', 'Module（模块）', 'Source', 'TR Description', 'TR Level', 'TR Number', 'TR Status', 'TR tracking', 'Type of problem', 'VIN|sim', 'Vehicle Type01', 'Wilfulness（责任人）', '处理过程', '当前问题状态']
2025-12-12 09:59:04,682 - src.integrations.flexible_field_mapper - INFO - 映射字段 AI建议 -> ai_suggestion: 1208：您好，感谢您反馈天气小部件异常问题。结合当前处理进度（0428已确认TBOX/IHU登录正常、流量绑定正常），现提供专业分析与升级处理建议如下：
模拟LLM响应: 
作为技术支持专家，请基于以下问题描述为工单提供专业的处理建议：

问题描述：The widget weather doesn't work 

相关背景信息：
无相关背景信息

请提供：
1. 问题...
2025-12-12 09:59:04,683 - src.integrations.flexible_field_mapper - INFO - 映射字段 Created by -> created_by: Evgeniy
2025-12-12 09:59:04,683 - src.integrations.flexible_field_mapper - INFO - 映射字段 Date creation -> created_at: 1745769600000
2025-12-12 09:59:04,684 - src.integrations.flexible_field_mapper - INFO - 映射字段 Module（模块） -> module: local O&M
2025-12-12 09:59:04,684 - src.integrations.flexible_field_mapper - INFO - 映射字段 Source -> source: Mail
2025-12-12 09:59:04,684 - src.integrations.flexible_field_mapper - INFO - 映射字段 TR Description -> description: The widget weather doesn't work 
2025-12-12 09:59:04,684 - src.integrations.flexible_field_mapper - INFO - 映射字段 TR Level -> priority: Low
2025-12-12 09:59:04,685 - src.integrations.flexible_field_mapper - INFO - 映射字段 TR Number -> order_id: TR559
2025-12-12 09:59:04,685 - src.integrations.flexible_field_mapper - INFO - 映射字段 TR Status -> status: Processing
2025-12-12 09:59:04,685 - src.integrations.flexible_field_mapper - INFO - 映射字段 TR tracking -> resolution: 28/04:Local feedback weather widget does not work, query TBOX and IHU login record is normal, traffic binding is normal, we suggest users to use mobile phone hotspot to connect to the car, observe whether the widget is restored, if not, try to capture the IHU logs.
2025-12-12 09:59:04,685 - src.integrations.flexible_field_mapper - INFO - 映射字段 Type of problem -> category: HU troubles
2025-12-12 09:59:04,686 - src.integrations.flexible_field_mapper - INFO - 映射字段 VIN|sim -> vin_sim: LVTDD24B8RG019153 
2025-12-12 09:59:04,686 - src.integrations.flexible_field_mapper - INFO - 映射字段 Vehicle Type01 -> vehicle_type: EXEED RX（T22）
2025-12-12 09:59:04,686 - src.integrations.flexible_field_mapper - INFO - 映射字段 Wilfulness（责任人） -> wilfulness: Evgeniy
2025-12-12 09:59:04,686 - src.integrations.flexible_field_mapper - INFO - 映射字段 处理过程 -> resolution: 0428：属地反馈天气小部件不起作用，查询TBOX及IHU登录记录正常，流量绑定正常，建议用户使用手机热点连接车机，观察小部件是否恢复，如不恢复，尝试抓取IHU日志
2025-12-12 09:59:04,691 - src.integrations.flexible_field_mapper - INFO - 飞书字段 当前问题状态 不存在于数据中
2025-12-12 09:59:04,691 - src.integrations.flexible_field_mapper - INFO - 字段转换完成: 已映射 15, 未映射 1
2025-12-12 09:59:04,691 - src.integrations.workorder_sync - INFO - 字段转换统计: 总字段 16, 已映射 15, 未映射 1
2025-12-12 09:59:04,692 - src.integrations.workorder_sync - WARNING - 未映射字段: ['当前问题状态']
2025-12-12 09:59:04,692 - src.integrations.workorder_sync - INFO - 字段 '当前问题状态' 的建议映射: {'local_field': 'status', 'similarity': 0.7, 'matched_pattern': '.*状态.*', 'confidence': 'medium', 'reason': "匹配模式 '.*状态.*'"}
2025-12-12 09:59:04,704 - src.integrations.workorder_sync - INFO - 创建工单成功: TR559
2025-12-12 09:59:04,704 - src.integrations.workorder_sync - ERROR - 从飞书记录创建工单失败: Instance <WorkOrder at 0x2e2de1aef90> is not bound to a Session; attribute refresh operation cannot proceed (Background on this error at: https://sqlalche.me/e/20/bhk3)
2025-12-12 09:59:04,705 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:59:04] "[31m[1mPOST /api/feishu-sync/create-workorder HTTP/1.1[0m" 400 -
2025-12-12 09:59:07,297 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:59:07] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 09:59:07,313 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:59:07] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 09:59:12,300 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:59:12] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 09:59:17,291 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:59:17] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 09:59:17,304 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:59:17] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 09:59:22,296 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:59:22] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 09:59:23,519 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:59:23] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-12 09:59:26,833 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:59:26] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 09:59:26,851 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:59:26] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 09:59:31,840 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:59:31] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 09:59:37,285 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:59:37] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 09:59:37,302 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:59:37] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 09:59:42,306 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:59:42] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 09:59:47,293 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:59:47] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 09:59:47,304 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:59:47] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 09:59:52,303 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:59:52] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 09:59:57,297 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:59:57] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 09:59:57,315 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 09:59:57] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:00:02,293 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:00:02] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:00:07,074 - __main__ - INFO - 正在启动TSP智能助手综合管理平台...
2025-12-12 10:00:07,299 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:00:07] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:00:07,318 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:00:07] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:00:07,386 - src.core.database - INFO - 数据库初始化成功
2025-12-12 10:00:07,387 - __main__ - INFO - 跳过系统检查，直接启动服务...
2025-12-12 10:00:09,273 - src.core.backup_manager - INFO - 备份数据库初始化成功: tsp_assistant.db
2025-12-12 10:00:09,284 - src.integrations.config_manager - INFO - 配置加载成功
2025-12-12 10:00:09,394 - werkzeug - INFO - [31m[1mWARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.[0m
 * Running on all addresses (0.0.0.0)
 * Running on http://127.0.0.1:5000
 * Running on http://10.105.212.207:5000
2025-12-12 10:00:09,394 - werkzeug - INFO - [33mPress CTRL+C to quit[0m
2025-12-12 10:00:09,418 - src.web.websocket_server - INFO - 启动WebSocket服务器: ws://localhost:8765
2025-12-12 10:00:12,296 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:00:12] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:00:17,303 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:00:17] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:00:17,341 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:00:17] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:00:18,114 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:00:18] "GET / HTTP/1.1" 200 -
2025-12-12 10:00:18,358 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:00:18] "GET /static/css/design-system.css?v=1.0.0 HTTP/1.1" 200 -
2025-12-12 10:00:18,453 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:00:18] "GET /static/css/style.css?v=1.0.0 HTTP/1.1" 200 -
2025-12-12 10:00:18,453 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:00:18] "GET /static/js/core/store.js HTTP/1.1" 200 -
2025-12-12 10:00:18,458 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:00:18] "GET /static/js/services/api.js HTTP/1.1" 200 -
2025-12-12 10:00:18,460 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:00:18] "GET /static/js/components/NotificationManager.js HTTP/1.1" 200 -
2025-12-12 10:00:18,462 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:00:18] "GET /static/js/components/AlertManager.js HTTP/1.1" 200 -
2025-12-12 10:00:18,666 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:00:18] "GET /static/css/design-system.css HTTP/1.1" 200 -
2025-12-12 10:00:18,776 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:00:18] "GET /static/js/app-new.js HTTP/1.1" 200 -
2025-12-12 10:00:18,776 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:00:18] "GET /static/js/dashboard.js?v=1.0.9 HTTP/1.1" 200 -
2025-12-12 10:00:19,586 - websockets.server - INFO - connection open
2025-12-12 10:00:19,586 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    path = websocket.path
           ^^^^^^^^^^^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:00:19,840 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:00:19] "GET /api/rules HTTP/1.1" 200 -
2025-12-12 10:00:19,843 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:00:19] "GET /api/agent/status HTTP/1.1" 200 -
2025-12-12 10:00:19,846 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:00:19] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:00:19,854 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:00:19] "GET /api/chat/sessions HTTP/1.1" 200 -
2025-12-12 10:00:19,859 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:00:19] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:00:20,152 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:00:20] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-12 10:00:20,157 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:00:20] "GET /api/workorders HTTP/1.1" 200 -
2025-12-12 10:00:20,162 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:00:20] "GET /api/system/info HTTP/1.1" 200 -
2025-12-12 10:00:20,166 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:00:20] "GET /api/knowledge/stats HTTP/1.1" 200 -
2025-12-12 10:00:20,168 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:00:20] "GET /api/feishu-sync/config HTTP/1.1" 200 -
2025-12-12 10:00:20,175 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:00:20] "GET /api/feishu-sync/status HTTP/1.1" 200 -
2025-12-12 10:00:20,489 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:00:20] "GET /api/analytics?days=7&dimension=performance HTTP/1.1" 200 -
2025-12-12 10:00:20,821 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:00:20] "GET /api/settings HTTP/1.1" 200 -
2025-12-12 10:00:21,063 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:00:21] "GET /api/analytics HTTP/1.1" 200 -
2025-12-12 10:00:21,140 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:00:21] "GET /api/analytics?timeRange=30&dimension=workorders HTTP/1.1" 200 -
2025-12-12 10:00:22,312 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:00:22] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:00:23,011 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:00:23] "[33mGET /favicon.ico HTTP/1.1[0m" 404 -
2025-12-12 10:00:24,607 - websockets.server - INFO - connection open
2025-12-12 10:00:24,607 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    path = websocket.path
           ^^^^^^^^^^^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:00:24,837 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:00:24] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:00:24,906 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:00:24] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-12 10:00:24,910 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:00:24] "GET /api/analytics HTTP/1.1" 200 -
2025-12-12 10:00:25,149 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:00:25] "GET /api/analytics?timeRange=30&dimension=workorders HTTP/1.1" 200 -
2025-12-12 10:00:27,297 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:00:27] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:00:27,311 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:00:27] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:00:29,526 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:00:29] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:00:29,624 - websockets.server - INFO - connection open
2025-12-12 10:00:29,624 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    path = websocket.path
           ^^^^^^^^^^^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:00:29,848 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:00:29] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:00:32,300 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:00:32] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:00:55,294 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:00:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:00:55,309 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:00:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:01:55,301 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:01:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:01:55,314 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:01:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:02:55,301 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:02:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:02:55,316 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:02:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:03:12,136 - __main__ - INFO - 正在启动TSP智能助手综合管理平台...
2025-12-12 10:03:12,432 - src.core.database - INFO - 数据库初始化成功
2025-12-12 10:03:12,433 - __main__ - INFO - 跳过系统检查，直接启动服务...
2025-12-12 10:03:14,224 - src.core.backup_manager - INFO - 备份数据库初始化成功: tsp_assistant.db
2025-12-12 10:03:14,233 - src.integrations.config_manager - INFO - 配置加载成功
2025-12-12 10:03:14,339 - werkzeug - INFO - [31m[1mWARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.[0m
 * Running on all addresses (0.0.0.0)
 * Running on http://127.0.0.1:5000
 * Running on http://10.105.212.207:5000
2025-12-12 10:03:14,340 - werkzeug - INFO - [33mPress CTRL+C to quit[0m
2025-12-12 10:03:14,363 - src.web.websocket_server - INFO - 启动WebSocket服务器: ws://localhost:8765
2025-12-12 10:03:24,337 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:03:24] "GET /dashboard HTTP/1.1" 200 -
2025-12-12 10:03:24,525 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:03:24] "GET /static/css/design-system.css?v=1.0.0 HTTP/1.1" 200 -
2025-12-12 10:03:24,525 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:03:24] "GET /static/css/style.css?v=1.0.0 HTTP/1.1" 200 -
2025-12-12 10:03:24,530 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:03:24] "GET /static/js/core/store.js HTTP/1.1" 200 -
2025-12-12 10:03:24,544 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:03:24] "GET /static/js/services/api.js HTTP/1.1" 200 -
2025-12-12 10:03:24,547 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:03:24] "GET /static/js/components/NotificationManager.js HTTP/1.1" 200 -
2025-12-12 10:03:24,549 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:03:24] "GET /static/js/components/AlertManager.js HTTP/1.1" 200 -
2025-12-12 10:03:24,556 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:03:24] "GET /static/js/app-new.js HTTP/1.1" 200 -
2025-12-12 10:03:24,557 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:03:24] "GET /static/js/dashboard.js?v=1.0.9 HTTP/1.1" 200 -
2025-12-12 10:03:24,558 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:03:24] "GET /static/css/design-system.css HTTP/1.1" 200 -
2025-12-12 10:03:25,705 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:03:25] "GET /api/rules HTTP/1.1" 200 -
2025-12-12 10:03:25,705 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:03:25] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:03:25,710 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:03:25] "GET /api/agent/status HTTP/1.1" 200 -
2025-12-12 10:03:25,721 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:03:25] "GET /api/chat/sessions HTTP/1.1" 200 -
2025-12-12 10:03:25,727 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:03:25] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-12 10:03:25,736 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:03:25] "GET /api/workorders HTTP/1.1" 200 -
2025-12-12 10:03:25,742 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:03:25] "GET /api/system/info HTTP/1.1" 200 -
2025-12-12 10:03:25,742 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:03:25] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:03:25,751 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:03:25] "GET /api/knowledge/stats HTTP/1.1" 200 -
2025-12-12 10:03:25,771 - websockets.server - INFO - connection open
2025-12-12 10:03:25,771 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    if websocket.request_headers.get("Origin"):
           ^^^^^^^^^^^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:03:25,773 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:03:25] "GET /api/feishu-sync/config HTTP/1.1" 200 -
2025-12-12 10:03:25,776 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:03:25] "GET /api/feishu-sync/status HTTP/1.1" 200 -
2025-12-12 10:03:25,794 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:03:25] "GET /api/analytics?days=7&dimension=performance HTTP/1.1" 200 -
2025-12-12 10:03:25,811 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:03:25] "GET /api/settings HTTP/1.1" 200 -
2025-12-12 10:03:25,823 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:03:25] "GET /api/analytics HTTP/1.1" 200 -
2025-12-12 10:03:25,833 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:03:25] "GET /api/analytics?timeRange=30&dimension=workorders HTTP/1.1" 200 -
2025-12-12 10:03:26,677 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:03:26] "[33mGET /favicon.ico HTTP/1.1[0m" 404 -
2025-12-12 10:03:30,714 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:03:30] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:03:30,796 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:03:30] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-12 10:03:30,799 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:03:30] "GET /api/analytics HTTP/1.1" 200 -
2025-12-12 10:03:30,802 - websockets.server - INFO - connection open
2025-12-12 10:03:30,804 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    if websocket.request_headers.get("Origin"):
           ^^^^^^^^^^^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:03:30,811 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:03:30] "GET /api/analytics?timeRange=30&dimension=workorders HTTP/1.1" 200 -
2025-12-12 10:03:35,708 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:03:35] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:03:35,723 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:03:35] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:03:35,814 - websockets.server - INFO - connection open
2025-12-12 10:03:35,815 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    if websocket.request_headers.get("Origin"):
           ^^^^^^^^^^^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:03:40,711 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:03:40] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:03:40,821 - websockets.server - INFO - connection open
2025-12-12 10:03:40,821 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    if websocket.request_headers.get("Origin"):
           ^^^^^^^^^^^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:03:55,294 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:03:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:03:55,313 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:03:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:04:55,295 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:04:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:04:55,307 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:04:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:05:55,295 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:05:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:05:55,310 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:05:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:06:55,310 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:06:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:06:55,326 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:06:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:07:26,517 - __main__ - INFO - 正在启动TSP智能助手综合管理平台...
2025-12-12 10:07:26,814 - src.core.database - INFO - 数据库初始化成功
2025-12-12 10:07:26,816 - __main__ - INFO - 跳过系统检查，直接启动服务...
2025-12-12 10:07:28,608 - src.core.backup_manager - INFO - 备份数据库初始化成功: tsp_assistant.db
2025-12-12 10:07:28,617 - src.integrations.config_manager - INFO - 配置加载成功
2025-12-12 10:07:28,722 - werkzeug - INFO - [31m[1mWARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.[0m
 * Running on all addresses (0.0.0.0)
 * Running on http://127.0.0.1:5000
 * Running on http://10.105.212.207:5000
2025-12-12 10:07:28,723 - werkzeug - INFO - [33mPress CTRL+C to quit[0m
2025-12-12 10:07:28,746 - src.web.websocket_server - INFO - 启动WebSocket服务器: ws://localhost:8765
2025-12-12 10:07:55,312 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:07:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:07:55,332 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:07:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:08:55,301 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:08:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:08:55,311 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:08:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:09:36,651 - __main__ - INFO - 正在启动TSP智能助手综合管理平台...
2025-12-12 10:09:36,944 - src.core.database - INFO - 数据库初始化成功
2025-12-12 10:09:36,945 - __main__ - INFO - 跳过系统检查，直接启动服务...
2025-12-12 10:09:38,754 - src.core.backup_manager - INFO - 备份数据库初始化成功: tsp_assistant.db
2025-12-12 10:09:38,764 - src.integrations.config_manager - INFO - 配置加载成功
2025-12-12 10:09:38,877 - werkzeug - INFO - [31m[1mWARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.[0m
 * Running on all addresses (0.0.0.0)
 * Running on http://127.0.0.1:5000
 * Running on http://10.105.212.207:5000
2025-12-12 10:09:38,878 - werkzeug - INFO - [33mPress CTRL+C to quit[0m
2025-12-12 10:09:38,902 - src.web.websocket_server - INFO - 启动WebSocket服务器: ws://localhost:8765
2025-12-12 10:09:55,295 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:09:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:09:55,309 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:09:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:10:55,306 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:10:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:10:55,324 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:10:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:11:06,581 - __main__ - INFO - 正在启动TSP智能助手综合管理平台...
2025-12-12 10:11:06,877 - src.core.database - INFO - 数据库初始化成功
2025-12-12 10:11:06,878 - __main__ - INFO - 跳过系统检查，直接启动服务...
2025-12-12 10:11:08,730 - src.core.backup_manager - INFO - 备份数据库初始化成功: tsp_assistant.db
2025-12-12 10:11:08,740 - src.integrations.config_manager - INFO - 配置加载成功
2025-12-12 10:11:08,843 - werkzeug - INFO - [31m[1mWARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.[0m
 * Running on all addresses (0.0.0.0)
 * Running on http://127.0.0.1:5000
 * Running on http://10.105.212.207:5000
2025-12-12 10:11:08,844 - werkzeug - INFO - [33mPress CTRL+C to quit[0m
2025-12-12 10:11:08,867 - src.web.websocket_server - INFO - 启动WebSocket服务器: ws://localhost:8765
2025-12-12 10:11:44,560 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:11:44] "GET / HTTP/1.1" 200 -
2025-12-12 10:11:44,628 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:11:44] "GET /static/css/design-system.css?v=1.0.0 HTTP/1.1" 200 -
2025-12-12 10:11:44,632 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:11:44] "GET /static/css/style.css?v=1.0.0 HTTP/1.1" 200 -
2025-12-12 10:11:44,636 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:11:44] "GET /static/js/core/store.js HTTP/1.1" 200 -
2025-12-12 10:11:44,640 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:11:44] "GET /static/js/services/api.js HTTP/1.1" 200 -
2025-12-12 10:11:44,646 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:11:44] "GET /static/js/components/NotificationManager.js HTTP/1.1" 200 -
2025-12-12 10:11:44,648 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:11:44] "GET /static/js/components/AlertManager.js HTTP/1.1" 200 -
2025-12-12 10:11:44,652 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:11:44] "GET /static/js/app-new.js HTTP/1.1" 200 -
2025-12-12 10:11:44,655 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:11:44] "GET /static/js/dashboard.js?v=1.0.9 HTTP/1.1" 200 -
2025-12-12 10:11:44,657 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:11:44] "GET /static/css/design-system.css HTTP/1.1" 200 -
2025-12-12 10:11:45,640 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:11:45] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:11:45,641 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:11:45] "GET /api/rules HTTP/1.1" 200 -
2025-12-12 10:11:45,645 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:11:45] "GET /api/agent/status HTTP/1.1" 200 -
2025-12-12 10:11:45,655 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:11:45] "GET /api/chat/sessions HTTP/1.1" 200 -
2025-12-12 10:11:45,663 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:11:45] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-12 10:11:45,672 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:11:45] "GET /api/system/info HTTP/1.1" 200 -
2025-12-12 10:11:45,673 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:11:45] "GET /api/workorders HTTP/1.1" 200 -
2025-12-12 10:11:45,680 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:11:45] "GET /api/knowledge/stats HTTP/1.1" 200 -
2025-12-12 10:11:45,681 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:11:45] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:11:45,703 - websockets.server - INFO - connection open
2025-12-12 10:11:45,704 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    self.port,
           ^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:11:45,706 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:11:45] "GET /api/feishu-sync/config HTTP/1.1" 200 -
2025-12-12 10:11:45,708 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:11:45] "GET /api/feishu-sync/status HTTP/1.1" 200 -
2025-12-12 10:11:45,729 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:11:45] "GET /api/analytics?days=7&dimension=performance HTTP/1.1" 200 -
2025-12-12 10:11:45,745 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:11:45] "GET /api/settings HTTP/1.1" 200 -
2025-12-12 10:11:45,752 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:11:45] "GET /api/analytics HTTP/1.1" 200 -
2025-12-12 10:11:45,767 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:11:45] "GET /api/analytics?timeRange=30&dimension=workorders HTTP/1.1" 200 -
2025-12-12 10:11:46,642 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:11:46] "[33mGET /favicon.ico HTTP/1.1[0m" 404 -
2025-12-12 10:11:50,657 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:11:50] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:11:50,717 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:11:50] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-12 10:11:50,718 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:11:50] "GET /api/analytics HTTP/1.1" 200 -
2025-12-12 10:11:50,730 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:11:50] "GET /api/analytics?timeRange=30&dimension=workorders HTTP/1.1" 200 -
2025-12-12 10:11:50,734 - websockets.server - INFO - connection open
2025-12-12 10:11:50,736 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    self.port,
           ^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:11:55,308 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:11:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:11:55,324 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:11:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:11:55,647 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:11:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:11:55,663 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:11:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:11:55,757 - websockets.server - INFO - connection open
2025-12-12 10:11:55,758 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    self.port,
           ^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:12:00,667 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:12:00] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:12:00,770 - websockets.server - INFO - connection open
2025-12-12 10:12:00,771 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    self.port,
           ^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:12:05,656 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:12:05] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:12:05,665 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:12:05] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:12:05,777 - websockets.server - INFO - connection open
2025-12-12 10:12:05,778 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    self.port,
           ^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:12:10,662 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:12:10] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:12:10,787 - websockets.server - INFO - connection open
2025-12-12 10:12:10,788 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    self.port,
           ^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:12:15,644 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:12:15] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:12:15,653 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:12:15] "GET /api/chat/sessions HTTP/1.1" 200 -
2025-12-12 10:12:15,661 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:12:15] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-12 10:12:15,664 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:12:15] "GET /api/workorders HTTP/1.1" 200 -
2025-12-12 10:12:15,674 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:12:15] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:12:15,675 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:12:15] "GET /api/knowledge/stats HTTP/1.1" 200 -
2025-12-12 10:12:15,685 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:12:15] "GET /api/analytics?days=7&dimension=performance HTTP/1.1" 200 -
2025-12-12 10:12:15,703 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:12:15] "GET /api/settings HTTP/1.1" 200 -
2025-12-12 10:12:15,712 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:12:15] "GET /api/analytics HTTP/1.1" 200 -
2025-12-12 10:12:15,718 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:12:15] "GET /api/analytics?timeRange=30&dimension=workorders HTTP/1.1" 200 -
2025-12-12 10:12:15,796 - websockets.server - INFO - connection open
2025-12-12 10:12:15,796 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    self.port,
           ^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:12:20,656 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:12:20] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:12:20,802 - websockets.server - INFO - connection open
2025-12-12 10:12:20,803 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    self.port,
           ^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:12:55,312 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:12:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:12:55,330 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:12:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:13:55,308 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:13:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:13:55,327 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:13:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:14:01,488 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:14:01] "GET / HTTP/1.1" 200 -
2025-12-12 10:14:01,567 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:14:01] "[36mGET /static/css/design-system.css?v=1.0.0 HTTP/1.1[0m" 304 -
2025-12-12 10:14:01,568 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:14:01] "[36mGET /static/css/style.css?v=1.0.0 HTTP/1.1[0m" 304 -
2025-12-12 10:14:01,587 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:14:01] "[36mGET /static/css/design-system.css HTTP/1.1[0m" 304 -
2025-12-12 10:14:01,591 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:14:01] "[36mGET /static/js/core/store.js HTTP/1.1[0m" 304 -
2025-12-12 10:14:01,596 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:14:01] "[36mGET /static/js/services/api.js HTTP/1.1[0m" 304 -
2025-12-12 10:14:01,604 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:14:01] "[36mGET /static/js/components/NotificationManager.js HTTP/1.1[0m" 304 -
2025-12-12 10:14:01,606 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:14:01] "[36mGET /static/js/components/AlertManager.js HTTP/1.1[0m" 304 -
2025-12-12 10:14:01,612 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:14:01] "[36mGET /static/js/app-new.js HTTP/1.1[0m" 304 -
2025-12-12 10:14:01,614 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:14:01] "[36mGET /static/js/dashboard.js?v=1.0.9 HTTP/1.1[0m" 304 -
2025-12-12 10:14:02,265 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:14:02] "GET /api/rules HTTP/1.1" 200 -
2025-12-12 10:14:02,266 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:14:02] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:14:02,271 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:14:02] "GET /api/agent/status HTTP/1.1" 200 -
2025-12-12 10:14:02,280 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:14:02] "GET /api/chat/sessions HTTP/1.1" 200 -
2025-12-12 10:14:02,285 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:14:02] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-12 10:14:02,295 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:14:02] "GET /api/system/info HTTP/1.1" 200 -
2025-12-12 10:14:02,297 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:14:02] "GET /api/workorders HTTP/1.1" 200 -
2025-12-12 10:14:02,300 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:14:02] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:14:02,304 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:14:02] "GET /api/knowledge/stats HTTP/1.1" 200 -
2025-12-12 10:14:02,355 - websockets.server - INFO - connection open
2025-12-12 10:14:02,356 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    self.port,
           ^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:14:02,358 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:14:02] "GET /api/feishu-sync/config HTTP/1.1" 200 -
2025-12-12 10:14:02,362 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:14:02] "GET /api/feishu-sync/status HTTP/1.1" 200 -
2025-12-12 10:14:02,423 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:14:02] "GET /api/analytics?days=7&dimension=performance HTTP/1.1" 200 -
2025-12-12 10:14:02,444 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:14:02] "GET /api/settings HTTP/1.1" 200 -
2025-12-12 10:14:02,453 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:14:02] "GET /api/analytics HTTP/1.1" 200 -
2025-12-12 10:14:02,461 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:14:02] "GET /api/analytics?timeRange=30&dimension=workorders HTTP/1.1" 200 -
2025-12-12 10:14:07,294 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:14:07] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:14:08,284 - websockets.server - INFO - connection open
2025-12-12 10:14:08,285 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    self.port,
           ^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:14:08,288 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:14:08] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-12 10:14:08,298 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:14:08] "GET /api/analytics HTTP/1.1" 200 -
2025-12-12 10:14:08,307 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:14:08] "GET /api/analytics?timeRange=30&dimension=workorders HTTP/1.1" 200 -
2025-12-12 10:14:12,290 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:14:12] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:14:12,308 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:14:12] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:14:14,293 - websockets.server - INFO - connection open
2025-12-12 10:14:14,294 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    self.port,
           ^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:14:17,308 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:14:17] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:14:20,279 - websockets.server - INFO - connection open
2025-12-12 10:14:20,280 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    self.port,
           ^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:14:22,287 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:14:22] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:14:22,298 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:14:22] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:14:26,291 - websockets.server - INFO - connection open
2025-12-12 10:14:26,292 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    self.port,
           ^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:14:27,298 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:14:27] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:14:32,288 - websockets.server - INFO - connection open
2025-12-12 10:14:32,289 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    self.port,
           ^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:14:32,297 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:14:32] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:14:32,311 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:14:32] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:14:37,304 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:14:37] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:14:37,998 - __main__ - INFO - 正在启动TSP智能助手综合管理平台...
2025-12-12 10:14:38,286 - websockets.server - INFO - connection open
2025-12-12 10:14:38,286 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    self.port,
           ^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:14:38,292 - src.core.database - INFO - 数据库初始化成功
2025-12-12 10:14:38,293 - __main__ - INFO - 跳过系统检查，直接启动服务...
2025-12-12 10:14:40,095 - src.core.backup_manager - INFO - 备份数据库初始化成功: tsp_assistant.db
2025-12-12 10:14:40,104 - src.integrations.config_manager - INFO - 配置加载成功
2025-12-12 10:14:40,207 - werkzeug - INFO - [31m[1mWARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.[0m
 * Running on all addresses (0.0.0.0)
 * Running on http://127.0.0.1:5000
 * Running on http://10.105.212.207:5000
2025-12-12 10:14:40,208 - werkzeug - INFO - [33mPress CTRL+C to quit[0m
2025-12-12 10:14:40,231 - src.web.websocket_server - INFO - 启动WebSocket服务器: ws://localhost:8765
2025-12-12 10:14:42,286 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:14:42] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:14:42,303 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:14:42] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:14:44,291 - websockets.server - INFO - connection open
2025-12-12 10:14:44,292 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    self.port,
           ^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:14:47,303 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:14:47] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:14:48,291 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:14:48] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-12 10:14:49,835 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:14:49] "GET / HTTP/1.1" 200 -
2025-12-12 10:14:50,099 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:14:50] "GET /static/css/design-system.css?v=1.0.0 HTTP/1.1" 200 -
2025-12-12 10:14:50,161 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:14:50] "GET /static/css/style.css?v=1.0.0 HTTP/1.1" 200 -
2025-12-12 10:14:50,161 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:14:50] "GET /static/js/core/store.js HTTP/1.1" 200 -
2025-12-12 10:14:50,162 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:14:50] "GET /static/js/services/api.js HTTP/1.1" 200 -
2025-12-12 10:14:50,165 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:14:50] "GET /static/js/components/NotificationManager.js HTTP/1.1" 200 -
2025-12-12 10:14:50,167 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:14:50] "GET /static/js/components/AlertManager.js HTTP/1.1" 200 -
2025-12-12 10:14:50,283 - websockets.server - INFO - connection open
2025-12-12 10:14:50,284 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    self.port,
           ^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:14:50,406 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:14:50] "GET /static/css/design-system.css HTTP/1.1" 200 -
2025-12-12 10:14:50,468 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:14:50] "GET /static/js/app-new.js HTTP/1.1" 200 -
2025-12-12 10:14:50,475 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:14:50] "GET /static/js/dashboard.js?v=1.0.9 HTTP/1.1" 200 -
2025-12-12 10:14:50,930 - websockets.server - INFO - connection open
2025-12-12 10:14:50,931 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    self.port,
           ^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:14:51,177 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:14:51] "GET /api/rules HTTP/1.1" 200 -
2025-12-12 10:14:51,180 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:14:51] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:14:51,182 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:14:51] "GET /api/agent/status HTTP/1.1" 200 -
2025-12-12 10:14:51,191 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:14:51] "GET /api/chat/sessions HTTP/1.1" 200 -
2025-12-12 10:14:51,198 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:14:51] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:14:51,486 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:14:51] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-12 10:14:51,494 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:14:51] "GET /api/knowledge/stats HTTP/1.1" 200 -
2025-12-12 10:14:51,496 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:14:51] "GET /api/workorders HTTP/1.1" 200 -
2025-12-12 10:14:51,498 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:14:51] "GET /api/system/info HTTP/1.1" 200 -
2025-12-12 10:14:51,502 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:14:51] "GET /api/feishu-sync/config HTTP/1.1" 200 -
2025-12-12 10:14:51,509 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:14:51] "GET /api/feishu-sync/status HTTP/1.1" 200 -
2025-12-12 10:14:51,809 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:14:51] "GET /api/analytics?days=7&dimension=performance HTTP/1.1" 200 -
2025-12-12 10:14:52,132 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:14:52] "GET /api/settings HTTP/1.1" 200 -
2025-12-12 10:14:52,205 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:14:52] "[33mGET /favicon.ico HTTP/1.1[0m" 404 -
2025-12-12 10:14:52,289 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:14:52] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:14:52,307 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:14:52] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:14:52,391 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:14:52] "GET /api/analytics HTTP/1.1" 200 -
2025-12-12 10:14:52,455 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:14:52] "GET /api/analytics?timeRange=30&dimension=workorders HTTP/1.1" 200 -
2025-12-12 10:14:55,294 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:14:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:14:55,312 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:14:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:14:55,965 - websockets.server - INFO - connection open
2025-12-12 10:14:55,966 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    self.port,
           ^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:14:56,186 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:14:56] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:14:56,256 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:14:56] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-12 10:14:56,260 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:14:56] "GET /api/analytics HTTP/1.1" 200 -
2025-12-12 10:14:56,294 - websockets.server - INFO - connection open
2025-12-12 10:14:56,296 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    self.port,
           ^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:14:56,583 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:14:56] "GET /api/analytics?timeRange=30&dimension=workorders HTTP/1.1" 200 -
2025-12-12 10:14:57,313 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:14:57] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:15:00,887 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:15:00] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:15:00,974 - websockets.server - INFO - connection open
2025-12-12 10:15:00,975 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    self.port,
           ^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:15:01,198 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:15:01] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:15:02,290 - websockets.server - INFO - connection open
2025-12-12 10:15:02,291 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    self.port,
           ^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:15:02,296 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:15:02] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:15:05,979 - websockets.server - INFO - connection open
2025-12-12 10:15:05,980 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    self.port,
           ^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:15:06,197 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:15:06] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:15:08,293 - websockets.server - INFO - connection open
2025-12-12 10:15:08,294 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    self.port,
           ^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:15:14,288 - websockets.server - INFO - connection open
2025-12-12 10:15:14,288 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    self.port,
           ^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:15:20,288 - websockets.server - INFO - connection open
2025-12-12 10:15:20,289 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    self.port,
           ^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:15:26,287 - websockets.server - INFO - connection open
2025-12-12 10:15:26,288 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    self.port,
           ^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:15:32,280 - websockets.server - INFO - connection open
2025-12-12 10:15:32,281 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    self.port,
           ^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:15:38,280 - websockets.server - INFO - connection open
2025-12-12 10:15:38,281 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    self.port,
           ^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:15:44,283 - websockets.server - INFO - connection open
2025-12-12 10:15:44,284 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    self.port,
           ^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:15:50,288 - websockets.server - INFO - connection open
2025-12-12 10:15:50,289 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    self.port,
           ^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:15:55,302 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:15:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:15:55,309 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:15:55] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-12 10:15:55,317 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:15:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:15:55,321 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:15:55] "GET /api/analytics HTTP/1.1" 200 -
2025-12-12 10:15:55,330 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:15:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:15:55,332 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:15:55] "GET /api/analytics?timeRange=30&dimension=workorders HTTP/1.1" 200 -
2025-12-12 10:15:55,350 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:15:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:15:56,283 - websockets.server - INFO - connection open
2025-12-12 10:15:56,284 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    self.port,
           ^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:16:02,283 - websockets.server - INFO - connection open
2025-12-12 10:16:02,283 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    self.port,
           ^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:16:08,294 - websockets.server - INFO - connection open
2025-12-12 10:16:08,295 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    self.port,
           ^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:16:14,285 - websockets.server - INFO - connection open
2025-12-12 10:16:14,285 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    self.port,
           ^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:16:20,280 - websockets.server - INFO - connection open
2025-12-12 10:16:20,281 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    self.port,
           ^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:16:26,287 - websockets.server - INFO - connection open
2025-12-12 10:16:26,287 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    self.port,
           ^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:16:32,292 - websockets.server - INFO - connection open
2025-12-12 10:16:32,293 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    self.port,
           ^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:16:38,282 - websockets.server - INFO - connection open
2025-12-12 10:16:38,282 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    self.port,
           ^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:16:44,293 - websockets.server - INFO - connection open
2025-12-12 10:16:44,294 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    self.port,
           ^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:16:50,289 - websockets.server - INFO - connection open
2025-12-12 10:16:50,290 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    self.port,
           ^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:16:55,299 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:16:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:16:55,306 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:16:55] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-12 10:16:55,311 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:16:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:16:55,318 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:16:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:16:55,334 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:16:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:16:56,285 - websockets.server - INFO - connection open
2025-12-12 10:16:56,285 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    self.port,
           ^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:17:02,285 - websockets.server - INFO - connection open
2025-12-12 10:17:02,285 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    self.port,
           ^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:17:08,288 - websockets.server - INFO - connection open
2025-12-12 10:17:08,288 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    self.port,
           ^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:17:14,292 - websockets.server - INFO - connection open
2025-12-12 10:17:14,293 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    self.port,
           ^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:17:20,294 - websockets.server - INFO - connection open
2025-12-12 10:17:20,295 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    self.port,
           ^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:17:24,458 - __main__ - INFO - 正在启动TSP智能助手综合管理平台...
2025-12-12 10:17:24,751 - src.core.database - INFO - 数据库初始化成功
2025-12-12 10:17:24,752 - __main__ - INFO - 跳过系统检查，直接启动服务...
2025-12-12 10:17:26,291 - websockets.server - INFO - connection open
2025-12-12 10:17:26,292 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    self.port,
           ^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:17:26,569 - src.core.backup_manager - INFO - 备份数据库初始化成功: tsp_assistant.db
2025-12-12 10:17:26,579 - src.integrations.config_manager - INFO - 配置加载成功
2025-12-12 10:17:26,687 - werkzeug - INFO - [31m[1mWARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.[0m
 * Running on all addresses (0.0.0.0)
 * Running on http://127.0.0.1:5000
 * Running on http://10.105.212.207:5000
2025-12-12 10:17:26,688 - werkzeug - INFO - [33mPress CTRL+C to quit[0m
2025-12-12 10:17:26,711 - src.web.websocket_server - INFO - 启动WebSocket服务器: ws://localhost:8765
2025-12-12 10:17:32,291 - websockets.server - INFO - connection open
2025-12-12 10:17:32,292 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    self.port,
           ^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:17:36,014 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:17:36] "GET / HTTP/1.1" 200 -
2025-12-12 10:17:36,275 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:17:36] "GET /static/css/design-system.css?v=1.0.0 HTTP/1.1" 200 -
2025-12-12 10:17:36,339 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:17:36] "GET /static/css/style.css?v=1.0.0 HTTP/1.1" 200 -
2025-12-12 10:17:36,339 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:17:36] "GET /static/js/core/store.js HTTP/1.1" 200 -
2025-12-12 10:17:36,341 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:17:36] "GET /static/js/services/api.js HTTP/1.1" 200 -
2025-12-12 10:17:36,342 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:17:36] "GET /static/js/components/NotificationManager.js HTTP/1.1" 200 -
2025-12-12 10:17:36,344 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:17:36] "GET /static/js/components/AlertManager.js HTTP/1.1" 200 -
2025-12-12 10:17:36,584 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:17:36] "GET /static/css/design-system.css HTTP/1.1" 200 -
2025-12-12 10:17:36,648 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:17:36] "GET /static/js/app-new.js HTTP/1.1" 200 -
2025-12-12 10:17:36,653 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:17:36] "GET /static/js/dashboard.js?v=1.0.9 HTTP/1.1" 200 -
2025-12-12 10:17:37,080 - websockets.server - INFO - connection open
2025-12-12 10:17:37,081 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    self.port,
           ^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:17:37,333 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:17:37] "GET /api/agent/status HTTP/1.1" 200 -
2025-12-12 10:17:37,334 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:17:37] "GET /api/rules HTTP/1.1" 200 -
2025-12-12 10:17:37,337 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:17:37] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:17:37,341 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:17:37] "GET /api/chat/sessions HTTP/1.1" 200 -
2025-12-12 10:17:37,352 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:17:37] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:17:37,648 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:17:37] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-12 10:17:37,651 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:17:37] "GET /api/workorders HTTP/1.1" 200 -
2025-12-12 10:17:37,654 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:17:37] "GET /api/system/info HTTP/1.1" 200 -
2025-12-12 10:17:37,658 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:17:37] "GET /api/knowledge/stats HTTP/1.1" 200 -
2025-12-12 10:17:37,659 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:17:37] "GET /api/feishu-sync/config HTTP/1.1" 200 -
2025-12-12 10:17:37,665 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:17:37] "GET /api/feishu-sync/status HTTP/1.1" 200 -
2025-12-12 10:17:37,984 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:17:37] "GET /api/analytics?days=7&dimension=performance HTTP/1.1" 200 -
2025-12-12 10:17:38,200 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:17:38] "[33mGET /favicon.ico HTTP/1.1[0m" 404 -
2025-12-12 10:17:38,293 - websockets.server - INFO - connection open
2025-12-12 10:17:38,293 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    self.port,
           ^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:17:38,314 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:17:38] "GET /api/settings HTTP/1.1" 200 -
2025-12-12 10:17:38,631 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:17:38] "GET /api/analytics HTTP/1.1" 200 -
2025-12-12 10:17:38,890 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:17:38] "GET /api/analytics?timeRange=30&dimension=workorders HTTP/1.1" 200 -
2025-12-12 10:17:42,098 - websockets.server - INFO - connection open
2025-12-12 10:17:42,099 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    self.port,
           ^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:17:42,336 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:17:42] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:17:42,410 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:17:42] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-12 10:17:42,417 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:17:42] "GET /api/analytics HTTP/1.1" 200 -
2025-12-12 10:17:42,730 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:17:42] "GET /api/analytics?timeRange=30&dimension=workorders HTTP/1.1" 200 -
2025-12-12 10:17:44,292 - websockets.server - INFO - connection open
2025-12-12 10:17:44,292 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    self.port,
           ^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:17:47,108 - websockets.server - INFO - connection open
2025-12-12 10:17:47,108 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    self.port,
           ^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:17:47,336 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:17:47] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:17:47,344 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:17:47] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:17:50,289 - websockets.server - INFO - connection open
2025-12-12 10:17:50,290 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    self.port,
           ^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:17:55,303 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:17:55] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-12 10:17:55,305 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:17:55] "GET /api/analytics HTTP/1.1" 200 -
2025-12-12 10:17:55,311 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:17:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:17:55,328 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:17:55] "GET /api/analytics?timeRange=30&dimension=workorders HTTP/1.1" 200 -
2025-12-12 10:17:55,330 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:17:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:17:56,286 - websockets.server - INFO - connection open
2025-12-12 10:17:56,286 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    self.port,
           ^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:18:02,287 - websockets.server - INFO - connection open
2025-12-12 10:18:02,287 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    self.port,
           ^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:18:08,282 - websockets.server - INFO - connection open
2025-12-12 10:18:08,283 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    self.port,
           ^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:18:14,290 - websockets.server - INFO - connection open
2025-12-12 10:18:14,290 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    self.port,
           ^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:18:20,282 - websockets.server - INFO - connection open
2025-12-12 10:18:20,283 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    self.port,
           ^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:18:26,285 - websockets.server - INFO - connection open
2025-12-12 10:18:26,285 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    self.port,
           ^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:18:32,285 - websockets.server - INFO - connection open
2025-12-12 10:18:32,286 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    self.port,
           ^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:18:38,282 - websockets.server - INFO - connection open
2025-12-12 10:18:38,282 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    self.port,
           ^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:18:44,291 - websockets.server - INFO - connection open
2025-12-12 10:18:44,292 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    self.port,
           ^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:18:50,280 - websockets.server - INFO - connection open
2025-12-12 10:18:50,281 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    self.port,
           ^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:18:55,303 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:18:55] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-12 10:18:55,306 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:18:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:18:55,318 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:18:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:18:56,283 - websockets.server - INFO - connection open
2025-12-12 10:18:56,284 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    self.port,
           ^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:19:02,291 - websockets.server - INFO - connection open
2025-12-12 10:19:02,291 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    self.port,
           ^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:19:08,282 - websockets.server - INFO - connection open
2025-12-12 10:19:08,283 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    self.port,
           ^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:19:14,296 - websockets.server - INFO - connection open
2025-12-12 10:19:14,296 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    self.port,
           ^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:19:20,295 - websockets.server - INFO - connection open
2025-12-12 10:19:20,296 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    self.port,
           ^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:19:26,282 - websockets.server - INFO - connection open
2025-12-12 10:19:26,282 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    self.port,
           ^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:19:32,284 - websockets.server - INFO - connection open
2025-12-12 10:19:32,285 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    self.port,
           ^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:19:38,290 - websockets.server - INFO - connection open
2025-12-12 10:19:38,290 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    self.port,
           ^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:19:44,289 - websockets.server - INFO - connection open
2025-12-12 10:19:44,289 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    self.port,
           ^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:19:50,293 - websockets.server - INFO - connection open
2025-12-12 10:19:50,293 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    self.port,
           ^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:19:55,325 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:19:55] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-12 10:19:55,331 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:19:55] "GET /api/analytics HTTP/1.1" 200 -
2025-12-12 10:19:55,335 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:19:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:19:55,352 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:19:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:19:55,359 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:19:55] "GET /api/analytics?timeRange=30&dimension=workorders HTTP/1.1" 200 -
2025-12-12 10:19:56,329 - websockets.server - INFO - connection open
2025-12-12 10:19:56,329 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    self.port,
           ^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:20:02,292 - websockets.server - INFO - connection open
2025-12-12 10:20:02,293 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    self.port,
           ^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:20:08,289 - websockets.server - INFO - connection open
2025-12-12 10:20:08,289 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    self.port,
           ^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:20:14,295 - websockets.server - INFO - connection open
2025-12-12 10:20:14,295 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 247, in handle_client_with_cors
    self.port,
           ^^^^
AttributeError: 'ServerConnection' object has no attribute 'path'
2025-12-12 10:20:18,194 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:20:18] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:20:18,225 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:20:18] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:20:22,298 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:20:22] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:20:22,314 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:20:22] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:20:27,300 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:20:27] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:20:32,297 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:20:32] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:20:32,312 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:20:32] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:20:37,296 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:20:37] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:20:42,290 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:20:42] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:20:42,306 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:20:42] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:20:43,051 - __main__ - INFO - 正在启动TSP智能助手综合管理平台...
2025-12-12 10:20:43,444 - src.core.database - INFO - 数据库初始化成功
2025-12-12 10:20:43,445 - __main__ - INFO - 跳过系统检查，直接启动服务...
2025-12-12 10:20:45,490 - src.core.backup_manager - INFO - 备份数据库初始化成功: tsp_assistant.db
2025-12-12 10:20:45,500 - src.integrations.config_manager - INFO - 配置加载成功
2025-12-12 10:20:45,614 - werkzeug - INFO - [31m[1mWARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.[0m
 * Running on all addresses (0.0.0.0)
 * Running on http://127.0.0.1:5000
 * Running on http://10.105.212.207:5000
2025-12-12 10:20:45,615 - werkzeug - INFO - [33mPress CTRL+C to quit[0m
2025-12-12 10:20:45,640 - src.web.websocket_server - INFO - 启动WebSocket服务器: ws://localhost:8765
2025-12-12 10:20:45,646 - websockets.server - INFO - server listening on [::1]:8765
2025-12-12 10:20:45,646 - websockets.server - INFO - server listening on 127.0.0.1:8765
2025-12-12 10:20:47,293 - src.web.service_manager - INFO - 服务 assistant 已初始化
2025-12-12 10:20:47,304 - src.web.service_manager - INFO - 服务 assistant 已初始化
2025-12-12 10:20:47,333 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:20:47] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:20:48,813 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:20:48] "GET / HTTP/1.1" 200 -
2025-12-12 10:20:49,080 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:20:49] "[36mGET /static/css/style.css?v=1.0.0 HTTP/1.1[0m" 304 -
2025-12-12 10:20:49,086 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:20:49] "[36mGET /static/js/app-new.js HTTP/1.1[0m" 304 -
2025-12-12 10:20:49,091 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:20:49] "[36mGET /static/js/dashboard.js?v=1.0.9 HTTP/1.1[0m" 304 -
2025-12-12 10:20:49,137 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:20:49] "[36mGET /static/css/design-system.css HTTP/1.1[0m" 304 -
2025-12-12 10:20:49,140 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:20:49] "[36mGET /static/js/components/NotificationManager.js HTTP/1.1[0m" 304 -
2025-12-12 10:20:49,143 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:20:49] "[36mGET /static/css/design-system.css?v=1.0.0 HTTP/1.1[0m" 304 -
2025-12-12 10:20:49,151 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:20:49] "[36mGET /static/js/core/store.js HTTP/1.1[0m" 304 -
2025-12-12 10:20:49,164 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:20:49] "[36mGET /static/js/services/api.js HTTP/1.1[0m" 304 -
2025-12-12 10:20:49,171 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:20:49] "[36mGET /static/js/components/AlertManager.js HTTP/1.1[0m" 304 -
2025-12-12 10:20:49,488 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:20:49] "GET /api/rules HTTP/1.1" 200 -
2025-12-12 10:20:49,489 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:20:49] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:20:49,494 - src.agent_assistant - INFO - TSP Agent助手初始化完成
2025-12-12 10:20:49,497 - src.web.service_manager - INFO - 服务 agent_assistant 已初始化
2025-12-12 10:20:49,502 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:20:49] "GET /api/agent/status HTTP/1.1" 200 -
2025-12-12 10:20:49,506 - src.web.service_manager - INFO - 服务 chat_manager 已初始化
2025-12-12 10:20:49,508 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:20:49] "GET /api/chat/sessions HTTP/1.1" 200 -
2025-12-12 10:20:49,514 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:20:49] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-12 10:20:49,526 - websockets.server - INFO - connection open
2025-12-12 10:20:49,532 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
          ^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: WebSocketServer.handle_client() missing 1 required positional argument: 'path'
2025-12-12 10:20:49,534 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:20:49] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:20:49,539 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:20:49] "GET /api/system/info HTTP/1.1" 200 -
2025-12-12 10:20:49,543 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:20:49] "GET /api/workorders HTTP/1.1" 200 -
2025-12-12 10:20:49,545 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:20:49] "GET /api/feishu-sync/config HTTP/1.1" 200 -
2025-12-12 10:20:49,554 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:20:49] "GET /api/knowledge/stats HTTP/1.1" 200 -
2025-12-12 10:20:49,577 - src.config.unified_config - WARNING - 无法加载默认LLM配置，使用内置默认值: No module named 'config.llm_config'
2025-12-12 10:20:49,577 - src.config.unified_config - INFO - 配置文件加载成功
2025-12-12 10:20:49,578 - src.integrations.ai_suggestion_service - INFO - 使用LLM配置: qwen - qwen-plus-latest
2025-12-12 10:20:49,581 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: TR Number -> order_id
2025-12-12 10:20:49,585 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: TR Description -> description
2025-12-12 10:20:49,588 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Type of problem -> category
2025-12-12 10:20:49,591 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: TR Level -> priority
2025-12-12 10:20:49,593 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: TR Status -> status
2025-12-12 10:20:49,595 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Source -> source
2025-12-12 10:20:49,597 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Date creation -> created_at
2025-12-12 10:20:49,600 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: 处理过程 -> resolution
2025-12-12 10:20:49,602 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: TR tracking -> resolution
2025-12-12 10:20:49,604 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Created by -> created_by
2025-12-12 10:20:49,606 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Module（模块） -> module
2025-12-12 10:20:49,608 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Wilfulness（责任人） -> wilfulness
2025-12-12 10:20:49,611 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Date of close TR -> date_of_close
2025-12-12 10:20:49,613 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Vehicle Type01 -> vehicle_type
2025-12-12 10:20:49,616 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: VIN|sim -> vin_sim
2025-12-12 10:20:49,624 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: App remote control version -> app_remote_control_version
2025-12-12 10:20:49,628 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:20:49] "GET /api/analytics?days=7&dimension=performance HTTP/1.1" 200 -
2025-12-12 10:20:49,629 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: HMI SW -> hmi_sw
2025-12-12 10:20:49,630 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: 父记录 -> parent_record
2025-12-12 10:20:49,634 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Has it been updated on the same day -> has_updated_same_day
2025-12-12 10:20:49,637 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Operating time -> operating_time
2025-12-12 10:20:49,639 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: AI建议 -> ai_suggestion
2025-12-12 10:20:49,641 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Issue Start Time -> updated_at
2025-12-12 10:20:49,653 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:20:49] "GET /api/feishu-sync/status HTTP/1.1" 200 -
2025-12-12 10:20:49,662 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:20:49] "GET /api/settings HTTP/1.1" 200 -
2025-12-12 10:20:49,675 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:20:49] "GET /api/analytics HTTP/1.1" 200 -
2025-12-12 10:20:49,686 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:20:49] "GET /api/analytics?timeRange=30&dimension=workorders HTTP/1.1" 200 -
2025-12-12 10:20:52,021 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:20:52] "GET /api/workorders?page=1&per_page=10 HTTP/1.1" 200 -
2025-12-12 10:20:52,294 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:20:52] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:20:52,314 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:20:52] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:20:54,286 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:20:54] "GET /api/workorders/1 HTTP/1.1" 200 -
2025-12-12 10:20:54,528 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:20:54] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:20:54,537 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:20:54] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-12 10:20:54,546 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:20:54] "GET /api/analytics HTTP/1.1" 200 -
2025-12-12 10:20:54,575 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:20:54] "GET /api/analytics?timeRange=30&dimension=workorders HTTP/1.1" 200 -
2025-12-12 10:20:54,634 - websockets.server - INFO - connection open
2025-12-12 10:20:54,637 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
          ^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: WebSocketServer.handle_client() missing 1 required positional argument: 'path'
2025-12-12 10:20:55,141 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:20:55] "GET / HTTP/1.1" 200 -
2025-12-12 10:20:55,401 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:20:55] "GET /static/css/design-system.css?v=1.0.0 HTTP/1.1" 200 -
2025-12-12 10:20:55,462 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:20:55] "GET /static/css/style.css?v=1.0.0 HTTP/1.1" 200 -
2025-12-12 10:20:55,465 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:20:55] "GET /static/js/core/store.js HTTP/1.1" 200 -
2025-12-12 10:20:55,468 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:20:55] "GET /static/js/services/api.js HTTP/1.1" 200 -
2025-12-12 10:20:55,470 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:20:55] "GET /static/js/components/NotificationManager.js HTTP/1.1" 200 -
2025-12-12 10:20:55,472 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:20:55] "GET /static/js/components/AlertManager.js HTTP/1.1" 200 -
2025-12-12 10:20:55,712 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:20:55] "GET /static/css/design-system.css HTTP/1.1" 200 -
2025-12-12 10:20:55,774 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:20:55] "GET /static/js/app-new.js HTTP/1.1" 200 -
2025-12-12 10:20:55,775 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:20:55] "GET /static/js/dashboard.js?v=1.0.9 HTTP/1.1" 200 -
2025-12-12 10:20:56,227 - websockets.server - INFO - connection open
2025-12-12 10:20:56,228 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
          ^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: WebSocketServer.handle_client() missing 1 required positional argument: 'path'
2025-12-12 10:20:56,474 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:20:56] "GET /api/rules HTTP/1.1" 200 -
2025-12-12 10:20:56,479 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:20:56] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:20:56,483 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:20:56] "GET /api/agent/status HTTP/1.1" 200 -
2025-12-12 10:20:56,493 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:20:56] "GET /api/chat/sessions HTTP/1.1" 200 -
2025-12-12 10:20:56,505 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:20:56] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:20:56,785 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:20:56] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-12 10:20:56,792 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:20:56] "GET /api/workorders HTTP/1.1" 200 -
2025-12-12 10:20:56,794 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:20:56] "GET /api/knowledge/stats HTTP/1.1" 200 -
2025-12-12 10:20:56,801 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:20:56] "GET /api/system/info HTTP/1.1" 200 -
2025-12-12 10:20:56,815 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:20:56] "GET /api/feishu-sync/config HTTP/1.1" 200 -
2025-12-12 10:20:56,820 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:20:56] "GET /api/feishu-sync/status HTTP/1.1" 200 -
2025-12-12 10:20:57,107 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:20:57] "GET /api/analytics?days=7&dimension=performance HTTP/1.1" 200 -
2025-12-12 10:20:57,307 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:20:57] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:20:57,435 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:20:57] "GET /api/settings HTTP/1.1" 200 -
2025-12-12 10:20:57,460 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:20:57] "[33mGET /favicon.ico HTTP/1.1[0m" 404 -
2025-12-12 10:20:57,692 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:20:57] "GET /api/analytics HTTP/1.1" 200 -
2025-12-12 10:20:57,754 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:20:57] "GET /api/analytics?timeRange=30&dimension=workorders HTTP/1.1" 200 -
2025-12-12 10:20:59,481 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:20:59] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:20:59,496 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:20:59] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:20:59,661 - websockets.server - INFO - connection open
2025-12-12 10:20:59,662 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
          ^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: WebSocketServer.handle_client() missing 1 required positional argument: 'path'
2025-12-12 10:21:01,250 - websockets.server - INFO - connection open
2025-12-12 10:21:01,251 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
          ^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: WebSocketServer.handle_client() missing 1 required positional argument: 'path'
2025-12-12 10:21:01,491 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:21:01] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:21:01,550 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:21:01] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-12 10:21:01,556 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:21:01] "GET /api/analytics HTTP/1.1" 200 -
2025-12-12 10:21:01,875 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:21:01] "GET /api/analytics?timeRange=30&dimension=workorders HTTP/1.1" 200 -
2025-12-12 10:21:02,292 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:21:02] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:21:02,310 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:21:02] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:21:04,487 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:21:04] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:21:04,669 - websockets.server - INFO - connection open
2025-12-12 10:21:04,669 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
          ^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: WebSocketServer.handle_client() missing 1 required positional argument: 'path'
2025-12-12 10:21:06,268 - websockets.server - INFO - connection open
2025-12-12 10:21:06,268 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
          ^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: WebSocketServer.handle_client() missing 1 required positional argument: 'path'
2025-12-12 10:21:06,486 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:21:06] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:21:06,504 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:21:06] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:21:07,310 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:21:07] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:21:09,492 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:21:09] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:21:09,546 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:21:09] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:21:09,685 - websockets.server - INFO - connection open
2025-12-12 10:21:09,686 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
          ^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: WebSocketServer.handle_client() missing 1 required positional argument: 'path'
2025-12-12 10:21:12,296 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:21:12] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:21:12,322 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:21:12] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:21:15,302 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:21:15] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:21:17,314 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:21:17] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:21:20,290 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:21:20] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:21:20,304 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:21:20] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:21:22,291 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:21:22] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:21:22,306 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:21:22] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:21:25,297 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:21:25] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:21:30,294 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:21:30] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:21:30,309 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:21:30] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:21:35,310 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:21:35] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:21:40,291 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:21:40] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:21:40,307 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:21:40] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:21:45,304 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:21:45] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:21:50,298 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:21:50] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:21:50,316 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:21:50] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:21:55,297 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:21:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:21:55,308 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:21:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:21:55,326 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:21:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:22:00,286 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:22:00] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:22:00,299 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:22:00] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:22:05,302 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:22:05] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:22:10,296 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:22:10] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:22:10,312 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:22:10] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:22:55,308 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:22:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:22:55,317 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:22:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:22:55,318 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:22:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:22:55,349 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:22:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:23:24,018 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:23:24] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-12 10:23:24,036 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:23:24] "GET /api/analytics HTTP/1.1" 200 -
2025-12-12 10:23:24,037 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:23:24] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:23:24,043 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:23:24] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-12 10:23:24,057 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:23:24] "GET /api/analytics HTTP/1.1" 200 -
2025-12-12 10:23:24,062 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:23:24] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:23:24,068 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:23:24] "GET /api/analytics?timeRange=30&dimension=workorders HTTP/1.1" 200 -
2025-12-12 10:23:24,074 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:23:24] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:23:24,083 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:23:24] "GET /api/analytics?timeRange=30&dimension=workorders HTTP/1.1" 200 -
2025-12-12 10:23:24,102 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:23:24] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:23:24,490 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:23:24] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:23:27,304 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:23:27] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:23:27,360 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:23:27] "GET /api/knowledge?page=1&per_page=10 HTTP/1.1" 200 -
2025-12-12 10:23:28,191 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:23:28] "GET /api/alerts?page=1&per_page=10 HTTP/1.1" 200 -
2025-12-12 10:23:28,972 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:23:28] "GET /api/knowledge?page=1&per_page=10 HTTP/1.1" 200 -
2025-12-12 10:23:29,488 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:23:29] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:23:29,504 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:23:29] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:23:29,756 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:23:29] "GET /api/agent/status HTTP/1.1" 200 -
2025-12-12 10:23:29,757 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:23:29] "GET /api/agent/tools/stats HTTP/1.1" 200 -
2025-12-12 10:23:30,188 - __main__ - INFO - 正在启动TSP智能助手综合管理平台...
2025-12-12 10:23:30,493 - src.core.database - INFO - 数据库初始化成功
2025-12-12 10:23:30,495 - __main__ - INFO - 跳过系统检查，直接启动服务...
2025-12-12 10:23:32,300 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:23:32] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:23:32,317 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:23:32] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:23:32,372 - src.core.backup_manager - INFO - 备份数据库初始化成功: tsp_assistant.db
2025-12-12 10:23:32,382 - src.integrations.config_manager - INFO - 配置加载成功
2025-12-12 10:23:32,489 - werkzeug - INFO - [31m[1mWARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.[0m
 * Running on all addresses (0.0.0.0)
 * Running on http://127.0.0.1:5000
 * Running on http://10.105.212.207:5000
2025-12-12 10:23:32,490 - werkzeug - INFO - [33mPress CTRL+C to quit[0m
2025-12-12 10:23:32,515 - src.web.websocket_server - INFO - 启动WebSocket服务器: ws://localhost:8765
2025-12-12 10:23:33,519 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:23:33] "GET /api/agent/status HTTP/1.1" 200 -
2025-12-12 10:23:33,520 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:23:33] "GET /api/agent/tools/stats HTTP/1.1" 200 -
2025-12-12 10:23:34,498 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:23:34] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:23:34,873 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:23:34] "GET /api/knowledge?page=1&per_page=10 HTTP/1.1" 200 -
2025-12-12 10:23:37,313 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:23:37] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:23:39,391 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:23:39] "GET /api/conversations?page=1&per_page=10 HTTP/1.1" 200 -
2025-12-12 10:23:39,486 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:23:39] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:23:39,502 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:23:39] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:23:41,279 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:23:41] "GET /api/token-monitor/stats HTTP/1.1" 200 -
2025-12-12 10:23:41,298 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:23:41] "GET /api/token-monitor/records HTTP/1.1" 200 -
2025-12-12 10:23:41,299 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:23:41] "GET /api/token-monitor/chart HTTP/1.1" 200 -
2025-12-12 10:23:41,826 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:23:41] "GET /api/ai-monitor/stats HTTP/1.1" 200 -
2025-12-12 10:23:41,837 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:23:41] "GET /api/ai-monitor/model-comparison HTTP/1.1" 200 -
2025-12-12 10:23:41,839 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:23:41] "GET /api/ai-monitor/error-distribution HTTP/1.1" 200 -
2025-12-12 10:23:41,841 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:23:41] "GET /api/ai-monitor/error-log HTTP/1.1" 200 -
2025-12-12 10:23:42,314 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:23:42] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:23:42,351 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:23:42] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:23:43,303 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:23:43] "GET /api/analytics HTTP/1.1" 200 -
2025-12-12 10:23:43,366 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:23:43] "GET /api/analytics?timeRange=30&dimension=workorders HTTP/1.1" 200 -
2025-12-12 10:23:43,405 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:23:43] "GET /api/analytics?timeRange=30&dimension=workorders HTTP/1.1" 200 -
2025-12-12 10:23:43,753 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:23:43] "GET /api/system-optimizer/status HTTP/1.1" 200 -
2025-12-12 10:23:43,762 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:23:43] "GET /api/system-optimizer/security-settings HTTP/1.1" 200 -
2025-12-12 10:23:43,764 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:23:43] "GET /api/system-optimizer/traffic-settings HTTP/1.1" 200 -
2025-12-12 10:23:43,766 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:23:43] "GET /api/system-optimizer/cost-settings HTTP/1.1" 200 -
2025-12-12 10:23:44,487 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:23:44] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:23:47,304 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:23:47] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:23:50,286 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:23:50] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:23:50,299 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:23:50] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:23:52,292 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:23:52] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:23:52,314 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:23:52] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:23:55,308 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:23:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:23:57,303 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:23:57] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:24:00,288 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:24:00] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:24:00,303 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:24:00] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:24:02,299 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:24:02] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:24:02,312 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:24:02] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:24:05,293 - src.web.service_manager - INFO - 服务 assistant 已初始化
2025-12-12 10:24:05,293 - src.web.service_manager - INFO - 服务 assistant 已初始化
2025-12-12 10:24:05,317 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:24:05] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:24:07,305 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:24:07] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:24:10,305 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:24:10] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:24:10,321 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:24:10] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:24:21,790 - __main__ - INFO - 正在启动TSP智能助手综合管理平台...
2025-12-12 10:24:22,087 - src.core.database - INFO - 数据库初始化成功
2025-12-12 10:24:22,089 - __main__ - INFO - 跳过系统检查，直接启动服务...
2025-12-12 10:24:23,943 - src.core.backup_manager - INFO - 备份数据库初始化成功: tsp_assistant.db
2025-12-12 10:24:23,953 - src.integrations.config_manager - INFO - 配置加载成功
2025-12-12 10:24:24,058 - werkzeug - INFO - [31m[1mWARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.[0m
 * Running on all addresses (0.0.0.0)
 * Running on http://127.0.0.1:5000
 * Running on http://10.105.212.207:5000
2025-12-12 10:24:24,059 - werkzeug - INFO - [33mPress CTRL+C to quit[0m
2025-12-12 10:24:24,082 - src.web.websocket_server - INFO - 启动WebSocket服务器: ws://localhost:8765
2025-12-12 10:24:24,088 - websockets.server - INFO - server listening on [::1]:8765
2025-12-12 10:24:24,088 - websockets.server - INFO - server listening on 127.0.0.1:8765
2025-12-12 10:24:24,377 - src.web.service_manager - INFO - 服务 assistant 已初始化
2025-12-12 10:24:24,379 - src.web.service_manager - INFO - 服务 assistant 已初始化
2025-12-12 10:24:24,399 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:24:24] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:24:25,309 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:24:25] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:24:30,290 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:24:30] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:24:30,305 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:24:30] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:24:35,306 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:24:35] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:24:37,895 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:24:37] "GET / HTTP/1.1" 200 -
2025-12-12 10:24:38,194 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:24:38] "GET /static/css/design-system.css?v=1.0.0 HTTP/1.1" 200 -
2025-12-12 10:24:38,219 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:24:38] "GET /static/css/style.css?v=1.0.0 HTTP/1.1" 200 -
2025-12-12 10:24:38,219 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:24:38] "GET /static/js/core/store.js HTTP/1.1" 200 -
2025-12-12 10:24:38,220 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:24:38] "GET /static/js/services/api.js HTTP/1.1" 200 -
2025-12-12 10:24:38,221 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:24:38] "GET /static/js/components/NotificationManager.js HTTP/1.1" 200 -
2025-12-12 10:24:38,223 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:24:38] "GET /static/js/components/AlertManager.js HTTP/1.1" 200 -
2025-12-12 10:24:38,513 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:24:38] "GET /static/css/design-system.css HTTP/1.1" 200 -
2025-12-12 10:24:38,527 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:24:38] "GET /static/js/app-new.js HTTP/1.1" 200 -
2025-12-12 10:24:38,531 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:24:38] "GET /static/js/dashboard.js?v=1.0.9 HTTP/1.1" 200 -
2025-12-12 10:24:38,926 - websockets.server - INFO - connection open
2025-12-12 10:24:38,927 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 216, in handle_client
    headers = websocket.request_headers
              ^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'ServerConnection' object has no attribute 'request_headers'
2025-12-12 10:24:39,177 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:24:39] "GET /api/rules HTTP/1.1" 200 -
2025-12-12 10:24:39,178 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:24:39] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:24:39,186 - src.agent_assistant - INFO - TSP Agent助手初始化完成
2025-12-12 10:24:39,187 - src.web.service_manager - INFO - 服务 agent_assistant 已初始化
2025-12-12 10:24:39,189 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:24:39] "GET /api/agent/status HTTP/1.1" 200 -
2025-12-12 10:24:39,193 - src.web.service_manager - INFO - 服务 chat_manager 已初始化
2025-12-12 10:24:39,195 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:24:39] "GET /api/chat/sessions HTTP/1.1" 200 -
2025-12-12 10:24:39,202 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:24:39] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:24:39,485 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:24:39] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-12 10:24:39,495 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:24:39] "GET /api/workorders HTTP/1.1" 200 -
2025-12-12 10:24:39,503 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:24:39] "GET /api/system/info HTTP/1.1" 200 -
2025-12-12 10:24:39,508 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:24:39] "GET /api/feishu-sync/config HTTP/1.1" 200 -
2025-12-12 10:24:39,509 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:24:39] "GET /api/knowledge/stats HTTP/1.1" 200 -
2025-12-12 10:24:39,519 - src.config.unified_config - WARNING - 无法加载默认LLM配置，使用内置默认值: No module named 'config.llm_config'
2025-12-12 10:24:39,521 - src.config.unified_config - INFO - 配置文件加载成功
2025-12-12 10:24:39,521 - src.integrations.ai_suggestion_service - INFO - 使用LLM配置: qwen - qwen-plus-latest
2025-12-12 10:24:39,523 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: TR Number -> order_id
2025-12-12 10:24:39,524 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: TR Description -> description
2025-12-12 10:24:39,525 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Type of problem -> category
2025-12-12 10:24:39,526 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: TR Level -> priority
2025-12-12 10:24:39,527 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: TR Status -> status
2025-12-12 10:24:39,529 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Source -> source
2025-12-12 10:24:39,531 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Date creation -> created_at
2025-12-12 10:24:39,532 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: 处理过程 -> resolution
2025-12-12 10:24:39,533 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: TR tracking -> resolution
2025-12-12 10:24:39,535 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Created by -> created_by
2025-12-12 10:24:39,536 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Module（模块） -> module
2025-12-12 10:24:39,537 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Wilfulness（责任人） -> wilfulness
2025-12-12 10:24:39,538 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Date of close TR -> date_of_close
2025-12-12 10:24:39,539 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Vehicle Type01 -> vehicle_type
2025-12-12 10:24:39,540 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: VIN|sim -> vin_sim
2025-12-12 10:24:39,541 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: App remote control version -> app_remote_control_version
2025-12-12 10:24:39,542 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: HMI SW -> hmi_sw
2025-12-12 10:24:39,543 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: 父记录 -> parent_record
2025-12-12 10:24:39,544 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Has it been updated on the same day -> has_updated_same_day
2025-12-12 10:24:39,547 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Operating time -> operating_time
2025-12-12 10:24:39,548 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: AI建议 -> ai_suggestion
2025-12-12 10:24:39,549 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Issue Start Time -> updated_at
2025-12-12 10:24:39,555 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:24:39] "GET /api/feishu-sync/status HTTP/1.1" 200 -
2025-12-12 10:24:39,824 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:24:39] "GET /api/analytics?days=7&dimension=performance HTTP/1.1" 200 -
2025-12-12 10:24:40,152 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:24:40] "GET /api/settings HTTP/1.1" 200 -
2025-12-12 10:24:40,290 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:24:40] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:24:40,301 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:24:40] "[33mGET /favicon.ico HTTP/1.1[0m" 404 -
2025-12-12 10:24:40,308 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:24:40] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:24:40,412 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:24:40] "GET /api/analytics HTTP/1.1" 200 -
2025-12-12 10:24:40,475 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:24:40] "GET /api/analytics?timeRange=30&dimension=workorders HTTP/1.1" 200 -
2025-12-12 10:24:43,941 - websockets.server - INFO - connection open
2025-12-12 10:24:43,942 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 216, in handle_client
    headers = websocket.request_headers
              ^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'ServerConnection' object has no attribute 'request_headers'
2025-12-12 10:24:44,198 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:24:44] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:24:44,242 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:24:44] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-12 10:24:44,247 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:24:44] "GET /api/analytics HTTP/1.1" 200 -
2025-12-12 10:24:44,563 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:24:44] "GET /api/analytics?timeRange=30&dimension=workorders HTTP/1.1" 200 -
2025-12-12 10:24:45,297 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:24:45] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:24:48,952 - websockets.server - INFO - connection open
2025-12-12 10:24:48,953 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 216, in handle_client
    headers = websocket.request_headers
              ^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'ServerConnection' object has no attribute 'request_headers'
2025-12-12 10:24:49,188 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:24:49] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:24:49,206 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:24:49] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:24:53,964 - websockets.server - INFO - connection open
2025-12-12 10:24:53,965 - websockets.server - ERROR - connection handler failed
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\websockets\asyncio\server.py", line 376, in conn_handler
    await self.handler(connection)
  File "D:\code\assist\src\web\websocket_server.py", line 216, in handle_client
    headers = websocket.request_headers
              ^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'ServerConnection' object has no attribute 'request_headers'
2025-12-12 10:24:54,187 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:24:54] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:24:55,292 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:24:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:24:55,301 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:24:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:24:55,316 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:24:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:24:55,330 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:24:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:25:55,311 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:25:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:25:55,318 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:25:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:25:55,320 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:25:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:25:55,338 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:25:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:26:38,737 - __main__ - INFO - 正在启动TSP智能助手综合管理平台...
2025-12-12 10:26:39,032 - src.core.database - INFO - 数据库初始化成功
2025-12-12 10:26:39,034 - __main__ - INFO - 跳过系统检查，直接启动服务...
2025-12-12 10:26:40,853 - src.core.backup_manager - INFO - 备份数据库初始化成功: tsp_assistant.db
2025-12-12 10:26:40,862 - src.integrations.config_manager - INFO - 配置加载成功
2025-12-12 10:26:40,967 - werkzeug - INFO - [31m[1mWARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.[0m
 * Running on all addresses (0.0.0.0)
 * Running on http://127.0.0.1:5000
 * Running on http://10.105.212.207:5000
2025-12-12 10:26:40,967 - werkzeug - INFO - [33mPress CTRL+C to quit[0m
2025-12-12 10:26:40,989 - src.web.websocket_server - INFO - 启动WebSocket服务器: ws://localhost:8765
2025-12-12 10:26:55,306 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:26:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:26:55,318 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:26:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:26:55,329 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:26:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:26:55,355 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:26:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:27:31,394 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:27:31] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-12 10:27:31,409 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:27:31] "GET /api/analytics HTTP/1.1" 200 -
2025-12-12 10:27:31,424 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:27:31] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:27:31,436 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:27:31] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-12 10:27:31,450 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:27:31] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:27:31,453 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:27:31] "GET /api/analytics HTTP/1.1" 200 -
2025-12-12 10:27:31,463 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:27:31] "GET /api/analytics?timeRange=30&dimension=workorders HTTP/1.1" 200 -
2025-12-12 10:27:31,468 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:27:31] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:27:31,501 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:27:31] "GET /api/analytics?timeRange=30&dimension=workorders HTTP/1.1" 200 -
2025-12-12 10:27:31,526 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:27:31] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:27:32,265 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:27:32] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:27:32,283 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:27:32] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:27:35,302 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:27:35] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:27:37,295 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:27:37] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:27:40,296 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:27:40] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:27:40,311 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:27:40] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:27:42,298 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:27:42] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:27:42,313 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:27:42] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:27:45,301 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:27:45] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:27:47,301 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:27:47] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:27:49,389 - __main__ - INFO - 正在启动TSP智能助手综合管理平台...
2025-12-12 10:27:49,691 - src.core.database - INFO - 数据库初始化成功
2025-12-12 10:27:49,693 - __main__ - INFO - 跳过系统检查，直接启动服务...
2025-12-12 10:27:50,299 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:27:50] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:27:50,316 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:27:50] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:27:51,544 - src.core.backup_manager - INFO - 备份数据库初始化成功: tsp_assistant.db
2025-12-12 10:27:51,553 - src.integrations.config_manager - INFO - 配置加载成功
2025-12-12 10:27:51,667 - werkzeug - INFO - [31m[1mWARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.[0m
 * Running on all addresses (0.0.0.0)
 * Running on http://127.0.0.1:5000
 * Running on http://10.105.212.207:5000
2025-12-12 10:27:51,667 - werkzeug - INFO - [33mPress CTRL+C to quit[0m
2025-12-12 10:27:51,693 - src.web.websocket_server - INFO - 启动WebSocket服务器: ws://localhost:8765
2025-12-12 10:27:52,300 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:27:52] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:27:52,312 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:27:52] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:27:55,299 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:27:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:27:57,295 - src.web.service_manager - INFO - 服务 assistant 已初始化
2025-12-12 10:27:57,302 - src.web.service_manager - INFO - 服务 assistant 已初始化
2025-12-12 10:27:57,326 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:27:57] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:28:00,302 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:28:00] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:28:00,316 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:28:00] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:28:02,300 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:28:02] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:28:02,346 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:28:02] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:28:02,606 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:28:02] "GET / HTTP/1.1" 200 -
2025-12-12 10:28:02,905 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:28:02] "GET /static/css/design-system.css?v=1.0.0 HTTP/1.1" 200 -
2025-12-12 10:28:02,925 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:28:02] "GET /static/css/style.css?v=1.0.0 HTTP/1.1" 200 -
2025-12-12 10:28:02,928 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:28:02] "GET /static/js/core/store.js HTTP/1.1" 200 -
2025-12-12 10:28:02,932 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:28:02] "GET /static/js/services/api.js HTTP/1.1" 200 -
2025-12-12 10:28:02,933 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:28:02] "GET /static/js/components/NotificationManager.js HTTP/1.1" 200 -
2025-12-12 10:28:02,935 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:28:02] "GET /static/js/components/AlertManager.js HTTP/1.1" 200 -
2025-12-12 10:28:03,218 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:28:03] "GET /static/css/design-system.css HTTP/1.1" 200 -
2025-12-12 10:28:03,231 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:28:03] "GET /static/js/app-new.js HTTP/1.1" 200 -
2025-12-12 10:28:03,236 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:28:03] "GET /static/js/dashboard.js?v=1.0.9 HTTP/1.1" 200 -
2025-12-12 10:28:03,890 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:28:03] "GET /api/rules HTTP/1.1" 200 -
2025-12-12 10:28:03,894 - src.agent_assistant - INFO - TSP Agent助手初始化完成
2025-12-12 10:28:03,895 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:28:03] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:28:03,898 - src.web.service_manager - INFO - 服务 agent_assistant 已初始化
2025-12-12 10:28:03,902 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:28:03] "GET /api/agent/status HTTP/1.1" 200 -
2025-12-12 10:28:03,905 - src.web.service_manager - INFO - 服务 chat_manager 已初始化
2025-12-12 10:28:03,908 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:28:03] "GET /api/chat/sessions HTTP/1.1" 200 -
2025-12-12 10:28:03,914 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:28:03] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:28:04,217 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:28:04] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-12 10:28:04,224 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:28:04] "GET /api/workorders HTTP/1.1" 200 -
2025-12-12 10:28:04,229 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:28:04] "GET /api/system/info HTTP/1.1" 200 -
2025-12-12 10:28:04,232 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:28:04] "GET /api/feishu-sync/config HTTP/1.1" 200 -
2025-12-12 10:28:04,238 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:28:04] "GET /api/knowledge/stats HTTP/1.1" 200 -
2025-12-12 10:28:04,243 - src.config.unified_config - WARNING - 无法加载默认LLM配置，使用内置默认值: No module named 'config.llm_config'
2025-12-12 10:28:04,244 - src.config.unified_config - INFO - 配置文件加载成功
2025-12-12 10:28:04,244 - src.integrations.ai_suggestion_service - INFO - 使用LLM配置: qwen - qwen-plus-latest
2025-12-12 10:28:04,246 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: TR Number -> order_id
2025-12-12 10:28:04,247 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: TR Description -> description
2025-12-12 10:28:04,248 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Type of problem -> category
2025-12-12 10:28:04,250 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: TR Level -> priority
2025-12-12 10:28:04,251 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: TR Status -> status
2025-12-12 10:28:04,252 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Source -> source
2025-12-12 10:28:04,253 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Date creation -> created_at
2025-12-12 10:28:04,254 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: 处理过程 -> resolution
2025-12-12 10:28:04,255 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: TR tracking -> resolution
2025-12-12 10:28:04,256 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Created by -> created_by
2025-12-12 10:28:04,257 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Module（模块） -> module
2025-12-12 10:28:04,259 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Wilfulness（责任人） -> wilfulness
2025-12-12 10:28:04,260 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Date of close TR -> date_of_close
2025-12-12 10:28:04,263 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Vehicle Type01 -> vehicle_type
2025-12-12 10:28:04,264 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: VIN|sim -> vin_sim
2025-12-12 10:28:04,265 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: App remote control version -> app_remote_control_version
2025-12-12 10:28:04,266 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: HMI SW -> hmi_sw
2025-12-12 10:28:04,267 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: 父记录 -> parent_record
2025-12-12 10:28:04,268 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Has it been updated on the same day -> has_updated_same_day
2025-12-12 10:28:04,269 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Operating time -> operating_time
2025-12-12 10:28:04,271 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: AI建议 -> ai_suggestion
2025-12-12 10:28:04,272 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Issue Start Time -> updated_at
2025-12-12 10:28:04,278 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:28:04] "GET /api/feishu-sync/status HTTP/1.1" 200 -
2025-12-12 10:28:04,558 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:28:04] "GET /api/analytics?days=7&dimension=performance HTTP/1.1" 200 -
2025-12-12 10:28:04,784 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:28:04] "[33mGET /favicon.ico HTTP/1.1[0m" 404 -
2025-12-12 10:28:04,881 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:28:04] "GET /api/settings HTTP/1.1" 200 -
2025-12-12 10:28:05,202 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:28:05] "GET /api/analytics HTTP/1.1" 200 -
2025-12-12 10:28:05,313 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:28:05] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:28:05,449 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:28:05] "GET /api/analytics?timeRange=30&dimension=workorders HTTP/1.1" 200 -
2025-12-12 10:28:07,304 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:28:07] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:28:08,910 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:28:08] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:28:08,954 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:28:08] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-12 10:28:08,957 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:28:08] "GET /api/analytics HTTP/1.1" 200 -
2025-12-12 10:28:09,278 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:28:09] "GET /api/analytics?timeRange=30&dimension=workorders HTTP/1.1" 200 -
2025-12-12 10:28:10,291 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:28:10] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:28:10,322 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:28:10] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:28:12,296 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:28:12] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:28:12,311 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:28:12] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:28:13,899 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:28:13] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:28:13,912 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:28:13] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:28:15,293 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:28:15] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:28:17,297 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:28:17] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:28:20,291 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:28:20] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:28:20,303 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:28:20] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:28:22,292 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:28:22] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:28:22,308 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:28:22] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:28:25,313 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:28:25] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:28:27,300 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:28:27] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:28:30,292 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:28:30] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:28:30,310 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:28:30] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:28:32,301 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:28:32] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:28:32,314 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:28:32] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:28:55,308 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:28:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:28:55,316 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:28:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:28:55,324 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:28:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:28:55,344 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:28:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:29:55,299 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:29:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:29:55,306 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:29:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:29:55,320 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:29:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:29:55,334 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:29:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:30:18,934 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:30:18] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-12 10:30:18,949 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:30:18] "GET /api/analytics HTTP/1.1" 200 -
2025-12-12 10:30:18,950 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:30:18] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:30:18,958 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:30:18] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-12 10:30:18,970 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:30:18] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:30:18,973 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:30:18] "GET /api/analytics HTTP/1.1" 200 -
2025-12-12 10:30:18,983 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:30:18] "GET /api/analytics?timeRange=30&dimension=workorders HTTP/1.1" 200 -
2025-12-12 10:30:18,985 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:30:18] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:30:19,001 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:30:19] "GET /api/analytics?timeRange=30&dimension=workorders HTTP/1.1" 200 -
2025-12-12 10:30:19,013 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:30:19] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:30:19,485 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:30:19] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:30:19,500 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:30:19] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:30:22,291 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:30:22] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:30:22,311 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:30:22] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:30:22,966 - src.integrations.feishu_client - INFO - 正在获取飞书tenant_access_token，应用ID: cli_a8b50ec0eed1500d
2025-12-12 10:30:23,141 - src.integrations.feishu_client - INFO - 飞书API响应: {'code': 0, 'expire': 6579, 'msg': 'ok', 'tenant_access_token': 't-g104ccakLJU4WR564CXVQVOIUJO6WHOAB33FQYJV'}
2025-12-12 10:30:23,141 - src.integrations.feishu_client - INFO - tenant_access_token获取成功: t-g104ccakLJU4WR564C...
2025-12-12 10:30:23,141 - src.integrations.feishu_client - INFO - 令牌有效期: 6579秒，过期时间: 2025-12-12 12:20:02
2025-12-12 10:30:23,143 - src.integrations.feishu_client - INFO - 发送飞书API请求: GET https://open.feishu.cn/open-apis/bitable/v1/apps/XXnEbiCmEaMblSs6FDJcFCqsnIg/tables/tblnl3vJPpgMTSiP/records
2025-12-12 10:30:23,143 - src.integrations.feishu_client - INFO - 请求头: Authorization: Bearer t-g104ccakLJU4WR564C...
2025-12-12 10:30:24,486 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:30:24] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:30:27,302 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:30:27] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:30:28,382 - src.integrations.feishu_client - INFO - 飞书API响应状态码: 200
2025-12-12 10:30:28,383 - src.integrations.feishu_client - INFO - 飞书API响应内容: {'code': 0, 'data': {'has_more': False, 'items': [{'fields': {'AI建议': "1208：您好，感谢您反馈天气小部件异常问题。结合当前处理进度（0428已确认TBOX/IHU登录正常、流量绑定正常），现提供专业分析与升级处理建议如下：\n模拟LLM响应: \n作为技术支持专家，请基于以下问题描述为工单提供专业的处理建议：\n\n问题描述：The widget weather doesn't work \n\n相关背景信息：\n无相关背景信息\n\n请提供：\n1. 问题...", 'Created by': 'Evgeniy', 'Date creation': 1745769600000, 'Module（模块）': 'local O&M', 'Source': 'Mail', 'TR Description': "The widget weather doesn't work ", 'TR Level': 'Low', 'TR Number': 'TR559', 'TR Status': 'Processing', 'TR tracking': '28/04:Local feedback weather widget does not work, query TBOX and IHU login record is normal, traffic binding is normal, we suggest users to use mobile phone hotspot to connect to the car, observe whether the widget is restored, if not, try to capture the IHU logs.', 'Type of problem': 'HU troubles', 'VIN|sim': 'LVTDD24B8RG019153 ', 'Vehicle Type01': 'EXEED RX（T22）', 'Wilfulness（责任人）': 'Evgeniy', '处理过程': '0428：属地反馈天气小部件不起作用，查询TBOX及IHU登录记录正常，流量绑定正常，建议用户使用手机热点连接车机，观察小部件是否恢复，如不恢复，尝试抓取IHU日志', '当前问题状态': '1027：天气小部件无法使用，已确认TBOX及IHU登录正常、流量绑定正常，建议已完成手机热点连接测试并尝试抓取IHU日志，若问题仍存在，建议进站进行系统诊断或软件版本升级排查。\n0428：属地反馈天气小部件不起作用，查询TBOX及IHU登录记录正常，流量绑定正常，建议用户使用手机热点连接车机，观察小部件是否恢复，如不恢复，尝试抓取IHU日志'}, 'id': 'rec253kqBfXae4', 'record_id': 'rec253kqBfXae4'}, {'fields': {'AI建议': '1208：该工单问题已明确为TBOX自10月19日起持续处于深度睡眠（Deep Sleep）状态，导致车辆数据停止更新、APP端数据滞留、且无任何TBOX日志上传——这已超出远程唤醒与诊断能力范围，属典型TBOX通信链路或电源管理异常。\n模拟LLM响应: \n作为技术支持专家，请基于以下问题描述为工单提供专业的处理建议：\n\n问题描述：Vehicle data is not updated in the app => dated from October,...', 'Created by': 'Vsevolod Tsoi', 'Date creation': 1761148800000, 'Module（模块）': 'TBOX', 'Source': 'Mail', 'TR Description': 'Vehicle data is not updated in the app => dated from October, 19 - thus, they are old one. No TBOX log in since October, 19. TBOX is in deep sleep since October, 19.\n', 'TR Level': 'Low', 'TR Number': 'TR863', 'TR Status': 'Processing', 'TR tracking': '24/10:The vehicle is in deep sleep, and T-box logs cannot be remotely obtained. The problem is a bit complex and difficult to locate, so the customer needs to visit the station to retrieve T-box logs and DMC logs. @Vsevolod Tsoi', 'Type of problem': 'Remote control ', 'VIN|sim': 'LNNBDDEZ8SD345645 ', 'Vehicle Type01': 'JAECOO J7（T1EJ）', 'Wilfulness（责任人）': '刘娇龙', '处理过程': '1024:车辆处于深度睡眠中，远程无法获取T-box日志，问题有点复杂不好定位，需要客户进站取T-box日志和DMC日志', '当前问题状态': '1027：车辆自10月19日进入深度睡眠，TBOX无远程连接，建议客户尽快进站提取TBOX及DMC日志，进行本地诊断分析，排查电源管理或通信模块异常原因，确认硬件状态及软件配置是否正常。\n1024:车辆处于深度睡眠中，远程无法获取T-box日志，问题有点复杂不好定位，需要客户进站取T-box日志和DMC日志'}, 'id': 'recv0NLSh2a2S7', 'record_id': 'recv0NLSh2a2S7'}, {'fields': {'AI建议': '1208：经分析当前工单进展：用户无法通过手机号或二维码登录会员中心，且已上传DMC日志及问题视频（时间戳1024），说明远程行为已完整复现，初步排除用户操作误触可能。\n模拟LLM响应: \n作为技术支持专家，请基于以下问题描述为工单提供专业的处理建议：\n\n问题描述：User not able to enter into member center neither mobile phon...', 'Created by': 'Vsevolod Tsoi', 'Date creation': 1761148800000, 'Module（模块）': '生态/ecologically', 'Source': 'Mail', 'TR Description': 'User not able to enter into member center neither mobile phone nor QR code.', 'TR Level': 'Low', 'TR Number': 'TR864', 'TR Status': 'Processing', 'TR tracking': '23/10: DMC logs attached as well as vieos of the issue.', 'Type of problem': 'Problem with auth in member center', 'VIN|sim': 'LNNBDDEZXSD449358', 'Vehicle Type01': 'EXEED VX FL（M36T）', 'Wilfulness（责任人）': '袁清', '处理过程': '1024: DMC logs attached as well as vieos of the issue.', '当前问题状态': '1027：确认手机网络及APP版本正常，尝试清除APP缓存并重新登录，检查QR码扫描权限是否开启，重启手机和车机，若仍无法进入会员中心，建议联系售后进行远程诊断或进站排查系统故障。\n1024: DMC logs attached as well as vieos of the issue.'}, 'id': 'recv0NLZoKLlRJ', 'record_id': 'recv0NLZoKLlRJ'}, {'fields': {'AI建议': '1208：您好，感谢您反馈异常流量消耗问题。结合当前工单进展（已建议抓取DMC日志、用户确认仅使用导航且3天消耗3.12GB，症状与E0X车型TR866案例高度一致），现提供专业分析与处理建议如下：\n模拟LLM响应: \n作为技术支持专家，请基于以下问题描述为工单提供专业的处理建议：\n\n问题描述：Abnormal traffic consumption\n\n相关背景信息：\n相关知识库信息：\n- TR866 - Traf...', 'Created by': 'Vsevolod Tsoi', 'Date creation': 1761235200000, 'Module（模块）': 'DMC', 'Source': 'Mail', 'TR Description': 'Abnormal traffic consumption', 'TR Level': 'Low', 'TR Number': 'TR866', 'TR Status': 'Analysising', 'TR tracking': '24/10: It is recommended that users grab the DMC log back for analysis.@Vsevolod Tsoi \n24/10: user states he use Navi only and no other apps. Consumption volume - 3.12 Gb for 3 days. Same symptom as E0X - traffic package size is plus mines the same - see pdf from MNO attached', 'Type of problem': 'Traffic is over', 'VIN|sim': 'XEYDD14B3SA012164', 'Vehicle Type01': 'TEST', 'Wilfulness（责任人）': 'Vsevolod Tsoi', '处理过程': '1024:建议用户抓去DMC日志回传分析\n1024：用户表示他只使用Navi，不使用其他应用程序。 消耗量-3.12 Gb，3天。 与E0X相同的症状-流量包大小加上地雷相同-见所附MNO的pdf', '当前问题状态': '1027：流量异常可能与导航应用后台持续联网有关，建议关闭Navi自动更新地图功能并限制后台数据使用，检查车机系统是否存在异常进程，如问题依旧，建议进站检测DMC模块日志及SIM卡通信状态，必要时升级系统或更换模块。\n1024:建议用户抓去DMC日志回传分析\n1024：用户表示他只使用Navi，不使用其他应用程序。 消耗量-3.12 Gb，3天。 与E0X相同的症状-流量包大小加上地雷相同-见所附MNO的pdf'}, 'id': 'recv0NLZoKjKvx', 'record_id': 'recv0NLZoKjKvx'}], 'total': 4}, 'msg': 'success'}
2025-12-12 10:30:28,386 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:30:28] "GET /api/feishu-sync/preview-feishu-data HTTP/1.1" 200 -
2025-12-12 10:30:29,480 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:30:29] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:30:29,494 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:30:29] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:30:31,183 - src.integrations.workorder_sync - INFO - 开始从飞书同步工单数据...
2025-12-12 10:30:31,184 - src.integrations.feishu_client - INFO - 发送飞书API请求: GET https://open.feishu.cn/open-apis/bitable/v1/apps/XXnEbiCmEaMblSs6FDJcFCqsnIg/tables/tblnl3vJPpgMTSiP/records
2025-12-12 10:30:31,184 - src.integrations.feishu_client - INFO - 请求头: Authorization: Bearer t-g104ccakLJU4WR564C...
2025-12-12 10:30:32,297 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:30:32] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:30:32,312 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:30:32] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:30:32,953 - src.integrations.feishu_client - INFO - 飞书API响应状态码: 200
2025-12-12 10:30:32,954 - src.integrations.feishu_client - INFO - 飞书API响应内容: {'code': 0, 'data': {'has_more': False, 'items': [{'fields': {'AI建议': "1208：您好，感谢您反馈天气小部件异常问题。结合当前处理进度（0428已确认TBOX/IHU登录正常、流量绑定正常），现提供专业分析与升级处理建议如下：\n模拟LLM响应: \n作为技术支持专家，请基于以下问题描述为工单提供专业的处理建议：\n\n问题描述：The widget weather doesn't work \n\n相关背景信息：\n无相关背景信息\n\n请提供：\n1. 问题...", 'Created by': 'Evgeniy', 'Date creation': 1745769600000, 'Module（模块）': 'local O&M', 'Source': 'Mail', 'TR Description': "The widget weather doesn't work ", 'TR Level': 'Low', 'TR Number': 'TR559', 'TR Status': 'Processing', 'TR tracking': '28/04:Local feedback weather widget does not work, query TBOX and IHU login record is normal, traffic binding is normal, we suggest users to use mobile phone hotspot to connect to the car, observe whether the widget is restored, if not, try to capture the IHU logs.', 'Type of problem': 'HU troubles', 'VIN|sim': 'LVTDD24B8RG019153 ', 'Vehicle Type01': 'EXEED RX（T22）', 'Wilfulness（责任人）': 'Evgeniy', '处理过程': '0428：属地反馈天气小部件不起作用，查询TBOX及IHU登录记录正常，流量绑定正常，建议用户使用手机热点连接车机，观察小部件是否恢复，如不恢复，尝试抓取IHU日志', '当前问题状态': '1027：天气小部件无法使用，已确认TBOX及IHU登录正常、流量绑定正常，建议已完成手机热点连接测试并尝试抓取IHU日志，若问题仍存在，建议进站进行系统诊断或软件版本升级排查。\n0428：属地反馈天气小部件不起作用，查询TBOX及IHU登录记录正常，流量绑定正常，建议用户使用手机热点连接车机，观察小部件是否恢复，如不恢复，尝试抓取IHU日志'}, 'id': 'rec253kqBfXae4', 'record_id': 'rec253kqBfXae4'}, {'fields': {'AI建议': '1208：该工单问题已明确为TBOX自10月19日起持续处于深度睡眠（Deep Sleep）状态，导致车辆数据停止更新、APP端数据滞留、且无任何TBOX日志上传——这已超出远程唤醒与诊断能力范围，属典型TBOX通信链路或电源管理异常。\n模拟LLM响应: \n作为技术支持专家，请基于以下问题描述为工单提供专业的处理建议：\n\n问题描述：Vehicle data is not updated in the app => dated from October,...', 'Created by': 'Vsevolod Tsoi', 'Date creation': 1761148800000, 'Module（模块）': 'TBOX', 'Source': 'Mail', 'TR Description': 'Vehicle data is not updated in the app => dated from October, 19 - thus, they are old one. No TBOX log in since October, 19. TBOX is in deep sleep since October, 19.\n', 'TR Level': 'Low', 'TR Number': 'TR863', 'TR Status': 'Processing', 'TR tracking': '24/10:The vehicle is in deep sleep, and T-box logs cannot be remotely obtained. The problem is a bit complex and difficult to locate, so the customer needs to visit the station to retrieve T-box logs and DMC logs. @Vsevolod Tsoi', 'Type of problem': 'Remote control ', 'VIN|sim': 'LNNBDDEZ8SD345645 ', 'Vehicle Type01': 'JAECOO J7（T1EJ）', 'Wilfulness（责任人）': '刘娇龙', '处理过程': '1024:车辆处于深度睡眠中，远程无法获取T-box日志，问题有点复杂不好定位，需要客户进站取T-box日志和DMC日志', '当前问题状态': '1027：车辆自10月19日进入深度睡眠，TBOX无远程连接，建议客户尽快进站提取TBOX及DMC日志，进行本地诊断分析，排查电源管理或通信模块异常原因，确认硬件状态及软件配置是否正常。\n1024:车辆处于深度睡眠中，远程无法获取T-box日志，问题有点复杂不好定位，需要客户进站取T-box日志和DMC日志'}, 'id': 'recv0NLSh2a2S7', 'record_id': 'recv0NLSh2a2S7'}, {'fields': {'AI建议': '1208：经分析当前工单进展：用户无法通过手机号或二维码登录会员中心，且已上传DMC日志及问题视频（时间戳1024），说明远程行为已完整复现，初步排除用户操作误触可能。\n模拟LLM响应: \n作为技术支持专家，请基于以下问题描述为工单提供专业的处理建议：\n\n问题描述：User not able to enter into member center neither mobile phon...', 'Created by': 'Vsevolod Tsoi', 'Date creation': 1761148800000, 'Module（模块）': '生态/ecologically', 'Source': 'Mail', 'TR Description': 'User not able to enter into member center neither mobile phone nor QR code.', 'TR Level': 'Low', 'TR Number': 'TR864', 'TR Status': 'Processing', 'TR tracking': '23/10: DMC logs attached as well as vieos of the issue.', 'Type of problem': 'Problem with auth in member center', 'VIN|sim': 'LNNBDDEZXSD449358', 'Vehicle Type01': 'EXEED VX FL（M36T）', 'Wilfulness（责任人）': '袁清', '处理过程': '1024: DMC logs attached as well as vieos of the issue.', '当前问题状态': '1027：确认手机网络及APP版本正常，尝试清除APP缓存并重新登录，检查QR码扫描权限是否开启，重启手机和车机，若仍无法进入会员中心，建议联系售后进行远程诊断或进站排查系统故障。\n1024: DMC logs attached as well as vieos of the issue.'}, 'id': 'recv0NLZoKLlRJ', 'record_id': 'recv0NLZoKLlRJ'}, {'fields': {'AI建议': '1208：您好，感谢您反馈异常流量消耗问题。结合当前工单进展（已建议抓取DMC日志、用户确认仅使用导航且3天消耗3.12GB，症状与E0X车型TR866案例高度一致），现提供专业分析与处理建议如下：\n模拟LLM响应: \n作为技术支持专家，请基于以下问题描述为工单提供专业的处理建议：\n\n问题描述：Abnormal traffic consumption\n\n相关背景信息：\n相关知识库信息：\n- TR866 - Traf...', 'Created by': 'Vsevolod Tsoi', 'Date creation': 1761235200000, 'Module（模块）': 'DMC', 'Source': 'Mail', 'TR Description': 'Abnormal traffic consumption', 'TR Level': 'Low', 'TR Number': 'TR866', 'TR Status': 'Analysising', 'TR tracking': '24/10: It is recommended that users grab the DMC log back for analysis.@Vsevolod Tsoi \n24/10: user states he use Navi only and no other apps. Consumption volume - 3.12 Gb for 3 days. Same symptom as E0X - traffic package size is plus mines the same - see pdf from MNO attached', 'Type of problem': 'Traffic is over', 'VIN|sim': 'XEYDD14B3SA012164', 'Vehicle Type01': 'TEST', 'Wilfulness（责任人）': 'Vsevolod Tsoi', '处理过程': '1024:建议用户抓去DMC日志回传分析\n1024：用户表示他只使用Navi，不使用其他应用程序。 消耗量-3.12 Gb，3天。 与E0X相同的症状-流量包大小加上地雷相同-见所附MNO的pdf', '当前问题状态': '1027：流量异常可能与导航应用后台持续联网有关，建议关闭Navi自动更新地图功能并限制后台数据使用，检查车机系统是否存在异常进程，如问题依旧，建议进站检测DMC模块日志及SIM卡通信状态，必要时升级系统或更换模块。\n1024:建议用户抓去DMC日志回传分析\n1024：用户表示他只使用Navi，不使用其他应用程序。 消耗量-3.12 Gb，3天。 与E0X相同的症状-流量包大小加上地雷相同-见所附MNO的pdf'}, 'id': 'recv0NLZoKjKvx', 'record_id': 'recv0NLZoKjKvx'}], 'total': 4}, 'msg': 'success'}
2025-12-12 10:30:32,957 - src.integrations.workorder_sync - INFO - 从飞书获取 4 条记录
2025-12-12 10:30:32,957 - src.integrations.workorder_sync - INFO - 开始生成AI建议...
2025-12-12 10:30:32,958 - src.integrations.workorder_sync - INFO - 第一条记录结构示例: record_id=rec253kqBfXae4, 有fields字段=True
2025-12-12 10:30:32,958 - src.integrations.workorder_sync - INFO - 第一条记录的fields示例: ['AI建议', 'Created by', 'Date creation', 'Module（模块）', 'Source']
2025-12-12 10:30:32,958 - src.integrations.workorder_sync - INFO - 第一条记录的AI建议字段内容: 1208：您好，感谢您反馈天气小部件异常问题。结合当前处理进度（0428已确认TBOX/IHU登录正
2025-12-12 10:30:32,958 - src.integrations.ai_suggestion_service - INFO - 记录 rec253kqBfXae4 - 现有AI建议长度: 190
2025-12-12 10:30:32,959 - src.integrations.ai_suggestion_service - INFO - 记录 rec253kqBfXae4 - 现有AI建议前100字符: 1208：您好，感谢您反馈天气小部件异常问题。结合当前处理进度（0428已确认TBOX/IHU登录正常、流量绑定正常），现提供专业分析与升级处理建议如下：
模拟LLM响应: 
作为技术支持专家，请基于
2025-12-12 10:30:32,960 - src.dialogue.realtime_chat - INFO - 创建新会话: session_ai_suggestion_service_1765506632
2025-12-12 10:30:32,962 - src.knowledge_base.knowledge_manager - WARNING - 知识库中没有活跃条目
2025-12-12 10:30:35,303 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:30:35] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:30:37,293 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:30:37] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:30:39,480 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:30:39] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:30:39,502 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:30:39] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:30:42,292 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:30:42] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:30:42,307 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:30:42] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:30:44,491 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:30:44] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:30:47,307 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:30:47] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:30:50,285 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:30:50] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:30:50,300 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:30:50] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:30:52,296 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:30:52] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:30:52,305 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:30:52] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:30:55,308 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:30:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:30:55,951 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:30:55] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-12 10:30:55,963 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:30:55] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-12 10:30:57,299 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:30:57] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:30:59,685 - src.core.llm_client - INFO - API请求成功
2025-12-12 10:30:59,694 - src.integrations.ai_suggestion_service - INFO - AI生成原始内容: 您好，感谢您对奇瑞汽车智能座舱体验的关注。针对“天气小部件（Weather Widget）无法工作”的问题，结合当前处理进度（0428已确认TBOX/IHU登录正常、流量绑定正常），现提供专业、分阶段...
2025-12-12 10:30:59,694 - src.integrations.ai_suggestion_service - INFO - 未找到需要替换的内容: 您好，感谢您对奇瑞汽车智能座舱体验的关注。针对“天气小部件（Weather Widget）无法工作”的问题，结合当前处理进度（0428已确认TBOX/IHU登录正常、流量绑定正常），现提供专业、分阶段
2025-12-12 10:30:59,694 - src.integrations.ai_suggestion_service - INFO - 未找到需要替换的内容: 您好，感谢您对奇瑞汽车智能座舱体验的关注。针对“天气小部件（Weather Widget）无法工作”的问题，结合当前处理进度（0428已确认TBOX/IHU登录正常、流量绑定正常），现提供专业、分阶段
2025-12-12 10:30:59,695 - src.integrations.ai_suggestion_service - INFO - AI建议清理后: 您好，感谢您对奇瑞汽车智能座舱体验的关注。针对“天气小部件（Weather Widget）无法工作”的问题，结合当前处理进度（0428已确认TBOX/IHU登录正常、流量绑定正常），现提供专业、分阶段...
2025-12-12 10:30:59,695 - src.integrations.ai_suggestion_service - INFO - _format_ai_suggestion_with_numbering 调用 - time_str=1212, existing长度=190
2025-12-12 10:30:59,696 - src.integrations.ai_suggestion_service - INFO - 为记录 rec253kqBfXae4 生成AI建议，新建议长度: 311
2025-12-12 10:30:59,696 - src.integrations.ai_suggestion_service - INFO - 记录 recv0NLSh2a2S7 - 现有AI建议长度: 231
2025-12-12 10:30:59,696 - src.integrations.ai_suggestion_service - INFO - 记录 recv0NLSh2a2S7 - 现有AI建议前100字符: 1208：该工单问题已明确为TBOX自10月19日起持续处于深度睡眠（Deep Sleep）状态，导致车辆数据停止更新、APP端数据滞留、且无任何TBOX日志上传——这已超出远程唤醒与诊断能力范围，属
2025-12-12 10:30:59,697 - src.dialogue.realtime_chat - INFO - 创建新会话: session_ai_suggestion_service_1765506659
2025-12-12 10:30:59,699 - src.knowledge_base.knowledge_manager - WARNING - 知识库中没有活跃条目
2025-12-12 10:31:00,299 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:31:00] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:31:00,320 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:31:00] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:31:02,286 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:31:02] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:31:02,303 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:31:02] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:31:05,293 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:31:05] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:31:07,306 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:31:07] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:31:10,297 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:31:10] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:31:10,314 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:31:10] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:31:12,300 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:31:12] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:31:12,323 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:31:12] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:31:15,296 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:31:15] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:31:17,301 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:31:17] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:31:20,287 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:31:20] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:31:20,300 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:31:20] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:31:22,300 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:31:22] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:31:22,315 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:31:22] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:31:25,033 - src.core.llm_client - INFO - API请求成功
2025-12-12 10:31:25,041 - src.integrations.ai_suggestion_service - INFO - AI生成原始内容: 该工单问题已明确定性为TBOX自2023年10月19日起持续处于深度睡眠（Deep Sleep）状态，导致车辆数据停止上传、APP端数据滞留（最后更新为10月19日）、且无任何TBOX日志记录——这表...
2025-12-12 10:31:25,041 - src.integrations.ai_suggestion_service - INFO - 未找到需要替换的内容: 该工单问题已明确定性为TBOX自2023年10月19日起持续处于深度睡眠（Deep Sleep）状态，导致车辆数据停止上传、APP端数据滞留（最后更新为10月19日）、且无任何TBOX日志记录——这表
2025-12-12 10:31:25,042 - src.integrations.ai_suggestion_service - INFO - 未找到需要替换的内容: 该工单问题已明确定性为TBOX自2023年10月19日起持续处于深度睡眠（Deep Sleep）状态，导致车辆数据停止上传、APP端数据滞留（最后更新为10月19日）、且无任何TBOX日志记录——这表
2025-12-12 10:31:25,043 - src.integrations.ai_suggestion_service - INFO - AI建议清理后: 该工单问题已明确定性为TBOX自2023年10月19日起持续处于深度睡眠（Deep Sleep）状态，导致车辆数据停止上传、APP端数据滞留（最后更新为10月19日）、且无任何TBOX日志记录——这表...
2025-12-12 10:31:25,043 - src.integrations.ai_suggestion_service - INFO - _format_ai_suggestion_with_numbering 调用 - time_str=1212, existing长度=231
2025-12-12 10:31:25,044 - src.integrations.ai_suggestion_service - INFO - 为记录 recv0NLSh2a2S7 生成AI建议，新建议长度: 378
2025-12-12 10:31:25,044 - src.integrations.ai_suggestion_service - INFO - 记录 recv0NLZoKLlRJ - 现有AI建议长度: 197
2025-12-12 10:31:25,045 - src.integrations.ai_suggestion_service - INFO - 记录 recv0NLZoKLlRJ - 现有AI建议前100字符: 1208：经分析当前工单进展：用户无法通过手机号或二维码登录会员中心，且已上传DMC日志及问题视频（时间戳1024），说明远程行为已完整复现，初步排除用户操作误触可能。
模拟LLM响应: 
作为技术支
2025-12-12 10:31:25,046 - src.dialogue.realtime_chat - INFO - 创建新会话: session_ai_suggestion_service_1765506685
2025-12-12 10:31:25,047 - src.knowledge_base.knowledge_manager - WARNING - 知识库中没有活跃条目
2025-12-12 10:31:25,294 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:31:25] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:31:27,311 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:31:27] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:31:30,295 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:31:30] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:31:30,318 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:31:30] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:31:32,290 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:31:32] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:31:32,306 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:31:32] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:31:35,298 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:31:35] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:31:37,303 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:31:37] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:31:40,289 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:31:40] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:31:40,306 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:31:40] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:31:42,298 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:31:42] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:31:42,313 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:31:42] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:31:45,301 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:31:45] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:31:47,299 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:31:47] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:31:48,976 - src.core.llm_client - INFO - API请求成功
2025-12-12 10:31:48,984 - src.integrations.ai_suggestion_service - INFO - AI生成原始内容: 经分析当前工单进展：用户无法通过手机号或二维码任一方式进入会员中心，且已提供DMC日志（含完整鉴权流程记录）及实操视频（1024时间戳），远程复现充分，可排除用户端输入错误、网络临时中断或操作流程误触...
2025-12-12 10:31:48,985 - src.integrations.ai_suggestion_service - INFO - 未找到需要替换的内容: 经分析当前工单进展：用户无法通过手机号或二维码任一方式进入会员中心，且已提供DMC日志（含完整鉴权流程记录）及实操视频（1024时间戳），远程复现充分，可排除用户端输入错误、网络临时中断或操作流程误触
2025-12-12 10:31:48,986 - src.integrations.ai_suggestion_service - INFO - 未找到需要替换的内容: 经分析当前工单进展：用户无法通过手机号或二维码任一方式进入会员中心，且已提供DMC日志（含完整鉴权流程记录）及实操视频（1024时间戳），远程复现充分，可排除用户端输入错误、网络临时中断或操作流程误触
2025-12-12 10:31:48,987 - src.integrations.ai_suggestion_service - INFO - AI建议清理后: 经分析当前工单进展：用户无法通过手机号或二维码任一方式进入会员中心，且已提供DMC日志（含完整鉴权流程记录）及实操视频（1024时间戳），远程复现充分，可排除用户端输入错误、网络临时中断或操作流程误触...
2025-12-12 10:31:48,987 - src.integrations.ai_suggestion_service - INFO - _format_ai_suggestion_with_numbering 调用 - time_str=1212, existing长度=197
2025-12-12 10:31:48,988 - src.integrations.ai_suggestion_service - INFO - 为记录 recv0NLZoKLlRJ 生成AI建议，新建议长度: 310
2025-12-12 10:31:48,988 - src.integrations.ai_suggestion_service - INFO - 记录 recv0NLZoKjKvx - 现有AI建议长度: 212
2025-12-12 10:31:48,988 - src.integrations.ai_suggestion_service - INFO - 记录 recv0NLZoKjKvx - 现有AI建议前100字符: 1208：您好，感谢您反馈异常流量消耗问题。结合当前工单进展（已建议抓取DMC日志、用户确认仅使用导航且3天消耗3.12GB，症状与E0X车型TR866案例高度一致），现提供专业分析与处理建议如下：

2025-12-12 10:31:48,990 - src.dialogue.realtime_chat - INFO - 创建新会话: session_ai_suggestion_service_1765506708
2025-12-12 10:31:48,992 - src.knowledge_base.knowledge_manager - WARNING - 知识库中没有活跃条目
2025-12-12 10:31:50,295 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:31:50] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:31:50,311 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:31:50] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:31:52,296 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:31:52] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:31:52,315 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:31:52] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:31:55,302 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:31:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:32:17,690 - src.core.llm_client - INFO - API请求成功
2025-12-12 10:32:17,697 - src.integrations.ai_suggestion_service - INFO - AI生成原始内容: 您好，感谢您对奇瑞汽车技术支持的信任。针对当前“Abnormal traffic consumption”（异常流量消耗）工单，结合已有处理进展与技术特征，现提供专业分析与闭环处理建议如下：

一、问...
2025-12-12 10:32:17,698 - src.integrations.ai_suggestion_service - INFO - 未找到需要替换的内容: 您好，感谢您对奇瑞汽车技术支持的信任。针对当前“Abnormal traffic consumption”（异常流量消耗）工单，结合已有处理进展与技术特征，现提供专业分析与闭环处理建议如下：

一、问
2025-12-12 10:32:17,698 - src.integrations.ai_suggestion_service - INFO - 未找到需要替换的内容: 您好，感谢您对奇瑞汽车技术支持的信任。针对当前“Abnormal traffic consumption”（异常流量消耗）工单，结合已有处理进展与技术特征，现提供专业分析与闭环处理建议如下：
2025-12-12 10:32:17,698 - src.integrations.ai_suggestion_service - INFO - AI建议清理后: 您好，感谢您对奇瑞汽车技术支持的信任。针对当前“Abnormal traffic consumption”（异常流量消耗）工单，结合已有处理进展与技术特征，现提供专业分析与闭环处理建议如下：...
2025-12-12 10:32:17,699 - src.integrations.ai_suggestion_service - INFO - _format_ai_suggestion_with_numbering 调用 - time_str=1212, existing长度=212
2025-12-12 10:32:17,699 - src.integrations.ai_suggestion_service - INFO - 为记录 recv0NLZoKjKvx 生成AI建议，新建议长度: 313
2025-12-12 10:32:17,699 - src.integrations.feishu_client - INFO - 发送飞书API请求: PUT https://open.feishu.cn/open-apis/bitable/v1/apps/XXnEbiCmEaMblSs6FDJcFCqsnIg/tables/tblnl3vJPpgMTSiP/records/rec253kqBfXae4
2025-12-12 10:32:17,700 - src.integrations.feishu_client - INFO - 请求头: Authorization: Bearer t-g104ccakLJU4WR564C...
2025-12-12 10:32:20,460 - src.integrations.feishu_client - INFO - 飞书API响应状态码: 200
2025-12-12 10:32:20,460 - src.integrations.feishu_client - INFO - 飞书API响应内容: {'code': 0, 'data': {'record': {'fields': {'AI建议': "1212：您好，感谢您对奇瑞汽车智能座舱体验的关注。针对“天气小部件（Weather Widget）无法工作”的问题，结合当前处理进度（0428已确认TBOX/IHU登录正常、流量绑定正常），现提供专业、分阶段的技术分析与升级处理建议如下：\n1208：您好，感谢您反馈天气小部件异常问题。结合当前处理进度（0428已确认TBOX/IHU登录正常、流量绑定正常），现提供专业分析与升级处理建议如下：\n模拟LLM响应: \n作为技术支持专家，请基于以下问题描述为工单提供专业的处理建议：\n\n问题描述：The widget weather doesn't work \n\n相关背景信息：\n无相关背景信息\n\n请提供：\n1. 问题..."}, 'id': 'rec253kqBfXae4', 'record_id': 'rec253kqBfXae4'}}, 'msg': 'success'}
2025-12-12 10:32:20,462 - src.integrations.workorder_sync - INFO - 更新飞书记录 rec253kqBfXae4 的AI建议
2025-12-12 10:32:20,462 - src.integrations.feishu_client - INFO - 发送飞书API请求: PUT https://open.feishu.cn/open-apis/bitable/v1/apps/XXnEbiCmEaMblSs6FDJcFCqsnIg/tables/tblnl3vJPpgMTSiP/records/recv0NLSh2a2S7
2025-12-12 10:32:20,462 - src.integrations.feishu_client - INFO - 请求头: Authorization: Bearer t-g104ccakLJU4WR564C...
2025-12-12 10:32:22,466 - src.integrations.feishu_client - INFO - 飞书API响应状态码: 200
2025-12-12 10:32:22,467 - src.integrations.feishu_client - INFO - 飞书API响应内容: {'code': 0, 'data': {'record': {'fields': {'AI建议': '1212：该工单问题已明确定性为TBOX自2023年10月19日起持续处于深度睡眠（Deep Sleep）状态，导致车辆数据停止上传、APP端数据滞留（最后更新为10月19日）、且无任何TBOX日志记录——这表明TBOX未执行常规唤醒周期（如定时心跳、CAN总线活动触发唤醒或远程指令唤醒），\n1208：该工单问题已明确为TBOX自10月19日起持续处于深度睡眠（Deep Sleep）状态，导致车辆数据停止更新、APP端数据滞留、且无任何TBOX日志上传——这已超出远程唤醒与诊断能力范围，属典型TBOX通信链路或电源管理异常。\n模拟LLM响应: \n作为技术支持专家，请基于以下问题描述为工单提供专业的处理建议：\n\n问题描述：Vehicle data is not updated in the app => dated from October,...'}, 'id': 'recv0NLSh2a2S7', 'record_id': 'recv0NLSh2a2S7'}}, 'msg': 'success'}
2025-12-12 10:32:22,468 - src.integrations.workorder_sync - INFO - 更新飞书记录 recv0NLSh2a2S7 的AI建议
2025-12-12 10:32:22,469 - src.integrations.feishu_client - INFO - 发送飞书API请求: PUT https://open.feishu.cn/open-apis/bitable/v1/apps/XXnEbiCmEaMblSs6FDJcFCqsnIg/tables/tblnl3vJPpgMTSiP/records/recv0NLZoKLlRJ
2025-12-12 10:32:22,469 - src.integrations.feishu_client - INFO - 请求头: Authorization: Bearer t-g104ccakLJU4WR564C...
2025-12-12 10:32:24,719 - src.integrations.feishu_client - INFO - 飞书API响应状态码: 200
2025-12-12 10:32:24,720 - src.integrations.feishu_client - INFO - 飞书API响应内容: {'code': 0, 'data': {'record': {'fields': {'AI建议': '1212：经分析当前工单进展：用户无法通过手机号或二维码任一方式进入会员中心，且已提供DMC日志（含完整鉴权流程记录）及实操视频（1024时间戳），远程复现充分，可排除用户端输入错误、网络临时中断或操作流程误触等基础性问题。\n1208：经分析当前工单进展：用户无法通过手机号或二维码登录会员中心，且已上传DMC日志及问题视频（时间戳1024），说明远程行为已完整复现，初步排除用户操作误触可能。\n模拟LLM响应: \n作为技术支持专家，请基于以下问题描述为工单提供专业的处理建议：\n\n问题描述：User not able to enter into member center neither mobile phon...'}, 'id': 'recv0NLZoKLlRJ', 'record_id': 'recv0NLZoKLlRJ'}}, 'msg': 'success'}
2025-12-12 10:32:24,722 - src.integrations.workorder_sync - INFO - 更新飞书记录 recv0NLZoKLlRJ 的AI建议
2025-12-12 10:32:24,722 - src.integrations.feishu_client - INFO - 发送飞书API请求: PUT https://open.feishu.cn/open-apis/bitable/v1/apps/XXnEbiCmEaMblSs6FDJcFCqsnIg/tables/tblnl3vJPpgMTSiP/records/recv0NLZoKjKvx
2025-12-12 10:32:24,722 - src.integrations.feishu_client - INFO - 请求头: Authorization: Bearer t-g104ccakLJU4WR564C...
2025-12-12 10:32:26,647 - src.integrations.feishu_client - INFO - 飞书API响应状态码: 200
2025-12-12 10:32:26,647 - src.integrations.feishu_client - INFO - 飞书API响应内容: {'code': 0, 'data': {'record': {'fields': {'AI建议': '1212：您好，感谢您对奇瑞汽车技术支持的信任。针对当前“Abnormal traffic consumption”（异常流量消耗）工单，结合已有处理进展与技术特征，现提供专业分析与闭环处理建议如下：\n1208：您好，感谢您反馈异常流量消耗问题。结合当前工单进展（已建议抓取DMC日志、用户确认仅使用导航且3天消耗3.12GB，症状与E0X车型TR866案例高度一致），现提供专业分析与处理建议如下：\n模拟LLM响应: \n作为技术支持专家，请基于以下问题描述为工单提供专业的处理建议：\n\n问题描述：Abnormal traffic consumption\n\n相关背景信息：\n相关知识库信息：\n- TR866 - Traf...'}, 'id': 'recv0NLZoKjKvx', 'record_id': 'recv0NLZoKjKvx'}}, 'msg': 'success'}
2025-12-12 10:32:26,648 - src.integrations.workorder_sync - INFO - 更新飞书记录 recv0NLZoKjKvx 的AI建议
2025-12-12 10:32:26,652 - src.integrations.workorder_sync - INFO - 开始转换飞书字段: {'AI建议': "1208：您好，感谢您反馈天气小部件异常问题。结合当前处理进度（0428已确认TBOX/IHU登录正常、流量绑定正常），现提供专业分析与升级处理建议如下：\n模拟LLM响应: \n作为技术支持专家，请基于以下问题描述为工单提供专业的处理建议：\n\n问题描述：The widget weather doesn't work \n\n相关背景信息：\n无相关背景信息\n\n请提供：\n1. 问题...", 'Created by': 'Evgeniy', 'Date creation': 1745769600000, 'Module（模块）': 'local O&M', 'Source': 'Mail', 'TR Description': "The widget weather doesn't work ", 'TR Level': 'Low', 'TR Number': 'TR559', 'TR Status': 'Processing', 'TR tracking': '28/04:Local feedback weather widget does not work, query TBOX and IHU login record is normal, traffic binding is normal, we suggest users to use mobile phone hotspot to connect to the car, observe whether the widget is restored, if not, try to capture the IHU logs.', 'Type of problem': 'HU troubles', 'VIN|sim': 'LVTDD24B8RG019153 ', 'Vehicle Type01': 'EXEED RX（T22）', 'Wilfulness（责任人）': 'Evgeniy', '处理过程': '0428：属地反馈天气小部件不起作用，查询TBOX及IHU登录记录正常，流量绑定正常，建议用户使用手机热点连接车机，观察小部件是否恢复，如不恢复，尝试抓取IHU日志', '当前问题状态': '1027：天气小部件无法使用，已确认TBOX及IHU登录正常、流量绑定正常，建议已完成手机热点连接测试并尝试抓取IHU日志，若问题仍存在，建议进站进行系统诊断或软件版本升级排查。\n0428：属地反馈天气小部件不起作用，查询TBOX及IHU登录记录正常，流量绑定正常，建议用户使用手机热点连接车机，观察小部件是否恢复，如不恢复，尝试抓取IHU日志'}
2025-12-12 10:32:26,653 - src.integrations.flexible_field_mapper - INFO - 开始转换字段: ['AI建议', 'Created by', 'Date creation', 'Module（模块）', 'Source', 'TR Description', 'TR Level', 'TR Number', 'TR Status', 'TR tracking', 'Type of problem', 'VIN|sim', 'Vehicle Type01', 'Wilfulness（责任人）', '处理过程', '当前问题状态']
2025-12-12 10:32:26,654 - src.integrations.flexible_field_mapper - INFO - 映射字段 AI建议 -> ai_suggestion: 1208：您好，感谢您反馈天气小部件异常问题。结合当前处理进度（0428已确认TBOX/IHU登录正常、流量绑定正常），现提供专业分析与升级处理建议如下：
模拟LLM响应: 
作为技术支持专家，请基于以下问题描述为工单提供专业的处理建议：

问题描述：The widget weather doesn't work 

相关背景信息：
无相关背景信息

请提供：
1. 问题...
2025-12-12 10:32:26,654 - src.integrations.flexible_field_mapper - INFO - 映射字段 Created by -> created_by: Evgeniy
2025-12-12 10:32:26,655 - src.integrations.flexible_field_mapper - INFO - 映射字段 Date creation -> created_at: 1745769600000
2025-12-12 10:32:26,655 - src.integrations.flexible_field_mapper - INFO - 映射字段 Module（模块） -> module: local O&M
2025-12-12 10:32:26,655 - src.integrations.flexible_field_mapper - INFO - 映射字段 Source -> source: Mail
2025-12-12 10:32:26,656 - src.integrations.flexible_field_mapper - INFO - 映射字段 TR Description -> description: The widget weather doesn't work 
2025-12-12 10:32:26,656 - src.integrations.flexible_field_mapper - INFO - 映射字段 TR Level -> priority: Low
2025-12-12 10:32:26,656 - src.integrations.flexible_field_mapper - INFO - 映射字段 TR Number -> order_id: TR559
2025-12-12 10:32:26,657 - src.integrations.flexible_field_mapper - INFO - 映射字段 TR Status -> status: Processing
2025-12-12 10:32:26,657 - src.integrations.flexible_field_mapper - INFO - 映射字段 TR tracking -> resolution: 28/04:Local feedback weather widget does not work, query TBOX and IHU login record is normal, traffic binding is normal, we suggest users to use mobile phone hotspot to connect to the car, observe whether the widget is restored, if not, try to capture the IHU logs.
2025-12-12 10:32:26,658 - src.integrations.flexible_field_mapper - INFO - 映射字段 Type of problem -> category: HU troubles
2025-12-12 10:32:26,658 - src.integrations.flexible_field_mapper - INFO - 映射字段 VIN|sim -> vin_sim: LVTDD24B8RG019153 
2025-12-12 10:32:26,658 - src.integrations.flexible_field_mapper - INFO - 映射字段 Vehicle Type01 -> vehicle_type: EXEED RX（T22）
2025-12-12 10:32:26,658 - src.integrations.flexible_field_mapper - INFO - 映射字段 Wilfulness（责任人） -> wilfulness: Evgeniy
2025-12-12 10:32:26,658 - src.integrations.flexible_field_mapper - INFO - 映射字段 处理过程 -> resolution: 0428：属地反馈天气小部件不起作用，查询TBOX及IHU登录记录正常，流量绑定正常，建议用户使用手机热点连接车机，观察小部件是否恢复，如不恢复，尝试抓取IHU日志
2025-12-12 10:32:26,663 - src.integrations.flexible_field_mapper - INFO - 飞书字段 当前问题状态 不存在于数据中
2025-12-12 10:32:26,663 - src.integrations.flexible_field_mapper - INFO - 字段转换完成: 已映射 15, 未映射 1
2025-12-12 10:32:26,664 - src.integrations.workorder_sync - INFO - 字段转换统计: 总字段 16, 已映射 15, 未映射 1
2025-12-12 10:32:26,664 - src.integrations.workorder_sync - WARNING - 未映射字段: ['当前问题状态']
2025-12-12 10:32:26,664 - src.integrations.workorder_sync - INFO - 字段 '当前问题状态' 的建议映射: {'local_field': 'status', 'similarity': 0.7, 'matched_pattern': '.*状态.*', 'confidence': 'medium', 'reason': "匹配模式 '.*状态.*'"}
2025-12-12 10:32:26,666 - src.integrations.workorder_sync - INFO - 开始转换飞书字段: {'AI建议': '1208：该工单问题已明确为TBOX自10月19日起持续处于深度睡眠（Deep Sleep）状态，导致车辆数据停止更新、APP端数据滞留、且无任何TBOX日志上传——这已超出远程唤醒与诊断能力范围，属典型TBOX通信链路或电源管理异常。\n模拟LLM响应: \n作为技术支持专家，请基于以下问题描述为工单提供专业的处理建议：\n\n问题描述：Vehicle data is not updated in the app => dated from October,...', 'Created by': 'Vsevolod Tsoi', 'Date creation': 1761148800000, 'Module（模块）': 'TBOX', 'Source': 'Mail', 'TR Description': 'Vehicle data is not updated in the app => dated from October, 19 - thus, they are old one. No TBOX log in since October, 19. TBOX is in deep sleep since October, 19.\n', 'TR Level': 'Low', 'TR Number': 'TR863', 'TR Status': 'Processing', 'TR tracking': '24/10:The vehicle is in deep sleep, and T-box logs cannot be remotely obtained. The problem is a bit complex and difficult to locate, so the customer needs to visit the station to retrieve T-box logs and DMC logs. @Vsevolod Tsoi', 'Type of problem': 'Remote control ', 'VIN|sim': 'LNNBDDEZ8SD345645 ', 'Vehicle Type01': 'JAECOO J7（T1EJ）', 'Wilfulness（责任人）': '刘娇龙', '处理过程': '1024:车辆处于深度睡眠中，远程无法获取T-box日志，问题有点复杂不好定位，需要客户进站取T-box日志和DMC日志', '当前问题状态': '1027：车辆自10月19日进入深度睡眠，TBOX无远程连接，建议客户尽快进站提取TBOX及DMC日志，进行本地诊断分析，排查电源管理或通信模块异常原因，确认硬件状态及软件配置是否正常。\n1024:车辆处于深度睡眠中，远程无法获取T-box日志，问题有点复杂不好定位，需要客户进站取T-box日志和DMC日志'}
2025-12-12 10:32:26,666 - src.integrations.flexible_field_mapper - INFO - 开始转换字段: ['AI建议', 'Created by', 'Date creation', 'Module（模块）', 'Source', 'TR Description', 'TR Level', 'TR Number', 'TR Status', 'TR tracking', 'Type of problem', 'VIN|sim', 'Vehicle Type01', 'Wilfulness（责任人）', '处理过程', '当前问题状态']
2025-12-12 10:32:26,666 - src.integrations.flexible_field_mapper - INFO - 映射字段 AI建议 -> ai_suggestion: 1208：该工单问题已明确为TBOX自10月19日起持续处于深度睡眠（Deep Sleep）状态，导致车辆数据停止更新、APP端数据滞留、且无任何TBOX日志上传——这已超出远程唤醒与诊断能力范围，属典型TBOX通信链路或电源管理异常。
模拟LLM响应: 
作为技术支持专家，请基于以下问题描述为工单提供专业的处理建议：

问题描述：Vehicle data is not updated in the app => dated from October,...
2025-12-12 10:32:26,667 - src.integrations.flexible_field_mapper - INFO - 映射字段 Created by -> created_by: Vsevolod Tsoi
2025-12-12 10:32:26,667 - src.integrations.flexible_field_mapper - INFO - 映射字段 Date creation -> created_at: 1761148800000
2025-12-12 10:32:26,667 - src.integrations.flexible_field_mapper - INFO - 映射字段 Module（模块） -> module: TBOX
2025-12-12 10:32:26,667 - src.integrations.flexible_field_mapper - INFO - 映射字段 Source -> source: Mail
2025-12-12 10:32:26,667 - src.integrations.flexible_field_mapper - INFO - 映射字段 TR Description -> description: Vehicle data is not updated in the app => dated from October, 19 - thus, they are old one. No TBOX log in since October, 19. TBOX is in deep sleep since October, 19.

2025-12-12 10:32:26,668 - src.integrations.flexible_field_mapper - INFO - 映射字段 TR Level -> priority: Low
2025-12-12 10:32:26,668 - src.integrations.flexible_field_mapper - INFO - 映射字段 TR Number -> order_id: TR863
2025-12-12 10:32:26,668 - src.integrations.flexible_field_mapper - INFO - 映射字段 TR Status -> status: Processing
2025-12-12 10:32:26,668 - src.integrations.flexible_field_mapper - INFO - 映射字段 TR tracking -> resolution: 24/10:The vehicle is in deep sleep, and T-box logs cannot be remotely obtained. The problem is a bit complex and difficult to locate, so the customer needs to visit the station to retrieve T-box logs and DMC logs. @Vsevolod Tsoi
2025-12-12 10:32:26,669 - src.integrations.flexible_field_mapper - INFO - 映射字段 Type of problem -> category: Remote control 
2025-12-12 10:32:26,669 - src.integrations.flexible_field_mapper - INFO - 映射字段 VIN|sim -> vin_sim: LNNBDDEZ8SD345645 
2025-12-12 10:32:26,669 - src.integrations.flexible_field_mapper - INFO - 映射字段 Vehicle Type01 -> vehicle_type: JAECOO J7（T1EJ）
2025-12-12 10:32:26,669 - src.integrations.flexible_field_mapper - INFO - 映射字段 Wilfulness（责任人） -> wilfulness: 刘娇龙
2025-12-12 10:32:26,669 - src.integrations.flexible_field_mapper - INFO - 映射字段 处理过程 -> resolution: 1024:车辆处于深度睡眠中，远程无法获取T-box日志，问题有点复杂不好定位，需要客户进站取T-box日志和DMC日志
2025-12-12 10:32:26,671 - src.integrations.flexible_field_mapper - INFO - 飞书字段 当前问题状态 不存在于数据中
2025-12-12 10:32:26,672 - src.integrations.flexible_field_mapper - INFO - 字段转换完成: 已映射 15, 未映射 1
2025-12-12 10:32:26,672 - src.integrations.workorder_sync - INFO - 字段转换统计: 总字段 16, 已映射 15, 未映射 1
2025-12-12 10:32:26,672 - src.integrations.workorder_sync - WARNING - 未映射字段: ['当前问题状态']
2025-12-12 10:32:26,672 - src.integrations.workorder_sync - INFO - 字段 '当前问题状态' 的建议映射: {'local_field': 'status', 'similarity': 0.7, 'matched_pattern': '.*状态.*', 'confidence': 'medium', 'reason': "匹配模式 '.*状态.*'"}
2025-12-12 10:32:26,673 - src.integrations.workorder_sync - INFO - 开始转换飞书字段: {'AI建议': '1208：经分析当前工单进展：用户无法通过手机号或二维码登录会员中心，且已上传DMC日志及问题视频（时间戳1024），说明远程行为已完整复现，初步排除用户操作误触可能。\n模拟LLM响应: \n作为技术支持专家，请基于以下问题描述为工单提供专业的处理建议：\n\n问题描述：User not able to enter into member center neither mobile phon...', 'Created by': 'Vsevolod Tsoi', 'Date creation': 1761148800000, 'Module（模块）': '生态/ecologically', 'Source': 'Mail', 'TR Description': 'User not able to enter into member center neither mobile phone nor QR code.', 'TR Level': 'Low', 'TR Number': 'TR864', 'TR Status': 'Processing', 'TR tracking': '23/10: DMC logs attached as well as vieos of the issue.', 'Type of problem': 'Problem with auth in member center', 'VIN|sim': 'LNNBDDEZXSD449358', 'Vehicle Type01': 'EXEED VX FL（M36T）', 'Wilfulness（责任人）': '袁清', '处理过程': '1024: DMC logs attached as well as vieos of the issue.', '当前问题状态': '1027：确认手机网络及APP版本正常，尝试清除APP缓存并重新登录，检查QR码扫描权限是否开启，重启手机和车机，若仍无法进入会员中心，建议联系售后进行远程诊断或进站排查系统故障。\n1024: DMC logs attached as well as vieos of the issue.'}
2025-12-12 10:32:26,674 - src.integrations.flexible_field_mapper - INFO - 开始转换字段: ['AI建议', 'Created by', 'Date creation', 'Module（模块）', 'Source', 'TR Description', 'TR Level', 'TR Number', 'TR Status', 'TR tracking', 'Type of problem', 'VIN|sim', 'Vehicle Type01', 'Wilfulness（责任人）', '处理过程', '当前问题状态']
2025-12-12 10:32:26,674 - src.integrations.flexible_field_mapper - INFO - 映射字段 AI建议 -> ai_suggestion: 1208：经分析当前工单进展：用户无法通过手机号或二维码登录会员中心，且已上传DMC日志及问题视频（时间戳1024），说明远程行为已完整复现，初步排除用户操作误触可能。
模拟LLM响应: 
作为技术支持专家，请基于以下问题描述为工单提供专业的处理建议：

问题描述：User not able to enter into member center neither mobile phon...
2025-12-12 10:32:26,675 - src.integrations.flexible_field_mapper - INFO - 映射字段 Created by -> created_by: Vsevolod Tsoi
2025-12-12 10:32:26,675 - src.integrations.flexible_field_mapper - INFO - 映射字段 Date creation -> created_at: 1761148800000
2025-12-12 10:32:26,675 - src.integrations.flexible_field_mapper - INFO - 映射字段 Module（模块） -> module: 生态/ecologically
2025-12-12 10:32:26,676 - src.integrations.flexible_field_mapper - INFO - 映射字段 Source -> source: Mail
2025-12-12 10:32:26,676 - src.integrations.flexible_field_mapper - INFO - 映射字段 TR Description -> description: User not able to enter into member center neither mobile phone nor QR code.
2025-12-12 10:32:26,676 - src.integrations.flexible_field_mapper - INFO - 映射字段 TR Level -> priority: Low
2025-12-12 10:32:26,676 - src.integrations.flexible_field_mapper - INFO - 映射字段 TR Number -> order_id: TR864
2025-12-12 10:32:26,676 - src.integrations.flexible_field_mapper - INFO - 映射字段 TR Status -> status: Processing
2025-12-12 10:32:26,677 - src.integrations.flexible_field_mapper - INFO - 映射字段 TR tracking -> resolution: 23/10: DMC logs attached as well as vieos of the issue.
2025-12-12 10:32:26,677 - src.integrations.flexible_field_mapper - INFO - 映射字段 Type of problem -> category: Problem with auth in member center
2025-12-12 10:32:26,677 - src.integrations.flexible_field_mapper - INFO - 映射字段 VIN|sim -> vin_sim: LNNBDDEZXSD449358
2025-12-12 10:32:26,678 - src.integrations.flexible_field_mapper - INFO - 映射字段 Vehicle Type01 -> vehicle_type: EXEED VX FL（M36T）
2025-12-12 10:32:26,678 - src.integrations.flexible_field_mapper - INFO - 映射字段 Wilfulness（责任人） -> wilfulness: 袁清
2025-12-12 10:32:26,678 - src.integrations.flexible_field_mapper - INFO - 映射字段 处理过程 -> resolution: 1024: DMC logs attached as well as vieos of the issue.
2025-12-12 10:32:26,680 - src.integrations.flexible_field_mapper - INFO - 飞书字段 当前问题状态 不存在于数据中
2025-12-12 10:32:26,680 - src.integrations.flexible_field_mapper - INFO - 字段转换完成: 已映射 15, 未映射 1
2025-12-12 10:32:26,680 - src.integrations.workorder_sync - INFO - 字段转换统计: 总字段 16, 已映射 15, 未映射 1
2025-12-12 10:32:26,681 - src.integrations.workorder_sync - WARNING - 未映射字段: ['当前问题状态']
2025-12-12 10:32:26,681 - src.integrations.workorder_sync - INFO - 字段 '当前问题状态' 的建议映射: {'local_field': 'status', 'similarity': 0.7, 'matched_pattern': '.*状态.*', 'confidence': 'medium', 'reason': "匹配模式 '.*状态.*'"}
2025-12-12 10:32:26,682 - src.integrations.workorder_sync - INFO - 开始转换飞书字段: {'AI建议': '1208：您好，感谢您反馈异常流量消耗问题。结合当前工单进展（已建议抓取DMC日志、用户确认仅使用导航且3天消耗3.12GB，症状与E0X车型TR866案例高度一致），现提供专业分析与处理建议如下：\n模拟LLM响应: \n作为技术支持专家，请基于以下问题描述为工单提供专业的处理建议：\n\n问题描述：Abnormal traffic consumption\n\n相关背景信息：\n相关知识库信息：\n- TR866 - Traf...', 'Created by': 'Vsevolod Tsoi', 'Date creation': 1761235200000, 'Module（模块）': 'DMC', 'Source': 'Mail', 'TR Description': 'Abnormal traffic consumption', 'TR Level': 'Low', 'TR Number': 'TR866', 'TR Status': 'Analysising', 'TR tracking': '24/10: It is recommended that users grab the DMC log back for analysis.@Vsevolod Tsoi \n24/10: user states he use Navi only and no other apps. Consumption volume - 3.12 Gb for 3 days. Same symptom as E0X - traffic package size is plus mines the same - see pdf from MNO attached', 'Type of problem': 'Traffic is over', 'VIN|sim': 'XEYDD14B3SA012164', 'Vehicle Type01': 'TEST', 'Wilfulness（责任人）': 'Vsevolod Tsoi', '处理过程': '1024:建议用户抓去DMC日志回传分析\n1024：用户表示他只使用Navi，不使用其他应用程序。 消耗量-3.12 Gb，3天。 与E0X相同的症状-流量包大小加上地雷相同-见所附MNO的pdf', '当前问题状态': '1027：流量异常可能与导航应用后台持续联网有关，建议关闭Navi自动更新地图功能并限制后台数据使用，检查车机系统是否存在异常进程，如问题依旧，建议进站检测DMC模块日志及SIM卡通信状态，必要时升级系统或更换模块。\n1024:建议用户抓去DMC日志回传分析\n1024：用户表示他只使用Navi，不使用其他应用程序。 消耗量-3.12 Gb，3天。 与E0X相同的症状-流量包大小加上地雷相同-见所附MNO的pdf'}
2025-12-12 10:32:26,683 - src.integrations.flexible_field_mapper - INFO - 开始转换字段: ['AI建议', 'Created by', 'Date creation', 'Module（模块）', 'Source', 'TR Description', 'TR Level', 'TR Number', 'TR Status', 'TR tracking', 'Type of problem', 'VIN|sim', 'Vehicle Type01', 'Wilfulness（责任人）', '处理过程', '当前问题状态']
2025-12-12 10:32:26,683 - src.integrations.flexible_field_mapper - INFO - 映射字段 AI建议 -> ai_suggestion: 1208：您好，感谢您反馈异常流量消耗问题。结合当前工单进展（已建议抓取DMC日志、用户确认仅使用导航且3天消耗3.12GB，症状与E0X车型TR866案例高度一致），现提供专业分析与处理建议如下：
模拟LLM响应: 
作为技术支持专家，请基于以下问题描述为工单提供专业的处理建议：

问题描述：Abnormal traffic consumption

相关背景信息：
相关知识库信息：
- TR866 - Traf...
2025-12-12 10:32:26,684 - src.integrations.flexible_field_mapper - INFO - 映射字段 Created by -> created_by: Vsevolod Tsoi
2025-12-12 10:32:26,684 - src.integrations.flexible_field_mapper - INFO - 映射字段 Date creation -> created_at: 1761235200000
2025-12-12 10:32:26,684 - src.integrations.flexible_field_mapper - INFO - 映射字段 Module（模块） -> module: DMC
2025-12-12 10:32:26,684 - src.integrations.flexible_field_mapper - INFO - 映射字段 Source -> source: Mail
2025-12-12 10:32:26,684 - src.integrations.flexible_field_mapper - INFO - 映射字段 TR Description -> description: Abnormal traffic consumption
2025-12-12 10:32:26,685 - src.integrations.flexible_field_mapper - INFO - 映射字段 TR Level -> priority: Low
2025-12-12 10:32:26,685 - src.integrations.flexible_field_mapper - INFO - 映射字段 TR Number -> order_id: TR866
2025-12-12 10:32:26,685 - src.integrations.flexible_field_mapper - INFO - 映射字段 TR Status -> status: Analysising
2025-12-12 10:32:26,685 - src.integrations.flexible_field_mapper - INFO - 映射字段 TR tracking -> resolution: 24/10: It is recommended that users grab the DMC log back for analysis.@Vsevolod Tsoi 
24/10: user states he use Navi only and no other apps. Consumption volume - 3.12 Gb for 3 days. Same symptom as E0X - traffic package size is plus mines the same - see pdf from MNO attached
2025-12-12 10:32:26,686 - src.integrations.flexible_field_mapper - INFO - 映射字段 Type of problem -> category: Traffic is over
2025-12-12 10:32:26,686 - src.integrations.flexible_field_mapper - INFO - 映射字段 VIN|sim -> vin_sim: XEYDD14B3SA012164
2025-12-12 10:32:26,686 - src.integrations.flexible_field_mapper - INFO - 映射字段 Vehicle Type01 -> vehicle_type: TEST
2025-12-12 10:32:26,687 - src.integrations.flexible_field_mapper - INFO - 映射字段 Wilfulness（责任人） -> wilfulness: Vsevolod Tsoi
2025-12-12 10:32:26,687 - src.integrations.flexible_field_mapper - INFO - 映射字段 处理过程 -> resolution: 1024:建议用户抓去DMC日志回传分析
1024：用户表示他只使用Navi，不使用其他应用程序。 消耗量-3.12 Gb，3天。 与E0X相同的症状-流量包大小加上地雷相同-见所附MNO的pdf
2025-12-12 10:32:26,689 - src.integrations.flexible_field_mapper - INFO - 飞书字段 当前问题状态 不存在于数据中
2025-12-12 10:32:26,690 - src.integrations.flexible_field_mapper - INFO - 字段转换完成: 已映射 15, 未映射 1
2025-12-12 10:32:26,690 - src.integrations.workorder_sync - INFO - 字段转换统计: 总字段 16, 已映射 15, 未映射 1
2025-12-12 10:32:26,690 - src.integrations.workorder_sync - WARNING - 未映射字段: ['当前问题状态']
2025-12-12 10:32:26,691 - src.integrations.workorder_sync - INFO - 字段 '当前问题状态' 的建议映射: {'local_field': 'status', 'similarity': 0.7, 'matched_pattern': '.*状态.*', 'confidence': 'medium', 'reason': "匹配模式 '.*状态.*'"}
2025-12-12 10:32:26,714 - src.integrations.workorder_sync - INFO - 飞书同步完成: {'success': True, 'total_records': 4, 'synced_count': 4, 'created_count': 3, 'updated_count': 1, 'ai_suggestions_generated': True, 'errors': []}
2025-12-12 10:32:26,714 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:32:26] "POST /api/feishu-sync/sync-from-feishu HTTP/1.1" 200 -
2025-12-12 10:32:26,727 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:32:26] "GET /api/feishu-sync/status HTTP/1.1" 200 -
2025-12-12 10:32:55,298 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:32:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:32:55,308 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:32:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:32:55,317 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:32:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:32:55,328 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:32:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:33:55,296 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:33:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:33:55,304 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:33:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:33:55,310 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:33:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:33:55,327 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:33:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:34:55,305 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:34:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:34:55,312 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:34:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:34:55,319 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:34:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:34:55,335 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:34:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:35:55,299 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:35:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:35:55,308 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:35:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:35:55,318 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:35:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:35:55,332 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:35:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:36:55,306 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:36:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:36:55,314 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:36:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:36:55,324 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:36:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:36:55,341 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:36:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:37:55,317 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:37:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:37:55,328 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:37:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:37:55,335 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:37:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:37:55,356 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:37:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:38:55,298 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:38:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:38:55,304 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:38:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:38:55,314 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:38:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:38:55,333 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:38:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:39:55,309 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:39:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:39:55,318 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:39:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:39:55,327 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:39:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:39:55,341 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:39:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:39:59,648 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:39:59] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-12 10:39:59,664 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:39:59] "GET /api/analytics HTTP/1.1" 200 -
2025-12-12 10:39:59,671 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:39:59] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:39:59,684 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:39:59] "GET /api/analytics?timeRange=30&dimension=workorders HTTP/1.1" 200 -
2025-12-12 10:40:02,287 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:40:02] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:40:02,302 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:40:02] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:40:07,300 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:40:07] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:40:12,301 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:40:12] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:40:12,313 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:40:12] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:40:17,299 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:40:17] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:40:22,287 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:40:22] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:40:22,304 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:40:22] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:40:27,308 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:40:27] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:40:32,299 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:40:32] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:40:32,311 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:40:32] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:40:37,306 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:40:37] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:40:42,295 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:40:42] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:40:42,310 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:40:42] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:40:47,299 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:40:47] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:40:52,289 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:40:52] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:40:52,306 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:40:52] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:40:55,294 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:40:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:40:55,309 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:40:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:40:57,309 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:40:57] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:41:55,306 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:41:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:41:55,312 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:41:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:41:55,323 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:41:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:41:55,339 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:41:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:42:05,149 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:42:05] "GET / HTTP/1.1" 200 -
2025-12-12 10:42:05,992 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:42:05] "GET /api/analytics?days=7&dimension=performance HTTP/1.1" 200 -
2025-12-12 10:42:06,009 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:42:06] "GET /api/settings HTTP/1.1" 200 -
2025-12-12 10:42:06,020 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:42:06] "GET /api/analytics HTTP/1.1" 200 -
2025-12-12 10:42:06,031 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:42:06] "GET /api/analytics?timeRange=30&dimension=workorders HTTP/1.1" 200 -
2025-12-12 10:42:11,315 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:42:11] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:42:16,295 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:42:16] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:42:16,305 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:42:16] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:42:21,308 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:42:21] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:42:26,292 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:42:26] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:42:26,305 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:42:26] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:42:31,303 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:42:31] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:42:36,299 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:42:36] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:42:36,310 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:42:36] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:42:41,296 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:42:41] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:42:46,291 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:42:46] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:42:46,306 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:42:46] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:42:51,298 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:42:51] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:42:55,304 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:42:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:42:55,309 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:42:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:42:55,313 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:42:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:42:55,328 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:42:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:42:56,296 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:42:56] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:42:56,311 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:42:56] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:43:01,308 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:43:01] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:43:06,287 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:43:06] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:43:06,300 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:43:06] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:43:55,311 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:43:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:43:55,318 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:43:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:43:55,326 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:43:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:43:55,327 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:43:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:43:55,343 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:43:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:43:55,360 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:43:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:44:55,306 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:44:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:44:55,314 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:44:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:44:55,321 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:44:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:44:55,327 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:44:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:44:55,343 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:44:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:44:55,359 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:44:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:45:55,298 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:45:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:45:55,307 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:45:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:45:55,314 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:45:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:45:55,320 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:45:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:45:55,336 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:45:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:45:55,352 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:45:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:46:55,310 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:46:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:46:55,321 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:46:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:46:55,328 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:46:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:46:55,335 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:46:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:46:55,350 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:46:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:46:55,360 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:46:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:47:47,574 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:47:47] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-12 10:47:47,585 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:47:47] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:47:47,596 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:47:47] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:47:47,601 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:47:47] "GET /api/analytics HTTP/1.1" 200 -
2025-12-12 10:47:47,613 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:47:47] "GET /api/analytics?timeRange=30&dimension=workorders HTTP/1.1" 200 -
2025-12-12 10:47:52,297 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:47:52] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:47:52,314 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:47:52] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:47:55,308 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:47:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:47:55,315 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:47:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:47:55,326 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:47:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:47:55,341 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:47:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:47:57,298 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:47:57] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:48:02,302 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:48:02] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:48:02,314 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:48:02] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:48:07,312 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:48:07] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:48:12,285 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:48:12] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:48:12,300 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:48:12] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:48:17,306 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:48:17] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:48:22,292 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:48:22] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:48:22,311 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:48:22] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:48:27,296 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:48:27] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:48:32,302 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:48:32] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:48:32,317 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:48:32] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:48:37,306 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:48:37] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:48:42,292 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:48:42] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:48:42,304 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:48:42] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:48:47,314 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:48:47] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:48:55,302 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:48:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:48:55,309 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:48:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:48:55,316 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:48:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:48:55,325 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:48:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:48:55,341 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:48:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:48:55,358 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:48:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:49:55,296 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:49:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:49:55,307 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:49:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:49:55,314 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:49:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:49:55,317 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:49:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:49:55,332 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:49:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:49:55,348 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:49:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:50:55,312 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:50:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:50:55,320 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:50:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:50:55,328 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:50:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:50:55,329 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:50:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:50:55,349 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:50:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:50:55,367 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:50:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:51:55,297 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:51:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:51:55,305 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:51:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:51:55,315 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:51:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:51:55,319 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:51:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:51:55,334 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:51:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:51:55,351 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:51:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:52:55,308 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:52:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:52:55,319 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:52:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:52:55,328 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:52:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:52:55,332 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:52:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:52:55,350 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:52:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:52:55,361 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:52:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:53:55,304 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:53:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:53:55,314 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:53:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:53:55,320 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:53:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:53:55,326 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:53:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:53:55,340 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:53:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:53:55,355 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:53:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:54:55,302 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:54:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:54:55,309 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:54:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:54:55,318 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:54:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:54:55,324 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:54:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:54:55,339 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:54:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:54:55,356 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:54:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:55:55,312 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:55:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:55:55,325 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:55:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:55:55,337 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:55:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:55:55,347 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:55:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:55:55,370 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:55:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:55:55,386 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:55:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:56:55,305 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:56:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:56:55,315 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:56:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:56:55,323 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:56:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:56:55,330 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:56:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:56:55,346 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:56:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:56:55,361 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:56:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:57:55,303 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:57:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:57:55,313 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:57:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:57:55,320 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:57:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:57:55,328 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:57:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:57:55,343 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:57:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:57:55,356 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:57:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:58:55,294 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:58:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:58:55,304 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:58:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:58:55,311 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:58:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:58:55,315 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:58:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:58:55,330 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:58:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:58:55,346 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:58:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:59:55,304 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:59:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:59:55,312 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:59:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:59:55,321 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:59:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 10:59:55,326 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:59:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:59:55,342 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:59:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 10:59:55,357 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 10:59:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:00:55,302 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:00:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 11:00:55,312 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:00:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 11:00:55,322 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:00:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 11:00:55,329 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:00:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:00:55,347 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:00:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:00:55,369 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:00:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:01:55,300 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:01:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 11:01:55,309 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:01:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 11:01:55,317 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:01:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 11:01:55,323 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:01:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:01:55,339 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:01:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:01:55,352 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:01:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:02:55,286 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:02:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 11:02:55,307 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:02:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 11:02:55,316 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:02:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 11:02:55,319 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:02:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:02:55,333 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:02:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:02:55,347 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:02:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:03:55,297 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:03:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 11:03:55,307 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:03:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 11:03:55,315 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:03:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 11:03:55,323 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:03:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:03:55,338 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:03:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:03:55,353 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:03:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:04:55,289 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:04:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 11:04:55,304 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:04:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 11:04:55,308 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:04:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:04:55,312 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:04:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 11:04:55,327 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:04:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:04:55,343 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:04:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:05:25,742 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:05:25] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-12 11:05:25,759 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:05:25] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 11:05:25,771 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:05:25] "GET /api/analytics HTTP/1.1" 200 -
2025-12-12 11:05:25,771 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:05:25] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:05:25,789 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:05:25] "GET /api/analytics?timeRange=30&dimension=workorders HTTP/1.1" 200 -
2025-12-12 11:05:27,304 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:05:27] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:05:32,289 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:05:32] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 11:05:32,305 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:05:32] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:05:37,295 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:05:37] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:05:42,301 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:05:42] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 11:05:42,318 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:05:42] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:05:47,310 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:05:47] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:05:52,303 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:05:52] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 11:05:52,339 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:05:52] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:05:55,316 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:05:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 11:05:55,328 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:05:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 11:05:55,341 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:05:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:05:55,360 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:05:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:05:57,308 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:05:57] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:06:02,294 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:06:02] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 11:06:02,310 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:06:02] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:06:07,306 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:06:07] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:06:12,303 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:06:12] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 11:06:12,313 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:06:12] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:06:17,293 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:06:17] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:06:22,300 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:06:22] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 11:06:22,315 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:06:22] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:06:40,866 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:06:40] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-12 11:06:40,881 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:06:40] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 11:06:40,896 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:06:40] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:06:40,900 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:06:40] "GET /api/analytics HTTP/1.1" 200 -
2025-12-12 11:06:40,918 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:06:40] "GET /api/analytics?timeRange=30&dimension=workorders HTTP/1.1" 200 -
2025-12-12 11:06:42,295 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:06:42] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 11:06:42,311 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:06:42] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:06:47,304 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:06:47] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:06:52,286 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:06:52] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 11:06:52,300 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:06:52] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:06:55,303 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:06:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 11:06:55,313 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:06:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 11:06:55,321 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:06:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:06:55,339 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:06:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:06:57,304 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:06:57] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:07:02,289 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:07:02] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 11:07:02,304 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:07:02] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:07:07,305 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:07:07] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:07:12,299 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:07:12] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 11:07:12,311 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:07:12] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:07:17,310 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:07:17] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:07:19,874 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:07:19] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-12 11:07:22,288 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:07:22] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 11:07:22,302 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:07:22] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:07:27,299 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:07:27] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:07:32,292 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:07:32] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 11:07:32,308 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:07:32] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:07:37,306 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:07:37] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:07:39,927 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:07:39] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-12 11:07:39,937 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:07:39] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 11:07:39,939 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:07:39] "GET /api/analytics HTTP/1.1" 200 -
2025-12-12 11:07:39,957 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:07:39] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:07:39,960 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:07:39] "GET /api/analytics?timeRange=30&dimension=workorders HTTP/1.1" 200 -
2025-12-12 11:07:41,298 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:07:41] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:07:42,293 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:07:42] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 11:07:42,309 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:07:42] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:07:46,301 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:07:46] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 11:07:46,317 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:07:46] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:07:47,311 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:07:47] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:07:51,306 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:07:51] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:07:52,287 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:07:52] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 11:07:52,304 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:07:52] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:07:55,301 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:07:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 11:07:55,321 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:07:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:07:56,291 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:07:56] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 11:07:56,309 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:07:56] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:07:57,301 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:07:57] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:08:01,312 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:08:01] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:08:02,292 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:08:02] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 11:08:02,308 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:08:02] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:08:06,297 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:08:06] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 11:08:06,316 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:08:06] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:08:07,297 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:08:07] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:08:11,307 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:08:11] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:08:12,295 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:08:12] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 11:08:12,310 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:08:12] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:08:16,318 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:08:16] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 11:08:16,338 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:08:16] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:08:17,302 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:08:17] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:08:21,301 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:08:21] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:08:26,291 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:08:26] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 11:08:26,307 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:08:26] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:08:31,307 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:08:31] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:08:36,285 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:08:36] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 11:08:36,299 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:08:36] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:08:39,193 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:08:39] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-12 11:08:39,207 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:08:39] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 11:08:39,223 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:08:39] "GET /api/analytics HTTP/1.1" 200 -
2025-12-12 11:08:39,225 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:08:39] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:08:39,242 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:08:39] "GET /api/analytics?timeRange=30&dimension=workorders HTTP/1.1" 200 -
2025-12-12 11:08:42,291 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:08:42] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 11:08:42,303 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:08:42] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:08:47,312 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:08:47] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:08:52,269 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:08:52] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 11:08:52,286 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:08:52] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:08:55,303 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:08:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 11:08:55,310 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:08:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 11:08:55,321 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:08:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:08:55,336 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:08:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:09:00,360 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:09:00] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-12 11:09:00,370 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:09:00] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 11:09:00,380 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:09:00] "GET /api/analytics HTTP/1.1" 200 -
2025-12-12 11:09:00,393 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:09:00] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:09:00,402 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:09:00] "GET /api/analytics?timeRange=30&dimension=workorders HTTP/1.1" 200 -
2025-12-12 11:09:00,898 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:09:00] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:09:01,242 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:09:01] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-12 11:09:01,254 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:09:01] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 11:09:01,260 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:09:01] "GET /api/analytics HTTP/1.1" 200 -
2025-12-12 11:09:01,275 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:09:01] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:09:01,284 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:09:01] "GET /api/analytics?timeRange=30&dimension=workorders HTTP/1.1" 200 -
2025-12-12 11:09:05,295 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:09:05] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:09:06,293 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:09:06] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 11:09:06,308 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:09:06] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:09:10,300 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:09:10] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 11:09:10,313 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:09:10] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:09:11,301 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:09:11] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:09:15,300 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:09:15] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:09:16,287 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:09:16] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 11:09:16,303 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:09:16] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:09:20,286 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:09:20] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 11:09:20,297 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:09:20] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:09:21,304 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:09:21] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:09:25,301 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:09:25] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:09:26,296 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:09:26] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 11:09:26,311 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:09:26] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:09:30,299 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:09:30] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 11:09:30,316 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:09:30] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:09:31,314 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:09:31] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:09:35,308 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:09:35] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:09:36,291 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:09:36] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 11:09:36,306 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:09:36] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:09:40,304 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:09:40] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 11:09:40,315 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:09:40] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:09:41,308 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:09:41] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:09:45,306 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:09:45] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:09:46,293 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:09:46] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 11:09:46,306 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:09:46] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:09:50,298 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:09:50] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 11:09:50,315 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:09:50] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:09:51,299 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:09:51] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:09:55,313 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:09:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:09:56,290 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:09:56] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 11:09:56,304 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:09:56] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:10:00,292 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:10:00] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 11:10:00,308 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:10:00] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:10:14,404 - __main__ - INFO - 正在启动TSP智能助手综合管理平台...
2025-12-12 11:10:14,719 - src.core.database - INFO - 数据库初始化成功
2025-12-12 11:10:14,720 - __main__ - INFO - 跳过系统检查，直接启动服务...
2025-12-12 11:10:16,639 - src.core.backup_manager - INFO - 备份数据库初始化成功: tsp_assistant.db
2025-12-12 11:10:16,648 - src.integrations.config_manager - INFO - 配置加载成功
2025-12-12 11:10:16,755 - werkzeug - INFO - [31m[1mWARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.[0m
 * Running on all addresses (0.0.0.0)
 * Running on http://127.0.0.1:5000
 * Running on http://10.105.212.207:5000
2025-12-12 11:10:16,756 - werkzeug - INFO - [33mPress CTRL+C to quit[0m
2025-12-12 11:10:16,780 - src.web.websocket_server - INFO - 启动WebSocket服务器: ws://localhost:8765
2025-12-12 11:10:16,787 - websockets.server - INFO - server listening on [::1]:8765
2025-12-12 11:10:16,787 - websockets.server - INFO - server listening on 127.0.0.1:8765
2025-12-12 11:10:22,708 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:10:22] "GET / HTTP/1.1" 200 -
2025-12-12 11:10:22,795 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:10:22] "[36mGET /static/css/design-system.css?v=1.0.0 HTTP/1.1[0m" 304 -
2025-12-12 11:10:22,799 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:10:22] "[36mGET /static/css/style.css?v=1.0.0 HTTP/1.1[0m" 304 -
2025-12-12 11:10:22,801 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:10:22] "[36mGET /static/js/core/store.js HTTP/1.1[0m" 304 -
2025-12-12 11:10:22,803 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:10:22] "[36mGET /static/js/services/api.js HTTP/1.1[0m" 304 -
2025-12-12 11:10:22,806 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:10:22] "[36mGET /static/js/components/NotificationManager.js HTTP/1.1[0m" 304 -
2025-12-12 11:10:22,810 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:10:22] "[36mGET /static/js/components/AlertManager.js HTTP/1.1[0m" 304 -
2025-12-12 11:10:22,814 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:10:22] "[36mGET /static/js/app-new.js HTTP/1.1[0m" 304 -
2025-12-12 11:10:22,816 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:10:22] "GET /static/js/dashboard.js?v=1.0.9 HTTP/1.1" 200 -
2025-12-12 11:10:22,831 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:10:22] "[36mGET /static/css/design-system.css HTTP/1.1[0m" 304 -
2025-12-12 11:10:23,625 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:10:23] "GET /api/rules HTTP/1.1" 200 -
2025-12-12 11:10:23,626 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:10:23] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 11:10:23,632 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:10:23] "GET /api/agent/status HTTP/1.1" 200 -
2025-12-12 11:10:23,639 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:10:23] "GET /api/chat/sessions HTTP/1.1" 200 -
2025-12-12 11:10:23,654 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:10:23] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-12 11:10:23,657 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:10:23] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:10:23,659 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:10:23] "GET /api/system/info HTTP/1.1" 200 -
2025-12-12 11:10:23,665 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:10:23] "GET /api/knowledge/stats HTTP/1.1" 200 -
2025-12-12 11:10:23,665 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:10:23] "GET /api/feishu-sync/config HTTP/1.1" 200 -
2025-12-12 11:10:23,667 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:10:23] "GET /api/workorders HTTP/1.1" 200 -
2025-12-12 11:10:23,675 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:10:23] "GET /api/feishu-sync/status HTTP/1.1" 200 -
2025-12-12 11:10:23,745 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:10:23] "GET /api/analytics?days=7&dimension=performance HTTP/1.1" 200 -
2025-12-12 11:10:23,767 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:10:23] "GET /api/settings HTTP/1.1" 200 -
2025-12-12 11:10:23,776 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:10:23] "GET /api/analytics HTTP/1.1" 200 -
2025-12-12 11:10:23,789 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:10:23] "GET /api/analytics?timeRange=30&dimension=workorders HTTP/1.1" 200 -
2025-12-12 11:10:26,751 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:10:26] "GET /api/agent/status HTTP/1.1" 200 -
2025-12-12 11:10:26,752 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:10:26] "GET /api/agent/tools/stats HTTP/1.1" 200 -
2025-12-12 11:10:27,501 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:10:27] "GET /api/alerts?page=1&per_page=10 HTTP/1.1" 200 -
2025-12-12 11:10:28,637 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:10:28] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:10:28,660 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:10:28] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-12 11:10:28,671 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:10:28] "GET /api/analytics HTTP/1.1" 200 -
2025-12-12 11:10:28,681 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:10:28] "GET /api/analytics?timeRange=30&dimension=workorders HTTP/1.1" 200 -
2025-12-12 11:10:29,053 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:10:29] "GET /api/knowledge?page=1&per_page=10 HTTP/1.1" 200 -
2025-12-12 11:10:30,928 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:10:30] "GET /api/workorders?page=1&per_page=10 HTTP/1.1" 200 -
2025-12-12 11:10:33,628 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:10:33] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 11:10:33,641 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:10:33] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:10:36,081 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:10:36] "GET /api/workorders/4 HTTP/1.1" 200 -
2025-12-12 11:10:37,804 - src.knowledge_base.knowledge_manager - WARNING - 知识库中没有活跃条目
2025-12-12 11:10:38,639 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:10:38] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:10:40,980 - src.core.llm_client - INFO - API请求成功
2025-12-12 11:10:40,989 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:10:40] "POST /api/workorders/4/ai-suggestion HTTP/1.1" 200 -
2025-12-12 11:10:43,624 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:10:43] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 11:10:43,639 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:10:43] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:10:49,301 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:10:49] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:10:54,301 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:10:54] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 11:10:54,308 - src.web.service_manager - INFO - 服务 assistant 已初始化
2025-12-12 11:10:54,313 - src.web.service_manager - INFO - 服务 assistant 已初始化
2025-12-12 11:10:54,345 - src.core.database - ERROR - 数据库操作失败: (sqlite3.OperationalError) no such column: work_orders.assigned_module
[SQL: SELECT count(*) AS count_1 
FROM (SELECT work_orders.id AS work_orders_id, work_orders.order_id AS work_orders_order_id, work_orders.title AS work_orders_title, work_orders.description AS work_orders_description, work_orders.category AS work_orders_category, work_orders.priority AS work_orders_priority, work_orders.status AS work_orders_status, work_orders.created_at AS work_orders_created_at, work_orders.updated_at AS work_orders_updated_at, work_orders.resolution AS work_orders_resolution, work_orders.satisfaction_score AS work_orders_satisfaction_score, work_orders.feishu_record_id AS work_orders_feishu_record_id, work_orders.assignee AS work_orders_assignee, work_orders.solution AS work_orders_solution, work_orders.ai_suggestion AS work_orders_ai_suggestion, work_orders.source AS work_orders_source, work_orders.module AS work_orders_module, work_orders.created_by AS work_orders_created_by, work_orders.wilfulness AS work_orders_wilfulness, work_orders.date_of_close AS work_orders_date_of_close, work_orders.vehicle_type AS work_orders_vehicle_type, work_orders.vin_sim AS work_orders_vin_sim, work_orders.app_remote_control_version AS work_orders_app_remote_control_version, work_orders.hmi_sw AS work_orders_hmi_sw, work_orders.parent_record AS work_orders_parent_record, work_orders.has_updated_same_day AS work_orders_has_updated_same_day, work_orders.operating_time AS work_orders_operating_time, work_orders.assigned_module AS work_orders_assigned_module, work_orders.module_owner AS work_orders_module_owner, work_orders.dispatcher AS work_orders_dispatcher, work_orders.dispatch_time AS work_orders_dispatch_time, work_orders.region AS work_orders_region 
FROM work_orders 
WHERE work_orders.status = ?) AS anon_1]
[parameters: ('open',)]
(Background on this error at: https://sqlalche.me/e/20/e3q8)
2025-12-12 11:10:54,348 - src.web.error_handlers - ERROR - 未处理错误 in get_health: (sqlite3.OperationalError) no such column: work_orders.assigned_module
[SQL: SELECT count(*) AS count_1 
FROM (SELECT work_orders.id AS work_orders_id, work_orders.order_id AS work_orders_order_id, work_orders.title AS work_orders_title, work_orders.description AS work_orders_description, work_orders.category AS work_orders_category, work_orders.priority AS work_orders_priority, work_orders.status AS work_orders_status, work_orders.created_at AS work_orders_created_at, work_orders.updated_at AS work_orders_updated_at, work_orders.resolution AS work_orders_resolution, work_orders.satisfaction_score AS work_orders_satisfaction_score, work_orders.feishu_record_id AS work_orders_feishu_record_id, work_orders.assignee AS work_orders_assignee, work_orders.solution AS work_orders_solution, work_orders.ai_suggestion AS work_orders_ai_suggestion, work_orders.source AS work_orders_source, work_orders.module AS work_orders_module, work_orders.created_by AS work_orders_created_by, work_orders.wilfulness AS work_orders_wilfulness, work_orders.date_of_close AS work_orders_date_of_close, work_orders.vehicle_type AS work_orders_vehicle_type, work_orders.vin_sim AS work_orders_vin_sim, work_orders.app_remote_control_version AS work_orders_app_remote_control_version, work_orders.hmi_sw AS work_orders_hmi_sw, work_orders.parent_record AS work_orders_parent_record, work_orders.has_updated_same_day AS work_orders_has_updated_same_day, work_orders.operating_time AS work_orders_operating_time, work_orders.assigned_module AS work_orders_assigned_module, work_orders.module_owner AS work_orders_module_owner, work_orders.dispatcher AS work_orders_dispatcher, work_orders.dispatch_time AS work_orders_dispatch_time, work_orders.region AS work_orders_region 
FROM work_orders 
WHERE work_orders.status = ?) AS anon_1]
[parameters: ('open',)]
(Background on this error at: https://sqlalche.me/e/20/e3q8)
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\base.py", line 1967, in _exec_single_context
    self.dialect.do_execute(
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\default.py", line 941, in do_execute
    cursor.execute(statement, parameters)
sqlite3.OperationalError: no such column: work_orders.assigned_module

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "D:\code\assist\src\web\error_handlers.py", line 20, in wrapper
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "D:\code\assist\src\web\blueprints\core.py", line 32, in get_health
    open_wos = session.query(WorkOrder).filter(WorkOrder.status == 'open').count()
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\orm\query.py", line 3112, in count
    self._legacy_from_self(col).enable_eagerloads(False).scalar()
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\orm\query.py", line 2805, in scalar
    ret = self.one()
          ^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\orm\query.py", line 2778, in one
    return self._iter().one()  # type: ignore
           ^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\orm\query.py", line 2827, in _iter
    result: Union[ScalarResult[_T], Result[_T]] = self.session.execute(
                                                  ^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\orm\session.py", line 2362, in execute
    return self._execute_internal(
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\orm\session.py", line 2247, in _execute_internal
    result: Result[Any] = compile_state_cls.orm_execute_statement(
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\orm\context.py", line 293, in orm_execute_statement
    result = conn.execute(
             ^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\base.py", line 1418, in execute
    return meth(
           ^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\sql\elements.py", line 515, in _execute_on_connection
    return connection._execute_clauseelement(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\base.py", line 1640, in _execute_clauseelement
    ret = self._execute_context(
          ^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\base.py", line 1846, in _execute_context
    return self._exec_single_context(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\base.py", line 1986, in _exec_single_context
    self._handle_dbapi_exception(
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\base.py", line 2355, in _handle_dbapi_exception
    raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\base.py", line 1967, in _exec_single_context
    self.dialect.do_execute(
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\default.py", line 941, in do_execute
    cursor.execute(statement, parameters)
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no such column: work_orders.assigned_module
[SQL: SELECT count(*) AS count_1 
FROM (SELECT work_orders.id AS work_orders_id, work_orders.order_id AS work_orders_order_id, work_orders.title AS work_orders_title, work_orders.description AS work_orders_description, work_orders.category AS work_orders_category, work_orders.priority AS work_orders_priority, work_orders.status AS work_orders_status, work_orders.created_at AS work_orders_created_at, work_orders.updated_at AS work_orders_updated_at, work_orders.resolution AS work_orders_resolution, work_orders.satisfaction_score AS work_orders_satisfaction_score, work_orders.feishu_record_id AS work_orders_feishu_record_id, work_orders.assignee AS work_orders_assignee, work_orders.solution AS work_orders_solution, work_orders.ai_suggestion AS work_orders_ai_suggestion, work_orders.source AS work_orders_source, work_orders.module AS work_orders_module, work_orders.created_by AS work_orders_created_by, work_orders.wilfulness AS work_orders_wilfulness, work_orders.date_of_close AS work_orders_date_of_close, work_orders.vehicle_type AS work_orders_vehicle_type, work_orders.vin_sim AS work_orders_vin_sim, work_orders.app_remote_control_version AS work_orders_app_remote_control_version, work_orders.hmi_sw AS work_orders_hmi_sw, work_orders.parent_record AS work_orders_parent_record, work_orders.has_updated_same_day AS work_orders_has_updated_same_day, work_orders.operating_time AS work_orders_operating_time, work_orders.assigned_module AS work_orders_assigned_module, work_orders.module_owner AS work_orders_module_owner, work_orders.dispatcher AS work_orders_dispatcher, work_orders.dispatch_time AS work_orders_dispatch_time, work_orders.region AS work_orders_region 
FROM work_orders 
WHERE work_orders.status = ?) AS anon_1]
[parameters: ('open',)]
(Background on this error at: https://sqlalche.me/e/20/e3q8)
2025-12-12 11:10:54,350 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:10:54] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:10:54,365 - src.web.error_handlers - ERROR - 错误响应: 服务器内部错误: (sqlite3.OperationalError) no such column: work_orders.assigned_module
[SQL: SELECT count(*) AS count_1 
FROM (SELECT work_orders.id AS work_orders_id, work_orders.order_id AS work_orders_order_id, work_orders.title AS work_orders_title, work_orders.description AS work_orders_description, work_orders.category AS work_orders_category, work_orders.priority AS work_orders_priority, work_orders.status AS work_orders_status, work_orders.created_at AS work_orders_created_at, work_orders.updated_at AS work_orders_updated_at, work_orders.resolution AS work_orders_resolution, work_orders.satisfaction_score AS work_orders_satisfaction_score, work_orders.feishu_record_id AS work_orders_feishu_record_id, work_orders.assignee AS work_orders_assignee, work_orders.solution AS work_orders_solution, work_orders.ai_suggestion AS work_orders_ai_suggestion, work_orders.source AS work_orders_source, work_orders.module AS work_orders_module, work_orders.created_by AS work_orders_created_by, work_orders.wilfulness AS work_orders_wilfulness, work_orders.date_of_close AS work_orders_date_of_close, work_orders.vehicle_type AS work_orders_vehicle_type, work_orders.vin_sim AS work_orders_vin_sim, work_orders.app_remote_control_version AS work_orders_app_remote_control_version, work_orders.hmi_sw AS work_orders_hmi_sw, work_orders.parent_record AS work_orders_parent_record, work_orders.has_updated_same_day AS work_orders_has_updated_same_day, work_orders.operating_time AS work_orders_operating_time, work_orders.assigned_module AS work_orders_assigned_module, work_orders.module_owner AS work_orders_module_owner, work_orders.dispatcher AS work_orders_dispatcher, work_orders.dispatch_time AS work_orders_dispatch_time, work_orders.region AS work_orders_region 
FROM work_orders 
WHERE work_orders.status = ?) AS anon_1]
[parameters: ('open',)]
(Background on this error at: https://sqlalche.me/e/20/e3q8) - None
2025-12-12 11:10:59,289 - src.core.database - ERROR - 数据库操作失败: <sqlite3.Connection object at 0x000001F67F6BCD60> returned NULL without setting an exception
2025-12-12 11:10:59,290 - src.web.error_handlers - ERROR - 未处理错误 in get_health: <sqlite3.Connection object at 0x000001F67F6BCD60> returned NULL without setting an exception
Traceback (most recent call last):
  File "D:\code\assist\src\web\error_handlers.py", line 20, in wrapper
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "D:\code\assist\src\web\blueprints\core.py", line 32, in get_health
    open_wos = session.query(WorkOrder).filter(WorkOrder.status == 'open').count()
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\orm\query.py", line 3112, in count
    self._legacy_from_self(col).enable_eagerloads(False).scalar()
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\orm\query.py", line 2805, in scalar
    ret = self.one()
          ^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\orm\query.py", line 2778, in one
    return self._iter().one()  # type: ignore
           ^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\orm\query.py", line 2827, in _iter
    result: Union[ScalarResult[_T], Result[_T]] = self.session.execute(
                                                  ^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\orm\session.py", line 2362, in execute
    return self._execute_internal(
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\orm\session.py", line 2247, in _execute_internal
    result: Result[Any] = compile_state_cls.orm_execute_statement(
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\orm\context.py", line 293, in orm_execute_statement
    result = conn.execute(
             ^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\base.py", line 1418, in execute
    return meth(
           ^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\sql\elements.py", line 515, in _execute_on_connection
    return connection._execute_clauseelement(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\base.py", line 1640, in _execute_clauseelement
    ret = self._execute_context(
          ^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\base.py", line 1846, in _execute_context
    return self._exec_single_context(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\base.py", line 1986, in _exec_single_context
    self._handle_dbapi_exception(
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\base.py", line 2358, in _handle_dbapi_exception
    raise exc_info[1].with_traceback(exc_info[2])
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\base.py", line 1967, in _exec_single_context
    self.dialect.do_execute(
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\default.py", line 941, in do_execute
    cursor.execute(statement, parameters)
SystemError: <sqlite3.Connection object at 0x000001F67F6BCD60> returned NULL without setting an exception
2025-12-12 11:10:59,295 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:10:59] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:10:59,297 - src.web.error_handlers - ERROR - 错误响应: 服务器内部错误: <sqlite3.Connection object at 0x000001F67F6BCD60> returned NULL without setting an exception - None
2025-12-12 11:11:04,297 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:11:04] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 11:11:04,306 - src.core.database - ERROR - 数据库操作失败: (sqlite3.OperationalError) no such column: work_orders.assigned_module
[SQL: SELECT count(*) AS count_1 
FROM (SELECT work_orders.id AS work_orders_id, work_orders.order_id AS work_orders_order_id, work_orders.title AS work_orders_title, work_orders.description AS work_orders_description, work_orders.category AS work_orders_category, work_orders.priority AS work_orders_priority, work_orders.status AS work_orders_status, work_orders.created_at AS work_orders_created_at, work_orders.updated_at AS work_orders_updated_at, work_orders.resolution AS work_orders_resolution, work_orders.satisfaction_score AS work_orders_satisfaction_score, work_orders.feishu_record_id AS work_orders_feishu_record_id, work_orders.assignee AS work_orders_assignee, work_orders.solution AS work_orders_solution, work_orders.ai_suggestion AS work_orders_ai_suggestion, work_orders.source AS work_orders_source, work_orders.module AS work_orders_module, work_orders.created_by AS work_orders_created_by, work_orders.wilfulness AS work_orders_wilfulness, work_orders.date_of_close AS work_orders_date_of_close, work_orders.vehicle_type AS work_orders_vehicle_type, work_orders.vin_sim AS work_orders_vin_sim, work_orders.app_remote_control_version AS work_orders_app_remote_control_version, work_orders.hmi_sw AS work_orders_hmi_sw, work_orders.parent_record AS work_orders_parent_record, work_orders.has_updated_same_day AS work_orders_has_updated_same_day, work_orders.operating_time AS work_orders_operating_time, work_orders.assigned_module AS work_orders_assigned_module, work_orders.module_owner AS work_orders_module_owner, work_orders.dispatcher AS work_orders_dispatcher, work_orders.dispatch_time AS work_orders_dispatch_time, work_orders.region AS work_orders_region 
FROM work_orders 
WHERE work_orders.status = ?) AS anon_1]
[parameters: ('open',)]
(Background on this error at: https://sqlalche.me/e/20/e3q8)
2025-12-12 11:11:04,309 - src.web.error_handlers - ERROR - 未处理错误 in get_health: (sqlite3.OperationalError) no such column: work_orders.assigned_module
[SQL: SELECT count(*) AS count_1 
FROM (SELECT work_orders.id AS work_orders_id, work_orders.order_id AS work_orders_order_id, work_orders.title AS work_orders_title, work_orders.description AS work_orders_description, work_orders.category AS work_orders_category, work_orders.priority AS work_orders_priority, work_orders.status AS work_orders_status, work_orders.created_at AS work_orders_created_at, work_orders.updated_at AS work_orders_updated_at, work_orders.resolution AS work_orders_resolution, work_orders.satisfaction_score AS work_orders_satisfaction_score, work_orders.feishu_record_id AS work_orders_feishu_record_id, work_orders.assignee AS work_orders_assignee, work_orders.solution AS work_orders_solution, work_orders.ai_suggestion AS work_orders_ai_suggestion, work_orders.source AS work_orders_source, work_orders.module AS work_orders_module, work_orders.created_by AS work_orders_created_by, work_orders.wilfulness AS work_orders_wilfulness, work_orders.date_of_close AS work_orders_date_of_close, work_orders.vehicle_type AS work_orders_vehicle_type, work_orders.vin_sim AS work_orders_vin_sim, work_orders.app_remote_control_version AS work_orders_app_remote_control_version, work_orders.hmi_sw AS work_orders_hmi_sw, work_orders.parent_record AS work_orders_parent_record, work_orders.has_updated_same_day AS work_orders_has_updated_same_day, work_orders.operating_time AS work_orders_operating_time, work_orders.assigned_module AS work_orders_assigned_module, work_orders.module_owner AS work_orders_module_owner, work_orders.dispatcher AS work_orders_dispatcher, work_orders.dispatch_time AS work_orders_dispatch_time, work_orders.region AS work_orders_region 
FROM work_orders 
WHERE work_orders.status = ?) AS anon_1]
[parameters: ('open',)]
(Background on this error at: https://sqlalche.me/e/20/e3q8)
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\base.py", line 1967, in _exec_single_context
    self.dialect.do_execute(
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\default.py", line 941, in do_execute
    cursor.execute(statement, parameters)
sqlite3.OperationalError: no such column: work_orders.assigned_module

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "D:\code\assist\src\web\error_handlers.py", line 20, in wrapper
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "D:\code\assist\src\web\blueprints\core.py", line 32, in get_health
    open_wos = session.query(WorkOrder).filter(WorkOrder.status == 'open').count()
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\orm\query.py", line 3112, in count
    self._legacy_from_self(col).enable_eagerloads(False).scalar()
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\orm\query.py", line 2805, in scalar
    ret = self.one()
          ^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\orm\query.py", line 2778, in one
    return self._iter().one()  # type: ignore
           ^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\orm\query.py", line 2827, in _iter
    result: Union[ScalarResult[_T], Result[_T]] = self.session.execute(
                                                  ^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\orm\session.py", line 2362, in execute
    return self._execute_internal(
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\orm\session.py", line 2247, in _execute_internal
    result: Result[Any] = compile_state_cls.orm_execute_statement(
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\orm\context.py", line 293, in orm_execute_statement
    result = conn.execute(
             ^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\base.py", line 1418, in execute
    return meth(
           ^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\sql\elements.py", line 515, in _execute_on_connection
    return connection._execute_clauseelement(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\base.py", line 1640, in _execute_clauseelement
    ret = self._execute_context(
          ^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\base.py", line 1846, in _execute_context
    return self._exec_single_context(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\base.py", line 1986, in _exec_single_context
    self._handle_dbapi_exception(
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\base.py", line 2355, in _handle_dbapi_exception
    raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\base.py", line 1967, in _exec_single_context
    self.dialect.do_execute(
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\default.py", line 941, in do_execute
    cursor.execute(statement, parameters)
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no such column: work_orders.assigned_module
[SQL: SELECT count(*) AS count_1 
FROM (SELECT work_orders.id AS work_orders_id, work_orders.order_id AS work_orders_order_id, work_orders.title AS work_orders_title, work_orders.description AS work_orders_description, work_orders.category AS work_orders_category, work_orders.priority AS work_orders_priority, work_orders.status AS work_orders_status, work_orders.created_at AS work_orders_created_at, work_orders.updated_at AS work_orders_updated_at, work_orders.resolution AS work_orders_resolution, work_orders.satisfaction_score AS work_orders_satisfaction_score, work_orders.feishu_record_id AS work_orders_feishu_record_id, work_orders.assignee AS work_orders_assignee, work_orders.solution AS work_orders_solution, work_orders.ai_suggestion AS work_orders_ai_suggestion, work_orders.source AS work_orders_source, work_orders.module AS work_orders_module, work_orders.created_by AS work_orders_created_by, work_orders.wilfulness AS work_orders_wilfulness, work_orders.date_of_close AS work_orders_date_of_close, work_orders.vehicle_type AS work_orders_vehicle_type, work_orders.vin_sim AS work_orders_vin_sim, work_orders.app_remote_control_version AS work_orders_app_remote_control_version, work_orders.hmi_sw AS work_orders_hmi_sw, work_orders.parent_record AS work_orders_parent_record, work_orders.has_updated_same_day AS work_orders_has_updated_same_day, work_orders.operating_time AS work_orders_operating_time, work_orders.assigned_module AS work_orders_assigned_module, work_orders.module_owner AS work_orders_module_owner, work_orders.dispatcher AS work_orders_dispatcher, work_orders.dispatch_time AS work_orders_dispatch_time, work_orders.region AS work_orders_region 
FROM work_orders 
WHERE work_orders.status = ?) AS anon_1]
[parameters: ('open',)]
(Background on this error at: https://sqlalche.me/e/20/e3q8)
2025-12-12 11:11:04,312 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:11:04] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:11:04,318 - src.web.error_handlers - ERROR - 错误响应: 服务器内部错误: (sqlite3.OperationalError) no such column: work_orders.assigned_module
[SQL: SELECT count(*) AS count_1 
FROM (SELECT work_orders.id AS work_orders_id, work_orders.order_id AS work_orders_order_id, work_orders.title AS work_orders_title, work_orders.description AS work_orders_description, work_orders.category AS work_orders_category, work_orders.priority AS work_orders_priority, work_orders.status AS work_orders_status, work_orders.created_at AS work_orders_created_at, work_orders.updated_at AS work_orders_updated_at, work_orders.resolution AS work_orders_resolution, work_orders.satisfaction_score AS work_orders_satisfaction_score, work_orders.feishu_record_id AS work_orders_feishu_record_id, work_orders.assignee AS work_orders_assignee, work_orders.solution AS work_orders_solution, work_orders.ai_suggestion AS work_orders_ai_suggestion, work_orders.source AS work_orders_source, work_orders.module AS work_orders_module, work_orders.created_by AS work_orders_created_by, work_orders.wilfulness AS work_orders_wilfulness, work_orders.date_of_close AS work_orders_date_of_close, work_orders.vehicle_type AS work_orders_vehicle_type, work_orders.vin_sim AS work_orders_vin_sim, work_orders.app_remote_control_version AS work_orders_app_remote_control_version, work_orders.hmi_sw AS work_orders_hmi_sw, work_orders.parent_record AS work_orders_parent_record, work_orders.has_updated_same_day AS work_orders_has_updated_same_day, work_orders.operating_time AS work_orders_operating_time, work_orders.assigned_module AS work_orders_assigned_module, work_orders.module_owner AS work_orders_module_owner, work_orders.dispatcher AS work_orders_dispatcher, work_orders.dispatch_time AS work_orders_dispatch_time, work_orders.region AS work_orders_region 
FROM work_orders 
WHERE work_orders.status = ?) AS anon_1]
[parameters: ('open',)]
(Background on this error at: https://sqlalche.me/e/20/e3q8) - None
2025-12-12 11:11:11,602 - __main__ - INFO - 正在启动TSP智能助手综合管理平台...
2025-12-12 11:11:11,965 - src.core.database - INFO - 数据库初始化成功
2025-12-12 11:11:11,966 - __main__ - INFO - 跳过系统检查，直接启动服务...
2025-12-12 11:11:13,992 - src.core.backup_manager - INFO - 备份数据库初始化成功: tsp_assistant.db
2025-12-12 11:11:14,002 - src.integrations.config_manager - INFO - 配置加载成功
2025-12-12 11:11:14,115 - werkzeug - INFO - [31m[1mWARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.[0m
 * Running on all addresses (0.0.0.0)
 * Running on http://127.0.0.1:5000
 * Running on http://10.105.212.207:5000
2025-12-12 11:11:14,115 - werkzeug - INFO - [33mPress CTRL+C to quit[0m
2025-12-12 11:11:14,138 - src.web.websocket_server - INFO - 启动WebSocket服务器: ws://localhost:8765
2025-12-12 11:11:14,144 - websockets.server - INFO - server listening on [::1]:8765
2025-12-12 11:11:14,145 - websockets.server - INFO - server listening on 127.0.0.1:8765
2025-12-12 11:11:14,300 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:11:14] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 11:11:14,307 - src.web.service_manager - INFO - 服务 assistant 已初始化
2025-12-12 11:11:14,312 - src.web.service_manager - INFO - 服务 assistant 已初始化
2025-12-12 11:11:14,329 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:11:14] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:11:14,339 - src.core.database - ERROR - 数据库操作失败: (sqlite3.OperationalError) no such column: work_orders.assigned_module
[SQL: SELECT count(*) AS count_1 
FROM (SELECT work_orders.id AS work_orders_id, work_orders.order_id AS work_orders_order_id, work_orders.title AS work_orders_title, work_orders.description AS work_orders_description, work_orders.category AS work_orders_category, work_orders.priority AS work_orders_priority, work_orders.status AS work_orders_status, work_orders.created_at AS work_orders_created_at, work_orders.updated_at AS work_orders_updated_at, work_orders.resolution AS work_orders_resolution, work_orders.satisfaction_score AS work_orders_satisfaction_score, work_orders.feishu_record_id AS work_orders_feishu_record_id, work_orders.assignee AS work_orders_assignee, work_orders.solution AS work_orders_solution, work_orders.ai_suggestion AS work_orders_ai_suggestion, work_orders.source AS work_orders_source, work_orders.module AS work_orders_module, work_orders.created_by AS work_orders_created_by, work_orders.wilfulness AS work_orders_wilfulness, work_orders.date_of_close AS work_orders_date_of_close, work_orders.vehicle_type AS work_orders_vehicle_type, work_orders.vin_sim AS work_orders_vin_sim, work_orders.app_remote_control_version AS work_orders_app_remote_control_version, work_orders.hmi_sw AS work_orders_hmi_sw, work_orders.parent_record AS work_orders_parent_record, work_orders.has_updated_same_day AS work_orders_has_updated_same_day, work_orders.operating_time AS work_orders_operating_time, work_orders.assigned_module AS work_orders_assigned_module, work_orders.module_owner AS work_orders_module_owner, work_orders.dispatcher AS work_orders_dispatcher, work_orders.dispatch_time AS work_orders_dispatch_time, work_orders.region AS work_orders_region 
FROM work_orders 
WHERE work_orders.status = ?) AS anon_1]
[parameters: ('open',)]
(Background on this error at: https://sqlalche.me/e/20/e3q8)
2025-12-12 11:11:14,341 - src.web.error_handlers - ERROR - 未处理错误 in get_health: (sqlite3.OperationalError) no such column: work_orders.assigned_module
[SQL: SELECT count(*) AS count_1 
FROM (SELECT work_orders.id AS work_orders_id, work_orders.order_id AS work_orders_order_id, work_orders.title AS work_orders_title, work_orders.description AS work_orders_description, work_orders.category AS work_orders_category, work_orders.priority AS work_orders_priority, work_orders.status AS work_orders_status, work_orders.created_at AS work_orders_created_at, work_orders.updated_at AS work_orders_updated_at, work_orders.resolution AS work_orders_resolution, work_orders.satisfaction_score AS work_orders_satisfaction_score, work_orders.feishu_record_id AS work_orders_feishu_record_id, work_orders.assignee AS work_orders_assignee, work_orders.solution AS work_orders_solution, work_orders.ai_suggestion AS work_orders_ai_suggestion, work_orders.source AS work_orders_source, work_orders.module AS work_orders_module, work_orders.created_by AS work_orders_created_by, work_orders.wilfulness AS work_orders_wilfulness, work_orders.date_of_close AS work_orders_date_of_close, work_orders.vehicle_type AS work_orders_vehicle_type, work_orders.vin_sim AS work_orders_vin_sim, work_orders.app_remote_control_version AS work_orders_app_remote_control_version, work_orders.hmi_sw AS work_orders_hmi_sw, work_orders.parent_record AS work_orders_parent_record, work_orders.has_updated_same_day AS work_orders_has_updated_same_day, work_orders.operating_time AS work_orders_operating_time, work_orders.assigned_module AS work_orders_assigned_module, work_orders.module_owner AS work_orders_module_owner, work_orders.dispatcher AS work_orders_dispatcher, work_orders.dispatch_time AS work_orders_dispatch_time, work_orders.region AS work_orders_region 
FROM work_orders 
WHERE work_orders.status = ?) AS anon_1]
[parameters: ('open',)]
(Background on this error at: https://sqlalche.me/e/20/e3q8)
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\base.py", line 1967, in _exec_single_context
    self.dialect.do_execute(
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\default.py", line 941, in do_execute
    cursor.execute(statement, parameters)
sqlite3.OperationalError: no such column: work_orders.assigned_module

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "D:\code\assist\src\web\error_handlers.py", line 20, in wrapper
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "D:\code\assist\src\web\blueprints\core.py", line 32, in get_health
    open_wos = session.query(WorkOrder).filter(WorkOrder.status == 'open').count()
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\orm\query.py", line 3112, in count
    self._legacy_from_self(col).enable_eagerloads(False).scalar()
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\orm\query.py", line 2805, in scalar
    ret = self.one()
          ^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\orm\query.py", line 2778, in one
    return self._iter().one()  # type: ignore
           ^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\orm\query.py", line 2827, in _iter
    result: Union[ScalarResult[_T], Result[_T]] = self.session.execute(
                                                  ^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\orm\session.py", line 2362, in execute
    return self._execute_internal(
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\orm\session.py", line 2247, in _execute_internal
    result: Result[Any] = compile_state_cls.orm_execute_statement(
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\orm\context.py", line 293, in orm_execute_statement
    result = conn.execute(
             ^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\base.py", line 1418, in execute
    return meth(
           ^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\sql\elements.py", line 515, in _execute_on_connection
    return connection._execute_clauseelement(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\base.py", line 1640, in _execute_clauseelement
    ret = self._execute_context(
          ^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\base.py", line 1846, in _execute_context
    return self._exec_single_context(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\base.py", line 1986, in _exec_single_context
    self._handle_dbapi_exception(
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\base.py", line 2355, in _handle_dbapi_exception
    raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\base.py", line 1967, in _exec_single_context
    self.dialect.do_execute(
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\default.py", line 941, in do_execute
    cursor.execute(statement, parameters)
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no such column: work_orders.assigned_module
[SQL: SELECT count(*) AS count_1 
FROM (SELECT work_orders.id AS work_orders_id, work_orders.order_id AS work_orders_order_id, work_orders.title AS work_orders_title, work_orders.description AS work_orders_description, work_orders.category AS work_orders_category, work_orders.priority AS work_orders_priority, work_orders.status AS work_orders_status, work_orders.created_at AS work_orders_created_at, work_orders.updated_at AS work_orders_updated_at, work_orders.resolution AS work_orders_resolution, work_orders.satisfaction_score AS work_orders_satisfaction_score, work_orders.feishu_record_id AS work_orders_feishu_record_id, work_orders.assignee AS work_orders_assignee, work_orders.solution AS work_orders_solution, work_orders.ai_suggestion AS work_orders_ai_suggestion, work_orders.source AS work_orders_source, work_orders.module AS work_orders_module, work_orders.created_by AS work_orders_created_by, work_orders.wilfulness AS work_orders_wilfulness, work_orders.date_of_close AS work_orders_date_of_close, work_orders.vehicle_type AS work_orders_vehicle_type, work_orders.vin_sim AS work_orders_vin_sim, work_orders.app_remote_control_version AS work_orders_app_remote_control_version, work_orders.hmi_sw AS work_orders_hmi_sw, work_orders.parent_record AS work_orders_parent_record, work_orders.has_updated_same_day AS work_orders_has_updated_same_day, work_orders.operating_time AS work_orders_operating_time, work_orders.assigned_module AS work_orders_assigned_module, work_orders.module_owner AS work_orders_module_owner, work_orders.dispatcher AS work_orders_dispatcher, work_orders.dispatch_time AS work_orders_dispatch_time, work_orders.region AS work_orders_region 
FROM work_orders 
WHERE work_orders.status = ?) AS anon_1]
[parameters: ('open',)]
(Background on this error at: https://sqlalche.me/e/20/e3q8)
2025-12-12 11:11:14,354 - src.web.error_handlers - ERROR - 错误响应: 服务器内部错误: (sqlite3.OperationalError) no such column: work_orders.assigned_module
[SQL: SELECT count(*) AS count_1 
FROM (SELECT work_orders.id AS work_orders_id, work_orders.order_id AS work_orders_order_id, work_orders.title AS work_orders_title, work_orders.description AS work_orders_description, work_orders.category AS work_orders_category, work_orders.priority AS work_orders_priority, work_orders.status AS work_orders_status, work_orders.created_at AS work_orders_created_at, work_orders.updated_at AS work_orders_updated_at, work_orders.resolution AS work_orders_resolution, work_orders.satisfaction_score AS work_orders_satisfaction_score, work_orders.feishu_record_id AS work_orders_feishu_record_id, work_orders.assignee AS work_orders_assignee, work_orders.solution AS work_orders_solution, work_orders.ai_suggestion AS work_orders_ai_suggestion, work_orders.source AS work_orders_source, work_orders.module AS work_orders_module, work_orders.created_by AS work_orders_created_by, work_orders.wilfulness AS work_orders_wilfulness, work_orders.date_of_close AS work_orders_date_of_close, work_orders.vehicle_type AS work_orders_vehicle_type, work_orders.vin_sim AS work_orders_vin_sim, work_orders.app_remote_control_version AS work_orders_app_remote_control_version, work_orders.hmi_sw AS work_orders_hmi_sw, work_orders.parent_record AS work_orders_parent_record, work_orders.has_updated_same_day AS work_orders_has_updated_same_day, work_orders.operating_time AS work_orders_operating_time, work_orders.assigned_module AS work_orders_assigned_module, work_orders.module_owner AS work_orders_module_owner, work_orders.dispatcher AS work_orders_dispatcher, work_orders.dispatch_time AS work_orders_dispatch_time, work_orders.region AS work_orders_region 
FROM work_orders 
WHERE work_orders.status = ?) AS anon_1]
[parameters: ('open',)]
(Background on this error at: https://sqlalche.me/e/20/e3q8) - None
2025-12-12 11:11:19,303 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:11:19] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:11:19,304 - src.core.database - ERROR - 数据库操作失败: (sqlite3.OperationalError) no such column: work_orders.assigned_module
[SQL: SELECT count(*) AS count_1 
FROM (SELECT work_orders.id AS work_orders_id, work_orders.order_id AS work_orders_order_id, work_orders.title AS work_orders_title, work_orders.description AS work_orders_description, work_orders.category AS work_orders_category, work_orders.priority AS work_orders_priority, work_orders.status AS work_orders_status, work_orders.created_at AS work_orders_created_at, work_orders.updated_at AS work_orders_updated_at, work_orders.resolution AS work_orders_resolution, work_orders.satisfaction_score AS work_orders_satisfaction_score, work_orders.feishu_record_id AS work_orders_feishu_record_id, work_orders.assignee AS work_orders_assignee, work_orders.solution AS work_orders_solution, work_orders.ai_suggestion AS work_orders_ai_suggestion, work_orders.source AS work_orders_source, work_orders.module AS work_orders_module, work_orders.created_by AS work_orders_created_by, work_orders.wilfulness AS work_orders_wilfulness, work_orders.date_of_close AS work_orders_date_of_close, work_orders.vehicle_type AS work_orders_vehicle_type, work_orders.vin_sim AS work_orders_vin_sim, work_orders.app_remote_control_version AS work_orders_app_remote_control_version, work_orders.hmi_sw AS work_orders_hmi_sw, work_orders.parent_record AS work_orders_parent_record, work_orders.has_updated_same_day AS work_orders_has_updated_same_day, work_orders.operating_time AS work_orders_operating_time, work_orders.assigned_module AS work_orders_assigned_module, work_orders.module_owner AS work_orders_module_owner, work_orders.dispatcher AS work_orders_dispatcher, work_orders.dispatch_time AS work_orders_dispatch_time, work_orders.region AS work_orders_region 
FROM work_orders 
WHERE work_orders.status = ?) AS anon_1]
[parameters: ('open',)]
(Background on this error at: https://sqlalche.me/e/20/e3q8)
2025-12-12 11:11:19,306 - src.web.error_handlers - ERROR - 未处理错误 in get_health: (sqlite3.OperationalError) no such column: work_orders.assigned_module
[SQL: SELECT count(*) AS count_1 
FROM (SELECT work_orders.id AS work_orders_id, work_orders.order_id AS work_orders_order_id, work_orders.title AS work_orders_title, work_orders.description AS work_orders_description, work_orders.category AS work_orders_category, work_orders.priority AS work_orders_priority, work_orders.status AS work_orders_status, work_orders.created_at AS work_orders_created_at, work_orders.updated_at AS work_orders_updated_at, work_orders.resolution AS work_orders_resolution, work_orders.satisfaction_score AS work_orders_satisfaction_score, work_orders.feishu_record_id AS work_orders_feishu_record_id, work_orders.assignee AS work_orders_assignee, work_orders.solution AS work_orders_solution, work_orders.ai_suggestion AS work_orders_ai_suggestion, work_orders.source AS work_orders_source, work_orders.module AS work_orders_module, work_orders.created_by AS work_orders_created_by, work_orders.wilfulness AS work_orders_wilfulness, work_orders.date_of_close AS work_orders_date_of_close, work_orders.vehicle_type AS work_orders_vehicle_type, work_orders.vin_sim AS work_orders_vin_sim, work_orders.app_remote_control_version AS work_orders_app_remote_control_version, work_orders.hmi_sw AS work_orders_hmi_sw, work_orders.parent_record AS work_orders_parent_record, work_orders.has_updated_same_day AS work_orders_has_updated_same_day, work_orders.operating_time AS work_orders_operating_time, work_orders.assigned_module AS work_orders_assigned_module, work_orders.module_owner AS work_orders_module_owner, work_orders.dispatcher AS work_orders_dispatcher, work_orders.dispatch_time AS work_orders_dispatch_time, work_orders.region AS work_orders_region 
FROM work_orders 
WHERE work_orders.status = ?) AS anon_1]
[parameters: ('open',)]
(Background on this error at: https://sqlalche.me/e/20/e3q8)
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\base.py", line 1967, in _exec_single_context
    self.dialect.do_execute(
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\default.py", line 941, in do_execute
    cursor.execute(statement, parameters)
sqlite3.OperationalError: no such column: work_orders.assigned_module

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "D:\code\assist\src\web\error_handlers.py", line 20, in wrapper
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "D:\code\assist\src\web\blueprints\core.py", line 32, in get_health
    open_wos = session.query(WorkOrder).filter(WorkOrder.status == 'open').count()
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\orm\query.py", line 3112, in count
    self._legacy_from_self(col).enable_eagerloads(False).scalar()
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\orm\query.py", line 2805, in scalar
    ret = self.one()
          ^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\orm\query.py", line 2778, in one
    return self._iter().one()  # type: ignore
           ^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\orm\query.py", line 2827, in _iter
    result: Union[ScalarResult[_T], Result[_T]] = self.session.execute(
                                                  ^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\orm\session.py", line 2362, in execute
    return self._execute_internal(
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\orm\session.py", line 2247, in _execute_internal
    result: Result[Any] = compile_state_cls.orm_execute_statement(
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\orm\context.py", line 293, in orm_execute_statement
    result = conn.execute(
             ^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\base.py", line 1418, in execute
    return meth(
           ^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\sql\elements.py", line 515, in _execute_on_connection
    return connection._execute_clauseelement(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\base.py", line 1640, in _execute_clauseelement
    ret = self._execute_context(
          ^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\base.py", line 1846, in _execute_context
    return self._exec_single_context(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\base.py", line 1986, in _exec_single_context
    self._handle_dbapi_exception(
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\base.py", line 2355, in _handle_dbapi_exception
    raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\base.py", line 1967, in _exec_single_context
    self.dialect.do_execute(
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\default.py", line 941, in do_execute
    cursor.execute(statement, parameters)
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no such column: work_orders.assigned_module
[SQL: SELECT count(*) AS count_1 
FROM (SELECT work_orders.id AS work_orders_id, work_orders.order_id AS work_orders_order_id, work_orders.title AS work_orders_title, work_orders.description AS work_orders_description, work_orders.category AS work_orders_category, work_orders.priority AS work_orders_priority, work_orders.status AS work_orders_status, work_orders.created_at AS work_orders_created_at, work_orders.updated_at AS work_orders_updated_at, work_orders.resolution AS work_orders_resolution, work_orders.satisfaction_score AS work_orders_satisfaction_score, work_orders.feishu_record_id AS work_orders_feishu_record_id, work_orders.assignee AS work_orders_assignee, work_orders.solution AS work_orders_solution, work_orders.ai_suggestion AS work_orders_ai_suggestion, work_orders.source AS work_orders_source, work_orders.module AS work_orders_module, work_orders.created_by AS work_orders_created_by, work_orders.wilfulness AS work_orders_wilfulness, work_orders.date_of_close AS work_orders_date_of_close, work_orders.vehicle_type AS work_orders_vehicle_type, work_orders.vin_sim AS work_orders_vin_sim, work_orders.app_remote_control_version AS work_orders_app_remote_control_version, work_orders.hmi_sw AS work_orders_hmi_sw, work_orders.parent_record AS work_orders_parent_record, work_orders.has_updated_same_day AS work_orders_has_updated_same_day, work_orders.operating_time AS work_orders_operating_time, work_orders.assigned_module AS work_orders_assigned_module, work_orders.module_owner AS work_orders_module_owner, work_orders.dispatcher AS work_orders_dispatcher, work_orders.dispatch_time AS work_orders_dispatch_time, work_orders.region AS work_orders_region 
FROM work_orders 
WHERE work_orders.status = ?) AS anon_1]
[parameters: ('open',)]
(Background on this error at: https://sqlalche.me/e/20/e3q8)
2025-12-12 11:11:19,313 - src.web.error_handlers - ERROR - 错误响应: 服务器内部错误: (sqlite3.OperationalError) no such column: work_orders.assigned_module
[SQL: SELECT count(*) AS count_1 
FROM (SELECT work_orders.id AS work_orders_id, work_orders.order_id AS work_orders_order_id, work_orders.title AS work_orders_title, work_orders.description AS work_orders_description, work_orders.category AS work_orders_category, work_orders.priority AS work_orders_priority, work_orders.status AS work_orders_status, work_orders.created_at AS work_orders_created_at, work_orders.updated_at AS work_orders_updated_at, work_orders.resolution AS work_orders_resolution, work_orders.satisfaction_score AS work_orders_satisfaction_score, work_orders.feishu_record_id AS work_orders_feishu_record_id, work_orders.assignee AS work_orders_assignee, work_orders.solution AS work_orders_solution, work_orders.ai_suggestion AS work_orders_ai_suggestion, work_orders.source AS work_orders_source, work_orders.module AS work_orders_module, work_orders.created_by AS work_orders_created_by, work_orders.wilfulness AS work_orders_wilfulness, work_orders.date_of_close AS work_orders_date_of_close, work_orders.vehicle_type AS work_orders_vehicle_type, work_orders.vin_sim AS work_orders_vin_sim, work_orders.app_remote_control_version AS work_orders_app_remote_control_version, work_orders.hmi_sw AS work_orders_hmi_sw, work_orders.parent_record AS work_orders_parent_record, work_orders.has_updated_same_day AS work_orders_has_updated_same_day, work_orders.operating_time AS work_orders_operating_time, work_orders.assigned_module AS work_orders_assigned_module, work_orders.module_owner AS work_orders_module_owner, work_orders.dispatcher AS work_orders_dispatcher, work_orders.dispatch_time AS work_orders_dispatch_time, work_orders.region AS work_orders_region 
FROM work_orders 
WHERE work_orders.status = ?) AS anon_1]
[parameters: ('open',)]
(Background on this error at: https://sqlalche.me/e/20/e3q8) - None
2025-12-12 11:11:24,291 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:11:24] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 11:11:24,306 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:11:24] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:11:24,307 - src.core.database - ERROR - 数据库操作失败: (sqlite3.OperationalError) no such column: work_orders.assigned_module
[SQL: SELECT count(*) AS count_1 
FROM (SELECT work_orders.id AS work_orders_id, work_orders.order_id AS work_orders_order_id, work_orders.title AS work_orders_title, work_orders.description AS work_orders_description, work_orders.category AS work_orders_category, work_orders.priority AS work_orders_priority, work_orders.status AS work_orders_status, work_orders.created_at AS work_orders_created_at, work_orders.updated_at AS work_orders_updated_at, work_orders.resolution AS work_orders_resolution, work_orders.satisfaction_score AS work_orders_satisfaction_score, work_orders.feishu_record_id AS work_orders_feishu_record_id, work_orders.assignee AS work_orders_assignee, work_orders.solution AS work_orders_solution, work_orders.ai_suggestion AS work_orders_ai_suggestion, work_orders.source AS work_orders_source, work_orders.module AS work_orders_module, work_orders.created_by AS work_orders_created_by, work_orders.wilfulness AS work_orders_wilfulness, work_orders.date_of_close AS work_orders_date_of_close, work_orders.vehicle_type AS work_orders_vehicle_type, work_orders.vin_sim AS work_orders_vin_sim, work_orders.app_remote_control_version AS work_orders_app_remote_control_version, work_orders.hmi_sw AS work_orders_hmi_sw, work_orders.parent_record AS work_orders_parent_record, work_orders.has_updated_same_day AS work_orders_has_updated_same_day, work_orders.operating_time AS work_orders_operating_time, work_orders.assigned_module AS work_orders_assigned_module, work_orders.module_owner AS work_orders_module_owner, work_orders.dispatcher AS work_orders_dispatcher, work_orders.dispatch_time AS work_orders_dispatch_time, work_orders.region AS work_orders_region 
FROM work_orders 
WHERE work_orders.status = ?) AS anon_1]
[parameters: ('open',)]
(Background on this error at: https://sqlalche.me/e/20/e3q8)
2025-12-12 11:11:24,309 - src.web.error_handlers - ERROR - 未处理错误 in get_health: (sqlite3.OperationalError) no such column: work_orders.assigned_module
[SQL: SELECT count(*) AS count_1 
FROM (SELECT work_orders.id AS work_orders_id, work_orders.order_id AS work_orders_order_id, work_orders.title AS work_orders_title, work_orders.description AS work_orders_description, work_orders.category AS work_orders_category, work_orders.priority AS work_orders_priority, work_orders.status AS work_orders_status, work_orders.created_at AS work_orders_created_at, work_orders.updated_at AS work_orders_updated_at, work_orders.resolution AS work_orders_resolution, work_orders.satisfaction_score AS work_orders_satisfaction_score, work_orders.feishu_record_id AS work_orders_feishu_record_id, work_orders.assignee AS work_orders_assignee, work_orders.solution AS work_orders_solution, work_orders.ai_suggestion AS work_orders_ai_suggestion, work_orders.source AS work_orders_source, work_orders.module AS work_orders_module, work_orders.created_by AS work_orders_created_by, work_orders.wilfulness AS work_orders_wilfulness, work_orders.date_of_close AS work_orders_date_of_close, work_orders.vehicle_type AS work_orders_vehicle_type, work_orders.vin_sim AS work_orders_vin_sim, work_orders.app_remote_control_version AS work_orders_app_remote_control_version, work_orders.hmi_sw AS work_orders_hmi_sw, work_orders.parent_record AS work_orders_parent_record, work_orders.has_updated_same_day AS work_orders_has_updated_same_day, work_orders.operating_time AS work_orders_operating_time, work_orders.assigned_module AS work_orders_assigned_module, work_orders.module_owner AS work_orders_module_owner, work_orders.dispatcher AS work_orders_dispatcher, work_orders.dispatch_time AS work_orders_dispatch_time, work_orders.region AS work_orders_region 
FROM work_orders 
WHERE work_orders.status = ?) AS anon_1]
[parameters: ('open',)]
(Background on this error at: https://sqlalche.me/e/20/e3q8)
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\base.py", line 1967, in _exec_single_context
    self.dialect.do_execute(
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\default.py", line 941, in do_execute
    cursor.execute(statement, parameters)
sqlite3.OperationalError: no such column: work_orders.assigned_module

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "D:\code\assist\src\web\error_handlers.py", line 20, in wrapper
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "D:\code\assist\src\web\blueprints\core.py", line 32, in get_health
    open_wos = session.query(WorkOrder).filter(WorkOrder.status == 'open').count()
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\orm\query.py", line 3112, in count
    self._legacy_from_self(col).enable_eagerloads(False).scalar()
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\orm\query.py", line 2805, in scalar
    ret = self.one()
          ^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\orm\query.py", line 2778, in one
    return self._iter().one()  # type: ignore
           ^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\orm\query.py", line 2827, in _iter
    result: Union[ScalarResult[_T], Result[_T]] = self.session.execute(
                                                  ^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\orm\session.py", line 2362, in execute
    return self._execute_internal(
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\orm\session.py", line 2247, in _execute_internal
    result: Result[Any] = compile_state_cls.orm_execute_statement(
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\orm\context.py", line 293, in orm_execute_statement
    result = conn.execute(
             ^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\base.py", line 1418, in execute
    return meth(
           ^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\sql\elements.py", line 515, in _execute_on_connection
    return connection._execute_clauseelement(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\base.py", line 1640, in _execute_clauseelement
    ret = self._execute_context(
          ^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\base.py", line 1846, in _execute_context
    return self._exec_single_context(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\base.py", line 1986, in _exec_single_context
    self._handle_dbapi_exception(
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\base.py", line 2355, in _handle_dbapi_exception
    raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\base.py", line 1967, in _exec_single_context
    self.dialect.do_execute(
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\default.py", line 941, in do_execute
    cursor.execute(statement, parameters)
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no such column: work_orders.assigned_module
[SQL: SELECT count(*) AS count_1 
FROM (SELECT work_orders.id AS work_orders_id, work_orders.order_id AS work_orders_order_id, work_orders.title AS work_orders_title, work_orders.description AS work_orders_description, work_orders.category AS work_orders_category, work_orders.priority AS work_orders_priority, work_orders.status AS work_orders_status, work_orders.created_at AS work_orders_created_at, work_orders.updated_at AS work_orders_updated_at, work_orders.resolution AS work_orders_resolution, work_orders.satisfaction_score AS work_orders_satisfaction_score, work_orders.feishu_record_id AS work_orders_feishu_record_id, work_orders.assignee AS work_orders_assignee, work_orders.solution AS work_orders_solution, work_orders.ai_suggestion AS work_orders_ai_suggestion, work_orders.source AS work_orders_source, work_orders.module AS work_orders_module, work_orders.created_by AS work_orders_created_by, work_orders.wilfulness AS work_orders_wilfulness, work_orders.date_of_close AS work_orders_date_of_close, work_orders.vehicle_type AS work_orders_vehicle_type, work_orders.vin_sim AS work_orders_vin_sim, work_orders.app_remote_control_version AS work_orders_app_remote_control_version, work_orders.hmi_sw AS work_orders_hmi_sw, work_orders.parent_record AS work_orders_parent_record, work_orders.has_updated_same_day AS work_orders_has_updated_same_day, work_orders.operating_time AS work_orders_operating_time, work_orders.assigned_module AS work_orders_assigned_module, work_orders.module_owner AS work_orders_module_owner, work_orders.dispatcher AS work_orders_dispatcher, work_orders.dispatch_time AS work_orders_dispatch_time, work_orders.region AS work_orders_region 
FROM work_orders 
WHERE work_orders.status = ?) AS anon_1]
[parameters: ('open',)]
(Background on this error at: https://sqlalche.me/e/20/e3q8)
2025-12-12 11:11:24,316 - src.web.error_handlers - ERROR - 错误响应: 服务器内部错误: (sqlite3.OperationalError) no such column: work_orders.assigned_module
[SQL: SELECT count(*) AS count_1 
FROM (SELECT work_orders.id AS work_orders_id, work_orders.order_id AS work_orders_order_id, work_orders.title AS work_orders_title, work_orders.description AS work_orders_description, work_orders.category AS work_orders_category, work_orders.priority AS work_orders_priority, work_orders.status AS work_orders_status, work_orders.created_at AS work_orders_created_at, work_orders.updated_at AS work_orders_updated_at, work_orders.resolution AS work_orders_resolution, work_orders.satisfaction_score AS work_orders_satisfaction_score, work_orders.feishu_record_id AS work_orders_feishu_record_id, work_orders.assignee AS work_orders_assignee, work_orders.solution AS work_orders_solution, work_orders.ai_suggestion AS work_orders_ai_suggestion, work_orders.source AS work_orders_source, work_orders.module AS work_orders_module, work_orders.created_by AS work_orders_created_by, work_orders.wilfulness AS work_orders_wilfulness, work_orders.date_of_close AS work_orders_date_of_close, work_orders.vehicle_type AS work_orders_vehicle_type, work_orders.vin_sim AS work_orders_vin_sim, work_orders.app_remote_control_version AS work_orders_app_remote_control_version, work_orders.hmi_sw AS work_orders_hmi_sw, work_orders.parent_record AS work_orders_parent_record, work_orders.has_updated_same_day AS work_orders_has_updated_same_day, work_orders.operating_time AS work_orders_operating_time, work_orders.assigned_module AS work_orders_assigned_module, work_orders.module_owner AS work_orders_module_owner, work_orders.dispatcher AS work_orders_dispatcher, work_orders.dispatch_time AS work_orders_dispatch_time, work_orders.region AS work_orders_region 
FROM work_orders 
WHERE work_orders.status = ?) AS anon_1]
[parameters: ('open',)]
(Background on this error at: https://sqlalche.me/e/20/e3q8) - None
2025-12-12 11:11:29,292 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:11:29] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:11:29,301 - src.core.database - ERROR - 数据库操作失败: (sqlite3.OperationalError) no such column: work_orders.assigned_module
[SQL: SELECT count(*) AS count_1 
FROM (SELECT work_orders.id AS work_orders_id, work_orders.order_id AS work_orders_order_id, work_orders.title AS work_orders_title, work_orders.description AS work_orders_description, work_orders.category AS work_orders_category, work_orders.priority AS work_orders_priority, work_orders.status AS work_orders_status, work_orders.created_at AS work_orders_created_at, work_orders.updated_at AS work_orders_updated_at, work_orders.resolution AS work_orders_resolution, work_orders.satisfaction_score AS work_orders_satisfaction_score, work_orders.feishu_record_id AS work_orders_feishu_record_id, work_orders.assignee AS work_orders_assignee, work_orders.solution AS work_orders_solution, work_orders.ai_suggestion AS work_orders_ai_suggestion, work_orders.source AS work_orders_source, work_orders.module AS work_orders_module, work_orders.created_by AS work_orders_created_by, work_orders.wilfulness AS work_orders_wilfulness, work_orders.date_of_close AS work_orders_date_of_close, work_orders.vehicle_type AS work_orders_vehicle_type, work_orders.vin_sim AS work_orders_vin_sim, work_orders.app_remote_control_version AS work_orders_app_remote_control_version, work_orders.hmi_sw AS work_orders_hmi_sw, work_orders.parent_record AS work_orders_parent_record, work_orders.has_updated_same_day AS work_orders_has_updated_same_day, work_orders.operating_time AS work_orders_operating_time, work_orders.assigned_module AS work_orders_assigned_module, work_orders.module_owner AS work_orders_module_owner, work_orders.dispatcher AS work_orders_dispatcher, work_orders.dispatch_time AS work_orders_dispatch_time, work_orders.region AS work_orders_region 
FROM work_orders 
WHERE work_orders.status = ?) AS anon_1]
[parameters: ('open',)]
(Background on this error at: https://sqlalche.me/e/20/e3q8)
2025-12-12 11:11:29,302 - src.web.error_handlers - ERROR - 未处理错误 in get_health: (sqlite3.OperationalError) no such column: work_orders.assigned_module
[SQL: SELECT count(*) AS count_1 
FROM (SELECT work_orders.id AS work_orders_id, work_orders.order_id AS work_orders_order_id, work_orders.title AS work_orders_title, work_orders.description AS work_orders_description, work_orders.category AS work_orders_category, work_orders.priority AS work_orders_priority, work_orders.status AS work_orders_status, work_orders.created_at AS work_orders_created_at, work_orders.updated_at AS work_orders_updated_at, work_orders.resolution AS work_orders_resolution, work_orders.satisfaction_score AS work_orders_satisfaction_score, work_orders.feishu_record_id AS work_orders_feishu_record_id, work_orders.assignee AS work_orders_assignee, work_orders.solution AS work_orders_solution, work_orders.ai_suggestion AS work_orders_ai_suggestion, work_orders.source AS work_orders_source, work_orders.module AS work_orders_module, work_orders.created_by AS work_orders_created_by, work_orders.wilfulness AS work_orders_wilfulness, work_orders.date_of_close AS work_orders_date_of_close, work_orders.vehicle_type AS work_orders_vehicle_type, work_orders.vin_sim AS work_orders_vin_sim, work_orders.app_remote_control_version AS work_orders_app_remote_control_version, work_orders.hmi_sw AS work_orders_hmi_sw, work_orders.parent_record AS work_orders_parent_record, work_orders.has_updated_same_day AS work_orders_has_updated_same_day, work_orders.operating_time AS work_orders_operating_time, work_orders.assigned_module AS work_orders_assigned_module, work_orders.module_owner AS work_orders_module_owner, work_orders.dispatcher AS work_orders_dispatcher, work_orders.dispatch_time AS work_orders_dispatch_time, work_orders.region AS work_orders_region 
FROM work_orders 
WHERE work_orders.status = ?) AS anon_1]
[parameters: ('open',)]
(Background on this error at: https://sqlalche.me/e/20/e3q8)
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\base.py", line 1967, in _exec_single_context
    self.dialect.do_execute(
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\default.py", line 941, in do_execute
    cursor.execute(statement, parameters)
sqlite3.OperationalError: no such column: work_orders.assigned_module

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "D:\code\assist\src\web\error_handlers.py", line 20, in wrapper
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "D:\code\assist\src\web\blueprints\core.py", line 32, in get_health
    open_wos = session.query(WorkOrder).filter(WorkOrder.status == 'open').count()
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\orm\query.py", line 3112, in count
    self._legacy_from_self(col).enable_eagerloads(False).scalar()
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\orm\query.py", line 2805, in scalar
    ret = self.one()
          ^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\orm\query.py", line 2778, in one
    return self._iter().one()  # type: ignore
           ^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\orm\query.py", line 2827, in _iter
    result: Union[ScalarResult[_T], Result[_T]] = self.session.execute(
                                                  ^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\orm\session.py", line 2362, in execute
    return self._execute_internal(
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\orm\session.py", line 2247, in _execute_internal
    result: Result[Any] = compile_state_cls.orm_execute_statement(
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\orm\context.py", line 293, in orm_execute_statement
    result = conn.execute(
             ^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\base.py", line 1418, in execute
    return meth(
           ^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\sql\elements.py", line 515, in _execute_on_connection
    return connection._execute_clauseelement(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\base.py", line 1640, in _execute_clauseelement
    ret = self._execute_context(
          ^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\base.py", line 1846, in _execute_context
    return self._exec_single_context(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\base.py", line 1986, in _exec_single_context
    self._handle_dbapi_exception(
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\base.py", line 2355, in _handle_dbapi_exception
    raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\base.py", line 1967, in _exec_single_context
    self.dialect.do_execute(
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\default.py", line 941, in do_execute
    cursor.execute(statement, parameters)
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no such column: work_orders.assigned_module
[SQL: SELECT count(*) AS count_1 
FROM (SELECT work_orders.id AS work_orders_id, work_orders.order_id AS work_orders_order_id, work_orders.title AS work_orders_title, work_orders.description AS work_orders_description, work_orders.category AS work_orders_category, work_orders.priority AS work_orders_priority, work_orders.status AS work_orders_status, work_orders.created_at AS work_orders_created_at, work_orders.updated_at AS work_orders_updated_at, work_orders.resolution AS work_orders_resolution, work_orders.satisfaction_score AS work_orders_satisfaction_score, work_orders.feishu_record_id AS work_orders_feishu_record_id, work_orders.assignee AS work_orders_assignee, work_orders.solution AS work_orders_solution, work_orders.ai_suggestion AS work_orders_ai_suggestion, work_orders.source AS work_orders_source, work_orders.module AS work_orders_module, work_orders.created_by AS work_orders_created_by, work_orders.wilfulness AS work_orders_wilfulness, work_orders.date_of_close AS work_orders_date_of_close, work_orders.vehicle_type AS work_orders_vehicle_type, work_orders.vin_sim AS work_orders_vin_sim, work_orders.app_remote_control_version AS work_orders_app_remote_control_version, work_orders.hmi_sw AS work_orders_hmi_sw, work_orders.parent_record AS work_orders_parent_record, work_orders.has_updated_same_day AS work_orders_has_updated_same_day, work_orders.operating_time AS work_orders_operating_time, work_orders.assigned_module AS work_orders_assigned_module, work_orders.module_owner AS work_orders_module_owner, work_orders.dispatcher AS work_orders_dispatcher, work_orders.dispatch_time AS work_orders_dispatch_time, work_orders.region AS work_orders_region 
FROM work_orders 
WHERE work_orders.status = ?) AS anon_1]
[parameters: ('open',)]
(Background on this error at: https://sqlalche.me/e/20/e3q8)
2025-12-12 11:11:29,308 - src.web.error_handlers - ERROR - 错误响应: 服务器内部错误: (sqlite3.OperationalError) no such column: work_orders.assigned_module
[SQL: SELECT count(*) AS count_1 
FROM (SELECT work_orders.id AS work_orders_id, work_orders.order_id AS work_orders_order_id, work_orders.title AS work_orders_title, work_orders.description AS work_orders_description, work_orders.category AS work_orders_category, work_orders.priority AS work_orders_priority, work_orders.status AS work_orders_status, work_orders.created_at AS work_orders_created_at, work_orders.updated_at AS work_orders_updated_at, work_orders.resolution AS work_orders_resolution, work_orders.satisfaction_score AS work_orders_satisfaction_score, work_orders.feishu_record_id AS work_orders_feishu_record_id, work_orders.assignee AS work_orders_assignee, work_orders.solution AS work_orders_solution, work_orders.ai_suggestion AS work_orders_ai_suggestion, work_orders.source AS work_orders_source, work_orders.module AS work_orders_module, work_orders.created_by AS work_orders_created_by, work_orders.wilfulness AS work_orders_wilfulness, work_orders.date_of_close AS work_orders_date_of_close, work_orders.vehicle_type AS work_orders_vehicle_type, work_orders.vin_sim AS work_orders_vin_sim, work_orders.app_remote_control_version AS work_orders_app_remote_control_version, work_orders.hmi_sw AS work_orders_hmi_sw, work_orders.parent_record AS work_orders_parent_record, work_orders.has_updated_same_day AS work_orders_has_updated_same_day, work_orders.operating_time AS work_orders_operating_time, work_orders.assigned_module AS work_orders_assigned_module, work_orders.module_owner AS work_orders_module_owner, work_orders.dispatcher AS work_orders_dispatcher, work_orders.dispatch_time AS work_orders_dispatch_time, work_orders.region AS work_orders_region 
FROM work_orders 
WHERE work_orders.status = ?) AS anon_1]
[parameters: ('open',)]
(Background on this error at: https://sqlalche.me/e/20/e3q8) - None
2025-12-12 11:11:34,298 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:11:34] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 11:11:34,311 - src.core.database - ERROR - 数据库操作失败: (sqlite3.OperationalError) no such column: work_orders.assigned_module
[SQL: SELECT count(*) AS count_1 
FROM (SELECT work_orders.id AS work_orders_id, work_orders.order_id AS work_orders_order_id, work_orders.title AS work_orders_title, work_orders.description AS work_orders_description, work_orders.category AS work_orders_category, work_orders.priority AS work_orders_priority, work_orders.status AS work_orders_status, work_orders.created_at AS work_orders_created_at, work_orders.updated_at AS work_orders_updated_at, work_orders.resolution AS work_orders_resolution, work_orders.satisfaction_score AS work_orders_satisfaction_score, work_orders.feishu_record_id AS work_orders_feishu_record_id, work_orders.assignee AS work_orders_assignee, work_orders.solution AS work_orders_solution, work_orders.ai_suggestion AS work_orders_ai_suggestion, work_orders.source AS work_orders_source, work_orders.module AS work_orders_module, work_orders.created_by AS work_orders_created_by, work_orders.wilfulness AS work_orders_wilfulness, work_orders.date_of_close AS work_orders_date_of_close, work_orders.vehicle_type AS work_orders_vehicle_type, work_orders.vin_sim AS work_orders_vin_sim, work_orders.app_remote_control_version AS work_orders_app_remote_control_version, work_orders.hmi_sw AS work_orders_hmi_sw, work_orders.parent_record AS work_orders_parent_record, work_orders.has_updated_same_day AS work_orders_has_updated_same_day, work_orders.operating_time AS work_orders_operating_time, work_orders.assigned_module AS work_orders_assigned_module, work_orders.module_owner AS work_orders_module_owner, work_orders.dispatcher AS work_orders_dispatcher, work_orders.dispatch_time AS work_orders_dispatch_time, work_orders.region AS work_orders_region 
FROM work_orders 
WHERE work_orders.status = ?) AS anon_1]
[parameters: ('open',)]
(Background on this error at: https://sqlalche.me/e/20/e3q8)
2025-12-12 11:11:34,312 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:11:34] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:11:34,312 - src.web.error_handlers - ERROR - 未处理错误 in get_health: (sqlite3.OperationalError) no such column: work_orders.assigned_module
[SQL: SELECT count(*) AS count_1 
FROM (SELECT work_orders.id AS work_orders_id, work_orders.order_id AS work_orders_order_id, work_orders.title AS work_orders_title, work_orders.description AS work_orders_description, work_orders.category AS work_orders_category, work_orders.priority AS work_orders_priority, work_orders.status AS work_orders_status, work_orders.created_at AS work_orders_created_at, work_orders.updated_at AS work_orders_updated_at, work_orders.resolution AS work_orders_resolution, work_orders.satisfaction_score AS work_orders_satisfaction_score, work_orders.feishu_record_id AS work_orders_feishu_record_id, work_orders.assignee AS work_orders_assignee, work_orders.solution AS work_orders_solution, work_orders.ai_suggestion AS work_orders_ai_suggestion, work_orders.source AS work_orders_source, work_orders.module AS work_orders_module, work_orders.created_by AS work_orders_created_by, work_orders.wilfulness AS work_orders_wilfulness, work_orders.date_of_close AS work_orders_date_of_close, work_orders.vehicle_type AS work_orders_vehicle_type, work_orders.vin_sim AS work_orders_vin_sim, work_orders.app_remote_control_version AS work_orders_app_remote_control_version, work_orders.hmi_sw AS work_orders_hmi_sw, work_orders.parent_record AS work_orders_parent_record, work_orders.has_updated_same_day AS work_orders_has_updated_same_day, work_orders.operating_time AS work_orders_operating_time, work_orders.assigned_module AS work_orders_assigned_module, work_orders.module_owner AS work_orders_module_owner, work_orders.dispatcher AS work_orders_dispatcher, work_orders.dispatch_time AS work_orders_dispatch_time, work_orders.region AS work_orders_region 
FROM work_orders 
WHERE work_orders.status = ?) AS anon_1]
[parameters: ('open',)]
(Background on this error at: https://sqlalche.me/e/20/e3q8)
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\base.py", line 1967, in _exec_single_context
    self.dialect.do_execute(
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\default.py", line 941, in do_execute
    cursor.execute(statement, parameters)
sqlite3.OperationalError: no such column: work_orders.assigned_module

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "D:\code\assist\src\web\error_handlers.py", line 20, in wrapper
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "D:\code\assist\src\web\blueprints\core.py", line 32, in get_health
    open_wos = session.query(WorkOrder).filter(WorkOrder.status == 'open').count()
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\orm\query.py", line 3112, in count
    self._legacy_from_self(col).enable_eagerloads(False).scalar()
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\orm\query.py", line 2805, in scalar
    ret = self.one()
          ^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\orm\query.py", line 2778, in one
    return self._iter().one()  # type: ignore
           ^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\orm\query.py", line 2827, in _iter
    result: Union[ScalarResult[_T], Result[_T]] = self.session.execute(
                                                  ^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\orm\session.py", line 2362, in execute
    return self._execute_internal(
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\orm\session.py", line 2247, in _execute_internal
    result: Result[Any] = compile_state_cls.orm_execute_statement(
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\orm\context.py", line 293, in orm_execute_statement
    result = conn.execute(
             ^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\base.py", line 1418, in execute
    return meth(
           ^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\sql\elements.py", line 515, in _execute_on_connection
    return connection._execute_clauseelement(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\base.py", line 1640, in _execute_clauseelement
    ret = self._execute_context(
          ^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\base.py", line 1846, in _execute_context
    return self._exec_single_context(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\base.py", line 1986, in _exec_single_context
    self._handle_dbapi_exception(
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\base.py", line 2355, in _handle_dbapi_exception
    raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\base.py", line 1967, in _exec_single_context
    self.dialect.do_execute(
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\default.py", line 941, in do_execute
    cursor.execute(statement, parameters)
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no such column: work_orders.assigned_module
[SQL: SELECT count(*) AS count_1 
FROM (SELECT work_orders.id AS work_orders_id, work_orders.order_id AS work_orders_order_id, work_orders.title AS work_orders_title, work_orders.description AS work_orders_description, work_orders.category AS work_orders_category, work_orders.priority AS work_orders_priority, work_orders.status AS work_orders_status, work_orders.created_at AS work_orders_created_at, work_orders.updated_at AS work_orders_updated_at, work_orders.resolution AS work_orders_resolution, work_orders.satisfaction_score AS work_orders_satisfaction_score, work_orders.feishu_record_id AS work_orders_feishu_record_id, work_orders.assignee AS work_orders_assignee, work_orders.solution AS work_orders_solution, work_orders.ai_suggestion AS work_orders_ai_suggestion, work_orders.source AS work_orders_source, work_orders.module AS work_orders_module, work_orders.created_by AS work_orders_created_by, work_orders.wilfulness AS work_orders_wilfulness, work_orders.date_of_close AS work_orders_date_of_close, work_orders.vehicle_type AS work_orders_vehicle_type, work_orders.vin_sim AS work_orders_vin_sim, work_orders.app_remote_control_version AS work_orders_app_remote_control_version, work_orders.hmi_sw AS work_orders_hmi_sw, work_orders.parent_record AS work_orders_parent_record, work_orders.has_updated_same_day AS work_orders_has_updated_same_day, work_orders.operating_time AS work_orders_operating_time, work_orders.assigned_module AS work_orders_assigned_module, work_orders.module_owner AS work_orders_module_owner, work_orders.dispatcher AS work_orders_dispatcher, work_orders.dispatch_time AS work_orders_dispatch_time, work_orders.region AS work_orders_region 
FROM work_orders 
WHERE work_orders.status = ?) AS anon_1]
[parameters: ('open',)]
(Background on this error at: https://sqlalche.me/e/20/e3q8)
2025-12-12 11:11:34,318 - src.web.error_handlers - ERROR - 错误响应: 服务器内部错误: (sqlite3.OperationalError) no such column: work_orders.assigned_module
[SQL: SELECT count(*) AS count_1 
FROM (SELECT work_orders.id AS work_orders_id, work_orders.order_id AS work_orders_order_id, work_orders.title AS work_orders_title, work_orders.description AS work_orders_description, work_orders.category AS work_orders_category, work_orders.priority AS work_orders_priority, work_orders.status AS work_orders_status, work_orders.created_at AS work_orders_created_at, work_orders.updated_at AS work_orders_updated_at, work_orders.resolution AS work_orders_resolution, work_orders.satisfaction_score AS work_orders_satisfaction_score, work_orders.feishu_record_id AS work_orders_feishu_record_id, work_orders.assignee AS work_orders_assignee, work_orders.solution AS work_orders_solution, work_orders.ai_suggestion AS work_orders_ai_suggestion, work_orders.source AS work_orders_source, work_orders.module AS work_orders_module, work_orders.created_by AS work_orders_created_by, work_orders.wilfulness AS work_orders_wilfulness, work_orders.date_of_close AS work_orders_date_of_close, work_orders.vehicle_type AS work_orders_vehicle_type, work_orders.vin_sim AS work_orders_vin_sim, work_orders.app_remote_control_version AS work_orders_app_remote_control_version, work_orders.hmi_sw AS work_orders_hmi_sw, work_orders.parent_record AS work_orders_parent_record, work_orders.has_updated_same_day AS work_orders_has_updated_same_day, work_orders.operating_time AS work_orders_operating_time, work_orders.assigned_module AS work_orders_assigned_module, work_orders.module_owner AS work_orders_module_owner, work_orders.dispatcher AS work_orders_dispatcher, work_orders.dispatch_time AS work_orders_dispatch_time, work_orders.region AS work_orders_region 
FROM work_orders 
WHERE work_orders.status = ?) AS anon_1]
[parameters: ('open',)]
(Background on this error at: https://sqlalche.me/e/20/e3q8) - None
2025-12-12 11:11:39,301 - src.core.database - ERROR - 数据库操作失败: (sqlite3.OperationalError) no such column: work_orders.assigned_module
[SQL: SELECT count(*) AS count_1 
FROM (SELECT work_orders.id AS work_orders_id, work_orders.order_id AS work_orders_order_id, work_orders.title AS work_orders_title, work_orders.description AS work_orders_description, work_orders.category AS work_orders_category, work_orders.priority AS work_orders_priority, work_orders.status AS work_orders_status, work_orders.created_at AS work_orders_created_at, work_orders.updated_at AS work_orders_updated_at, work_orders.resolution AS work_orders_resolution, work_orders.satisfaction_score AS work_orders_satisfaction_score, work_orders.feishu_record_id AS work_orders_feishu_record_id, work_orders.assignee AS work_orders_assignee, work_orders.solution AS work_orders_solution, work_orders.ai_suggestion AS work_orders_ai_suggestion, work_orders.source AS work_orders_source, work_orders.module AS work_orders_module, work_orders.created_by AS work_orders_created_by, work_orders.wilfulness AS work_orders_wilfulness, work_orders.date_of_close AS work_orders_date_of_close, work_orders.vehicle_type AS work_orders_vehicle_type, work_orders.vin_sim AS work_orders_vin_sim, work_orders.app_remote_control_version AS work_orders_app_remote_control_version, work_orders.hmi_sw AS work_orders_hmi_sw, work_orders.parent_record AS work_orders_parent_record, work_orders.has_updated_same_day AS work_orders_has_updated_same_day, work_orders.operating_time AS work_orders_operating_time, work_orders.assigned_module AS work_orders_assigned_module, work_orders.module_owner AS work_orders_module_owner, work_orders.dispatcher AS work_orders_dispatcher, work_orders.dispatch_time AS work_orders_dispatch_time, work_orders.region AS work_orders_region 
FROM work_orders 
WHERE work_orders.status = ?) AS anon_1]
[parameters: ('open',)]
(Background on this error at: https://sqlalche.me/e/20/e3q8)
2025-12-12 11:11:39,303 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:11:39] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:11:39,303 - src.web.error_handlers - ERROR - 未处理错误 in get_health: (sqlite3.OperationalError) no such column: work_orders.assigned_module
[SQL: SELECT count(*) AS count_1 
FROM (SELECT work_orders.id AS work_orders_id, work_orders.order_id AS work_orders_order_id, work_orders.title AS work_orders_title, work_orders.description AS work_orders_description, work_orders.category AS work_orders_category, work_orders.priority AS work_orders_priority, work_orders.status AS work_orders_status, work_orders.created_at AS work_orders_created_at, work_orders.updated_at AS work_orders_updated_at, work_orders.resolution AS work_orders_resolution, work_orders.satisfaction_score AS work_orders_satisfaction_score, work_orders.feishu_record_id AS work_orders_feishu_record_id, work_orders.assignee AS work_orders_assignee, work_orders.solution AS work_orders_solution, work_orders.ai_suggestion AS work_orders_ai_suggestion, work_orders.source AS work_orders_source, work_orders.module AS work_orders_module, work_orders.created_by AS work_orders_created_by, work_orders.wilfulness AS work_orders_wilfulness, work_orders.date_of_close AS work_orders_date_of_close, work_orders.vehicle_type AS work_orders_vehicle_type, work_orders.vin_sim AS work_orders_vin_sim, work_orders.app_remote_control_version AS work_orders_app_remote_control_version, work_orders.hmi_sw AS work_orders_hmi_sw, work_orders.parent_record AS work_orders_parent_record, work_orders.has_updated_same_day AS work_orders_has_updated_same_day, work_orders.operating_time AS work_orders_operating_time, work_orders.assigned_module AS work_orders_assigned_module, work_orders.module_owner AS work_orders_module_owner, work_orders.dispatcher AS work_orders_dispatcher, work_orders.dispatch_time AS work_orders_dispatch_time, work_orders.region AS work_orders_region 
FROM work_orders 
WHERE work_orders.status = ?) AS anon_1]
[parameters: ('open',)]
(Background on this error at: https://sqlalche.me/e/20/e3q8)
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\base.py", line 1967, in _exec_single_context
    self.dialect.do_execute(
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\default.py", line 941, in do_execute
    cursor.execute(statement, parameters)
sqlite3.OperationalError: no such column: work_orders.assigned_module

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "D:\code\assist\src\web\error_handlers.py", line 20, in wrapper
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "D:\code\assist\src\web\blueprints\core.py", line 32, in get_health
    open_wos = session.query(WorkOrder).filter(WorkOrder.status == 'open').count()
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\orm\query.py", line 3112, in count
    self._legacy_from_self(col).enable_eagerloads(False).scalar()
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\orm\query.py", line 2805, in scalar
    ret = self.one()
          ^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\orm\query.py", line 2778, in one
    return self._iter().one()  # type: ignore
           ^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\orm\query.py", line 2827, in _iter
    result: Union[ScalarResult[_T], Result[_T]] = self.session.execute(
                                                  ^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\orm\session.py", line 2362, in execute
    return self._execute_internal(
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\orm\session.py", line 2247, in _execute_internal
    result: Result[Any] = compile_state_cls.orm_execute_statement(
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\orm\context.py", line 293, in orm_execute_statement
    result = conn.execute(
             ^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\base.py", line 1418, in execute
    return meth(
           ^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\sql\elements.py", line 515, in _execute_on_connection
    return connection._execute_clauseelement(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\base.py", line 1640, in _execute_clauseelement
    ret = self._execute_context(
          ^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\base.py", line 1846, in _execute_context
    return self._exec_single_context(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\base.py", line 1986, in _exec_single_context
    self._handle_dbapi_exception(
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\base.py", line 2355, in _handle_dbapi_exception
    raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\base.py", line 1967, in _exec_single_context
    self.dialect.do_execute(
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\default.py", line 941, in do_execute
    cursor.execute(statement, parameters)
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no such column: work_orders.assigned_module
[SQL: SELECT count(*) AS count_1 
FROM (SELECT work_orders.id AS work_orders_id, work_orders.order_id AS work_orders_order_id, work_orders.title AS work_orders_title, work_orders.description AS work_orders_description, work_orders.category AS work_orders_category, work_orders.priority AS work_orders_priority, work_orders.status AS work_orders_status, work_orders.created_at AS work_orders_created_at, work_orders.updated_at AS work_orders_updated_at, work_orders.resolution AS work_orders_resolution, work_orders.satisfaction_score AS work_orders_satisfaction_score, work_orders.feishu_record_id AS work_orders_feishu_record_id, work_orders.assignee AS work_orders_assignee, work_orders.solution AS work_orders_solution, work_orders.ai_suggestion AS work_orders_ai_suggestion, work_orders.source AS work_orders_source, work_orders.module AS work_orders_module, work_orders.created_by AS work_orders_created_by, work_orders.wilfulness AS work_orders_wilfulness, work_orders.date_of_close AS work_orders_date_of_close, work_orders.vehicle_type AS work_orders_vehicle_type, work_orders.vin_sim AS work_orders_vin_sim, work_orders.app_remote_control_version AS work_orders_app_remote_control_version, work_orders.hmi_sw AS work_orders_hmi_sw, work_orders.parent_record AS work_orders_parent_record, work_orders.has_updated_same_day AS work_orders_has_updated_same_day, work_orders.operating_time AS work_orders_operating_time, work_orders.assigned_module AS work_orders_assigned_module, work_orders.module_owner AS work_orders_module_owner, work_orders.dispatcher AS work_orders_dispatcher, work_orders.dispatch_time AS work_orders_dispatch_time, work_orders.region AS work_orders_region 
FROM work_orders 
WHERE work_orders.status = ?) AS anon_1]
[parameters: ('open',)]
(Background on this error at: https://sqlalche.me/e/20/e3q8)
2025-12-12 11:11:39,311 - src.web.error_handlers - ERROR - 错误响应: 服务器内部错误: (sqlite3.OperationalError) no such column: work_orders.assigned_module
[SQL: SELECT count(*) AS count_1 
FROM (SELECT work_orders.id AS work_orders_id, work_orders.order_id AS work_orders_order_id, work_orders.title AS work_orders_title, work_orders.description AS work_orders_description, work_orders.category AS work_orders_category, work_orders.priority AS work_orders_priority, work_orders.status AS work_orders_status, work_orders.created_at AS work_orders_created_at, work_orders.updated_at AS work_orders_updated_at, work_orders.resolution AS work_orders_resolution, work_orders.satisfaction_score AS work_orders_satisfaction_score, work_orders.feishu_record_id AS work_orders_feishu_record_id, work_orders.assignee AS work_orders_assignee, work_orders.solution AS work_orders_solution, work_orders.ai_suggestion AS work_orders_ai_suggestion, work_orders.source AS work_orders_source, work_orders.module AS work_orders_module, work_orders.created_by AS work_orders_created_by, work_orders.wilfulness AS work_orders_wilfulness, work_orders.date_of_close AS work_orders_date_of_close, work_orders.vehicle_type AS work_orders_vehicle_type, work_orders.vin_sim AS work_orders_vin_sim, work_orders.app_remote_control_version AS work_orders_app_remote_control_version, work_orders.hmi_sw AS work_orders_hmi_sw, work_orders.parent_record AS work_orders_parent_record, work_orders.has_updated_same_day AS work_orders_has_updated_same_day, work_orders.operating_time AS work_orders_operating_time, work_orders.assigned_module AS work_orders_assigned_module, work_orders.module_owner AS work_orders_module_owner, work_orders.dispatcher AS work_orders_dispatcher, work_orders.dispatch_time AS work_orders_dispatch_time, work_orders.region AS work_orders_region 
FROM work_orders 
WHERE work_orders.status = ?) AS anon_1]
[parameters: ('open',)]
(Background on this error at: https://sqlalche.me/e/20/e3q8) - None
2025-12-12 11:11:44,299 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:11:44] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 11:11:44,313 - src.core.database - ERROR - 数据库操作失败: (sqlite3.OperationalError) no such column: work_orders.assigned_module
[SQL: SELECT count(*) AS count_1 
FROM (SELECT work_orders.id AS work_orders_id, work_orders.order_id AS work_orders_order_id, work_orders.title AS work_orders_title, work_orders.description AS work_orders_description, work_orders.category AS work_orders_category, work_orders.priority AS work_orders_priority, work_orders.status AS work_orders_status, work_orders.created_at AS work_orders_created_at, work_orders.updated_at AS work_orders_updated_at, work_orders.resolution AS work_orders_resolution, work_orders.satisfaction_score AS work_orders_satisfaction_score, work_orders.feishu_record_id AS work_orders_feishu_record_id, work_orders.assignee AS work_orders_assignee, work_orders.solution AS work_orders_solution, work_orders.ai_suggestion AS work_orders_ai_suggestion, work_orders.source AS work_orders_source, work_orders.module AS work_orders_module, work_orders.created_by AS work_orders_created_by, work_orders.wilfulness AS work_orders_wilfulness, work_orders.date_of_close AS work_orders_date_of_close, work_orders.vehicle_type AS work_orders_vehicle_type, work_orders.vin_sim AS work_orders_vin_sim, work_orders.app_remote_control_version AS work_orders_app_remote_control_version, work_orders.hmi_sw AS work_orders_hmi_sw, work_orders.parent_record AS work_orders_parent_record, work_orders.has_updated_same_day AS work_orders_has_updated_same_day, work_orders.operating_time AS work_orders_operating_time, work_orders.assigned_module AS work_orders_assigned_module, work_orders.module_owner AS work_orders_module_owner, work_orders.dispatcher AS work_orders_dispatcher, work_orders.dispatch_time AS work_orders_dispatch_time, work_orders.region AS work_orders_region 
FROM work_orders 
WHERE work_orders.status = ?) AS anon_1]
[parameters: ('open',)]
(Background on this error at: https://sqlalche.me/e/20/e3q8)
2025-12-12 11:11:44,314 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:11:44] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:11:44,315 - src.web.error_handlers - ERROR - 未处理错误 in get_health: (sqlite3.OperationalError) no such column: work_orders.assigned_module
[SQL: SELECT count(*) AS count_1 
FROM (SELECT work_orders.id AS work_orders_id, work_orders.order_id AS work_orders_order_id, work_orders.title AS work_orders_title, work_orders.description AS work_orders_description, work_orders.category AS work_orders_category, work_orders.priority AS work_orders_priority, work_orders.status AS work_orders_status, work_orders.created_at AS work_orders_created_at, work_orders.updated_at AS work_orders_updated_at, work_orders.resolution AS work_orders_resolution, work_orders.satisfaction_score AS work_orders_satisfaction_score, work_orders.feishu_record_id AS work_orders_feishu_record_id, work_orders.assignee AS work_orders_assignee, work_orders.solution AS work_orders_solution, work_orders.ai_suggestion AS work_orders_ai_suggestion, work_orders.source AS work_orders_source, work_orders.module AS work_orders_module, work_orders.created_by AS work_orders_created_by, work_orders.wilfulness AS work_orders_wilfulness, work_orders.date_of_close AS work_orders_date_of_close, work_orders.vehicle_type AS work_orders_vehicle_type, work_orders.vin_sim AS work_orders_vin_sim, work_orders.app_remote_control_version AS work_orders_app_remote_control_version, work_orders.hmi_sw AS work_orders_hmi_sw, work_orders.parent_record AS work_orders_parent_record, work_orders.has_updated_same_day AS work_orders_has_updated_same_day, work_orders.operating_time AS work_orders_operating_time, work_orders.assigned_module AS work_orders_assigned_module, work_orders.module_owner AS work_orders_module_owner, work_orders.dispatcher AS work_orders_dispatcher, work_orders.dispatch_time AS work_orders_dispatch_time, work_orders.region AS work_orders_region 
FROM work_orders 
WHERE work_orders.status = ?) AS anon_1]
[parameters: ('open',)]
(Background on this error at: https://sqlalche.me/e/20/e3q8)
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\base.py", line 1967, in _exec_single_context
    self.dialect.do_execute(
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\default.py", line 941, in do_execute
    cursor.execute(statement, parameters)
sqlite3.OperationalError: no such column: work_orders.assigned_module

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "D:\code\assist\src\web\error_handlers.py", line 20, in wrapper
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "D:\code\assist\src\web\blueprints\core.py", line 32, in get_health
    open_wos = session.query(WorkOrder).filter(WorkOrder.status == 'open').count()
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\orm\query.py", line 3112, in count
    self._legacy_from_self(col).enable_eagerloads(False).scalar()
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\orm\query.py", line 2805, in scalar
    ret = self.one()
          ^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\orm\query.py", line 2778, in one
    return self._iter().one()  # type: ignore
           ^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\orm\query.py", line 2827, in _iter
    result: Union[ScalarResult[_T], Result[_T]] = self.session.execute(
                                                  ^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\orm\session.py", line 2362, in execute
    return self._execute_internal(
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\orm\session.py", line 2247, in _execute_internal
    result: Result[Any] = compile_state_cls.orm_execute_statement(
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\orm\context.py", line 293, in orm_execute_statement
    result = conn.execute(
             ^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\base.py", line 1418, in execute
    return meth(
           ^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\sql\elements.py", line 515, in _execute_on_connection
    return connection._execute_clauseelement(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\base.py", line 1640, in _execute_clauseelement
    ret = self._execute_context(
          ^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\base.py", line 1846, in _execute_context
    return self._exec_single_context(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\base.py", line 1986, in _exec_single_context
    self._handle_dbapi_exception(
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\base.py", line 2355, in _handle_dbapi_exception
    raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\base.py", line 1967, in _exec_single_context
    self.dialect.do_execute(
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\default.py", line 941, in do_execute
    cursor.execute(statement, parameters)
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no such column: work_orders.assigned_module
[SQL: SELECT count(*) AS count_1 
FROM (SELECT work_orders.id AS work_orders_id, work_orders.order_id AS work_orders_order_id, work_orders.title AS work_orders_title, work_orders.description AS work_orders_description, work_orders.category AS work_orders_category, work_orders.priority AS work_orders_priority, work_orders.status AS work_orders_status, work_orders.created_at AS work_orders_created_at, work_orders.updated_at AS work_orders_updated_at, work_orders.resolution AS work_orders_resolution, work_orders.satisfaction_score AS work_orders_satisfaction_score, work_orders.feishu_record_id AS work_orders_feishu_record_id, work_orders.assignee AS work_orders_assignee, work_orders.solution AS work_orders_solution, work_orders.ai_suggestion AS work_orders_ai_suggestion, work_orders.source AS work_orders_source, work_orders.module AS work_orders_module, work_orders.created_by AS work_orders_created_by, work_orders.wilfulness AS work_orders_wilfulness, work_orders.date_of_close AS work_orders_date_of_close, work_orders.vehicle_type AS work_orders_vehicle_type, work_orders.vin_sim AS work_orders_vin_sim, work_orders.app_remote_control_version AS work_orders_app_remote_control_version, work_orders.hmi_sw AS work_orders_hmi_sw, work_orders.parent_record AS work_orders_parent_record, work_orders.has_updated_same_day AS work_orders_has_updated_same_day, work_orders.operating_time AS work_orders_operating_time, work_orders.assigned_module AS work_orders_assigned_module, work_orders.module_owner AS work_orders_module_owner, work_orders.dispatcher AS work_orders_dispatcher, work_orders.dispatch_time AS work_orders_dispatch_time, work_orders.region AS work_orders_region 
FROM work_orders 
WHERE work_orders.status = ?) AS anon_1]
[parameters: ('open',)]
(Background on this error at: https://sqlalche.me/e/20/e3q8)
2025-12-12 11:11:44,322 - src.web.error_handlers - ERROR - 错误响应: 服务器内部错误: (sqlite3.OperationalError) no such column: work_orders.assigned_module
[SQL: SELECT count(*) AS count_1 
FROM (SELECT work_orders.id AS work_orders_id, work_orders.order_id AS work_orders_order_id, work_orders.title AS work_orders_title, work_orders.description AS work_orders_description, work_orders.category AS work_orders_category, work_orders.priority AS work_orders_priority, work_orders.status AS work_orders_status, work_orders.created_at AS work_orders_created_at, work_orders.updated_at AS work_orders_updated_at, work_orders.resolution AS work_orders_resolution, work_orders.satisfaction_score AS work_orders_satisfaction_score, work_orders.feishu_record_id AS work_orders_feishu_record_id, work_orders.assignee AS work_orders_assignee, work_orders.solution AS work_orders_solution, work_orders.ai_suggestion AS work_orders_ai_suggestion, work_orders.source AS work_orders_source, work_orders.module AS work_orders_module, work_orders.created_by AS work_orders_created_by, work_orders.wilfulness AS work_orders_wilfulness, work_orders.date_of_close AS work_orders_date_of_close, work_orders.vehicle_type AS work_orders_vehicle_type, work_orders.vin_sim AS work_orders_vin_sim, work_orders.app_remote_control_version AS work_orders_app_remote_control_version, work_orders.hmi_sw AS work_orders_hmi_sw, work_orders.parent_record AS work_orders_parent_record, work_orders.has_updated_same_day AS work_orders_has_updated_same_day, work_orders.operating_time AS work_orders_operating_time, work_orders.assigned_module AS work_orders_assigned_module, work_orders.module_owner AS work_orders_module_owner, work_orders.dispatcher AS work_orders_dispatcher, work_orders.dispatch_time AS work_orders_dispatch_time, work_orders.region AS work_orders_region 
FROM work_orders 
WHERE work_orders.status = ?) AS anon_1]
[parameters: ('open',)]
(Background on this error at: https://sqlalche.me/e/20/e3q8) - None
2025-12-12 11:11:55,301 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:11:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 11:11:55,313 - src.core.database - ERROR - 数据库操作失败: (sqlite3.OperationalError) no such column: work_orders.assigned_module
[SQL: SELECT count(*) AS count_1 
FROM (SELECT work_orders.id AS work_orders_id, work_orders.order_id AS work_orders_order_id, work_orders.title AS work_orders_title, work_orders.description AS work_orders_description, work_orders.category AS work_orders_category, work_orders.priority AS work_orders_priority, work_orders.status AS work_orders_status, work_orders.created_at AS work_orders_created_at, work_orders.updated_at AS work_orders_updated_at, work_orders.resolution AS work_orders_resolution, work_orders.satisfaction_score AS work_orders_satisfaction_score, work_orders.feishu_record_id AS work_orders_feishu_record_id, work_orders.assignee AS work_orders_assignee, work_orders.solution AS work_orders_solution, work_orders.ai_suggestion AS work_orders_ai_suggestion, work_orders.source AS work_orders_source, work_orders.module AS work_orders_module, work_orders.created_by AS work_orders_created_by, work_orders.wilfulness AS work_orders_wilfulness, work_orders.date_of_close AS work_orders_date_of_close, work_orders.vehicle_type AS work_orders_vehicle_type, work_orders.vin_sim AS work_orders_vin_sim, work_orders.app_remote_control_version AS work_orders_app_remote_control_version, work_orders.hmi_sw AS work_orders_hmi_sw, work_orders.parent_record AS work_orders_parent_record, work_orders.has_updated_same_day AS work_orders_has_updated_same_day, work_orders.operating_time AS work_orders_operating_time, work_orders.assigned_module AS work_orders_assigned_module, work_orders.module_owner AS work_orders_module_owner, work_orders.dispatcher AS work_orders_dispatcher, work_orders.dispatch_time AS work_orders_dispatch_time, work_orders.region AS work_orders_region 
FROM work_orders 
WHERE work_orders.status = ?) AS anon_1]
[parameters: ('open',)]
(Background on this error at: https://sqlalche.me/e/20/e3q8)
2025-12-12 11:11:55,314 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 11:11:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 11:11:55,314 - src.web.error_handlers - ERROR - 未处理错误 in get_health: (sqlite3.OperationalError) no such column: work_orders.assigned_module
[SQL: SELECT count(*) AS count_1 
FROM (SELECT work_orders.id AS work_orders_id, work_orders.order_id AS work_orders_order_id, work_orders.title AS work_orders_title, work_orders.description AS work_orders_description, work_orders.category AS work_orders_category, work_orders.priority AS work_orders_priority, work_orders.status AS work_orders_status, work_orders.created_at AS work_orders_created_at, work_orders.updated_at AS work_orders_updated_at, work_orders.resolution AS work_orders_resolution, work_orders.satisfaction_score AS work_orders_satisfaction_score, work_orders.feishu_record_id AS work_orders_feishu_record_id, work_orders.assignee AS work_orders_assignee, work_orders.solution AS work_orders_solution, work_orders.ai_suggestion AS work_orders_ai_suggestion, work_orders.source AS work_orders_source, work_orders.module AS work_orders_module, work_orders.created_by AS work_orders_created_by, work_orders.wilfulness AS work_orders_wilfulness, work_orders.date_of_close AS work_orders_date_of_close, work_orders.vehicle_type AS work_orders_vehicle_type, work_orders.vin_sim AS work_orders_vin_sim, work_orders.app_remote_control_version AS work_orders_app_remote_control_version, work_orders.hmi_sw AS work_orders_hmi_sw, work_orders.parent_record AS work_orders_parent_record, work_orders.has_updated_same_day AS work_orders_has_updated_same_day, work_orders.operating_time AS work_orders_operating_time, work_orders.assigned_module AS work_orders_assigned_module, work_orders.module_owner AS work_orders_module_owner, work_orders.dispatcher AS work_orders_dispatcher, work_orders.dispatch_time AS work_orders_dispatch_time, work_orders.region AS work_orders_region 
FROM work_orders 
WHERE work_orders.status = ?) AS anon_1]
[parameters: ('open',)]
(Background on this error at: https://sqlalche.me/e/20/e3q8)
Traceback (most recent call last):
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\base.py", line 1967, in _exec_single_context
    self.dialect.do_execute(
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\default.py", line 941, in do_execute
    cursor.execute(statement, parameters)
sqlite3.OperationalError: no such column: work_orders.assigned_module

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "D:\code\assist\src\web\error_handlers.py", line 20, in wrapper
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "D:\code\assist\src\web\blueprints\core.py", line 32, in get_health
    open_wos = session.query(WorkOrder).filter(WorkOrder.status == 'open').count()
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\orm\query.py", line 3112, in count
    self._legacy_from_self(col).enable_eagerloads(False).scalar()
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\orm\query.py", line 2805, in scalar
    ret = self.one()
          ^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\orm\query.py", line 2778, in one
    return self._iter().one()  # type: ignore
           ^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\orm\query.py", line 2827, in _iter
    result: Union[ScalarResult[_T], Result[_T]] = self.session.execute(
                                                  ^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\orm\session.py", line 2362, in execute
    return self._execute_internal(
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\orm\session.py", line 2247, in _execute_internal
    result: Result[Any] = compile_state_cls.orm_execute_statement(
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\orm\context.py", line 293, in orm_execute_statement
    result = conn.execute(
             ^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\base.py", line 1418, in execute
    return meth(
           ^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\sql\elements.py", line 515, in _execute_on_connection
    return connection._execute_clauseelement(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\base.py", line 1640, in _execute_clauseelement
    ret = self._execute_context(
          ^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\base.py", line 1846, in _execute_context
    return self._exec_single_context(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\base.py", line 1986, in _exec_single_context
    self._handle_dbapi_exception(
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\base.py", line 2355, in _handle_dbapi_exception
    raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\base.py", line 1967, in _exec_single_context
    self.dialect.do_execute(
  File "D:\Programs\Python\Python311\Lib\site-packages\sqlalchemy\engine\default.py", line 941, in do_execute
    cursor.execute(statement, parameters)
sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) no such column: work_orders.assigned_module
[SQL: SELECT count(*) AS count_1 
FROM (SELECT work_orders.id AS work_orders_id, work_orders.order_id AS work_orders_order_id, work_orders.title AS work_orders_title, work_orders.description AS work_orders_description, work_orders.category AS work_orders_category, work_orders.priority AS work_orders_priority, work_orders.status AS work_orders_status, work_orders.created_at AS work_orders_created_at, work_orders.updated_at AS work_orders_updated_at, work_orders.resolution AS work_orders_resolution, work_orders.satisfaction_score AS work_orders_satisfaction_score, work_orders.feishu_record_id AS work_orders_feishu_record_id, work_orders.assignee AS work_orders_assignee, work_orders.solution AS work_orders_solution, work_orders.ai_suggestion AS work_orders_ai_suggestion, work_orders.source AS work_orders_source, work_orders.module AS work_orders_module, work_orders.created_by AS work_orders_created_by, work_orders.wilfulness AS work_orders_wilfulness, work_orders.date_of_close AS work_orders_date_of_close, work_orders.vehicle_type AS work_orders_vehicle_type, work_orders.vin_sim AS work_orders_vin_sim, work_orders.app_remote_control_version AS work_orders_app_remote_control_version, work_orders.hmi_sw AS work_orders_hmi_sw, work_orders.parent_record AS work_orders_parent_record, work_orders.has_updated_same_day AS work_orders_has_updated_same_day, work_orders.operating_time AS work_orders_operating_time, work_orders.assigned_module AS work_orders_assigned_module, work_orders.module_owner AS work_orders_module_owner, work_orders.dispatcher AS work_orders_dispatcher, work_orders.dispatch_time AS work_orders_dispatch_time, work_orders.region AS work_orders_region 
FROM work_orders 
WHERE work_orders.status = ?) AS anon_1]
[parameters: ('open',)]
(Background on this error at: https://sqlalche.me/e/20/e3q8)
2025-12-12 11:11:55,321 - src.web.error_handlers - ERROR - 错误响应: 服务器内部错误: (sqlite3.OperationalError) no such column: work_orders.assigned_module
[SQL: SELECT count(*) AS count_1 
FROM (SELECT work_orders.id AS work_orders_id, work_orders.order_id AS work_orders_order_id, work_orders.title AS work_orders_title, work_orders.description AS work_orders_description, work_orders.category AS work_orders_category, work_orders.priority AS work_orders_priority, work_orders.status AS work_orders_status, work_orders.created_at AS work_orders_created_at, work_orders.updated_at AS work_orders_updated_at, work_orders.resolution AS work_orders_resolution, work_orders.satisfaction_score AS work_orders_satisfaction_score, work_orders.feishu_record_id AS work_orders_feishu_record_id, work_orders.assignee AS work_orders_assignee, work_orders.solution AS work_orders_solution, work_orders.ai_suggestion AS work_orders_ai_suggestion, work_orders.source AS work_orders_source, work_orders.module AS work_orders_module, work_orders.created_by AS work_orders_created_by, work_orders.wilfulness AS work_orders_wilfulness, work_orders.date_of_close AS work_orders_date_of_close, work_orders.vehicle_type AS work_orders_vehicle_type, work_orders.vin_sim AS work_orders_vin_sim, work_orders.app_remote_control_version AS work_orders_app_remote_control_version, work_orders.hmi_sw AS work_orders_hmi_sw, work_orders.parent_record AS work_orders_parent_record, work_orders.has_updated_same_day AS work_orders_has_updated_same_day, work_orders.operating_time AS work_orders_operating_time, work_orders.assigned_module AS work_orders_assigned_module, work_orders.module_owner AS work_orders_module_owner, work_orders.dispatcher AS work_orders_dispatcher, work_orders.dispatch_time AS work_orders_dispatch_time, work_orders.region AS work_orders_region 
FROM work_orders 
WHERE work_orders.status = ?) AS anon_1]
[parameters: ('open',)]
(Background on this error at: https://sqlalche.me/e/20/e3q8) - None
2025-12-12 13:31:39,178 - __main__ - INFO - 正在启动TSP智能助手综合管理平台...
2025-12-12 13:31:39,482 - src.core.database - INFO - 数据库初始化成功
2025-12-12 13:31:39,483 - __main__ - INFO - 跳过系统检查，直接启动服务...
2025-12-12 13:31:41,339 - src.core.backup_manager - INFO - 备份数据库初始化成功: tsp_assistant.db
2025-12-12 13:31:41,350 - src.integrations.config_manager - INFO - 配置加载成功
2025-12-12 13:31:41,453 - werkzeug - INFO - [31m[1mWARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.[0m
 * Running on all addresses (0.0.0.0)
 * Running on http://127.0.0.1:5000
 * Running on http://10.105.212.207:5000
2025-12-12 13:31:41,454 - werkzeug - INFO - [33mPress CTRL+C to quit[0m
2025-12-12 13:31:41,478 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 10 个条目
2025-12-12 13:31:41,479 - src.web.websocket_server - INFO - 启动WebSocket服务器: ws://localhost:8765
2025-12-12 13:31:41,485 - websockets.server - INFO - server listening on 127.0.0.1:8765
2025-12-12 13:31:41,486 - websockets.server - INFO - server listening on [::1]:8765
2025-12-12 13:31:43,576 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:31:43] "GET / HTTP/1.1" 200 -
2025-12-12 13:31:43,860 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:31:43] "[36mGET /static/css/design-system.css?v=1.0.0 HTTP/1.1[0m" 304 -
2025-12-12 13:31:43,865 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:31:43] "[36mGET /static/js/app-new.js HTTP/1.1[0m" 304 -
2025-12-12 13:31:43,870 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:31:43] "[36mGET /static/js/dashboard.js?v=1.0.9 HTTP/1.1[0m" 304 -
2025-12-12 13:31:43,872 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:31:43] "[36mGET /static/css/style.css?v=1.0.0 HTTP/1.1[0m" 304 -
2025-12-12 13:31:43,881 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:31:43] "[36mGET /static/css/design-system.css HTTP/1.1[0m" 304 -
2025-12-12 13:31:43,916 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:31:43] "[36mGET /static/js/core/store.js HTTP/1.1[0m" 304 -
2025-12-12 13:31:43,934 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:31:43] "[36mGET /static/js/components/AlertManager.js HTTP/1.1[0m" 304 -
2025-12-12 13:31:43,963 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:31:43] "[36mGET /static/js/services/api.js HTTP/1.1[0m" 304 -
2025-12-12 13:31:43,971 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:31:43] "[36mGET /static/js/components/NotificationManager.js HTTP/1.1[0m" 304 -
2025-12-12 13:31:44,397 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:31:44] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 13:31:44,400 - src.agent_assistant - INFO - TSP Agent助手初始化完成
2025-12-12 13:31:44,401 - src.web.service_manager - INFO - 服务 agent_assistant 已初始化
2025-12-12 13:31:44,405 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:31:44] "GET /api/agent/status HTTP/1.1" 200 -
2025-12-12 13:31:44,415 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:31:44] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-12 13:31:44,422 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 10 个条目
2025-12-12 13:31:44,426 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:31:44] "GET /api/workorders HTTP/1.1" 200 -
2025-12-12 13:31:44,429 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 10 个条目
2025-12-12 13:31:44,437 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 10 个条目
2025-12-12 13:31:44,440 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 10 个条目
2025-12-12 13:31:44,443 - src.web.service_manager - INFO - 服务 chat_manager 已初始化
2025-12-12 13:31:44,445 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:31:44] "GET /api/chat/sessions HTTP/1.1" 200 -
2025-12-12 13:31:44,446 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 10 个条目
2025-12-12 13:31:44,447 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:31:44] "GET /api/system/info HTTP/1.1" 200 -
2025-12-12 13:31:44,451 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 10 个条目
2025-12-12 13:31:44,453 - src.web.service_manager - INFO - 服务 assistant 已初始化
2025-12-12 13:31:44,457 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:31:44] "GET /api/feishu-sync/config HTTP/1.1" 200 -
2025-12-12 13:31:44,458 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:31:44] "GET /api/rules HTTP/1.1" 200 -
2025-12-12 13:31:44,459 - src.web.service_manager - INFO - 服务 assistant 已初始化
2025-12-12 13:31:44,460 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 10 个条目
2025-12-12 13:31:44,475 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 10 个条目
2025-12-12 13:31:44,483 - src.web.service_manager - INFO - 服务 assistant 已初始化
2025-12-12 13:31:44,496 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 10 个条目
2025-12-12 13:31:44,500 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:31:44] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 13:31:44,502 - src.knowledge_base.knowledge_manager - INFO - 向量化器加载成功，包含 10 个条目
2025-12-12 13:31:44,507 - src.web.service_manager - INFO - 服务 assistant 已初始化
2025-12-12 13:31:44,527 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:31:44] "GET /api/knowledge/stats HTTP/1.1" 200 -
2025-12-12 13:31:44,529 - src.config.unified_config - WARNING - 无法加载默认LLM配置，使用内置默认值: No module named 'config.llm_config'
2025-12-12 13:31:44,530 - src.config.unified_config - INFO - 配置文件加载成功
2025-12-12 13:31:44,530 - src.integrations.ai_suggestion_service - INFO - 使用LLM配置: qwen - qwen-plus-latest
2025-12-12 13:31:44,533 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: TR Number -> order_id
2025-12-12 13:31:44,538 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: TR Description -> description
2025-12-12 13:31:44,539 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:31:44] "GET /api/analytics?days=7&dimension=performance HTTP/1.1" 200 -
2025-12-12 13:31:44,541 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Type of problem -> category
2025-12-12 13:31:44,543 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: TR Level -> priority
2025-12-12 13:31:44,545 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: TR Status -> status
2025-12-12 13:31:44,546 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Source -> source
2025-12-12 13:31:44,547 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Date creation -> created_at
2025-12-12 13:31:44,549 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: 处理过程 -> resolution
2025-12-12 13:31:44,550 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: TR tracking -> resolution
2025-12-12 13:31:44,552 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Created by -> created_by
2025-12-12 13:31:44,560 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:31:44] "GET /api/settings HTTP/1.1" 200 -
2025-12-12 13:31:44,560 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Module（模块） -> module
2025-12-12 13:31:44,561 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Wilfulness（责任人） -> wilfulness
2025-12-12 13:31:44,562 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Date of close TR -> date_of_close
2025-12-12 13:31:44,565 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Vehicle Type01 -> vehicle_type
2025-12-12 13:31:44,567 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: VIN|sim -> vin_sim
2025-12-12 13:31:44,568 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:31:44] "GET /api/analytics HTTP/1.1" 200 -
2025-12-12 13:31:44,569 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: App remote control version -> app_remote_control_version
2025-12-12 13:31:44,571 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: HMI SW -> hmi_sw
2025-12-12 13:31:44,575 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: 父记录 -> parent_record
2025-12-12 13:31:44,578 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Has it been updated on the same day -> has_updated_same_day
2025-12-12 13:31:44,579 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Operating time -> operating_time
2025-12-12 13:31:44,581 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: AI建议 -> ai_suggestion
2025-12-12 13:31:44,583 - src.integrations.flexible_field_mapper - INFO - 添加字段映射: Issue Start Time -> updated_at
2025-12-12 13:31:44,584 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:31:44] "GET /api/analytics?timeRange=30&dimension=workorders HTTP/1.1" 200 -
2025-12-12 13:31:44,593 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:31:44] "GET /api/feishu-sync/status HTTP/1.1" 200 -
2025-12-12 13:31:46,065 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:31:46] "GET /api/alerts?page=1&per_page=10 HTTP/1.1" 200 -
2025-12-12 13:31:48,331 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:31:48] "GET /api/knowledge?page=1&per_page=10 HTTP/1.1" 200 -
2025-12-12 13:31:49,420 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:31:49] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 13:31:49,434 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:31:49] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-12 13:31:49,441 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:31:49] "GET /api/analytics HTTP/1.1" 200 -
2025-12-12 13:31:49,452 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:31:49] "GET /api/analytics?timeRange=30&dimension=workorders HTTP/1.1" 200 -
2025-12-12 13:31:49,506 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:31:49] "GET / HTTP/1.1" 200 -
2025-12-12 13:31:49,755 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:31:49] "GET /static/css/design-system.css?v=1.0.0 HTTP/1.1" 200 -
2025-12-12 13:31:49,831 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:31:49] "GET /static/css/style.css?v=1.0.0 HTTP/1.1" 200 -
2025-12-12 13:31:49,832 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:31:49] "GET /static/js/core/store.js HTTP/1.1" 200 -
2025-12-12 13:31:49,834 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:31:49] "GET /static/js/services/api.js HTTP/1.1" 200 -
2025-12-12 13:31:49,836 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:31:49] "GET /static/js/components/NotificationManager.js HTTP/1.1" 200 -
2025-12-12 13:31:49,837 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:31:49] "GET /static/js/components/AlertManager.js HTTP/1.1" 200 -
2025-12-12 13:31:50,073 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:31:50] "GET /static/css/design-system.css HTTP/1.1" 200 -
2025-12-12 13:31:50,149 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:31:50] "GET /static/js/app-new.js HTTP/1.1" 200 -
2025-12-12 13:31:50,149 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:31:50] "GET /static/js/dashboard.js?v=1.0.9 HTTP/1.1" 200 -
2025-12-12 13:31:50,788 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:31:50] "GET /api/rules HTTP/1.1" 200 -
2025-12-12 13:31:50,789 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:31:50] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 13:31:50,793 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:31:50] "GET /api/agent/status HTTP/1.1" 200 -
2025-12-12 13:31:50,804 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:31:50] "GET /api/chat/sessions HTTP/1.1" 200 -
2025-12-12 13:31:50,812 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:31:50] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 13:31:51,096 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:31:51] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-12 13:31:51,101 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:31:51] "GET /api/workorders HTTP/1.1" 200 -
2025-12-12 13:31:51,110 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:31:51] "GET /api/system/info HTTP/1.1" 200 -
2025-12-12 13:31:51,111 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:31:51] "GET /api/knowledge/stats HTTP/1.1" 200 -
2025-12-12 13:31:51,117 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:31:51] "GET /api/feishu-sync/config HTTP/1.1" 200 -
2025-12-12 13:31:51,122 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:31:51] "GET /api/feishu-sync/status HTTP/1.1" 200 -
2025-12-12 13:31:51,431 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:31:51] "GET /api/analytics?days=7&dimension=performance HTTP/1.1" 200 -
2025-12-12 13:31:51,682 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:31:51] "[33mGET /favicon.ico HTTP/1.1[0m" 404 -
2025-12-12 13:31:51,765 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:31:51] "GET /api/settings HTTP/1.1" 200 -
2025-12-12 13:31:52,084 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:31:52] "GET /api/analytics HTTP/1.1" 200 -
2025-12-12 13:31:52,346 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:31:52] "GET /api/analytics?timeRange=30&dimension=workorders HTTP/1.1" 200 -
2025-12-12 13:31:52,530 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:31:52] "GET /api/workorders?page=1&per_page=10 HTTP/1.1" 200 -
2025-12-12 13:31:54,394 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:31:54] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 13:31:54,413 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:31:54] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 13:31:54,831 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:31:54] "GET /api/conversations?page=1&per_page=10 HTTP/1.1" 200 -
2025-12-12 13:31:55,410 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:31:55] "GET /api/token-monitor/stats HTTP/1.1" 200 -
2025-12-12 13:31:55,431 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:31:55] "GET /api/token-monitor/records HTTP/1.1" 200 -
2025-12-12 13:31:55,434 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:31:55] "GET /api/token-monitor/chart HTTP/1.1" 200 -
2025-12-12 13:31:55,791 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:31:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 13:31:55,850 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:31:55] "GET /api/alerts?per_page=1000 HTTP/1.1" 200 -
2025-12-12 13:31:55,857 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:31:55] "GET /api/analytics HTTP/1.1" 200 -
2025-12-12 13:31:55,958 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:31:55] "GET /api/ai-monitor/stats HTTP/1.1" 200 -
2025-12-12 13:31:55,967 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:31:55] "GET /api/ai-monitor/model-comparison HTTP/1.1" 200 -
2025-12-12 13:31:55,971 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:31:55] "GET /api/ai-monitor/error-distribution HTTP/1.1" 200 -
2025-12-12 13:31:55,975 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:31:55] "GET /api/ai-monitor/error-log HTTP/1.1" 200 -
2025-12-12 13:31:56,174 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:31:56] "GET /api/analytics?timeRange=30&dimension=workorders HTTP/1.1" 200 -
2025-12-12 13:31:57,938 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:31:57] "GET /api/token-monitor/stats HTTP/1.1" 200 -
2025-12-12 13:31:57,952 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:31:57] "GET /api/token-monitor/records HTTP/1.1" 200 -
2025-12-12 13:31:57,957 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:31:57] "GET /api/token-monitor/chart HTTP/1.1" 200 -
2025-12-12 13:31:59,408 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:31:59] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 13:31:59,479 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:31:59] "GET /api/settings HTTP/1.1" 200 -
2025-12-12 13:32:00,082 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:32:00] "GET /api/system-optimizer/status HTTP/1.1" 200 -
2025-12-12 13:32:00,090 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:32:00] "GET /api/analytics HTTP/1.1" 200 -
2025-12-12 13:32:00,141 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:32:00] "GET /api/system-optimizer/security-settings HTTP/1.1" 200 -
2025-12-12 13:32:00,143 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:32:00] "GET /api/system-optimizer/traffic-settings HTTP/1.1" 200 -
2025-12-12 13:32:00,144 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:32:00] "GET /api/system-optimizer/cost-settings HTTP/1.1" 200 -
2025-12-12 13:32:00,150 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:32:00] "GET /api/analytics?timeRange=30&dimension=workorders HTTP/1.1" 200 -
2025-12-12 13:32:00,194 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:32:00] "GET /api/analytics?timeRange=30&dimension=workorders HTTP/1.1" 200 -
2025-12-12 13:32:00,789 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:32:00] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 13:32:00,811 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:32:00] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 13:32:05,294 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:32:05] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 13:32:05,324 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:32:05] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 13:32:10,303 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:32:10] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 13:32:15,293 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:32:15] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 13:32:15,310 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:32:15] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 13:32:20,304 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:32:20] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 13:32:25,300 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:32:25] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 13:32:25,312 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:32:25] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 13:32:30,310 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:32:30] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 13:32:35,298 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:32:35] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 13:32:35,315 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:32:35] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 13:32:40,298 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:32:40] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 13:32:45,291 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:32:45] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 13:32:45,308 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:32:45] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 13:32:50,302 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:32:50] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 13:32:55,294 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:32:55] "GET /api/alerts HTTP/1.1" 200 -
2025-12-12 13:32:55,308 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:32:55] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 13:33:00,301 - werkzeug - INFO - 127.0.0.1 - - [12/Dec/2025 13:33:00] "GET /api/monitor/status HTTP/1.1" 200 -
2025-12-12 13:34:25,979 - __main__ - INFO - 正在启动TSP智能助手综合管理平台...
2025-12-12 13:34:47,469 - src.core.database - ERROR - 数据库初始化失败: (pymysql.err.OperationalError) (2003, "Can't connect to MySQL server on 'jeason.online' ([WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应，连接尝试失败。)")
(Background on this error at: https://sqlalche.me/e/20/e3q8)
2025-12-12 13:34:47,470 - __main__ - ERROR - 数据库连接失败，退出启动
2025-12-12 13:35:02,972 - __main__ - INFO - 正在启动TSP智能助手综合管理平台...
2025-12-12 13:35:24,389 - src.core.database - ERROR - 数据库初始化失败: (pymysql.err.OperationalError) (2003, "Can't connect to MySQL server on 'jeason.online' ([WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应，连接尝试失败。)")
(Background on this error at: https://sqlalche.me/e/20/e3q8)
2025-12-12 13:35:24,391 - __main__ - ERROR - 数据库连接失败，退出启动
2025-12-12 13:37:51,892 - __main__ - INFO - 正在启动TSP智能助手综合管理平台...
2025-12-12 13:38:13,315 - src.core.database - ERROR - 数据库初始化失败: (pymysql.err.OperationalError) (2003, "Can't connect to MySQL server on '43.134.68.207' ([WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应，连接尝试失败。)")
(Background on this error at: https://sqlalche.me/e/20/e3q8)
2025-12-12 13:38:13,317 - __main__ - ERROR - 数据库连接失败，退出启动
