feat:可开启原生at功能

This commit is contained in:
SengokuCola
2026-04-23 15:56:27 +08:00
parent 2255592bd2
commit 35ff91d134
20 changed files with 258 additions and 404 deletions

View File

@@ -1,6 +1,7 @@
from src.common.data_models.message_component_data_model import ImageComponent, MessageSequence, TextComponent
from src.llm_models.payload_content.message import RoleType
from src.maisaka.context_messages import _build_message_from_sequence
from src.maisaka.message_adapter import build_visible_text_from_sequence
def test_image_only_message_keeps_placeholder_in_text_fallback() -> None:
@@ -20,3 +21,35 @@ def test_image_only_message_keeps_placeholder_in_text_fallback() -> None:
assert message is not None
assert "[发言内容]" in message.get_text_content()
assert "[图片]" in message.get_text_content()
def test_whitespace_image_content_uses_placeholder_in_text_fallback() -> None:
message_sequence = MessageSequence(
[
TextComponent("[发言内容]"),
ImageComponent(binary_hash="hash", content=" ", binary_data=None),
]
)
message = _build_message_from_sequence(
RoleType.User,
message_sequence,
"[发言内容][图片]",
enable_visual_message=False,
)
assert message is not None
assert message.get_text_content() == "[发言内容][图片]"
def test_visible_text_uses_image_placeholder_for_whitespace_content() -> None:
visible_text = build_visible_text_from_sequence(
MessageSequence(
[
TextComponent("看这个"),
ImageComponent(binary_hash="hash", content=" ", binary_data=None),
]
)
)
assert visible_text == "看这个[图片]"