diff --git a/astrbot/core/pipeline/process_stage/method/llm_request.py b/astrbot/core/pipeline/process_stage/method/llm_request.py index 6820da33e..c81a5df51 100644 --- a/astrbot/core/pipeline/process_stage/method/llm_request.py +++ b/astrbot/core/pipeline/process_stage/method/llm_request.py @@ -335,6 +335,10 @@ class LLMRequestSubStage(Stage): ): return + if not llm_response.completion_text and not req.tool_calls_result: + logger.debug("LLM 响应为空,不保存记录。") + return + # 历史上下文 messages = copy.deepcopy(req.contexts) # 这一轮对话请求的用户输入 diff --git a/astrbot/core/pipeline/respond/stage.py b/astrbot/core/pipeline/respond/stage.py index 54ad1e63b..77e62ec7c 100644 --- a/astrbot/core/pipeline/respond/stage.py +++ b/astrbot/core/pipeline/respond/stage.py @@ -144,8 +144,6 @@ class RespondStage(Stage): try: if await self._is_empty_message_chain(result.chain): logger.info("消息为空,跳过发送阶段") - event.clear_result() - event.stop_event() return except Exception as e: logger.warning(f"空内容检查异常: {e}")