feat: guided light meditation + Edge TTS neural voice audio

- Add continuous guided light-body-scan meditation (16 segments, 97% coverage)
- Edge TTS API endpoint with Xiaoxiao neural voice at -40% rate
- Pre-generated chime WAVs and guidance MP3s in public/audio/
- Mute toggle in practice page, sequenced non-overlapping audio
- Fix middleware to serve /audio and /api/audio/tts without auth
- All LLM output localized to Chinese; fix blank home/settings pages
- DeepSeek API compat: json_object, increased max_tokens
- Analytics, cron reminders, onboarding flow fixes

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
jackyu66git
2026-06-17 20:08:29 +08:00
co-authored by Claude Opus 4.7
parent 00db3f6c96
commit 6530b20172
38 changed files with 1371 additions and 182 deletions
+8
View File
@@ -93,6 +93,10 @@ const en: Dict = {
begin: "Begin practice",
why_prefix: "", // unused in English, kept for key parity with zh
},
session: {
completed: "Practice complete! Keep it going.",
},
},
// -----------------------------------------------------------------------
@@ -185,6 +189,10 @@ const en: Dict = {
finish_early: "Finish early",
complete: "Practice complete",
reflect: "Reflect on your practice",
mute: "Mute",
unmute: "Unmute",
mid_guidance: "Stay focused, you're doing well.",
end_guidance: "Practice complete. Take a moment to reflect.",
},
// -----------------------------------------------------------------------
+8
View File
@@ -93,6 +93,10 @@ const zh: Dict = {
begin: "开始练习",
why_prefix: "",
},
session: {
completed: "练习完成!继续保持。",
},
},
// -----------------------------------------------------------------------
@@ -184,6 +188,10 @@ const zh: Dict = {
finish_early: "提前结束",
complete: "练习完成",
reflect: "记录感受",
mute: "静音",
unmute: "取消静音",
mid_guidance: "继续专注,你做得很好。",
end_guidance: "练习完成。请记录你的感受。",
},
// -----------------------------------------------------------------------