Skip to content

Latest commit

 

History

History
99 lines (64 loc) · 4.95 KB

File metadata and controls

99 lines (64 loc) · 4.95 KB

Echo Loop 项目规划

最后更新:2026-07-12(文档压缩整理) 当前焦点:录音 + 识别功能;首要阻塞为 Android 离线 ASR 结束录音闪退

产品目标

Echo Loop 是一个围绕“音频输入 + 句子级学习 + 间隔复习 + AI 辅助”的英语学习应用。核心目标:

  • 让用户围绕真实音频材料完成首次学习与后续复习。
  • 保持主学习闭环免费,AI 与订阅能力只增强体验,不阻断核心流程。
  • 优先保证播放器、学习流转、状态一致性和多平台稳定性。

当前状态

已稳定上线的能力:

  • 音频导入、字幕管理、字幕编辑、自由播放器。
  • 首次学习主流程:全文盲听、逐句精听、难句跟读、段落复述。
  • 收藏体系:句子、单词、意群、收藏复习。
  • 词典体系:本地词典、AI 词典、网页词典、多源切换、非 modal 面板。
  • AI 能力:翻译、句子解析、单词深度解析、转录。
  • PDF 导出:学习材料导出为可打印 PDF。
  • 订阅体系:平台/渠道识别、native RevenueCat、direct Paddle 后端结账、AI 配额后端裁决。

当前主要风险:

  • Android 离线 ASR 在部分机型结束录音后触发 native 崩溃,仍未定位到最终 root cause。
  • 订阅链路主干已打通,但仍需要继续做渠道验证、回归和生产配置收尾。

当前里程碑

✅ Milestone 1:基础播放器

已完成。覆盖音频导入、全文/单句/收藏三种播放模式、字幕同步、收藏与基础播放控制。

🚧 Milestone 2:学习流程引擎

主体已完成,剩余收尾集中在录音识别稳定性:

  • 已完成:首次学习流程、阶段状态流转、断点续学、难度驱动的训练编排。
  • 已完成:难句补练、收藏复习、盲听与复述共享骨架。
  • 未完成:Android 离线 ASR 闪退根因定位与修复;段落复述继续复用统一录音识别模块。

✅ Milestone 3:收藏与标注体系

已完成。覆盖 Favorites、句子/单词/意群收藏、收藏复习、词典联动与标注内容展示。

🚧 Milestone 4:体验优化与生产就绪

持续推进中:

  • 性能与稳定性优化。
  • 多平台体验对齐(iOS / Android / macOS)。
  • 播放、词典、PDF、字幕编辑等高频链路体验打磨。
  • CI / Release / 更新链路稳定性完善。
  • AI 对话助手(通用 chatbot 组件):多轮对话式 AI 助手,一套可插拔组件接入不同位置(首接入点为句子讲解页;2026-07-23 起逐句精听 / 难句跟读 / 难句复习 / 收藏复习 4 个句子级任务页 AppBar 也接入,共享 SentenceChatButton 单一入口来源),复用现有 NDJSON 流式与 402 额度门链路。发布由 kChatbotEnabled + remote config 双开关控制。规格见 docs/chatbot-implementation-plan.md

🚧 Milestone 5:支付订阅(Echo Loop Premium)

当前状态:

  • 已完成:客户端 RevenueCat 接入、订阅页、平台/渠道识别、direct Paddle Checkout 与 Customer Portal、AI 配额后端裁决、release 渠道注入、权益单一来源重构 P0(后端 /api/entitlements 唯一权威 + forceReconcile 成交收敛,见 docs/subscription-single-source-plan.md)。
  • 待继续:真实生产环境验证(Paddle 会员在商店包手动回归,见 plan §11;P0+P1 需后端同步部署)、退款/撤销回退、多设备/换机验证、更多渠道回归。P1 智能刷新(E7/E6/E8)已全部完成(2026-07-23);E9 Realtime 推送为可选项未实现。

参考文档:

近阶段工作重点

  1. 解决 Android 离线 ASR 闪退。
  2. 完成启动埋点权限快照的手动验证。
  3. 继续收敛录音识别模块复用边界。
  4. 维持 release / 渠道 / 订阅链路的一致性。

架构约束(精简版)

  • 单向数据流:UI 触发动作,provider / controller 改状态,UI 被动渲染。
  • 页面负责组装,组件负责展示,复杂流程下沉到可测试的纯 Dart 编排层。
  • 副作用通过 service / repository 注入,不把网络、文件、平台调用散落到 UI。
  • 异步流程必须带 session / token / generation guard,防止旧回调污染新状态。
  • 新增能力优先补状态流转测试与关键回归测试。

关键 ADR 索引

  • 媒体引擎与前台引擎分离:避免锁屏媒体会话与前台试听互相污染。
  • 统一 TTS 架构:合成 → 文件 → 缓存 → 播放,支持平台 TTS 与 Kokoro 本地 TTS。
  • 离线转录与本地模型:复用统一音频处理与模型下载能力。
  • 平台 + 渠道统一识别:platform + distribution 决定支付实现和后端配额策略。

详细历史与旧版长文档已归档:

日常执行请结合: