diff --git a/app/agent/tools/base.py b/app/agent/tools/base.py index 8cc1b28c..691c0676 100644 --- a/app/agent/tools/base.py +++ b/app/agent/tools/base.py @@ -72,20 +72,22 @@ class MoviePilotTool(BaseTool, metaclass=ABCMeta): # 非VERBOSE,重置缓冲区从头更新,保持消息编辑能力 self._stream_handler.reset() else: - # 非流式渠道:保持原有行为,取出 Agent 文字 + 工具消息合并独立发送 - agent_message = ( - await self._stream_handler.take() if self._stream_handler else "" - ) + # 后台模式(无渠道信息)不发送工具调用消息 + if self._channel: + # 非流式渠道:保持原有行为,取出 Agent 文字 + 工具消息合并独立发送 + agent_message = ( + await self._stream_handler.take() if self._stream_handler else "" + ) - messages = [] - if agent_message: - messages.append(agent_message) - if tool_message: - messages.append(f"⚙️ => {tool_message}") + messages = [] + if agent_message: + messages.append(agent_message) + if tool_message: + messages.append(f"⚙️ => {tool_message}") - if messages: - merged_message = "\n\n".join(messages) - await self.send_tool_message(merged_message) + if messages: + merged_message = "\n\n".join(messages) + await self.send_tool_message(merged_message) logger.debug(f"Executing tool {self.name} with args: {kwargs}")