From 9177bb660fe94650281864445773b23002fd0c56 Mon Sep 17 00:00:00 2001 From: Soulter <905617992@qq.com> Date: Tue, 23 Sep 2025 10:34:24 +0800 Subject: [PATCH] fix: improve error handling in run_agent for streaming responses --- .../core/pipeline/process_stage/method/llm_request.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/astrbot/core/pipeline/process_stage/method/llm_request.py b/astrbot/core/pipeline/process_stage/method/llm_request.py index c4b8a7c28..562fd178d 100644 --- a/astrbot/core/pipeline/process_stage/method/llm_request.py +++ b/astrbot/core/pipeline/process_stage/method/llm_request.py @@ -285,11 +285,11 @@ async def run_agent( except Exception as e: logger.error(traceback.format_exc()) - astr_event.set_result( - MessageEventResult().message( - f"AstrBot 请求失败。\n错误类型: {type(e).__name__}\n错误信息: {str(e)}\n\n请在控制台查看和分享错误详情。\n" - ) - ) + err_msg = f"\n\nAstrBot 请求失败。\n错误类型: {type(e).__name__}\n错误信息: {str(e)}\n\n请在控制台查看和分享错误详情。\n" + if agent_runner.streaming: + yield MessageChain().message(err_msg) + else: + astr_event.set_result(MessageEventResult().message(err_msg)) return asyncio.create_task( Metric.upload(