Enhance MoviePilotAgent to handle empty agent messages gracefully by providing a default error response, ensuring better user experience. Refactor message processing to streamline event loop execution.

This commit is contained in:
jxxghp
2025-11-19 12:51:08 +08:00
parent b5a6794381
commit 5ae7c10a00
2 changed files with 22 additions and 30 deletions

View File

@@ -948,29 +948,16 @@ class MessageChain(ChainBase):
session_id = self._get_or_create_session_id(userid)
# 在事件循环中处理
try:
GlobalVar.CURRENT_EVENT_LOOP.run_until_complete(
agent_manager.process_message(
session_id=session_id,
user_id=str(userid),
message=user_message,
channel=channel.value if channel else None,
source=source,
username=username
)
)
except RuntimeError:
# 如果没有事件循环,创建新的
asyncio.run(
agent_manager.process_message(
session_id=session_id,
user_id=str(userid),
message=user_message,
channel=channel.value if channel else None,
source=source,
username=username
)
GlobalVar.CURRENT_EVENT_LOOP.run_until_complete(
agent_manager.process_message(
session_id=session_id,
user_id=str(userid),
message=user_message,
channel=channel.value if channel else None,
source=source,
username=username
)
)
except Exception as e:
logger.error(f"处理AI智能体消息失败: {e}")