fix many feather

This commit is contained in:
Cai
2025-09-21 05:50:19 +00:00
parent b1f832a2fb
commit 25223ac6fe
89 changed files with 1746 additions and 454 deletions

View File

@@ -75,15 +75,16 @@ class AgentNamespace(Namespace):
entry=self,
init_data={'room': user_uuid}
)
fmd,fmdp,fsp = load_full_markdown_file(course_id, chapter_name, lesson_name)
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(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})
join_room(user_uuid, namespace='/agent') # 将该用户加入以user_id为名的room
backboard_manager.add_backboard(user_uuid, user_id, course_id, lesson_name, root_path=f'../../study/{user_id}/{course_id}/{chapter_name}/{lesson_name}')
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)
@@ -116,6 +117,7 @@ class AgentNamespace(Namespace):
d['data'] = res.to_dict()
print("function_call_res", d['data'])
emit(d['route'], d, room=uuid, namespace='/agent')
user_uuid2ase_client[uuid].send_text(d['route'], data['data'])
def receive_ase_dialog(client_entry: HSAEngineClient, namespace_entry: Namespace, data, init_data):
@@ -130,16 +132,17 @@ class AgentNamespace(Namespace):
print("receive_ase_next_chapter", data)
namespace_entry.emit('request_function',data, room=init_data['room'], namespace='/agent') # data 是一个列表 /dict也支持
def on_initiative(self,data):
def on_initiative(self,data): # 主动call
print("User active function call")
ex = current_app.extensions
agent_manager = ex["agent_manager"]
backboard_manager = ex["backboard_manager"]
uuid = session.get('user_uuid')
manager = ex["user_uuid2chatmanager"][uuid]
backboard_manager = ex["backboard_manager"]
if data['name'] == 'sample_judge':
agent_manager.sample_judge(uuid, backboard_manager.get_backboard(uuid))
manager.sample_judge(uuid, backboard_manager.get_backboard(uuid))
if data['name'] == 'judge':
agent_manager.judge(uuid, backboard_manager.get_backboard(uuid))
res = manager.judge(uuid, backboard_manager.get_backboard(uuid))
emit('message', res.message, room=uuid, namespace='/agent')