调整ai_auto_response为非阻断模式

变更项:

1. 修改 ai_auto_response.process_message 的返回策略。

2. 消息入队成功时由 processed=True 改为 processed=False,避免截断后续插件链。

3. 队列满时同样不阻断,让其他插件继续处理消息。
This commit is contained in:
liuwei
2026-04-16 09:56:05 +08:00
parent 7ad8570c08
commit bac8a01ed8

View File

@@ -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", "")