---
description: 已验收模式不可回退；只改泛听/跟读清单与播放逻辑
alwaysApply: true
---

# 已锁定：不要改这些已正确路径

开机欢迎词、对话模式、翻译模式、中英对话已经验收通过。后续只许改泛听（内部 repeater）/ 跟读（shadowing）。不要为修泛听/跟读去改 chat、translation、bilingual、hello/TTS 欢迎词时序。

不要动：

- 开机：开通道后保持 idle，Server 播欢迎词，说完再 listening。不要无条件 `ResumeListening` / `WakeWordInvoke`。
- `interaction_mode == CHAT | TRANSLATION | BILINGUAL` 的 ASR→LLM/翻译 路径。
- 欢迎词 TTS：先有 opus 再发 start/字幕。

# 泛听 PLAY_AUDIO（内部 repeater）

JSON task 下发播放列表，每项 `{url|name, repeat, speed}`，speed 默认 1.0。测试清单（一级开天辟地 `l1.001`）：

- `/english_learning/repeater/lessons/l1/001/cn/01.mp3` × 1，1.0 倍速
- `/english_learning/repeater/lessons/l1/001/en/01.mp3` × 1，0.8 倍速
- `/english_learning/repeater/lessons/l1/001/en/01.mp3` × 1，0.9 倍速
- `/english_learning/repeater/lessons/l1/001/en/01.mp3` × 3，1.0 倍速

播完自动回对话，播「泛听结束」。播放中忽略闲聊，只响应离线口令：退出泛听、我们来聊天吧。

# 跟读 SHADOWING

JSON task 一次性下发整份列表，每项 `{url|name, repeat, speed}`，speed 默认 1.0。之后在设备上排序执行，不要每播一句再 MCP 一次。测试清单：

- `/english_learning/shadowing/lessons/l1/001/en/01.mp3` 到 `58.mp3`，各 × 1，0.8 倍速（每遍后录音）

设备本地循环：播一句 → 听窗录音（墙钟播放时长 × 1.2）→ 录音上传 → 再播下一句，直到清单结束。ASR 只暂存/评估，不进 chat/LLM。清单结束播「跟读结束」再回对话。
