feat: persist photos and enrich conversation history

This commit is contained in:
Xin Wang
2026-08-05 16:14:03 +08:00
parent 545536bdf3
commit 317a0600bc
19 changed files with 1146 additions and 119 deletions

View File

@@ -32,7 +32,7 @@ class UserInputParserTests(unittest.TestCase):
self.assertIsNotNone(value)
self.assertEqual(value.text, "帮我看看")
self.assertTrue(value.has_camera_frame)
self.assertEqual(value.transcript_text, "帮我看看\n已发送一张图片")
self.assertEqual(value.transcript_text, "帮我看看")
def test_rejects_legacy_and_unsupported_image_sources(self):
self.assertIsNone(parse_user_input({"type": "user-text", "text": "旧协议"}))
@@ -54,6 +54,25 @@ class UserInputParserTests(unittest.TestCase):
}
)
def test_image_only_input_has_no_synthetic_chat_text(self):
value = parse_user_input(
{
"type": "user-input",
"schema_version": 1,
"input_id": "input_photo",
"parts": [
{
"type": "input_image",
"source": {"type": "camera_frame", "frame": "current"},
}
],
}
)
self.assertIsNotNone(value)
self.assertEqual(value.transcript_text, "")
self.assertEqual(value.prompt_text, "请根据用户刚提交的图片进行回复。")
def test_native_image_uses_the_standard_multimodal_user_turn_path(self):
image = UserImageRawFrame(
image=bytes([220, 40, 40] * 16 * 16),