fix(memory): expose media references to session consolidation (#5157)

Co-authored-by: shakewingo <yaoyingshakewin@gmail.com>
Co-authored-by: bingqilinweimaotai <111987281+bingqilinweimaotai@users.noreply.github.com>
This commit is contained in:
chengyongru
2026-07-29 15:18:44 +08:00
committed by GitHub
co-authored by shakewingo bingqilinweimaotai
parent 393d429e0a
commit e703481755
5 changed files with 96 additions and 9 deletions
+9 -2
View File
@@ -19,6 +19,7 @@ from nanobot.runtime_context import public_history_messages
from nanobot.session.manager import Session, SessionManager
from nanobot.utils.gitstore import GitStore
from nanobot.utils.helpers import (
content_with_media_breadcrumbs,
ensure_dir,
estimate_message_tokens,
estimate_prompt_tokens_chain,
@@ -695,11 +696,17 @@ class MemoryStore:
def _format_messages(messages: list[dict]) -> str:
lines = []
for message in messages:
if not message.get("content"):
content = content_with_media_breadcrumbs(
message.get("role"),
message.get("content", ""),
message.get("media"),
)
if not content:
continue
tools = f" [tools: {', '.join(message['tools_used'])}]" if message.get("tools_used") else ""
lines.append(
f"[{message.get('timestamp', '?')[:16]}] {message['role'].upper()}{tools}: {message['content']}"
f"[{message.get('timestamp', '?')[:16]}] "
f"{message['role'].upper()}{tools}: {content}"
)
return "\n".join(lines)