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

View File

@@ -61,6 +61,9 @@ class StreamingHandler:
接收 LLM 流式 token积累到缓冲区。
"""
with self._lock:
# 如果存量消息结束是两个换行,则去掉新消息前面的换行,避免过多空行
if self._buffer.endswith("\n\n") and token.startswith("\n"):
token = token.lstrip("\n")
self._buffer += token
async def take(self) -> str:

View File

@@ -53,7 +53,7 @@ class MoviePilotTool(BaseTool, metaclass=ABCMeta):
if self._stream_handler and self._stream_handler.is_streaming:
# 流式渠道:工具消息直接追加到 buffer 中,与 Agent 文字合并为同一条流式消息
if tool_message:
self._stream_handler.emit(f"\n⚙️ => {tool_message}\n")
self._stream_handler.emit(f"\n\n⚙️ => {tool_message}\n\n")
else:
# 非流式渠道:保持原有行为,取出 Agent 文字 + 工具消息合并独立发送
agent_message = (
@@ -67,7 +67,7 @@ class MoviePilotTool(BaseTool, metaclass=ABCMeta):
messages.append(f"⚙️ => {tool_message}")
if messages:
merged_message = "\n".join(messages)
merged_message = "\n\n".join(messages)
await self.send_tool_message(merged_message)
logger.debug(f"Executing tool {self.name} with args: {kwargs}")