@@ -276,17 +276,17 @@ def _build_handoff_toolset(
276276
277277 # Always add send_shared_context tool for shared context feature
278278 try :
279- from astrbot .core .dynamic_subagent_manager import (
279+ from astrbot .core .subagent_manager import (
280280 SEND_SHARED_CONTEXT_TOOL ,
281- DynamicSubAgentManager ,
281+ SubAgentManager ,
282282 )
283283
284284 session_id = event .unified_msg_origin
285- session = DynamicSubAgentManager .get_session (session_id )
285+ session = SubAgentManager .get_session (session_id )
286286 if session and session .shared_context_enabled :
287287 toolset .add_tool (SEND_SHARED_CONTEXT_TOOL )
288288 except Exception as e :
289- logger .debug (f"[EnhancedSubAgent ] Failed to add shared context tool: { e } " )
289+ logger .debug (f"[SubAgent ] Failed to add shared context tool: { e } " )
290290
291291 return None if toolset .empty () else toolset
292292
@@ -395,7 +395,7 @@ async def _run_subagent():
395395 # 若超时,保存已产生的部分历史
396396 cls ._save_subagent_history (agent_name , runner_messages , umo )
397397 error_msg = f"SubAgent '{ agent_name } ' execution timeout after { execution_timeout :.1f} seconds."
398- logger .warning (f"[SubAgentTimeout ] { error_msg } " )
398+ logger .warning (f"[SubAgent:Timeout ] { error_msg } " )
399399
400400 cls ._handle_subagent_timeout (umo = umo , agent_name = agent_name )
401401
@@ -408,9 +408,8 @@ async def _run_subagent():
408408 else :
409409 # 不设置超时
410410 llm_resp = await _run_subagent ()
411-
412411 # 保存历史上下文
413- cls ._save_subagent_history (agent_name , runner_messages , umo )
412+ cls ._save_subagent_history (umo , runner_messages , agent_name )
414413
415414 yield mcp .types .CallToolResult (
416415 content = [mcp .types .TextContent (type = "text" , text = llm_resp .completion_text )]
@@ -431,15 +430,15 @@ async def _execute_handoff_background(
431430 user of the result – the same pattern used by
432431 ``_execute_background`` for regular background tasks.
433432
434- 当启用增强SubAgent时,会在 DynamicSubAgentManager 中创建 pending 任务,
433+ 当启用增强SubAgent时,会在 SubAgentManager 中创建 pending 任务,
435434 并返回 task_id 给主 Agent,以便后续通过 wait_for_subagent 获取结果。
436435 """
437436 event = run_context .context .event
438437 umo = event .unified_msg_origin
439438 agent_name = getattr (tool .agent , "name" , None )
440439
441440 # check if enhanced subagent
442- subagent_task_id = cls ._register_enhanced_subagent_task (umo , agent_name )
441+ subagent_task_id = cls ._register_subagent_task (umo , agent_name )
443442
444443 original_task_id = uuid .uuid4 ().hex
445444
@@ -475,7 +474,7 @@ async def _do_handoff_background(
475474 ** tool_args ,
476475 ) -> None :
477476 """Run the subagent handoff.
478- 当增强版 SubAgent 启用时,结果存储到 DynamicSubAgentManager ,主 Agent 可通过 wait_for_subagent 获取。
477+ 当增强版 SubAgent 启用时,结果存储到 SubAgentManager ,主 Agent 可通过 wait_for_subagent 获取。
479478 否则使用原有的 _wake_main_agent_for_background_result 流程。
480479 """
481480
@@ -517,7 +516,7 @@ async def _run():
517516 except asyncio .TimeoutError :
518517 error_text = f"Execution timeout after { execution_timeout :.1f} seconds."
519518 result_text = f"error: Background SubAgent '{ agent_name } ' { error_text } "
520- logger .warning (f"[EnhancedSubAgent :BackgroundTask] { error_text } " )
519+ logger .warning (f"[SubAgent :BackgroundTask] { error_text } " )
521520
522521 except Exception as e :
523522 error_text = str (e )
@@ -527,9 +526,9 @@ async def _run():
527526
528527 execution_time = time .time () - start_time
529528 # Check if it's enhanced subagent
530- is_enhanced = cls ._is_enhanced_subagent (umo , agent_name )
531- if is_enhanced :
532- await cls ._handle_enhanced_subagent_background_result (
529+ is_managed = cls ._is_managed_subagent (umo , agent_name )
530+ if is_managed :
531+ await cls ._handle_subagent_background_result (
533532 umo = umo ,
534533 agent_name = agent_name ,
535534 task_id = tool_args .get ("subagent_task_id" ),
@@ -806,15 +805,13 @@ async def _execute_mcp(
806805 def _load_subagent_history (
807806 umo : str , tool : HandoffTool
808807 ) -> tuple [list [Message ], str ]:
809- from astrbot .core .dynamic_subagent_manager import DynamicSubAgentManager
808+ from astrbot .core .subagent_manager import SubAgentManager
810809
811810 agent_name = getattr (tool .agent , "name" , None )
812811 subagent_history = []
813812 if agent_name :
814813 try :
815- stored_history = DynamicSubAgentManager .get_subagent_history (
816- umo , agent_name
817- )
814+ stored_history = SubAgentManager .get_subagent_history (umo , agent_name )
818815 if stored_history :
819816 # 将历史消息转换为 Message 对象
820817 for hist_msg in stored_history :
@@ -848,16 +845,14 @@ def _build_subagent_system_prompt(
848845 f"# Role\n Your name is { agent_name } (used for tool calling)\n { base } \n "
849846 )
850847 if agent_name :
851- from astrbot .core .dynamic_subagent_manager import DynamicSubAgentManager
848+ from astrbot .core .subagent_manager import SubAgentManager
852849
853850 runtime = prov_settings .get ("computer_use_runtime" , "local" )
854- static_subagent_prompt = (
855- DynamicSubAgentManager . build_static_subagent_prompts ( umo , agent_name )
851+ static_subagent_prompt = SubAgentManager . build_static_subagent_prompts (
852+ umo , agent_name
856853 )
857- dynamic_subagent_prompt = (
858- DynamicSubAgentManager .build_dynamic_subagent_prompts (
859- umo , agent_name , runtime
860- )
854+ dynamic_subagent_prompt = SubAgentManager .build_dynamic_subagent_prompts (
855+ umo , agent_name , runtime
861856 )
862857 subagent_system_prompt += static_subagent_prompt
863858 subagent_system_prompt += dynamic_subagent_prompt
@@ -868,47 +863,43 @@ def _save_subagent_history(
868863 umo : str , runner_messages : list [Message ], agent_name : str
869864 ) -> None :
870865 if agent_name and runner_messages :
871- from astrbot .core .dynamic_subagent_manager import DynamicSubAgentManager
866+ from astrbot .core .subagent_manager import SubAgentManager
872867
873- DynamicSubAgentManager .update_subagent_history (
874- umo , agent_name , runner_messages
875- )
868+ SubAgentManager .update_subagent_history (umo , agent_name , runner_messages )
876869 else :
877870 return
878871
879872 @staticmethod
880- def _register_enhanced_subagent_task (
881- umo : str , agent_name : str | None
882- ) -> str | None :
873+ def _register_subagent_task (umo : str , agent_name : str | None ) -> str | None :
883874 if not agent_name :
884875 return None
885876 try :
886- from astrbot .core .dynamic_subagent_manager import DynamicSubAgentManager
877+ from astrbot .core .subagent_manager import SubAgentManager
887878
888- session = DynamicSubAgentManager .get_session (umo )
879+ session = SubAgentManager .get_session (umo )
889880 if session and (agent_name in session .subagents ):
890- subagent_task_id = DynamicSubAgentManager .create_pending_subagent_task (
881+ subagent_task_id = SubAgentManager .create_pending_subagent_task (
891882 session_id = umo , agent_name = agent_name
892883 )
893884
894885 if subagent_task_id .startswith ("__PENDING_TASK_CREATE_FAILED__" ):
895886 logger .info (
896- f"[EnhancedSubAgent :BackgroundTask] Failed to created background task { subagent_task_id } for { agent_name } "
887+ f"[SubAgent :BackgroundTask] Failed to created background task { subagent_task_id } for { agent_name } "
897888 )
898889 else :
899- DynamicSubAgentManager .set_subagent_status (
890+ SubAgentManager .set_subagent_status (
900891 session_id = umo ,
901892 agent_name = agent_name ,
902893 status = "RUNNING" ,
903894 )
904895
905896 logger .info (
906- f"[EnhancedSubAgent :BackgroundTask] Created background task { subagent_task_id } for { agent_name } "
897+ f"[SubAgent :BackgroundTask] Created background task { subagent_task_id } for { agent_name } "
907898 )
908899 return subagent_task_id
909900 except Exception as e :
910901 logger .info (
911- f"[EnhancedSubAgent :BackgroundTask] Failed to created background task for { agent_name } : { e } "
902+ f"[SubAgent :BackgroundTask] Failed to created background task for { agent_name } : { e } "
912903 )
913904 return None
914905
@@ -942,9 +933,9 @@ def _build_background_submission_message(
942933 @staticmethod
943934 def _get_subagent_execution_timeout () -> float :
944935 try :
945- from astrbot .core .dynamic_subagent_manager import DynamicSubAgentManager
936+ from astrbot .core .subagent_manager import SubAgentManager
946937
947- return DynamicSubAgentManager .get_execution_timeout ()
938+ return SubAgentManager .get_execution_timeout ()
948939 except Exception :
949940 return - 1
950941
@@ -953,27 +944,27 @@ def _handle_subagent_timeout(
953944 umo : str ,
954945 agent_name : str ,
955946 ) -> None :
956- from astrbot .core .dynamic_subagent_manager import DynamicSubAgentManager
947+ from astrbot .core .subagent_manager import SubAgentManager
957948
958- DynamicSubAgentManager .set_subagent_status (
949+ SubAgentManager .set_subagent_status (
959950 session_id = umo ,
960951 agent_name = agent_name ,
961952 status = "FAILED" ,
962953 )
963954
964955 @staticmethod
965- def _is_enhanced_subagent (umo : str , agent_name : str | None ) -> bool :
966- from astrbot .core .dynamic_subagent_manager import DynamicSubAgentManager
956+ def _is_managed_subagent (umo : str , agent_name : str | None ) -> bool :
957+ from astrbot .core .subagent_manager import SubAgentManager
967958
968959 if not agent_name :
969960 return False
970- session = DynamicSubAgentManager .get_session (umo )
961+ session = SubAgentManager .get_session (umo )
971962 if session and agent_name in session .subagents :
972963 return True
973964 return False
974965
975966 @classmethod
976- async def _handle_enhanced_subagent_background_result (
967+ async def _handle_subagent_background_result (
977968 cls ,
978969 * ,
979970 umo : str ,
@@ -986,15 +977,15 @@ async def _handle_enhanced_subagent_background_result(
986977 tool : HandoffTool ,
987978 tool_args : dict ,
988979 ) -> None :
989- from astrbot .core .dynamic_subagent_manager import DynamicSubAgentManager
980+ from astrbot .core .subagent_manager import SubAgentManager
990981
991982 success = error_text is None
992983 status = "COMPLETED" if success else "FAILED"
993- DynamicSubAgentManager .set_subagent_status (
984+ SubAgentManager .set_subagent_status (
994985 session_id = umo , agent_name = agent_name , status = status
995986 )
996987
997- DynamicSubAgentManager .store_subagent_result (
988+ SubAgentManager .store_subagent_result (
998989 session_id = umo ,
999990 agent_name = agent_name ,
1000991 success = success ,
0 commit comments