, {'name': 'binary_search'})], 'score_prompt': '\n1. 学生最终代码通过所有测试点:30分\n2. 学生独立在10分钟内完成题目:10分 或者 学生在Agent指导下10分钟内完成题目:5分\n\n'}}
-(22347) accepted ('127.0.0.1', 47084)
-58.198.188.146,127.0.0.1 - - [23/Sep/2025 13:55:11] "GET / HTTP/1.1" 302 351 0.000720
-58.198.188.146,127.0.0.1 - - [23/Sep/2025 13:55:11] "GET /login HTTP/1.1" 200 1835 0.000771
-58.198.188.146,127.0.0.1 - - [23/Sep/2025 13:55:11] "GET /static/css/login.css HTTP/1.1" 200 3789 0.000989
-58.198.188.146,127.0.0.1 - - [23/Sep/2025 13:55:11] "GET /static/js/login.js HTTP/1.1" 200 3557 0.000922
-58.198.188.146,127.0.0.1 - - [23/Sep/2025 13:55:12] "GET /favicon.ico HTTP/1.1" 404 331 0.001126
-(22347) accepted ('127.0.0.1', 36346)
-43.135.172.123,127.0.0.1 - - [23/Sep/2025 14:01:28] "GET / HTTP/1.1" 302 351 0.001182
-43.135.172.123,127.0.0.1 - - [23/Sep/2025 14:01:29] "GET /login HTTP/1.1" 200 1835 0.000781
- * Detected change in '/home/flask/code-agent/Html/apps/sockets/namespaces.py', reloading
-[2025-09-23 14:04:27,019] INFO in __init__: Shutting down gracefully (atexit)...
-Disconnected from server
-Disconnected from server
-disconnect success stop code-server success
-[2025-09-23 14:04:27,377] INFO in __init__: Cleanup finished (atexit).
- * Restarting with stat
- * Debugger is active!
- * Debugger PIN: 813-757-851
-(23583) wsgi starting up on http://0.0.0.0:5551
-(23583) accepted ('127.0.0.1', 33706)
-(23583) accepted ('127.0.0.1', 33712)
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:04:28] "GET /socket.io/?EIO=4&transport=polling&t=PbrB617 HTTP/1.1" 200 275 0.000347
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:04:28] "GET /socket.io/?user_uuid=user_38b7db78-d14f-4166-85bf-48efd1d16184&folder=%2Fhome%2FTCake%2F68bacdfadf5aeae0912f7f18%2F%E5%9F%BA%E7%A1%80%E7%AE%97%E6%B3%95%2F%E4%BA%8C%E5%88%86&EIO=4&transport=polling&t=PbrB618 HTTP/1.1" 200 275 0.000494
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:04:28] "POST /socket.io/?EIO=4&transport=polling&t=PbrB666&sid=2s3r_sfQxAhVWb04AAAA HTTP/1.1" 200 193 0.000882
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:04:28] "GET /socket.io/?EIO=4&transport=polling&t=PbrB666.0&sid=2s3r_sfQxAhVWb04AAAA HTTP/1.1" 200 197 0.000189
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:04:28] "POST /socket.io/?user_uuid=user_38b7db78-d14f-4166-85bf-48efd1d16184&folder=%2Fhome%2FTCake%2F68bacdfadf5aeae0912f7f18%2F%E5%9F%BA%E7%A1%80%E7%AE%97%E6%B3%95%2F%E4%BA%8C%E5%88%86&EIO=4&transport=polling&t=PbrB667&sid=o89UGQLB0D68kX1nAAAB HTTP/1.1" 200 193 0.000382
-(23583) accepted ('127.0.0.1', 33726)
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:04:28] "GET /socket.io/?user_uuid=user_38b7db78-d14f-4166-85bf-48efd1d16184&folder=%2Fhome%2FTCake%2F68bacdfadf5aeae0912f7f18%2F%E5%9F%BA%E7%A1%80%E7%AE%97%E6%B3%95%2F%E4%BA%8C%E5%88%86&EIO=4&transport=polling&t=PbrB668&sid=o89UGQLB0D68kX1nAAAB HTTP/1.1" 200 196 0.000160
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:04:28] "POST /socket.io/?EIO=4&transport=polling&t=PbrB66j&sid=2s3r_sfQxAhVWb04AAAA HTTP/1.1" 200 193 0.000260
-VSCode client connected
-{'config': {'user_uuid': 'user_38b7db78-d14f-4166-85bf-48efd1d16184', 'user_id': 'TCake', 'course_id': '68bacdfadf5aeae0912f7f18', 'chapter_name': '基础算法', 'lesson_name': '二分', 'path': '/home/TCake/68bacdfadf5aeae0912f7f18/基础算法/二分'}}
-User user_38b7db78-d14f-4166-85bf-48efd1d16184 connected with path: /home/TCake/68bacdfadf5aeae0912f7f18/基础算法/二分
-Traceback (most recent call last):
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/eventlet/hubs/hub.py", line 471, in fire_timers
- timer()
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/eventlet/hubs/timer.py", line 59, in __call__
- cb(*args, **kw)
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/eventlet/greenthread.py", line 272, in main
- result = function(*args, **kwargs)
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/socketio/server.py", line 591, in _handle_event_internal
- r = server._trigger_event(data[0], namespace, sid, *data[1:])
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/socketio/server.py", line 627, in _trigger_event
- return handler.trigger_event(event, *args)
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/flask_socketio/namespace.py", line 26, in trigger_event
- return self.socketio._handle_event(handler, event, self.namespace,
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/flask_socketio/__init__.py", line 835, in _handle_event
- ret = handler(*args)
- File "/home/flask/code-agent/Html/apps/sockets/namespaces.py", line 30, in on_login
- backboard_manager.add_backboard(user_uuid,uuid2username[user_uuid], course_id, lesson_id, path)
-KeyError: 'user_38b7db78-d14f-4166-85bf-48efd1d16184'
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:04:28] "POST /socket.io/?user_uuid=user_38b7db78-d14f-4166-85bf-48efd1d16184&folder=%2Fhome%2FTCake%2F68bacdfadf5aeae0912f7f18%2F%E5%9F%BA%E7%A1%80%E7%AE%97%E6%B3%95%2F%E4%BA%8C%E5%88%86&EIO=4&transport=polling&t=PbrB66m&sid=o89UGQLB0D68kX1nAAAB HTTP/1.1" 200 193 0.000375
-Traceback (most recent call last):
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/eventlet/hubs/hub.py", line 471, in fire_timers
- timer()
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/eventlet/hubs/timer.py", line 59, in __call__
- cb(*args, **kw)
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/eventlet/greenthread.py", line 272, in main
- result = function(*args, **kwargs)
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/socketio/server.py", line 591, in _handle_event_internal
- r = server._trigger_event(data[0], namespace, sid, *data[1:])
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/socketio/server.py", line 627, in _trigger_event
- return handler.trigger_event(event, *args)
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/flask_socketio/namespace.py", line 26, in trigger_event
- return self.socketio._handle_event(handler, event, self.namespace,
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/flask_socketio/__init__.py", line 835, in _handle_event
- ret = handler(*args)
- File "/home/flask/code-agent/Html/apps/sockets/namespaces.py", line 54, in on_login
- user_id = uuid2username[user_uuid]
-KeyError: 'user_38b7db78-d14f-4166-85bf-48efd1d16184'
-(23583) accepted ('127.0.0.1', 33728)
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:04:29] "GET /socket.io/?EIO=4&transport=polling&t=PbrB66j.0&sid=2s3r_sfQxAhVWb04AAAA HTTP/1.1" 200 157 0.295721
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:04:29] "GET /socket.io/?EIO=4&transport=polling&t=PbrB6Bv&sid=2s3r_sfQxAhVWb04AAAA HTTP/1.1" 200 157 0.000191
-(23583) accepted ('127.0.0.1', 33740)
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:04:29] "GET /socket.io/?user_uuid=user_38b7db78-d14f-4166-85bf-48efd1d16184&folder=%2Fhome%2FTCake%2F68bacdfadf5aeae0912f7f18%2F%E5%9F%BA%E7%A1%80%E7%AE%97%E6%B3%95%2F%E4%BA%8C%E5%88%86&EIO=4&transport=polling&t=PbrB66m.0&sid=o89UGQLB0D68kX1nAAAB HTTP/1.1" 200 157 0.554391
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:04:29] "GET /socket.io/?EIO=4&transport=polling&t=PbrB6Gm HTTP/1.1" 200 275 0.000346
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:04:29] "GET /socket.io/?EIO=4&transport=polling&t=PbrB6Gm HTTP/1.1" 200 275 0.000329
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:04:29] "POST /socket.io/?EIO=4&transport=polling&t=PbrB6HN&sid=ZIvAp-oI7-BoOzVlAAAE HTTP/1.1" 200 193 0.000432
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:04:29] "GET /socket.io/?EIO=4&transport=polling&t=PbrB6HO&sid=ZIvAp-oI7-BoOzVlAAAE HTTP/1.1" 200 197 0.000123
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:04:29] "POST /socket.io/?EIO=4&transport=polling&t=PbrB6Hu&sid=R2Zx6ZRdmwVgdRLWAAAF HTTP/1.1" 200 193 0.000467
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:04:29] "GET /socket.io/?EIO=4&transport=polling&t=PbrB6Hv&sid=R2Zx6ZRdmwVgdRLWAAAF HTTP/1.1" 200 197 0.000131
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:04:29] "POST /socket.io/?EIO=4&transport=polling&t=PbrB6Hy&sid=ZIvAp-oI7-BoOzVlAAAE HTTP/1.1" 200 193 0.000289
-VSCode client connected
-{'config': {'user_uuid': 'user_38b7db78-d14f-4166-85bf-48efd1d16184', 'user_id': 'TCake', 'course_id': '68bacdfadf5aeae0912f7f18', 'chapter_name': '基础算法', 'lesson_name': '二分', 'path': '/home/TCake/68bacdfadf5aeae0912f7f18/基础算法/二分'}}
-User user_38b7db78-d14f-4166-85bf-48efd1d16184 connected with path: /home/TCake/68bacdfadf5aeae0912f7f18/基础算法/二分
-Traceback (most recent call last):
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/eventlet/hubs/hub.py", line 471, in fire_timers
- timer()
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/eventlet/hubs/timer.py", line 59, in __call__
- cb(*args, **kw)
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/eventlet/greenthread.py", line 272, in main
- result = function(*args, **kwargs)
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/socketio/server.py", line 591, in _handle_event_internal
- r = server._trigger_event(data[0], namespace, sid, *data[1:])
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/socketio/server.py", line 627, in _trigger_event
- return handler.trigger_event(event, *args)
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/flask_socketio/namespace.py", line 26, in trigger_event
- return self.socketio._handle_event(handler, event, self.namespace,
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/flask_socketio/__init__.py", line 835, in _handle_event
- ret = handler(*args)
- File "/home/flask/code-agent/Html/apps/sockets/namespaces.py", line 30, in on_login
- backboard_manager.add_backboard(user_uuid,uuid2username[user_uuid], course_id, lesson_id, path)
-KeyError: 'user_38b7db78-d14f-4166-85bf-48efd1d16184'
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:04:29] "POST /socket.io/?EIO=4&transport=polling&t=PbrB6IS&sid=R2Zx6ZRdmwVgdRLWAAAF HTTP/1.1" 200 193 0.000226
-VSCode client connected
-{'config': {'user_uuid': 'user_38b7db78-d14f-4166-85bf-48efd1d16184', 'user_id': 'TCake', 'course_id': '68bacdfadf5aeae0912f7f18', 'chapter_name': '基础算法', 'lesson_name': '二分', 'path': '/home/TCake/68bacdfadf5aeae0912f7f18/基础算法/二分'}}
-User user_38b7db78-d14f-4166-85bf-48efd1d16184 connected with path: /home/TCake/68bacdfadf5aeae0912f7f18/基础算法/二分
-Traceback (most recent call last):
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/eventlet/hubs/hub.py", line 471, in fire_timers
- timer()
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/eventlet/hubs/timer.py", line 59, in __call__
- cb(*args, **kw)
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/eventlet/greenthread.py", line 272, in main
- result = function(*args, **kwargs)
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/socketio/server.py", line 591, in _handle_event_internal
- r = server._trigger_event(data[0], namespace, sid, *data[1:])
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/socketio/server.py", line 627, in _trigger_event
- return handler.trigger_event(event, *args)
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/flask_socketio/namespace.py", line 26, in trigger_event
- return self.socketio._handle_event(handler, event, self.namespace,
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/flask_socketio/__init__.py", line 835, in _handle_event
- ret = handler(*args)
- File "/home/flask/code-agent/Html/apps/sockets/namespaces.py", line 30, in on_login
- backboard_manager.add_backboard(user_uuid,uuid2username[user_uuid], course_id, lesson_id, path)
-KeyError: 'user_38b7db78-d14f-4166-85bf-48efd1d16184'
-(23583) accepted ('127.0.0.1', 33752)
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:04:29] "GET /socket.io/?EIO=4&transport=polling&t=PbrB6Hy.0&sid=ZIvAp-oI7-BoOzVlAAAE HTTP/1.1" 200 157 0.289385
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:04:29] "GET /socket.io/?EIO=4&transport=polling&t=PbrB6N4&sid=ZIvAp-oI7-BoOzVlAAAE HTTP/1.1" 200 157 0.000168
-(23583) accepted ('127.0.0.1', 33756)
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:04:30] "GET /socket.io/?EIO=4&transport=polling&t=PbrB6IT&sid=R2Zx6ZRdmwVgdRLWAAAF HTTP/1.1" 200 157 0.548691
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:04:30] "GET /socket.io/?EIO=4&transport=polling&t=PbrB6bb HTTP/1.1" 200 275 0.000277
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:04:31] "POST /socket.io/?EIO=4&transport=polling&t=PbrB6g_&sid=RI2tB_PzoaOx6EfpAAAI HTTP/1.1" 200 193 0.000645
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:04:31] "GET /socket.io/?EIO=4&transport=polling&t=PbrB6h0&sid=RI2tB_PzoaOx6EfpAAAI HTTP/1.1" 200 197 0.000145
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:04:31] "POST /socket.io/?EIO=4&transport=polling&t=PbrB6hw&sid=RI2tB_PzoaOx6EfpAAAI HTTP/1.1" 200 193 0.000714
-VSCode client connected
-{'config': {'user_uuid': 'user_38b7db78-d14f-4166-85bf-48efd1d16184', 'user_id': 'TCake', 'course_id': '68bacdfadf5aeae0912f7f18', 'chapter_name': '基础算法', 'lesson_name': '二分', 'path': '/home/TCake/68bacdfadf5aeae0912f7f18/基础算法/二分'}}
-User user_38b7db78-d14f-4166-85bf-48efd1d16184 connected with path: /home/TCake/68bacdfadf5aeae0912f7f18/基础算法/二分
-Traceback (most recent call last):
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/eventlet/hubs/hub.py", line 471, in fire_timers
- timer()
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/eventlet/hubs/timer.py", line 59, in __call__
- cb(*args, **kw)
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/eventlet/greenthread.py", line 272, in main
- result = function(*args, **kwargs)
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/socketio/server.py", line 591, in _handle_event_internal
- r = server._trigger_event(data[0], namespace, sid, *data[1:])
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/socketio/server.py", line 627, in _trigger_event
- return handler.trigger_event(event, *args)
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/flask_socketio/namespace.py", line 26, in trigger_event
- return self.socketio._handle_event(handler, event, self.namespace,
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/flask_socketio/__init__.py", line 835, in _handle_event
- ret = handler(*args)
- File "/home/flask/code-agent/Html/apps/sockets/namespaces.py", line 30, in on_login
- backboard_manager.add_backboard(user_uuid,uuid2username[user_uuid], course_id, lesson_id, path)
-KeyError: 'user_38b7db78-d14f-4166-85bf-48efd1d16184'
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:04:31] "POST /socket.io/?EIO=4&transport=polling&t=PbrB6kS&sid=RI2tB_PzoaOx6EfpAAAI HTTP/1.1" 200 193 0.000689
-Traceback (most recent call last):
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/eventlet/hubs/hub.py", line 471, in fire_timers
- timer()
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/eventlet/hubs/timer.py", line 59, in __call__
- cb(*args, **kw)
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/eventlet/greenthread.py", line 272, in main
- result = function(*args, **kwargs)
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/socketio/server.py", line 591, in _handle_event_internal
- r = server._trigger_event(data[0], namespace, sid, *data[1:])
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/socketio/server.py", line 627, in _trigger_event
- return handler.trigger_event(event, *args)
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/flask_socketio/namespace.py", line 26, in trigger_event
- return self.socketio._handle_event(handler, event, self.namespace,
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/flask_socketio/__init__.py", line 835, in _handle_event
- ret = handler(*args)
- File "/home/flask/code-agent/Html/apps/sockets/namespaces.py", line 36, in on_message
- realtime_response(dataconfig, data)
- File "/home/flask/code-agent/Html/apps/services/backboard_service.py", line 19, in realtime_response
- chatmanager = current_app.extensions["user_uuid2chatmanager"][user_uuid]
-KeyError: 'user_38b7db78-d14f-4166-85bf-48efd1d16184'
-(23583) accepted ('127.0.0.1', 33772)
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:04:31] "GET /socket.io/?EIO=4&transport=polling&t=PbrB6hw.0&sid=RI2tB_PzoaOx6EfpAAAI HTTP/1.1" 200 157 0.259449
- * Detected change in '/home/flask/code-agent/Html/apps/sockets/namespaces.py', reloading
-[2025-09-23 14:04:57,952] INFO in __init__: Shutting down gracefully (atexit)...
-[2025-09-23 14:04:57,952] INFO in __init__: Cleanup finished (atexit).
- * Restarting with stat
- * Debugger is active!
- * Debugger PIN: 813-757-851
-(23707) wsgi starting up on http://0.0.0.0:5551
-(23707) accepted ('127.0.0.1', 47202)
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:04:59] "GET /socket.io/?EIO=4&transport=polling&t=PbrBDbW HTTP/1.1" 200 275 0.000521
-(23707) accepted ('127.0.0.1', 47212)
-(23707) accepted ('127.0.0.1', 47224)
-(23707) accepted ('127.0.0.1', 47234)
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:04:59] "GET /socket.io/?EIO=4&transport=polling&t=PbrBDbX HTTP/1.1" 200 275 0.000272
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:04:59] "GET /socket.io/?user_uuid=user_38b7db78-d14f-4166-85bf-48efd1d16184&folder=%2Fhome%2FTCake%2F68bacdfadf5aeae0912f7f18%2F%E5%9F%BA%E7%A1%80%E7%AE%97%E6%B3%95%2F%E4%BA%8C%E5%88%86&EIO=4&transport=polling&t=PbrBDbY HTTP/1.1" 200 275 0.000533
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:04:59] "GET /socket.io/?EIO=4&transport=polling&t=PbrBDbY HTTP/1.1" 200 275 0.000185
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:04:59] "POST /socket.io/?EIO=4&transport=polling&t=PbrBDce&sid=k7zhShUOHF3EJF6SAAAA HTTP/1.1" 200 193 0.000783
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:04:59] "POST /socket.io/?EIO=4&transport=polling&t=PbrBDcf&sid=j2C7ZNxeDZ_pzmbXAAAB HTTP/1.1" 200 193 0.001113
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:04:59] "GET /socket.io/?EIO=4&transport=polling&t=PbrBDcf&sid=k7zhShUOHF3EJF6SAAAA HTTP/1.1" 200 197 0.000150
-(23707) accepted ('127.0.0.1', 47238)
-(23707) accepted ('127.0.0.1', 47252)
-(23707) accepted ('127.0.0.1', 47256)
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:04:59] "GET /socket.io/?EIO=4&transport=polling&t=PbrBDcg&sid=j2C7ZNxeDZ_pzmbXAAAB HTTP/1.1" 200 197 0.000142
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:04:59] "POST /socket.io/?user_uuid=user_38b7db78-d14f-4166-85bf-48efd1d16184&folder=%2Fhome%2FTCake%2F68bacdfadf5aeae0912f7f18%2F%E5%9F%BA%E7%A1%80%E7%AE%97%E6%B3%95%2F%E4%BA%8C%E5%88%86&EIO=4&transport=polling&t=PbrBDch&sid=Vtzk46gvhCFgz43dAAAC HTTP/1.1" 200 193 0.000412
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:04:59] "POST /socket.io/?EIO=4&transport=polling&t=PbrBDci&sid=hgeNimEJOCUv84fuAAAD HTTP/1.1" 200 193 0.000343
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:04:59] "GET /socket.io/?EIO=4&transport=polling&t=PbrBDci.0&sid=hgeNimEJOCUv84fuAAAD HTTP/1.1" 200 197 0.000125
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:04:59] "GET /socket.io/?user_uuid=user_38b7db78-d14f-4166-85bf-48efd1d16184&folder=%2Fhome%2FTCake%2F68bacdfadf5aeae0912f7f18%2F%E5%9F%BA%E7%A1%80%E7%AE%97%E6%B3%95%2F%E4%BA%8C%E5%88%86&EIO=4&transport=polling&t=PbrBDci&sid=Vtzk46gvhCFgz43dAAAC HTTP/1.1" 200 196 0.000180
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:04:59] "POST /socket.io/?EIO=4&transport=polling&t=PbrBDdJ&sid=k7zhShUOHF3EJF6SAAAA HTTP/1.1" 200 193 0.000306
-VSCode client connected
-{'config': {'user_uuid': 'user_38b7db78-d14f-4166-85bf-48efd1d16184', 'user_id': 'TCake', 'course_id': '68bacdfadf5aeae0912f7f18', 'chapter_name': '基础算法', 'lesson_name': '二分', 'path': '/home/TCake/68bacdfadf5aeae0912f7f18/基础算法/二分'}}
-User user_38b7db78-d14f-4166-85bf-48efd1d16184 connected with path: /home/TCake/68bacdfadf5aeae0912f7f18/基础算法/二分
-Traceback (most recent call last):
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/eventlet/hubs/hub.py", line 471, in fire_timers
- timer()
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/eventlet/hubs/timer.py", line 59, in __call__
- cb(*args, **kw)
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/eventlet/greenthread.py", line 272, in main
- result = function(*args, **kwargs)
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/socketio/server.py", line 591, in _handle_event_internal
- r = server._trigger_event(data[0], namespace, sid, *data[1:])
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/socketio/server.py", line 627, in _trigger_event
- return handler.trigger_event(event, *args)
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/flask_socketio/namespace.py", line 26, in trigger_event
- return self.socketio._handle_event(handler, event, self.namespace,
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/flask_socketio/__init__.py", line 835, in _handle_event
- ret = handler(*args)
- File "/home/flask/code-agent/Html/apps/sockets/namespaces.py", line 30, in on_login
- backboard_manager.add_backboard(user_uuid,uuid2username[user_uuid], course_id, lesson_id, path)
-KeyError: 'user_38b7db78-d14f-4166-85bf-48efd1d16184'
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:04:59] "POST /socket.io/?EIO=4&transport=polling&t=PbrBDdK&sid=j2C7ZNxeDZ_pzmbXAAAB HTTP/1.1" 200 193 0.000222
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:04:59] "POST /socket.io/?EIO=4&transport=polling&t=PbrBDdN&sid=hgeNimEJOCUv84fuAAAD HTTP/1.1" 200 193 0.000190
-VSCode client connected
-{'config': {'user_uuid': 'user_38b7db78-d14f-4166-85bf-48efd1d16184', 'user_id': 'TCake', 'course_id': '68bacdfadf5aeae0912f7f18', 'chapter_name': '基础算法', 'lesson_name': '二分', 'path': '/home/TCake/68bacdfadf5aeae0912f7f18/基础算法/二分'}}
-User user_38b7db78-d14f-4166-85bf-48efd1d16184 connected with path: /home/TCake/68bacdfadf5aeae0912f7f18/基础算法/二分
-Traceback (most recent call last):
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/eventlet/hubs/hub.py", line 471, in fire_timers
- timer()
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/eventlet/hubs/timer.py", line 59, in __call__
- cb(*args, **kw)
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/eventlet/greenthread.py", line 272, in main
- result = function(*args, **kwargs)
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/socketio/server.py", line 591, in _handle_event_internal
- r = server._trigger_event(data[0], namespace, sid, *data[1:])
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/socketio/server.py", line 627, in _trigger_event
- return handler.trigger_event(event, *args)
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/flask_socketio/namespace.py", line 26, in trigger_event
- return self.socketio._handle_event(handler, event, self.namespace,
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/flask_socketio/__init__.py", line 835, in _handle_event
- ret = handler(*args)
- File "/home/flask/code-agent/Html/apps/sockets/namespaces.py", line 30, in on_login
- backboard_manager.add_backboard(user_uuid,uuid2username[user_uuid], course_id, lesson_id, path)
-KeyError: 'user_38b7db78-d14f-4166-85bf-48efd1d16184'
-VSCode client connected
-{'config': {'user_uuid': 'user_38b7db78-d14f-4166-85bf-48efd1d16184', 'user_id': 'TCake', 'course_id': '68bacdfadf5aeae0912f7f18', 'chapter_name': '基础算法', 'lesson_name': '二分', 'path': '/home/TCake/68bacdfadf5aeae0912f7f18/基础算法/二分'}}
-User user_38b7db78-d14f-4166-85bf-48efd1d16184 connected with path: /home/TCake/68bacdfadf5aeae0912f7f18/基础算法/二分
-Traceback (most recent call last):
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/eventlet/hubs/hub.py", line 471, in fire_timers
- timer()
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/eventlet/hubs/timer.py", line 59, in __call__
- cb(*args, **kw)
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/eventlet/greenthread.py", line 272, in main
- result = function(*args, **kwargs)
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/socketio/server.py", line 591, in _handle_event_internal
- r = server._trigger_event(data[0], namespace, sid, *data[1:])
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/socketio/server.py", line 627, in _trigger_event
- return handler.trigger_event(event, *args)
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/flask_socketio/namespace.py", line 26, in trigger_event
- return self.socketio._handle_event(handler, event, self.namespace,
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/flask_socketio/__init__.py", line 835, in _handle_event
- ret = handler(*args)
- File "/home/flask/code-agent/Html/apps/sockets/namespaces.py", line 30, in on_login
- backboard_manager.add_backboard(user_uuid,uuid2username[user_uuid], course_id, lesson_id, path)
-KeyError: 'user_38b7db78-d14f-4166-85bf-48efd1d16184'
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:04:59] "POST /socket.io/?user_uuid=user_38b7db78-d14f-4166-85bf-48efd1d16184&folder=%2Fhome%2FTCake%2F68bacdfadf5aeae0912f7f18%2F%E5%9F%BA%E7%A1%80%E7%AE%97%E6%B3%95%2F%E4%BA%8C%E5%88%86&EIO=4&transport=polling&t=PbrBDdN&sid=Vtzk46gvhCFgz43dAAAC HTTP/1.1" 200 193 0.000204
-Traceback (most recent call last):
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/eventlet/hubs/hub.py", line 471, in fire_timers
- timer()
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/eventlet/hubs/timer.py", line 59, in __call__
- cb(*args, **kw)
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/eventlet/greenthread.py", line 272, in main
- result = function(*args, **kwargs)
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/socketio/server.py", line 591, in _handle_event_internal
- r = server._trigger_event(data[0], namespace, sid, *data[1:])
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/socketio/server.py", line 627, in _trigger_event
- return handler.trigger_event(event, *args)
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/flask_socketio/namespace.py", line 26, in trigger_event
- return self.socketio._handle_event(handler, event, self.namespace,
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/flask_socketio/__init__.py", line 835, in _handle_event
- ret = handler(*args)
- File "/home/flask/code-agent/Html/apps/sockets/namespaces.py", line 54, in on_login
- user_id = uuid2username[user_uuid]
-KeyError: 'user_38b7db78-d14f-4166-85bf-48efd1d16184'
-(23707) accepted ('127.0.0.1', 47266)
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:05:00] "GET /socket.io/?EIO=4&transport=polling&t=PbrBDdJ.0&sid=k7zhShUOHF3EJF6SAAAA HTTP/1.1" 200 157 0.396580
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:05:00] "GET /socket.io/?EIO=4&transport=polling&t=PbrBDkB&sid=k7zhShUOHF3EJF6SAAAA HTTP/1.1" 200 157 0.000160
-(23707) accepted ('127.0.0.1', 47274)
-(23707) accepted ('127.0.0.1', 47278)
-(23707) accepted ('127.0.0.1', 47290)
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:05:00] "GET /socket.io/?EIO=4&transport=polling&t=PbrBDdK.0&sid=j2C7ZNxeDZ_pzmbXAAAB HTTP/1.1" 200 157 0.572740
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:05:00] "GET /socket.io/?user_uuid=user_38b7db78-d14f-4166-85bf-48efd1d16184&folder=%2Fhome%2FTCake%2F68bacdfadf5aeae0912f7f18%2F%E5%9F%BA%E7%A1%80%E7%AE%97%E6%B3%95%2F%E4%BA%8C%E5%88%86&EIO=4&transport=polling&t=PbrBDdO&sid=Vtzk46gvhCFgz43dAAAC HTTP/1.1" 200 157 0.579690
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:05:00] "GET /socket.io/?EIO=4&transport=polling&t=PbrBDdN.0&sid=hgeNimEJOCUv84fuAAAD HTTP/1.1" 200 157 0.584709
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:05:00] "GET /socket.io/?user_uuid=user_38b7db78-d14f-4166-85bf-48efd1d16184&folder=%2Fhome%2FTCake%2F68bacdfadf5aeae0912f7f18%2F%E5%9F%BA%E7%A1%80%E7%AE%97%E6%B3%95%2F%E4%BA%8C%E5%88%86&EIO=4&transport=polling&t=PbrBDn5&sid=Vtzk46gvhCFgz43dAAAC HTTP/1.1" 200 157 0.000239
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:05:00] "GET /socket.io/?EIO=4&transport=polling&t=PbrBDnA&sid=hgeNimEJOCUv84fuAAAD HTTP/1.1" 200 157 0.000161
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:05:00] "GET /socket.io/?EIO=4&transport=polling&t=PbrBDrF HTTP/1.1" 200 275 0.000323
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:05:00] "POST /socket.io/?EIO=4&transport=polling&t=PbrBDrs&sid=iY7-kHQf8eZNPomGAAAI HTTP/1.1" 200 193 0.000472
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:05:00] "GET /socket.io/?EIO=4&transport=polling&t=PbrBDrs.0&sid=iY7-kHQf8eZNPomGAAAI HTTP/1.1" 200 197 0.000156
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:05:00] "POST /socket.io/?EIO=4&transport=polling&t=PbrBDsS&sid=iY7-kHQf8eZNPomGAAAI HTTP/1.1" 200 193 0.000460
-VSCode client connected
-{'config': {'user_uuid': 'user_38b7db78-d14f-4166-85bf-48efd1d16184', 'user_id': 'TCake', 'course_id': '68bacdfadf5aeae0912f7f18', 'chapter_name': '基础算法', 'lesson_name': '二分', 'path': '/home/TCake/68bacdfadf5aeae0912f7f18/基础算法/二分'}}
-User user_38b7db78-d14f-4166-85bf-48efd1d16184 connected with path: /home/TCake/68bacdfadf5aeae0912f7f18/基础算法/二分
-Traceback (most recent call last):
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/eventlet/hubs/hub.py", line 471, in fire_timers
- timer()
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/eventlet/hubs/timer.py", line 59, in __call__
- cb(*args, **kw)
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/eventlet/greenthread.py", line 272, in main
- result = function(*args, **kwargs)
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/socketio/server.py", line 591, in _handle_event_internal
- r = server._trigger_event(data[0], namespace, sid, *data[1:])
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/socketio/server.py", line 627, in _trigger_event
- return handler.trigger_event(event, *args)
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/flask_socketio/namespace.py", line 26, in trigger_event
- return self.socketio._handle_event(handler, event, self.namespace,
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/flask_socketio/__init__.py", line 835, in _handle_event
- ret = handler(*args)
- File "/home/flask/code-agent/Html/apps/sockets/namespaces.py", line 30, in on_login
- backboard_manager.add_backboard(user_uuid,uuid2username[user_uuid], course_id, lesson_id, path)
-KeyError: 'user_38b7db78-d14f-4166-85bf-48efd1d16184'
-(23707) accepted ('127.0.0.1', 47292)
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:05:00] "GET /socket.io/?EIO=4&transport=polling&t=PbrBDsS.0&sid=iY7-kHQf8eZNPomGAAAI HTTP/1.1" 200 157 0.286172
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:05:00] "GET /socket.io/?EIO=4&transport=polling&t=PbrBDxV&sid=iY7-kHQf8eZNPomGAAAI HTTP/1.1" 200 157 0.000220
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:05:01] "GET /socket.io/?EIO=4&transport=polling&t=PbrBE8u HTTP/1.1" 200 275 0.000272
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:05:02] "POST /socket.io/?EIO=4&transport=polling&t=PbrBEF7&sid=nlBtq1fvPbR233bmAAAK HTTP/1.1" 200 193 0.000437
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:05:02] "GET /socket.io/?EIO=4&transport=polling&t=PbrBEF7.0&sid=nlBtq1fvPbR233bmAAAK HTTP/1.1" 200 197 0.000166
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:05:02] "POST /socket.io/?EIO=4&transport=polling&t=PbrBEHZ&sid=nlBtq1fvPbR233bmAAAK HTTP/1.1" 200 193 0.000744
-Traceback (most recent call last):
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/eventlet/hubs/hub.py", line 471, in fire_timers
- timer()
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/eventlet/hubs/timer.py", line 59, in __call__
- cb(*args, **kw)
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/eventlet/greenthread.py", line 272, in main
- result = function(*args, **kwargs)
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/socketio/server.py", line 591, in _handle_event_internal
- r = server._trigger_event(data[0], namespace, sid, *data[1:])
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/socketio/server.py", line 627, in _trigger_event
- return handler.trigger_event(event, *args)
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/flask_socketio/namespace.py", line 26, in trigger_event
- return self.socketio._handle_event(handler, event, self.namespace,
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/flask_socketio/__init__.py", line 835, in _handle_event
- ret = handler(*args)
- File "/home/flask/code-agent/Html/apps/sockets/namespaces.py", line 36, in on_message
- realtime_response(dataconfig, data)
- File "/home/flask/code-agent/Html/apps/services/backboard_service.py", line 19, in realtime_response
- chatmanager = current_app.extensions["user_uuid2chatmanager"][user_uuid]
-KeyError: 'user_38b7db78-d14f-4166-85bf-48efd1d16184'
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:05:02] "POST /socket.io/?EIO=4&transport=polling&t=PbrBEIG&sid=nlBtq1fvPbR233bmAAAK HTTP/1.1" 200 193 0.000585
-VSCode client connected
-{'config': {'user_uuid': 'user_38b7db78-d14f-4166-85bf-48efd1d16184', 'user_id': 'TCake', 'course_id': '68bacdfadf5aeae0912f7f18', 'chapter_name': '基础算法', 'lesson_name': '二分', 'path': '/home/TCake/68bacdfadf5aeae0912f7f18/基础算法/二分'}}
-User user_38b7db78-d14f-4166-85bf-48efd1d16184 connected with path: /home/TCake/68bacdfadf5aeae0912f7f18/基础算法/二分
-Traceback (most recent call last):
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/eventlet/hubs/hub.py", line 471, in fire_timers
- timer()
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/eventlet/hubs/timer.py", line 59, in __call__
- cb(*args, **kw)
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/eventlet/greenthread.py", line 272, in main
- result = function(*args, **kwargs)
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/socketio/server.py", line 591, in _handle_event_internal
- r = server._trigger_event(data[0], namespace, sid, *data[1:])
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/socketio/server.py", line 627, in _trigger_event
- return handler.trigger_event(event, *args)
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/flask_socketio/namespace.py", line 26, in trigger_event
- return self.socketio._handle_event(handler, event, self.namespace,
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/flask_socketio/__init__.py", line 835, in _handle_event
- ret = handler(*args)
- File "/home/flask/code-agent/Html/apps/sockets/namespaces.py", line 30, in on_login
- backboard_manager.add_backboard(user_uuid,uuid2username[user_uuid], course_id, lesson_id, path)
-KeyError: 'user_38b7db78-d14f-4166-85bf-48efd1d16184'
-(23707) accepted ('127.0.0.1', 47306)
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:05:02] "GET /socket.io/?EIO=4&transport=polling&t=PbrBEHZ.0&sid=nlBtq1fvPbR233bmAAAK HTTP/1.1" 200 157 0.150563
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:05:02] "GET /socket.io/?EIO=4&transport=polling&t=PbrBEKX&sid=nlBtq1fvPbR233bmAAAK HTTP/1.1" 200 157 0.000654
- * Detected change in '/home/flask/code-agent/Html/apps/sockets/namespaces.py', reloading
-[2025-09-23 14:15:31,569] INFO in __init__: Shutting down gracefully (atexit)...
-[2025-09-23 14:15:31,569] INFO in __init__: Cleanup finished (atexit).
- * Restarting with stat
- * Debugger is active!
- * Debugger PIN: 813-757-851
-(24541) wsgi starting up on http://0.0.0.0:5551
-(24541) accepted ('127.0.0.1', 35610)
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:15:32] "GET /socket.io/?EIO=4&transport=polling&t=PbrDe8G HTTP/1.1" 200 275 0.000464
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:15:32] "POST /socket.io/?EIO=4&transport=polling&t=PbrDeDF&sid=AMmODYdgvZRcU2h2AAAA HTTP/1.1" 200 193 0.000891
-(24541) accepted ('127.0.0.1', 35624)
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:15:32] "GET /socket.io/?EIO=4&transport=polling&t=PbrDeDG&sid=AMmODYdgvZRcU2h2AAAA HTTP/1.1" 200 197 0.000152
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:15:32] "POST /socket.io/?EIO=4&transport=polling&t=PbrDeDs&sid=AMmODYdgvZRcU2h2AAAA HTTP/1.1" 200 193 0.000409
-VSCode client connected
-{'config': {'user_uuid': 'user_38b7db78-d14f-4166-85bf-48efd1d16184', 'user_id': 'TCake', 'course_id': '68bacdfadf5aeae0912f7f18', 'chapter_name': '基础算法', 'lesson_name': '二分', 'path': '/home/TCake/68bacdfadf5aeae0912f7f18/基础算法/二分'}}
-User user_38b7db78-d14f-4166-85bf-48efd1d16184 connected with path: /home/TCake/68bacdfadf5aeae0912f7f18/基础算法/二分
-Traceback (most recent call last):
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/eventlet/hubs/hub.py", line 471, in fire_timers
- timer()
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/eventlet/hubs/timer.py", line 59, in __call__
- cb(*args, **kw)
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/eventlet/greenthread.py", line 272, in main
- result = function(*args, **kwargs)
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/socketio/server.py", line 591, in _handle_event_internal
- r = server._trigger_event(data[0], namespace, sid, *data[1:])
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/socketio/server.py", line 627, in _trigger_event
- return handler.trigger_event(event, *args)
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/flask_socketio/namespace.py", line 26, in trigger_event
- return self.socketio._handle_event(handler, event, self.namespace,
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/flask_socketio/__init__.py", line 835, in _handle_event
- ret = handler(*args)
- File "/home/flask/code-agent/Html/apps/sockets/namespaces.py", line 30, in on_login
- backboard_manager.add_backboard(user_uuid,uuid2username[user_uuid], course_id, lesson_id, path)
-KeyError: 'user_38b7db78-d14f-4166-85bf-48efd1d16184'
-(24541) accepted ('127.0.0.1', 35628)
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:15:33] "GET /socket.io/?EIO=4&transport=polling&t=PbrDeDt&sid=AMmODYdgvZRcU2h2AAAA HTTP/1.1" 200 157 0.267042
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:15:33] "GET /socket.io/?EIO=4&transport=polling&t=PbrDeNu HTTP/1.1" 200 275 0.000314
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:15:33] "GET /socket.io/?user_uuid=user_38b7db78-d14f-4166-85bf-48efd1d16184&folder=%2Fhome%2FTCake%2F68bacdfadf5aeae0912f7f18%2F%E5%9F%BA%E7%A1%80%E7%AE%97%E6%B3%95%2F%E4%BA%8C%E5%88%86&EIO=4&transport=polling&t=PbrDeNv HTTP/1.1" 200 275 0.000460
-(24541) accepted ('127.0.0.1', 35632)
-(24541) accepted ('127.0.0.1', 35638)
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:15:33] "GET /socket.io/?EIO=4&transport=polling&t=PbrDeNt HTTP/1.1" 200 275 0.000213
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:15:33] "GET /socket.io/?EIO=4&transport=polling&t=PbrDeNw HTTP/1.1" 200 275 0.000189
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:15:33] "GET /socket.io/?EIO=4&transport=polling&t=PbrDeNu HTTP/1.1" 200 275 0.000302
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:15:33] "POST /socket.io/?EIO=4&transport=polling&t=PbrDeOX&sid=n0AqF0_FGCNBcxDWAAAC HTTP/1.1" 200 193 0.000491
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:15:33] "GET /socket.io/?EIO=4&transport=polling&t=PbrDeOY&sid=n0AqF0_FGCNBcxDWAAAC HTTP/1.1" 200 197 0.000143
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:15:33] "POST /socket.io/?user_uuid=user_38b7db78-d14f-4166-85bf-48efd1d16184&folder=%2Fhome%2FTCake%2F68bacdfadf5aeae0912f7f18%2F%E5%9F%BA%E7%A1%80%E7%AE%97%E6%B3%95%2F%E4%BA%8C%E5%88%86&EIO=4&transport=polling&t=PbrDeOZ&sid=TSZaELHTKVXdPqHnAAAD HTTP/1.1" 200 193 0.000453
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:15:33] "GET /socket.io/?user_uuid=user_38b7db78-d14f-4166-85bf-48efd1d16184&folder=%2Fhome%2FTCake%2F68bacdfadf5aeae0912f7f18%2F%E5%9F%BA%E7%A1%80%E7%AE%97%E6%B3%95%2F%E4%BA%8C%E5%88%86&EIO=4&transport=polling&t=PbrDeOa&sid=TSZaELHTKVXdPqHnAAAD HTTP/1.1" 200 196 0.000200
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:15:33] "POST /socket.io/?EIO=4&transport=polling&t=PbrDeOc&sid=a_D78LgKcjXero3TAAAF HTTP/1.1" 200 193 0.000412
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:15:33] "POST /socket.io/?EIO=4&transport=polling&t=PbrDeOb&sid=LYSrZg_UWbco8TYfAAAE HTTP/1.1" 200 193 0.000285
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:15:33] "GET /socket.io/?EIO=4&transport=polling&t=PbrDeOc&sid=LYSrZg_UWbco8TYfAAAE HTTP/1.1" 200 197 0.000849
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:15:33] "GET /socket.io/?EIO=4&transport=polling&t=PbrDeOd&sid=a_D78LgKcjXero3TAAAF HTTP/1.1" 200 197 0.000118
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:15:33] "POST /socket.io/?EIO=4&transport=polling&t=PbrDeP5&sid=eFKhAL8fv9F4SxChAAAG HTTP/1.1" 200 193 0.000370
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:15:33] "GET /socket.io/?EIO=4&transport=polling&t=PbrDeP6&sid=eFKhAL8fv9F4SxChAAAG HTTP/1.1" 200 197 0.000127
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:15:33] "POST /socket.io/?EIO=4&transport=polling&t=PbrDeP9&sid=n0AqF0_FGCNBcxDWAAAC HTTP/1.1" 200 193 0.000219
-VSCode client connected
-{'config': {'user_uuid': 'user_38b7db78-d14f-4166-85bf-48efd1d16184', 'user_id': 'TCake', 'course_id': '68bacdfadf5aeae0912f7f18', 'chapter_name': '基础算法', 'lesson_name': '二分', 'path': '/home/TCake/68bacdfadf5aeae0912f7f18/基础算法/二分'}}
-User user_38b7db78-d14f-4166-85bf-48efd1d16184 connected with path: /home/TCake/68bacdfadf5aeae0912f7f18/基础算法/二分
-Traceback (most recent call last):
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/eventlet/hubs/hub.py", line 471, in fire_timers
- timer()
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/eventlet/hubs/timer.py", line 59, in __call__
- cb(*args, **kw)
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/eventlet/greenthread.py", line 272, in main
- result = function(*args, **kwargs)
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/socketio/server.py", line 591, in _handle_event_internal
- r = server._trigger_event(data[0], namespace, sid, *data[1:])
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/socketio/server.py", line 627, in _trigger_event
- return handler.trigger_event(event, *args)
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/flask_socketio/namespace.py", line 26, in trigger_event
- return self.socketio._handle_event(handler, event, self.namespace,
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/flask_socketio/__init__.py", line 835, in _handle_event
- ret = handler(*args)
- File "/home/flask/code-agent/Html/apps/sockets/namespaces.py", line 30, in on_login
- backboard_manager.add_backboard(user_uuid,uuid2username[user_uuid], course_id, lesson_id, path)
-KeyError: 'user_38b7db78-d14f-4166-85bf-48efd1d16184'
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:15:33] "POST /socket.io/?user_uuid=user_38b7db78-d14f-4166-85bf-48efd1d16184&folder=%2Fhome%2FTCake%2F68bacdfadf5aeae0912f7f18%2F%E5%9F%BA%E7%A1%80%E7%AE%97%E6%B3%95%2F%E4%BA%8C%E5%88%86&EIO=4&transport=polling&t=PbrDePC&sid=TSZaELHTKVXdPqHnAAAD HTTP/1.1" 200 193 0.000269
-Traceback (most recent call last):
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/eventlet/hubs/hub.py", line 471, in fire_timers
- timer()
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/eventlet/hubs/timer.py", line 59, in __call__
- cb(*args, **kw)
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/eventlet/greenthread.py", line 272, in main
- result = function(*args, **kwargs)
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/socketio/server.py", line 591, in _handle_event_internal
- r = server._trigger_event(data[0], namespace, sid, *data[1:])
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/socketio/server.py", line 627, in _trigger_event
- return handler.trigger_event(event, *args)
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/flask_socketio/namespace.py", line 26, in trigger_event
- return self.socketio._handle_event(handler, event, self.namespace,
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/flask_socketio/__init__.py", line 835, in _handle_event
- ret = handler(*args)
- File "/home/flask/code-agent/Html/apps/sockets/namespaces.py", line 54, in on_login
- user_id = uuid2username[user_uuid]
-KeyError: 'user_38b7db78-d14f-4166-85bf-48efd1d16184'
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:15:33] "POST /socket.io/?EIO=4&transport=polling&t=PbrDePD&sid=LYSrZg_UWbco8TYfAAAE HTTP/1.1" 200 193 0.000190
-VSCode client connected
-{'config': {'user_uuid': 'user_38b7db78-d14f-4166-85bf-48efd1d16184', 'user_id': 'TCake', 'course_id': '68bacdfadf5aeae0912f7f18', 'chapter_name': '基础算法', 'lesson_name': '二分', 'path': '/home/TCake/68bacdfadf5aeae0912f7f18/基础算法/二分'}}
-User user_38b7db78-d14f-4166-85bf-48efd1d16184 connected with path: /home/TCake/68bacdfadf5aeae0912f7f18/基础算法/二分
-Traceback (most recent call last):
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/eventlet/hubs/hub.py", line 471, in fire_timers
- timer()
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/eventlet/hubs/timer.py", line 59, in __call__
- cb(*args, **kw)
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/eventlet/greenthread.py", line 272, in main
- result = function(*args, **kwargs)
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/socketio/server.py", line 591, in _handle_event_internal
- r = server._trigger_event(data[0], namespace, sid, *data[1:])
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/socketio/server.py", line 627, in _trigger_event
- return handler.trigger_event(event, *args)
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/flask_socketio/namespace.py", line 26, in trigger_event
- return self.socketio._handle_event(handler, event, self.namespace,
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/flask_socketio/__init__.py", line 835, in _handle_event
- ret = handler(*args)
- File "/home/flask/code-agent/Html/apps/sockets/namespaces.py", line 30, in on_login
- backboard_manager.add_backboard(user_uuid,uuid2username[user_uuid], course_id, lesson_id, path)
-KeyError: 'user_38b7db78-d14f-4166-85bf-48efd1d16184'
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:15:33] "POST /socket.io/?EIO=4&transport=polling&t=PbrDePe&sid=a_D78LgKcjXero3TAAAF HTTP/1.1" 200 193 0.001766
-VSCode client connected
-{'config': {'user_uuid': 'user_38b7db78-d14f-4166-85bf-48efd1d16184', 'user_id': 'TCake', 'course_id': '68bacdfadf5aeae0912f7f18', 'chapter_name': '基础算法', 'lesson_name': '二分', 'path': '/home/TCake/68bacdfadf5aeae0912f7f18/基础算法/二分'}}
-User user_38b7db78-d14f-4166-85bf-48efd1d16184 connected with path: /home/TCake/68bacdfadf5aeae0912f7f18/基础算法/二分
-Traceback (most recent call last):
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/eventlet/hubs/hub.py", line 471, in fire_timers
- timer()
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/eventlet/hubs/timer.py", line 59, in __call__
- cb(*args, **kw)
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/eventlet/greenthread.py", line 272, in main
- result = function(*args, **kwargs)
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/socketio/server.py", line 591, in _handle_event_internal
- r = server._trigger_event(data[0], namespace, sid, *data[1:])
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/socketio/server.py", line 627, in _trigger_event
- return handler.trigger_event(event, *args)
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/flask_socketio/namespace.py", line 26, in trigger_event
- return self.socketio._handle_event(handler, event, self.namespace,
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/flask_socketio/__init__.py", line 835, in _handle_event
- ret = handler(*args)
- File "/home/flask/code-agent/Html/apps/sockets/namespaces.py", line 30, in on_login
- backboard_manager.add_backboard(user_uuid,uuid2username[user_uuid], course_id, lesson_id, path)
-KeyError: 'user_38b7db78-d14f-4166-85bf-48efd1d16184'
-(24541) accepted ('127.0.0.1', 35654)
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:15:33] "POST /socket.io/?EIO=4&transport=polling&t=PbrDePr&sid=eFKhAL8fv9F4SxChAAAG HTTP/1.1" 200 193 0.000287
-VSCode client connected
-{'config': {'user_uuid': 'user_38b7db78-d14f-4166-85bf-48efd1d16184', 'user_id': 'TCake', 'course_id': '68bacdfadf5aeae0912f7f18', 'chapter_name': '基础算法', 'lesson_name': '二分', 'path': '/home/TCake/68bacdfadf5aeae0912f7f18/基础算法/二分'}}
-User user_38b7db78-d14f-4166-85bf-48efd1d16184 connected with path: /home/TCake/68bacdfadf5aeae0912f7f18/基础算法/二分
-Traceback (most recent call last):
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/eventlet/hubs/hub.py", line 471, in fire_timers
- timer()
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/eventlet/hubs/timer.py", line 59, in __call__
- cb(*args, **kw)
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/eventlet/greenthread.py", line 272, in main
- result = function(*args, **kwargs)
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/socketio/server.py", line 591, in _handle_event_internal
- r = server._trigger_event(data[0], namespace, sid, *data[1:])
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/socketio/server.py", line 627, in _trigger_event
- return handler.trigger_event(event, *args)
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/flask_socketio/namespace.py", line 26, in trigger_event
- return self.socketio._handle_event(handler, event, self.namespace,
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/flask_socketio/__init__.py", line 835, in _handle_event
- ret = handler(*args)
- File "/home/flask/code-agent/Html/apps/sockets/namespaces.py", line 30, in on_login
- backboard_manager.add_backboard(user_uuid,uuid2username[user_uuid], course_id, lesson_id, path)
-KeyError: 'user_38b7db78-d14f-4166-85bf-48efd1d16184'
-(24541) accepted ('127.0.0.1', 35656)
-(24541) accepted ('127.0.0.1', 35660)
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:15:33] "GET /socket.io/?EIO=4&transport=polling&t=PbrDeP9.0&sid=n0AqF0_FGCNBcxDWAAAC HTTP/1.1" 200 157 0.290931
-(24541) accepted ('127.0.0.1', 35670)
-(24541) accepted ('127.0.0.1', 35678)
-(24541) accepted ('127.0.0.1', 35692)
-(24541) accepted ('127.0.0.1', 35694)
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:15:34] "GET /socket.io/?user_uuid=user_38b7db78-d14f-4166-85bf-48efd1d16184&folder=%2Fhome%2FTCake%2F68bacdfadf5aeae0912f7f18%2F%E5%9F%BA%E7%A1%80%E7%AE%97%E6%B3%95%2F%E4%BA%8C%E5%88%86&EIO=4&transport=polling&t=PbrDePC.0&sid=TSZaELHTKVXdPqHnAAAD HTTP/1.1" 200 157 0.578326
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:15:34] "GET /socket.io/?EIO=4&transport=polling&t=PbrDePE&sid=LYSrZg_UWbco8TYfAAAE HTTP/1.1" 200 157 0.578846
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:15:34] "GET /socket.io/?EIO=4&transport=polling&t=PbrDePe.0&sid=a_D78LgKcjXero3TAAAF HTTP/1.1" 200 157 0.563323
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:15:34] "GET /socket.io/?EIO=4&transport=polling&t=PbrDePs&sid=eFKhAL8fv9F4SxChAAAG HTTP/1.1" 200 157 0.551001
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:15:35] "GET /socket.io/?EIO=4&transport=polling&t=PbrDexF HTTP/1.1" 200 275 0.000866
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:15:35] "POST /socket.io/?EIO=4&transport=polling&t=PbrDexq&sid=bkiV5ZmcBT87pswgAAAM HTTP/1.1" 200 193 0.000661
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:15:35] "GET /socket.io/?EIO=4&transport=polling&t=PbrDexq.0&sid=bkiV5ZmcBT87pswgAAAM HTTP/1.1" 200 197 0.000216
-(24541) accepted ('127.0.0.1', 35704)
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:15:36] "POST /socket.io/?EIO=4&transport=polling&t=PbrDf3E&sid=bkiV5ZmcBT87pswgAAAM HTTP/1.1" 200 193 0.000722
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:15:36] "GET /socket.io/?EIO=4&transport=polling&t=PbrDf3E.0&sid=bkiV5ZmcBT87pswgAAAM HTTP/1.1" 200 157 0.000155
-Traceback (most recent call last):
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/eventlet/hubs/hub.py", line 471, in fire_timers
- timer()
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/eventlet/hubs/timer.py", line 59, in __call__
- cb(*args, **kw)
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/eventlet/greenthread.py", line 272, in main
- result = function(*args, **kwargs)
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/socketio/server.py", line 591, in _handle_event_internal
- r = server._trigger_event(data[0], namespace, sid, *data[1:])
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/socketio/server.py", line 627, in _trigger_event
- return handler.trigger_event(event, *args)
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/flask_socketio/namespace.py", line 26, in trigger_event
- return self.socketio._handle_event(handler, event, self.namespace,
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/flask_socketio/__init__.py", line 835, in _handle_event
- ret = handler(*args)
- File "/home/flask/code-agent/Html/apps/sockets/namespaces.py", line 36, in on_message
- realtime_response(dataconfig, data)
- File "/home/flask/code-agent/Html/apps/services/backboard_service.py", line 19, in realtime_response
- chatmanager = current_app.extensions["user_uuid2chatmanager"][user_uuid]
-KeyError: 'user_38b7db78-d14f-4166-85bf-48efd1d16184'
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:15:36] "POST /socket.io/?EIO=4&transport=polling&t=PbrDf4P&sid=bkiV5ZmcBT87pswgAAAM HTTP/1.1" 200 193 0.000392
-VSCode client connected
-{'config': {'user_uuid': 'user_38b7db78-d14f-4166-85bf-48efd1d16184', 'user_id': 'TCake', 'course_id': '68bacdfadf5aeae0912f7f18', 'chapter_name': '基础算法', 'lesson_name': '二分', 'path': '/home/TCake/68bacdfadf5aeae0912f7f18/基础算法/二分'}}
-User user_38b7db78-d14f-4166-85bf-48efd1d16184 connected with path: /home/TCake/68bacdfadf5aeae0912f7f18/基础算法/二分
-Traceback (most recent call last):
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/eventlet/hubs/hub.py", line 471, in fire_timers
- timer()
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/eventlet/hubs/timer.py", line 59, in __call__
- cb(*args, **kw)
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/eventlet/greenthread.py", line 272, in main
- result = function(*args, **kwargs)
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/socketio/server.py", line 591, in _handle_event_internal
- r = server._trigger_event(data[0], namespace, sid, *data[1:])
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/socketio/server.py", line 627, in _trigger_event
- return handler.trigger_event(event, *args)
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/flask_socketio/namespace.py", line 26, in trigger_event
- return self.socketio._handle_event(handler, event, self.namespace,
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/flask_socketio/__init__.py", line 835, in _handle_event
- ret = handler(*args)
- File "/home/flask/code-agent/Html/apps/sockets/namespaces.py", line 30, in on_login
- backboard_manager.add_backboard(user_uuid,uuid2username[user_uuid], course_id, lesson_id, path)
-KeyError: 'user_38b7db78-d14f-4166-85bf-48efd1d16184'
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 14:15:36] "GET /socket.io/?EIO=4&transport=polling&t=PbrDf4Q&sid=bkiV5ZmcBT87pswgAAAM HTTP/1.1" 200 157 0.001013
-(24541) accepted ('127.0.0.1', 58600)
-49.52.5.42,127.0.0.1 - - [23/Sep/2025 14:57:03] "GET / HTTP/1.1" 302 351 0.001107
-49.52.5.42,127.0.0.1 - - [23/Sep/2025 14:57:03] "GET /login HTTP/1.1" 200 1835 0.003222
-49.52.5.42,127.0.0.1 - - [23/Sep/2025 14:57:03] "GET /static/css/login.css HTTP/1.1" 200 3789 0.005041
-(24541) accepted ('127.0.0.1', 58604)
-49.52.5.42,127.0.0.1 - - [23/Sep/2025 14:57:03] "GET /static/js/login.js HTTP/1.1" 200 3557 0.000756
-49.52.5.42,127.0.0.1 - - [23/Sep/2025 14:57:03] "GET /favicon.ico HTTP/1.1" 404 331 0.000845
-49.52.5.42,127.0.0.1 - - [23/Sep/2025 14:57:08] "POST /login_post HTTP/1.1" 200 293 0.021068
-49.52.5.42,127.0.0.1 - - [23/Sep/2025 14:57:10] "POST /login_post HTTP/1.1" 200 429 0.003543
-49.52.5.42,127.0.0.1 - - [23/Sep/2025 14:57:10] "GET /dashboard HTTP/1.1" 200 11854 0.008183
-49.52.5.42,127.0.0.1 - - [23/Sep/2025 14:57:10] "GET /static/css/dashboard.css HTTP/1.1" 200 3665 0.001065
-49.52.5.42,127.0.0.1 - - [23/Sep/2025 14:57:10] "GET /static/image/algorithm/book_cover.png HTTP/1.1" 200 933826 0.002073
-49.52.5.42,127.0.0.1 - - [23/Sep/2025 14:57:10] "GET /static/js/dashboard.js HTTP/1.1" 200 6744 0.001643
-49.52.5.42,127.0.0.1 - - [23/Sep/2025 14:57:11] "POST /dashboard/get_course_progress HTTP/1.1" 200 701 0.010478
-(24541) accepted ('127.0.0.1', 56072)
-49.52.5.42,127.0.0.1 - - [23/Sep/2025 14:59:31] "GET /static/css/dashboard.css HTTP/1.1" 304 187 0.001555
-VSCode client disconnected
-Disconnect reason:transport close
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 15:03:48] "GET /socket.io/?EIO=4&transport=websocket&sid=AMmODYdgvZRcU2h2AAAA HTTP/1.1" 200 0 2895.724984
-VSCode client disconnected
-Disconnect reason:transport close
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 15:03:48] "GET /socket.io/?EIO=4&transport=websocket&sid=a_D78LgKcjXero3TAAAF HTTP/1.1" 200 0 2894.695372
-VSCode client disconnected
-Disconnect reason:transport close
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 15:03:48] "GET /socket.io/?EIO=4&transport=websocket&sid=eFKhAL8fv9F4SxChAAAG HTTP/1.1" 200 0 2894.695104
-VSCode client disconnected
-Disconnect reason:transport close
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 15:03:48] "GET /socket.io/?EIO=4&transport=websocket&sid=n0AqF0_FGCNBcxDWAAAC HTTP/1.1" 200 0 2895.006516
-VSCode client disconnected
-Disconnect reason:transport close
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 15:03:48] "GET /socket.io/?EIO=4&transport=websocket&sid=LYSrZg_UWbco8TYfAAAE HTTP/1.1" 200 0 2894.718842
-VSCode client disconnected
-Disconnect reason:transport close
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 15:03:48] "GET /socket.io/?EIO=4&transport=websocket&sid=bkiV5ZmcBT87pswgAAAM HTTP/1.1" 200 0 2892.744860
-disconnect handler error
-Traceback (most recent call last):
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/engineio/server.py", line 450, in run_handler
- return self.handlers[event](*args)
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/socketio/server.py", line 671, in _handle_eio_disconnect
- self._handle_disconnect(eio_sid, n, reason)
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/socketio/server.py", line 568, in _handle_disconnect
- self._trigger_event('disconnect', namespace, sid,
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/socketio/server.py", line 627, in _trigger_event
- return handler.trigger_event(event, *args)
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/flask_socketio/namespace.py", line 26, in trigger_event
- return self.socketio._handle_event(handler, event, self.namespace,
- File "/home/flask/code-agent/.venv/lib/python3.10/site-packages/flask_socketio/__init__.py", line 835, in _handle_event
- ret = handler(*args)
- File "/home/flask/code-agent/Html/apps/sockets/namespaces.py", line 173, in on_disconnect
- user_uuid2chatmanager[uuid].disconnect(uuid)
-KeyError: 'user_38b7db78-d14f-4166-85bf-48efd1d16184'
-59.78.194.184,127.0.0.1 - - [23/Sep/2025 15:03:48] "GET /socket.io/?user_uuid=user_38b7db78-d14f-4166-85bf-48efd1d16184&folder=%2Fhome%2FTCake%2F68bacdfadf5aeae0912f7f18%2F%E5%9F%BA%E7%A1%80%E7%AE%97%E6%B3%95%2F%E4%BA%8C%E5%88%86&EIO=4&transport=websocket&sid=TSZaELHTKVXdPqHnAAAD HTTP/1.1" 200 0 2894.725023
-(24541) accepted ('127.0.0.1', 60494)
-49.52.5.42,127.0.0.1 - - [23/Sep/2025 15:05:08] "GET /dashboard HTTP/1.1" 200 11854 0.002651
-49.52.5.42,127.0.0.1 - - [23/Sep/2025 15:05:08] "GET /static/image/algorithm/book_cover.png HTTP/1.1" 304 191 0.001147
-(24541) accepted ('127.0.0.1', 60506)
-49.52.5.42,127.0.0.1 - - [23/Sep/2025 15:05:08] "GET /static/css/dashboard.css HTTP/1.1" 304 187 0.000948
-49.52.5.42,127.0.0.1 - - [23/Sep/2025 15:05:08] "GET /static/js/dashboard.js HTTP/1.1" 200 7250 0.001037
-49.52.5.42,127.0.0.1 - - [23/Sep/2025 15:05:09] "POST /dashboard/get_course_progress HTTP/1.1" 200 701 0.002377
-49.52.5.42,127.0.0.1 - - [23/Sep/2025 15:06:10] "GET /dashboard HTTP/1.1" 200 11854 0.002724
-49.52.5.42,127.0.0.1 - - [23/Sep/2025 15:06:10] "GET /static/css/dashboard.css HTTP/1.1" 304 187 0.001289
-49.52.5.42,127.0.0.1 - - [23/Sep/2025 15:06:10] "GET /static/image/algorithm/book_cover.png HTTP/1.1" 304 191 0.000867
-49.52.5.42,127.0.0.1 - - [23/Sep/2025 15:06:10] "GET /static/js/dashboard.js HTTP/1.1" 200 7405 0.000885
-49.52.5.42,127.0.0.1 - - [23/Sep/2025 15:06:12] "POST /dashboard/get_course_progress HTTP/1.1" 200 701 0.003191
-49.52.5.42,127.0.0.1 - - [23/Sep/2025 15:08:04] "GET /dashboard HTTP/1.1" 200 11854 0.002692
-49.52.5.42,127.0.0.1 - - [23/Sep/2025 15:08:04] "GET /static/image/algorithm/book_cover.png HTTP/1.1" 304 191 0.001173
-49.52.5.42,127.0.0.1 - - [23/Sep/2025 15:08:04] "GET /static/css/dashboard.css HTTP/1.1" 304 187 0.000924
-49.52.5.42,127.0.0.1 - - [23/Sep/2025 15:08:04] "GET /static/js/dashboard.js HTTP/1.1" 200 7499 0.000955
-49.52.5.42,127.0.0.1 - - [23/Sep/2025 15:08:05] "POST /dashboard/get_course_progress HTTP/1.1" 200 701 0.003756
+{'config': {'user_uuid': 'user_976a3442-c424-4d89-90bb-a4c281317f53', 'user_id': 'TCake', 'course_id': '68bacdfadf5aeae0912f7f18', 'chapter_name': '基础算法', 'lesson_name': '二分', 'path': '/home/TCake/68bacdfadf5aeae0912f7f18/基础算法/二分'}}
+User user_976a3442-c424-4d89-90bb-a4c281317f53 connected with path: /home/TCake/68bacdfadf5aeae0912f7f18/基础算法/二分
+(48783) accepted ('127.0.0.1', 37864)
+59.78.194.184,127.0.0.1 - - [24/Sep/2025 11:26:02] "GET /socket.io/?EIO=4&transport=polling&t=PbvmRRF.0&sid=alHbYqFNb7myY0idAAAK HTTP/1.1" 200 157 0.234138
+Received message on route 'dialog': {'data': '本章节学习目标包括:\n\n1. 理解二分查找的基本原理,掌握通过不断缩小搜索区间实现快速定位的方法。\n2. 通过小明猜数字的故事,形象理解每次猜测如何将答案区间缩小一半,明确最差情况下猜测11次即可确定答案。\n3. 通过思考题,计算在1到4000范围内最差情况下需要多少次猜测,掌握利用对数计算猜测次数的方法。\n4. 理解“上取整(log2(n))+1”计算公式的意义,认识二分查找的时间复杂度优势。\n5. 培养学生主动思考和验证答案的能力,增强算法思维和解决问题的能力。\n\n完成本章学习后,学生应能熟练理解并应用二分查找算法,掌握其效率计算方法,为后续高级算法学习奠定坚实基础。', 'role': 'assistant'}
+receive_ase_dialog {'data': '本章节学习目标包括:\n\n1. 理解二分查找的基本原理,掌握通过不断缩小搜索区间实现快速定位的方法。\n2. 通过小明猜数字的故事,形象理解每次猜测如何将答案区间缩小一半,明确最差情况下猜测11次即可确定答案。\n3. 通过思考题,计算在1到4000范围内最差情况下需要多少次猜测,掌握利用对数计算猜测次数的方法。\n4. 理解“上取整(log2(n))+1”计算公式的意义,认识二分查找的时间复杂度优势。\n5. 培养学生主动思考和验证答案的能力,增强算法思维和解决问题的能力。\n\n完成本章学习后,学生应能熟练理解并应用二分查找算法,掌握其效率计算方法,为后续高级算法学习奠定坚实基础。', 'role': 'assistant'}
diff --git a/Html/apps/extension_ase/ase_client/client.py b/Html/apps/extension_ase/ase_client/client.py
index 10c5543..4d05d86 100644
--- a/Html/apps/extension_ase/ase_client/client.py
+++ b/Html/apps/extension_ase/ase_client/client.py
@@ -25,6 +25,12 @@ class ASEngineClient:
# 存储路由和对应的回调函数
self.routes: Dict[str, Dict[str, Callable]] = {}
+ self._on_connect_callback = None
+ self._on_connect_callback_entry=None
+ self._on_connect_callback_initData=None
+
+
+
# 注册基础事件处理函数
self._register_base_events()
@@ -36,7 +42,9 @@ class ASEngineClient:
self.connected = True
self.sid = self.sio.get_sid(namespace=self.namespace)
print(f"Connected to server. SID: {self.sid}")
-
+ if self._on_connect_callback is not None:
+ self._on_connect_callback(self._on_connect_callback_entry, self._on_connect_callback_initData)
+
# 断开连接事件
@self.sio.on('disconnect', namespace=self.namespace)
def on_disconnect():
@@ -55,6 +63,14 @@ class ASEngineClient:
def on_response(data):
print(f"Received response: {data}")
+ def register_on_connect_entry(self, callback: Callable, entry: Any, init_data: Any)->bool:
+ if not callable(callback):
+ return False
+ self._on_connect_callback = callback
+ self._on_connect_callback_entry=entry
+ self._on_connect_callback_initData=init_data
+
+
def register_route_with_entry(self, route: str,
callback: Optional[Callable] = None,
entry: Any = None,
@@ -138,7 +154,8 @@ class ASEngineClient:
# 等待连接建立
start_time = time.time()
while not self.connected and (time.time() - start_time) < timeout:
- time.sleep(0.1)
+ print(f"Connecting To {self.server_url}")
+ time.sleep(0.2)
return self.connected
except Exception as e:
print(f"Connection failed: {e}")
@@ -264,8 +281,9 @@ class ASEngineClient:
class HSAEngineClient(ASEngineClient):
- def __init__(self, server_url: str, namespace: str, id:str):
+ def __init__(self, server_url: str, namespace: str, id:str, chatmanager):
super().__init__(server_url, namespace, id)
+ self.chatmanager = chatmanager
def loadmarkdown(self, fmd, fmdp, fsp):
self.send_text('markdown-in', fmd, self.id)
self.send_text('markdown-prompt-in', fmdp, self.id)
diff --git a/Html/apps/extension_ase/ase_client/manager.py b/Html/apps/extension_ase/ase_client/manager.py
index 334e2df..e2bdd52 100644
--- a/Html/apps/extension_ase/ase_client/manager.py
+++ b/Html/apps/extension_ase/ase_client/manager.py
@@ -29,11 +29,25 @@ class ChatManager:
_procs: Dict[str, ProcRecord] = {}
_lock = threading.RLock()
def __init__(self):
+ self.chapter_chain_now = -1
+ self.ase_client = None
+ self.app = None
+ self.socketio = None
+ self.user_uuid = None
+ self.raw_markdown = None
+ self.raw_markdown_prompts = None
+ self.raw_score_prompts = None
+ self.material_id = None
+ self.chapter_name = None
+ self.lesson_name = None
+ self.chapter_chain = None
+ self.function_manager = FunctionManager()
+ self.bb = None
+ self.chat_historys = None
pass
def init(self,user_uuid,ase_client,raw_markdown,raw_markdown_prompts,raw_score_prompts,material_id,chapter_name, lesson_name, max_iter = 5, app=None, socketio=None):
- self.chapter_chain_now = -1
self.ase_client = ase_client
self.app = app
self.socketio = socketio
@@ -45,7 +59,6 @@ class ChatManager:
self.chapter_name = chapter_name
self.lesson_name = lesson_name
self.chapter_chain = load_chapters(raw_markdown, raw_markdown_prompts, raw_score_prompts)
- self.function_manager = FunctionManager()
self.bb = None
self.chat_historys = []
@@ -61,15 +74,16 @@ class ChatManager:
def next_chapter(self):
assert self.chapter_chain_now + 1 < len(self.chapter_chain), "chapter_chain_now out of range"
self.chapter_chain_now += 1
+ self.bb.next_chapter()
self.focus_chapter(self.chapter_chain_now)
-
def focus_chapter(self, chapter_index):
assert chapter_index < len(self.chapter_chain), "chapter_index out of range"
self.chapter_chain_now = chapter_index
self.chapter_chain[chapter_index].Focus()
def load_next_chapter(self):
+ print(f"now load next chapter markdown {self.chapter_chain_now}")
self.ase_client.loadmarkdown(self.chapter_chain[self.chapter_chain_now].chapter, self.chapter_chain[self.chapter_chain_now].chapter_prompt, self.chapter_chain[self.chapter_chain_now].score_prompt)
diff --git a/Html/apps/sockets/namespaces.py b/Html/apps/sockets/namespaces.py
index d8c31cc..c5306f2 100644
--- a/Html/apps/sockets/namespaces.py
+++ b/Html/apps/sockets/namespaces.py
@@ -28,6 +28,7 @@ class VSCodeNamespace(Namespace):
join_room(user_uuid, namespace='/vscode')
if backboard_manager.get_backboard(user_uuid) == None:
backboard_manager.add_backboard(user_uuid,uuid2username[user_uuid], course_id, lesson_id, path)
+
def on_message(self, data):
@@ -53,6 +54,7 @@ class AgentNamespace(Namespace):
chapter_name = data['chapter_name']
user_id = uuid2username[user_uuid]
session['user_uuid'] = user_uuid
+ join_room(user_uuid, namespace='/agent') # 将该用户加入以user_id为名的room
print(f'User connected with session user_uuid: {user_uuid}')
user_uuid2chatmanager = ex["user_uuid2chatmanager"]
@@ -60,8 +62,24 @@ class AgentNamespace(Namespace):
# if (user_uuid2ase_client[user_uuid] is not None and user_uuid2ase_client[user_uuid].connected):
# user_uuid2ase_client[user_uuid].disconnect()
chatmanager = user_uuid2chatmanager[user_uuid]
- user_uuid2ase_client[user_uuid] = HSAEngineClient(current_app.config["ASE_ENGINE_URL"], current_app.config["ASE_ENGINE_NAMESPACE"],id=user_id)
- user_uuid2ase_client[user_uuid].connect()
+ chatmanager.function_manager.add_function(judge, {'course_id': course_id, 'root_path': f'/home/{user_id}/{course_id}/{chapter_name}/{lesson_name}'})
+ chatmanager.function_manager.add_function(next_chapter, {'user_uuid': user_uuid})
+ chatmanager.chat_historys = []
+ chatmanager.scores = []
+
+ fmd,fmdp,fsp = load_full_markdown_file(course_id, chapter_name, lesson_name)
+ user_uuid2ase_client[user_uuid] = HSAEngineClient(current_app.config["ASE_ENGINE_URL"], current_app.config["ASE_ENGINE_NAMESPACE"],id=user_id, chatmanager = chatmanager)
+ chatmanager.init(user_uuid, user_uuid2ase_client[user_uuid], fmd, fmdp, fsp, course_id, chapter_name, lesson_name, max_iter=5, app=current_app, socketio=self)
+ backboard_manager.add_backboard(user_uuid, user_id, course_id, lesson_name, root_path=f'/home/{user_id}/{course_id}/{chapter_name}/{lesson_name}')
+ chatmanager.bb = backboard_manager.get_backboard(user_uuid)
+ chatmanager.next_chapter()
+ self.chatmanager = chatmanager
+ self.ase_client = user_uuid2ase_client[user_uuid]
+ user_uuid2ase_client[user_uuid].register_on_connect_entry(
+ callback=self.on_connect_to_ase,
+ entry=(self, user_uuid2ase_client[user_uuid]),
+ init_data={'room':user_uuid}
+ )
user_uuid2ase_client[user_uuid].register_route_with_entry(
route='dialog',
callback=self.receive_ase_dialog,
@@ -85,21 +103,13 @@ class AgentNamespace(Namespace):
callback=self.receive_ase_chapter_score,
entry=(get_or_load_current_user(),chatmanager),
init_data={'room': user_uuid}
- )
+ )
+ user_uuid2ase_client[user_uuid].connect()
- fmd,fmdp,fsp = load_full_markdown_file(course_id, chapter_name, lesson_name)
- chatmanager.init(user_uuid, user_uuid2ase_client[user_uuid], fmd, fmdp, fsp, course_id, chapter_name, lesson_name, max_iter=5, app=current_app, socketio=self)
- user_uuid2ase_client.chatmanager = chatmanager
- # 注册函数,以确保一些初始参数
- chatmanager.function_manager.add_function(judge, {'course_id': course_id, 'root_path': f'/home/{user_id}/{course_id}/{chapter_name}/{lesson_name}'})
- chatmanager.function_manager.add_function(next_chapter, {'user_uuid': user_uuid})
- chatmanager.chat_historys = []
- chatmanager.scores = []
- join_room(user_uuid, namespace='/agent') # 将该用户加入以user_id为名的room
- backboard_manager.add_backboard(user_uuid, user_id, course_id, lesson_name, root_path=f'/home/{user_id}/{course_id}/{chapter_name}/{lesson_name}')
- chatmanager.bb = backboard_manager.get_backboard(user_uuid)
- chatmanager.focus_chapter(0)
+
+
+
def on_language(self, language):
ex = current_app.extensions
@@ -115,7 +125,7 @@ class AgentNamespace(Namespace):
data = json.loads(data)
if data['type'] == 'text':
res = user_uuid2ase_client[uuid].send_text('dialog', data['data'])
- chatmanager.chat_historys.append({'role': 'user', 'content': data['data']})
+ chatmanager[uuid].chat_historys.append({'role': 'user', 'content': data['data']})
print(f"Send text to route 'dialog' success: {res}")
if data['type'] == 'function': # 在这里 前端会发送允许执行的function与参数
@@ -125,9 +135,16 @@ class AgentNamespace(Namespace):
d['data'] = res.to_dict()
print("function_call_res", d['data'])
emit(d['route'], d, room=uuid, namespace='/agent')
- chatmanager.chat_historys.append({'role': 'user', 'content': data['data']})
+ chatmanager[uuid].chat_historys.append({'role': 'user', 'content': data['data']})
user_uuid2ase_client[uuid].send_text(d['route'], data['data'])
+ def on_connect_to_ase(client_entry: HSAEngineClient, namespace_entry, init_data):
+ print(f"on_connect_to_ase {client_entry}, {namespace_entry}, {init_data}")
+ namespace_entry, ase_client = namespace_entry
+ namespace_entry.emit('open-iframe',"", room=init_data['room'], namespace='/agent')
+ ase_client.chatmanager.load_next_chapter()
+ ase_client.send_text("chapter-start", "")
+ namespace_entry.emit('message', "Multi-Agents服务已连接", room=init_data['room'], namespace='/agent')
def receive_ase_dialog(client_entry: HSAEngineClient, namespace_entry: Namespace, data, init_data):
print("receive_ase_dialog", data)
diff --git a/Html/apps/static/js/chatbox.js b/Html/apps/static/js/chatbox.js
index 2563921..0537c76 100644
--- a/Html/apps/static/js/chatbox.js
+++ b/Html/apps/static/js/chatbox.js
@@ -13,7 +13,9 @@ document.addEventListener('DOMContentLoaded', function() {
socket.on('connect', function() {
console.log('Connected to server');
socket.emit('login',JSON.stringify(data));
- OpenIframe();
+ });
+ socket.on('open-iframe', function(data) {
+ OpenIframe();
});
// 监听来自服务器的消息
socket.on('message', function(data) {
diff --git a/Html/apps/static/第一周-效率的重要性与实践验证.html b/Html/apps/static/第一周-效率的重要性与实践验证.html
new file mode 100644
index 0000000..07b690d
--- /dev/null
+++ b/Html/apps/static/第一周-效率的重要性与实践验证.html
@@ -0,0 +1,119 @@
+
+
+
+
+
+
+
+ 效率的重要性与实践验证
+效率
+理论热身:算法选择的智慧
+任务:分析与决策
+项目组目前有两套备选的交通信号灯同步算法,它们将在不同性能的服务器上运行:
+
+你的项目经理(右侧的Agent)希望你通过分析,来判断哪个方案更具前景。请与TA对话,逐一回答以下问题。
+思考题
+与右侧的Agent对话,回答以下问题:
+
+-
+
概念回顾:首先,请向你的“经理”解释,根据课程所学,一个合格的“算法”应具备哪些基本特征?
+
+-
+
小规模测试:对于一个包含100个路口的小型城区(n=100),计算并说明方案A和方案B分别需要多长时间完成计算?在这种情况下,你会推荐哪个方案?
+
+-
+
大规模应用:现在,我们需要为一座拥有100万个路口的大都市(n=1,000,000)进行规划。再次计算并说明两个方案的耗时。你的推荐会改变吗?为什么?
+
+-
+
总结陈词:综合以上分析,向你的“经理”总结:为什么一个更优的算法设计,其重要性远超硬件性能的提升? 这验证了课程中提到的哪个核心观点?
+
+
+编程实践:验证算法的真实性能
+任务:编码与分析
+理论分析让你认识到了算法效率的重要性。现在,你需要通过编程来亲身感受不同交通状况对同一算法性能的巨大影响。我们将以“插入排序”为例,来处理三种典型的交通流量数据,这分别对应算法分析中的最好,最坏和平均情况。
+题目:模拟交通流量排序
+实现插入排序算法,并验证其在处理“畅通无阻”(数据有序)、“交通大堵塞”(数据逆序)和“随机车流”(数据随机)三种模式时的效率差异。
+代码框架
+在代码编辑区,完成 insertion_sort(arr) 函数的实现后,运行完整代码,并与Agent讨论结果。
+请创建任意文件,将下面代码写入到编辑器中
+```python
+import random
+import time
+def insertion_sort(arr):
+ """
+ 实现插入排序算法
+ 参数arr: 待排序的交通数据数组(整数代表车辆通行次序)
+ 返回: 排序后的数组
+ """
+ # TODO: 请在此处实现你的插入排序逻辑
+def generate_traffic_data(n):
+ """
+ 生成模拟交通数据
+ 参数n: 数据规模(路口数量或监控点数量)
+ 返回: 三种不同交通状况的数据
+ """
+ random_data = [random.randint(0, 10**6) for _ in range(n)]
+ # 模拟“畅通无阻”:交通流按次序进入,数据基本有序 (Best Case)
+ best_case_data = sorted(random_data)
+ # 模拟“交通大堵塞”:疏散时情况完全反转,数据逆序 (Worst Case)
+ worst_case_data = sorted(random_data, reverse=True)
+ # 模拟“随机车流”:正常但无规律的交通状况 (Average Case)
+ average_case_data = random_data
+ return best_case_data, worst_case_data, average_case_data
+def measure_performance(func, data):
+ """
+ 测量算法性能
+ 参数func: 排序函数
+ 参数data: 交通数据
+ 返回: 执行时间(毫秒)
+ """
+ start_time = time.perf_counter_ns()
+ func(data.copy()) # 使用副本避免影响其他测试
+ end_time = time.perf_counter_ns()
+ return (end_time - start_time) / 10**6 # 转换为毫秒
+测试不同规模的路口网络
+network_sizes = [1000, 5000, 10000]
+print("交通数据处理算法性能测试:")
+for size in network_sizes:
+ best, worst, avg = generate_traffic_data(size)
+time_best = measure_performance(insertion_sort, best)
+time_worst = measure_performance(insertion_sort, worst)
+time_avg = measure_performance(insertion_sort, avg)
+
+print(f"网络规模 n={size}:")
+print(f" - 畅通无阻 (Best Case): {time_best:.2f} ms")
+print(f" - 交通大堵塞 (Worst Case): {time_worst:.2f} ms")
+print(f" - 随机车流 (Average Case): {time_avg:.2f} ms")
+
+```
+分析与讨论
+完成编程并得到输出后,请与右侧Agent讨论以下问题,以检验你的理解:
+
+-
+
结果分析:当网络规模从1000增加到10000时,“交通大堵塞”(最坏情况)的处理时间增长了大约多少倍?这更符合O(n)(线性)还是O(n2)(二次)的增长模式?
+
+-
+
原因探究:为什么“畅通无阻”(最好情况)的处理速度如此之快?它的时间复杂度是什么?请结合你的代码逻辑来解释。
+
+-
+
实践应用:根据你的实验结果,你认为插入排序是否适合用于需要快速响应大规模交通拥堵的实时预警系统?为什么?
+
+-
+
融会贯通:结合第一关的理论分析和第二关的编程实验,你对“算法是解决问题的核心”这句话有了怎样更深的理解?
+
+
+
+
+
\ No newline at end of file
diff --git a/Html/apps/static/第二周-算法设计范式:分而治之与归并排序.html b/Html/apps/static/第二周-算法设计范式:分而治之与归并排序.html
new file mode 100644
index 0000000..0440758
--- /dev/null
+++ b/Html/apps/static/第二周-算法设计范式:分而治之与归并排序.html
@@ -0,0 +1,126 @@
+
+
+
+
+
+
+
+ 算法设计范式:分而治之与归并排序
+
+Auto-generated at 2025-09-22 15:38
+
+算法设计范式:分而治之与归并排序
+第一关:理论探究:分而治之的力量
+案例背景:智慧城市交通优化系统
+在上周的工作中,你已经实现并分析了插入排序在交通数据处理中的性能。虽然它在数据量较小或基本有序的情况下表现不错,但在应对大规模拥堵(逆序数据)时,其性能瓶颈非常明显。本周,你的项目经理(Agent)将向你介绍一种更高效的算法设计思想——“分而治之”,并要求你掌握其代表算法:归并排序。
+任务:理解与分析
+场景介绍
+你的经理告诉你,归并排序(Merge Sort)是解决大规模排序问题的利器。在投入编码之前,你必须先从理论上理解它为何如此高效。
+思考题
+请与右侧的Agent(你的项目经理)对话,清晰地回答以下问题,以证明你已理解核心思想:
+
+-
+
分治思想:根据课程资料,请解释什么是“分而治之”(Divide-and-Conquer)设计范式?它包含哪三个基本步骤?
+
+-
+
递推关系:归并排序的时间复杂度可以用递推式 T(n)=2T(n/2)+Θ(n) 来表示。请解释这个式子各部分的含义:
+
+2 代表什么?
+T(n/2) 代表什么?
+Θ(n) 代表什么?
+
+
+-
+
效率对比:你的同事认为,插入排序经过极致优化后,处理n个数据的耗时为 $0.1n^2$;而归并排序由于递归和合并开销,耗时为 1000nlog_2n。在处理超大规模城市交通数据时(即n趋于无穷大时),哪个算法最终会胜出?请从渐进增长的角度解释你的理由。
+
+-
+
增长排序:将下列函数的渐进增长率从低到高排序,并将它们划分到等价类(即 Θ 关系相同的函数)。这有助于你理解不同算法效率的所在层级。
+
+- $n^2$ (插入排序最坏情况)
+- nlogn (归并排序)
+- n (一种非常低效的蛮力算法)
+- $2^n$ (另一种指数级算法)
+- logn (类似二分查找的效率)
+
+
+
+第二关:编程实践:实现归并排序
+任务:编码与对比
+场景介绍
+现在你已经从理论上理解了归并排序的威力。是时候亲手实现它,并与上周的插入排序进行一次性能上的正面较量了!
+题目:实现归并排序并对比性能
+你需要实现归并排序的核心函数,并利用上周的测试框架来直观对比它与插入排序在处理不同交通数据时的表现。
+代码框架
+在下方代码编辑区,完成 merge_sort(arr) 和 merge(left, right) 两个函数的实现。
+```python
+import random
+import time
+上周实现的插入排序(用于对比)
+def insertion_sort(arr):
+ for i in range(1, len(arr)):
+ key = arr[i]
+ j = i - 1
+ while j >= 0 and arr[j] > key:
+ arr[j + 1] = arr[j]
+ j -= 1
+ arr[j + 1] = key
+ return arr
+--- 本周任务:请在下方实现归并排序 ---
+def merge_sort(arr):
+ """
+ 实现归并排序算法
+ 参数arr: 待排序的交通数据数组
+ 返回: 一个新的、排序好的数组
+ """
+ # TODO: 实现归并排序的递归逻辑
+ # 提示:当数组元素个数小于等于1时,递归终止
+def merge(left, right):
+ """
+ 合并两个已排序的子数组
+ 参数left: 左侧已排序数组
+ 参数right: 右侧已排序数组
+ 返回: 合并后的一个有序数组
+ """
+--- 测试与对比部分 ---
+def measure_performance(sort_func, data):
+ start_time = time.perf_counter_ns()
+ sort_func(data.copy())
+ end_time = time.perf_counter_ns()
+ return (end_time - start_time) / 10**6
+network_sizes = [1000, 5000, 10000, 50000]
+print("算法性能对比测试:")
+for size in network_sizes:
+ # 生成逆序数据,这是插入排序的最坏情况
+ worst_case_data = list(range(size, 0, -1))
+time_insertion = measure_performance(insertion_sort, worst_case_data)
+time_merge = measure_performance(merge_sort, worst_case_data)
+
+print(f"--- 网络规模 n={size} (最坏情况) ---")
+print(f" - 插入排序: {time_insertion:.2f} ms")
+print(f" - 归并排序: {time_merge:.2f} ms")
+
+```
+分析与讨论
+完成编程并得到输出后,请与右侧Agent讨论以下问题:
+
+-
+
性能验证:观察“交通大堵塞”(最坏情况)的测试结果,归并排序的性能表现与插入排序有何天壤之别?这是否验证了你在第一关的理论分析?
+
+-
+
性能稳定性:如果我们将测试数据换成“畅通无阻”(最好情况)或“随机车流”(平均情况),你认为归并排序的运行时间会发生巨大变化吗?为什么?
+
+-
+
空间成本:在实现 merge 函数时,你可能创建了一个新的数组 merged 来存放结果。这在算法分析中被称为“空间复杂度”。与在原数组上进行交换的插入排序相比,归并排序的这个特点是优点还是缺点?
+
+-
+
最终决策:作为项目工程师,你会选择哪种排序算法用于我们的大规模交通调度系统?请综合考虑时间效率和空间成本来陈述你的理由。
+
+
+
+
+
\ No newline at end of file
diff --git a/Html/apps/templates/desktop.html b/Html/apps/templates/desktop.html
index 994a9dc..5720fe4 100644
--- a/Html/apps/templates/desktop.html
+++ b/Html/apps/templates/desktop.html
@@ -102,7 +102,6 @@
❮
-
+
+