fix: 优化Agent消息排版

This commit is contained in:
jxxghp
2026-03-24 20:21:58 +08:00
parent 3c7fdfec3c
commit 17373bc0fe
2 changed files with 5 additions and 2 deletions
+3
View File
@@ -61,6 +61,9 @@ class StreamingHandler:
接收 LLM 流式 token,积累到缓冲区。 接收 LLM 流式 token,积累到缓冲区。
""" """
with self._lock: with self._lock:
# 如果存量消息结束是两个换行,则去掉新消息前面的换行,避免过多空行
if self._buffer.endswith("\n\n") and token.startswith("\n"):
token = token.lstrip("\n")
self._buffer += token self._buffer += token
async def take(self) -> str: async def take(self) -> str:
+2 -2
View File
@@ -53,7 +53,7 @@ class MoviePilotTool(BaseTool, metaclass=ABCMeta):
if self._stream_handler and self._stream_handler.is_streaming: if self._stream_handler and self._stream_handler.is_streaming:
# 流式渠道:工具消息直接追加到 buffer 中,与 Agent 文字合并为同一条流式消息 # 流式渠道:工具消息直接追加到 buffer 中,与 Agent 文字合并为同一条流式消息
if tool_message: if tool_message:
self._stream_handler.emit(f"\n⚙️ => {tool_message}\n") self._stream_handler.emit(f"\n\n⚙️ => {tool_message}\n\n")
else: else:
# 非流式渠道:保持原有行为,取出 Agent 文字 + 工具消息合并独立发送 # 非流式渠道:保持原有行为,取出 Agent 文字 + 工具消息合并独立发送
agent_message = ( agent_message = (
@@ -67,7 +67,7 @@ class MoviePilotTool(BaseTool, metaclass=ABCMeta):
messages.append(f"⚙️ => {tool_message}") messages.append(f"⚙️ => {tool_message}")
if messages: if messages:
merged_message = "\n".join(messages) merged_message = "\n\n".join(messages)
await self.send_tool_message(merged_message) await self.send_tool_message(merged_message)
logger.debug(f"Executing tool {self.name} with args: {kwargs}") logger.debug(f"Executing tool {self.name} with args: {kwargs}")