diff --git a/Html/apps/extension_ase/ase_client/manager.py b/Html/apps/extension_ase/ase_client/manager.py
index 03dae0f..029d22b 100644
--- a/Html/apps/extension_ase/ase_client/manager.py
+++ b/Html/apps/extension_ase/ase_client/manager.py
@@ -26,7 +26,11 @@ class ProcRecord:
class ChatManager:
- def __init__(self,user_uuid,ase_client,raw_markdown,raw_markdown_prompts,raw_score_prompts,max_iter = 5, app=None, socketio=None):
+ def __init__(self):
+ self._procs: Dict[str, ProcRecord] = {}
+ self._lock = threading.RLock()
+
+ def init(self,user_uuid,ase_client,raw_markdown,raw_markdown_prompts,raw_score_prompts,max_iter = 5, app=None, socketio=None):
self.chapter_chain_now = -1
self.ase_client = ase_client
self.app = app
@@ -38,8 +42,6 @@ class ChatManager:
self.chapter_chain = load_chapters(raw_markdown, raw_markdown_prompts, raw_score_prompts)
self.function_manager = FunctionManager()
self.bb = None
- self._procs: Dict[str, ProcRecord] = {}
- self._lock = threading.RLock()
def disconnect(self, uuid):
self.stop(uuid)
diff --git a/Html/apps/sockets/namespaces.py b/Html/apps/sockets/namespaces.py
index 03d3ebd..d31457d 100644
--- a/Html/apps/sockets/namespaces.py
+++ b/Html/apps/sockets/namespaces.py
@@ -78,8 +78,8 @@ class AgentNamespace(Namespace):
)
fmd,fmdp,fsp = load_full_markdown_file(course_id, chapter_name, lesson_name)
- user_uuid2chatmanager[user_uuid] = ChatManager(user_uuid, user_uuid2ase_client[user_uuid], fmd, fmdp, fsp, max_iter=5, app=current_app, socketio=self)
chatmanager = user_uuid2chatmanager[user_uuid]
+ chatmanager.init(user_uuid, user_uuid2ase_client[user_uuid], fmd, fmdp, fsp, max_iter=5, app=current_app, socketio=self)
chatmanager.function_manager.add_function(judge, {'course_id': course_id, 'lesson_name': lesson_name, 'root_path': f'../../study/{user_id}/{course_id}/{chapter_name}/{lesson_name}'})
chatmanager.function_manager.add_function(next_chapter, {'user_uuid': user_uuid})
diff --git a/Html/apps/views/vscode.py b/Html/apps/views/vscode.py
index 1e41d1d..ed6ba84 100644
--- a/Html/apps/views/vscode.py
+++ b/Html/apps/views/vscode.py
@@ -2,6 +2,7 @@
import os, uuid, json
from flask import Blueprint, current_app, session, redirect, url_for, render_template, request, jsonify
from ..services.backboard_service import realtime_response
+from ..extension_ase.ase_client.manager import ChatManager
import subprocess
bp = Blueprint("vscode", __name__)
@@ -31,8 +32,9 @@ def desktop(user_uuid, course_id, chapter_name, lesson_name):
except subprocess.CalledProcessError as e:
print(f"Error creating directory {path_dir} details {str(e)}")
-
- chatmanager = current_app.extensions["user_uuid2chatmanager"][user_uuid]
+ chatmanager = ChatManager()
+ chatmanager.init(user_uuid, user_id, path_dir)
+ current_app.extensions["user_uuid2chatmanager"][user_uuid] = chatmanager
code_server_port = 10000 + int(uuid.uuid4().int % 10000)
chatmanager.start_code_server(user_uuid, user_id, path_dir, code_server_port)