Lumie
/
Reports
/
Final Self-Check
Lumie 项目最终自检报告
时间:2026-05-07 00:31 SGT
范围:本次会话内的全部新增 / 修改
01测试结果
| 测试 | 用例数 | 通过 |
|---|---|---|
| 火山协议帧编解码(test-frame-codec.mjs) | 7 | 7 ✓ |
| 隐式记忆 17 类正则(test-implicit-memory.mjs) | 16 | 16 ✓ |
| 情绪词典 + 标点 boost(test-emotion.mjs) | 10 | 10 ✓ |
| 连续打卡(test-streak.mjs) | 7 | 7 ✓ |
| 合计 | 40 | 40 ✓ |
测试位置:outputs/ 目录下的 test-*.mjs,可直接 node 运行。
02三大盈利亮点 落地状态
亮点 1 · Live2D 表情贴合对话 ✅ shipped
emotion-lexicon.ts:9 类情绪 × 多语言模式 + 4 类标点 boost + 显式[emotion:xxx]/(开心)标签解析emotion-controller.ts:Pinia 防抖(180ms)+ 置信度阈值(0.55)+applyDirect/applyFromTextuse-emotion-bridge.ts:模型 expression 名 fuzzy match(F01 / Smile / blush)use-mood-hue.ts:情绪 →--chromatic-hue实时背景渐变- 流式 chat / 实时语音 ASR / 实时语音 LLM 三路同时驱动情绪
亮点 2 · 长 / 短 / 永久 记忆 ✅ shipped
memory-implicit.ts:11 条高精度正则——姓名 / 年龄 / 地点 / 偏好 / 生日 / 邮箱 / 行为约束 / 项目 / 链接 / 情绪锚点- 用户从来不需要说"记下来"
- text + 实时语音 ASR 共用同一隐式管道
- LLM 抽取(已有)+ 显式
[REMEMBER]标记(已有)继续工作 - 端到端语音的 system_role 自动注入用户记忆
- Milestone 卡片:7/30/100/365 天里程碑 idempotent 自动生成
亮点 3 · 端到端语音通话 ✅ shipped
- 后端
volc-realtime.ts:完整的火山豆包二进制协议(4 字节大端 header + event id + session id + payload) - 后端
voice-realtime.ts:WS 路由 + JWT 鉴权 + 用户记忆注入 + 异步抽取 - 前端
realtime-voice-store.ts:getUserMedia → AudioWorklet → WS → backend - 前端
audio-player.ts:StreamingPCMPlayer + interrupt + RMS LipSync - 前端
pcm-worklet.js:16kHz 80ms Int16 重采样 + 电平检测 - LipSync:TTS 播放 RMS → Live2D
mouthOpenSize
03加分功能(基于商业报告)
| 功能 | 文件 | 价值 |
|---|---|---|
| 角色商城 + 4 预置人格 + 试听 | features/marketplace/* |
第二曲线收入 |
| 声音皮肤商城 + 6 speaker | features/settings/voice-skin-picker.vue + 后端 voice-skins.ts |
类 Replika cosmetic IAP |
| 每日"她想你了"主动消息 | features/initiation/daily-initiation-banner.vue + 后端 initiation-service.ts |
拉回流失用户 |
| 共同回忆 7/30/100/365 天里程碑 | 同上 | 长期付费转化抓手 |
| 周情绪日记 | features/memory/weekly-journal-card.vue + 后端 emotion-journal.ts |
情感粘性 |
| 连续打卡 N 天 chip | mobile-header + 后端 streak-service.ts |
行为锚 |
| 第一次见面 5 问 onboarding | features/onboarding/onboarding-page.vue |
D0 留存 |
| 高级版 Pro 介绍 | features/settings/premium-teaser.vue |
付费转化入口 |
| 输入栏建议回复 chip | features/chat/suggested-replies.vue |
减摩擦 |
| 空聊天起头话题 chip | features/chat/conversation-starters.vue |
首次会话不空白 |
| 消息底反应表情 | assistant-item.vue |
互动密度 |
| 心情驱动背景色 | use-mood-hue.ts |
情绪可视化 |
| 玻璃质感 + Aurora UI | styles/global.css |
视觉定位 |
04文件清单
后端(Lumie-platform)
- 新增
apps/backend/src/services/volc-realtime.ts - 新增
apps/backend/src/services/memory-implicit.ts - 新增
apps/backend/src/services/initiation-service.ts - 新增
apps/backend/src/services/emotion-journal.ts - 新增
apps/backend/src/services/streak-service.ts - 新增
apps/backend/src/services/voice-skins.ts - 新增
apps/backend/src/routes/voice-realtime.ts - 新增
apps/backend/src/routes/me-initiation.ts - 新增
apps/backend/src/routes/me-voice-skins.ts - 新增
apps/backend/src/routes/me-journal.ts - 修改
apps/backend/src/index.ts(mount 4 个新路由 + WS bridge) - 修改
apps/backend/src/services/chat-service.ts(调 implicit memory) - 修改
apps/backend/package.json(+ws, +@types/ws) - 修改
apps/backend/.env.example(+VOLC_RT_*) - 修改
README.md(列出所有新模块)
前端(Lumie-mobile)
新增:
public/pcm-worklet.jssrc/features/voice-chat/audio-player.tssrc/features/live2d/emotion-lexicon.tssrc/features/live2d/emotion-controller.tssrc/features/live2d/use-emotion-bridge.tssrc/features/live2d/use-mood-hue.tssrc/features/marketplace/character-presets.tssrc/features/marketplace/marketplace-page.vuesrc/features/onboarding/onboarding-page.vuesrc/features/initiation/daily-initiation-banner.vuesrc/features/memory/weekly-journal-card.vuesrc/features/settings/voice-skin-picker.vuesrc/features/settings/premium-teaser.vuesrc/features/chat/suggested-replies.vuesrc/features/chat/conversation-starters.vue
重写 / 修改:
src/features/voice-chat/realtime-voice-store.ts(完整实现)src/features/chat/chat-store.ts(流式情绪 + 语音接入)src/features/chat/assistant-item.vue(反应表情)src/features/chat/user-item.vue(bubble-in)src/stage/widgets/mobile-live2d-stage.vue(mouth-open-size 接 voice level)src/stage/layouts/mobile-header.vue(商城入口 + streak chip + 玻璃风按钮)src/stage/layouts/mobile-interactive-area.vue(玻璃风 + suggested replies)src/pages/index.vue(初始化 banner + 启动话题)src/features/settings/settings-page.vue(Pro Teaser + Voice Skin Picker)src/features/memory/memory-page.vue(周情绪日记 card)src/App.vue(挂载 emotion bridge + mood hue)src/main.ts(3 个新路由 + 首次进入跳 onboarding)src/shared/api/client.ts(3 个新 API:voiceSkin / initiation / journal)src/styles/global.css(glass / aurora / btn-soft / bubble-in / heart-pulse)README.md(完整 feature 表)
顶层文档:
火山端到端实时语音-实施计划.md(执行计划)火山端到端-自检报告.md(首轮自检)商业报告-AI陪伴赛道与Lumie差异化.md(商业报告 + 差异化)项目最终自检报告.md(本文)push-both.ps1(用户手动 push 用,因为沙箱代理 403)
05待用户操作
- PowerShell 跑
push-both.ps1(commit message:火山端到端写完了)。 - 后端
.env填入VOLC_RT_*真实值(从.env.example模板复制)。 pnpm install在Lumie-platform装ws+@types/ws。- 测试链路:登录 → 走完 5 题 onboarding → 点麦克风 → 说话 → 看 Live2D 嘴动 + 表情切换。
06安全审计结果
- 火山 Secret Key 仅在后端 env 读取,前端 grep 全无
- 前端 WS 用 JWT
?token=...鉴权 - memory / initiation / journal / streak 全部按 userId 加 WHERE
- implicit 记忆不会乱记闲聊('你好啊' 测试通过)
- 内容安全 / 计费 / 用户隔离 复用现有 chat-service 体系