From a8ec9d460b2f1243f50b9229ffeab6b65a9ba4b0 Mon Sep 17 00:00:00 2001 From: zl-q Date: Thu, 19 Mar 2026 00:52:06 +0800 Subject: [PATCH] =?UTF-8?q?refactor(backend):=20=E6=9B=B4=E6=96=B0=20agent?= =?UTF-8?q?scope=20=E4=BA=8B=E4=BB=B6=E5=AD=98=E5=82=A8=E5=92=8C=E7=BC=96?= =?UTF-8?q?=E8=A7=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/core/agentscope/events/agui_codec.py | 2 +- backend/src/core/agentscope/events/store.py | 19 +++++++++++++++---- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/backend/src/core/agentscope/events/agui_codec.py b/backend/src/core/agentscope/events/agui_codec.py index d2dd0d8..9589e24 100644 --- a/backend/src/core/agentscope/events/agui_codec.py +++ b/backend/src/core/agentscope/events/agui_codec.py @@ -131,7 +131,7 @@ def _build_tool_result(event: dict[str, Any]) -> ToolCallResultEvent: data = event.get("data", {}) content = data.get("result") if not isinstance(content, str): - content = data.get("toolAgentOutput", "") + content = "" return ToolCallResultEvent( message_id=data.get("messageId", ""), tool_call_id=data.get("toolCallId", ""), diff --git a/backend/src/core/agentscope/events/store.py b/backend/src/core/agentscope/events/store.py index 9fa1525..ba2eceb 100644 --- a/backend/src/core/agentscope/events/store.py +++ b/backend/src/core/agentscope/events/store.py @@ -8,7 +8,7 @@ from core.agentscope.events.persistence import MessageRepository, SessionReposit from core.logging import get_logger from models.agent_chat_message import AgentChatMessageRole from models.agent_chat_session import AgentChatSessionStatus -from schemas.agent.runtime_models import ToolAgentOutput, WorkerAgentOutputRich +from schemas.agent.runtime_models import AgentOutput, ToolAgentOutput from schemas.agent.system_agent import AgentType from schemas.messages.chat_message import AgentChatMessageMetadata @@ -136,11 +136,22 @@ class SqlAlchemyEventStore: return try: - worker_output = WorkerAgentOutputRich.model_validate(worker_output_payload) + worker_output = AgentOutput.model_validate(worker_output_payload) + raw_agent_type = self._event_value(event, "stage") + normalized_agent_type = ( + str(raw_agent_type).strip().lower() + if isinstance(raw_agent_type, str) + else AgentType.WORKER.value + ) + agent_type = ( + AgentType.MEMORY + if normalized_agent_type == AgentType.MEMORY.value + else AgentType.WORKER + ) metadata_model = AgentChatMessageMetadata( run_id=run_id_value, - agent_type=AgentType.WORKER, - worker_agent_output=worker_output, + agent_type=agent_type, + agent_output=worker_output, ) except Exception: self._logger.warning(