diff --git a/astrbot/core/astr_main_agent.py b/astrbot/core/astr_main_agent.py index 13ea6ac70..5abd3eda3 100644 --- a/astrbot/core/astr_main_agent.py +++ b/astrbot/core/astr_main_agent.py @@ -845,14 +845,16 @@ def _apply_global_context_info(event: AstrMessageEvent, req: ProviderRequest) -> # Parse the original UMO to extract platform, message type, and session info try: parts = original_umo.split(":", 2) - if len(parts) == 3: - platform_id, message_type, session_id = parts - context_info = f"[Context: Platform={platform_id}, Type={message_type}, Session={session_id}]" - # Prepend context info to the user prompt - if req.prompt: - req.prompt = f"{context_info} {req.prompt}" - else: - req.prompt = context_info + if len(parts) != 3: + logger.warning( + f"Original UMO format is invalid (expected 3 parts): {original_umo}" + ) + return + + platform_id, message_type, session_id = parts + context_info = f"[Context: Platform={platform_id}, Type={message_type}, Session={session_id}]" + # Prepend context info to the user prompt + req.prompt = f"{context_info} {req.prompt or ''}" except Exception as e: logger.warning(f"Failed to parse original UMO for global context: {e}")