From bac8a01ed8861b2f03f79a4c7ae8bd278bdbe3a1 Mon Sep 17 00:00:00 2001 From: liuwei Date: Thu, 16 Apr 2026 09:56:05 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4ai=5Fauto=5Fresponse=E4=B8=BA?= =?UTF-8?q?=E9=9D=9E=E9=98=BB=E6=96=AD=E6=A8=A1=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 变更项: 1. 修改 ai_auto_response.process_message 的返回策略。 2. 消息入队成功时由 processed=True 改为 processed=False,避免截断后续插件链。 3. 队列满时同样不阻断,让其他插件继续处理消息。 --- plugins/ai_auto_response/main.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/plugins/ai_auto_response/main.py b/plugins/ai_auto_response/main.py index 6edcafe..4d1569a 100644 --- a/plugins/ai_auto_response/main.py +++ b/plugins/ai_auto_response/main.py @@ -216,7 +216,8 @@ class AIAutoResponsePlugin(MessagePluginInterface): sender=sender, queue_size=self.message_queue.qsize(), ) - return True, "queued" + # 非阻断模式:放入异步队列后,不拦截后续插件执行 + return False, "queued" except asyncio.QueueFull: self._log_event( "drop", @@ -225,7 +226,8 @@ class AIAutoResponsePlugin(MessagePluginInterface): reason="queue_full", queue_maxsize=self.queue_maxsize, ) - return True, "queue_full" + # 队列满也不阻断后续插件,让其他插件继续尝试处理 + return False, "queue_full" async def _process_message_impl(self, message: Dict[str, Any]) -> Tuple[bool, Optional[str]]: room_id = message.get("roomid", "")