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."""