From 220e4fab27b7f419b3e89e2f2d28ae789aac09d7 Mon Sep 17 00:00:00 2001
From: wangzhibo <wangzhibo@shsening.com>
Date: 星期四, 08 十月 2026 16:29:55 +0800
Subject: [PATCH] 5种场景模式家长端ok

---
 xiaozhi-esp32-server/main/xiaozhi-server/core/app_runtime/assessment.py |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/xiaozhi-esp32-server/main/xiaozhi-server/core/app_runtime/assessment.py b/xiaozhi-esp32-server/main/xiaozhi-server/core/app_runtime/assessment.py
index 6eea494..8a6a7fb 100644
--- a/xiaozhi-esp32-server/main/xiaozhi-server/core/app_runtime/assessment.py
+++ b/xiaozhi-esp32-server/main/xiaozhi-server/core/app_runtime/assessment.py
@@ -127,6 +127,7 @@
     step_index: int,
     wav_bytes: bytes,
     conn: Any = None,
+    text: Optional[str] = None,
 ) -> Optional[str]:
     """Persist the follow-read utterance. Returns relative audio_id or None."""
     if not wav_bytes:
@@ -135,13 +136,14 @@
     if conn is not None:
         from core.audio_archive import archive_wav
 
-        archived = archive_wav(conn, wav_bytes, kind="asr", extra=extra)
+        archived = archive_wav(conn, wav_bytes, kind="asr", extra=extra, text=text)
         if archived:
             return archived
     if not session_id:
         return None
     try:
         from config.config_loader import get_project_dir
+        from core.audio_archive import write_sidecar_text
 
         directory = os.path.join(get_project_dir(), "data", "task_sessions", "audio")
         os.makedirs(directory, exist_ok=True)
@@ -149,6 +151,8 @@
         path = os.path.join(directory, filename)
         with open(path, "wb") as handle:
             handle.write(wav_bytes)
+        if text is not None:
+            write_sidecar_text(path, text)
         return filename
     except Exception:
         return None

--
Gitblit v1.9.1