From ea763bf78576b5d7f876d6a33d3387266af2497d Mon Sep 17 00:00:00 2001 From: Soulter <905617992@qq.com> Date: Fri, 26 Dec 2025 21:08:11 +0800 Subject: [PATCH] perf: drop unnecessary none-value fields in tool call loop --- astrbot/core/agent/message.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/astrbot/core/agent/message.py b/astrbot/core/agent/message.py index d69bc6a81..c51ce5008 100644 --- a/astrbot/core/agent/message.py +++ b/astrbot/core/agent/message.py @@ -169,6 +169,15 @@ def check_content_required(self): ) return self + @model_serializer(mode="wrap") + def serialize(self, handler): + data = handler(self) + if self.tool_calls is None: + data.pop("tool_calls", None) + if self.tool_call_id is None: + data.pop("tool_call_id", None) + return data + class AssistantMessageSegment(Message): """A message segment from the assistant."""