11# 熵减移动端 PWA 版设计(MVP:课堂助手 + 空白笔记 + 番茄钟)
22
3- > 日期:2026-08-16 | 状态:待评审(v2:移动端本轮仅布局+功能,不含 UI 视觉美化 ) | 分支:dev
3+ > 日期:2026-08-16 | 状态:待评审(v3:课堂助手增加抖音链接引导导入,确认移动端录制识别机制 ) | 分支:dev
44> 背景:评估"把当前 Electron 桌面项目移植到 iOS/Android"的工作量后,确认走项目既定策略
55> (PWA 优先,见 docs/product/requirements-pool.md EXP-006 与 docs/Foresight/innovation-features-catalog.md),
66> 首批范围锁定三个功能 + 桌面↔移动数据同步。
1313
14141 . ** 番茄钟** :移动端可用,计时准确(后台节流不丢时间),到点通知
15152 . ** 空白笔记** :移动端可读写,数据落 IndexedDB(Dexie),与桌面端同构
16- 3 . ** 课堂助手** :两种形态——
17- - 实时课堂:麦克风录音 → 转写 → AI 结构化笔记(参考 OPPO AI 笔记能力)
18- - ** 视频转笔记** :导入视频文件(手机录屏/网课下载)→ 复用网关 ` analyze-video ` → 生成笔记
16+ 3 . ** 课堂助手** :三种形态——
17+ - 实时课堂:麦克风录音 → 转写 → AI 结构化笔记(近似桌面端"实时录制识别"机制;参考 OPPO AI 笔记能力)
18+ - 视频转笔记:导入视频文件(手机录屏/网课下载/** 抖音保存的视频** )→ 复用网关 ` analyze-video ` → 生成笔记
19+ - 抖音链接引导:粘贴抖音分享链接 → 引导保存到相册 → 一键导入(方案 A);服务端自动解析(方案 B)列为后续实验性评估项
19204 . ** 桌面 ↔ 移动数据同步** :账号绑定 + sync-service 增量同步
2021
2122### 1.2 明确不做(MVP 之外)
@@ -66,7 +67,7 @@ CaptureAdapter 接口(新增,client/src/features/classroom/capture/)
6667
6768- 会话编排(useSessionControl / useClassroomEvents)增加环境分支;移动端隐藏窗口选择/屏幕采集 UI
6869- 转写:MVP 走云端分段(` transcribeWithRetry ` 已现成);Phase 1.5 换 WASM 流式
69- - 视频转笔记:` <input type="file" accept="video/*"> ` → ` aiClient ` multipart 上传 ` /api/v1/multimodal/analyze-video ` → 结构化笔记入库
70+ - 视频转笔记:` <input type="file" accept="video/*"> ` → ` aiClient ` multipart 上传 ` /api/v1/multimodal/analyze-video ` → 结构化笔记入库。输入源含手机系统录屏、网课下载、抖音保存的视频;抖音分享链接( ` douyin.com ` 域名检测)走 ** 引导流程 ** (提示"在抖音保存到相册"后导入)。 ** 不做服务端自动解析 ** (抖音无公开下载 API;非官方解析受 a_bogus 反爬影响不稳定且有合规风险;方案 B 实验性解析后续单独评估)
7071
7172### 3.3 ASR 适配器(Phase 1.5,桌面同步受益)
7273
@@ -107,7 +108,7 @@ StreamingAsrProvider 接口(新增,client/src/lib/asr/)
107108| 番茄钟(响应式布局 + 通知流程) | 0.5–1 周 | 计时引擎已就绪(F3),纯布局+功能验证 |
108109| 空白笔记(编辑器布局适配、存储验证、剪藏/PDF 浏览器替代) | 2–3 周 | 编辑器触摸/虚拟键盘/溢出是功能性问题,必须处理;不做视觉 |
109110| 课堂助手-录音转写(WebCaptureAdapter + 云端分段 ASR) | 3–4 周 | 60 处 IPC 中捕获链路需重写,功能为主 |
110- | 课堂助手-视频转笔记(文件选择 + 上传 + 复用 analyze-video) | 0.5–1 周 | 后端现成(F6) |
111+ | 课堂助手-视频转笔记(文件选择 + 抖音链接引导 + 复用 analyze-video) | 0.5–1 周 | 后端现成(F6);抖音引导含链接检测与保存指引 |
111112| 桌面 ↔ 移动同步(账号绑定 + 浏览器端验证) | 1–2 周 | 底子已具备(F8) |
112113| 联调 + 移动端测试 + 打磨 | 1 周 | 双端回归;打磨仅限功能/布局缺陷 |
113114| ** 合计** | ** 约 9–13 周(≈2–3 人月)** | 2 人并行约 5–7 周 |
@@ -131,7 +132,7 @@ StreamingAsrProvider 接口(新增,client/src/lib/asr/)
1311322 . ** 布局可用** :360–430px 宽度下三个模块无横向溢出、无遮挡、可滚动,触摸/虚拟键盘可用(§1.3 标准;不含视觉美化)
1321333 . 番茄钟:切后台/锁屏 5 分钟再回来,计时不漂移(墙钟校准),到点通知可达
1331344 . 空白笔记:新建/编辑/搜索/文件夹/链接在移动端可用;数据持久化于 IndexedDB
134- 5 . 课堂助手:麦克风录音 → 分段转写 → AI 生成结构化笔记全链路通;导入视频 → analyze-video → 笔记入库
135+ 5 . 课堂助手:麦克风录音 → 分段转写 → AI 生成结构化笔记全链路通(桌面式录制识别机制的移动版) ;导入视频(含手机录屏/抖音保存的视频) → analyze-video → 笔记入库;粘贴抖音链接出现引导流程并可完成导入
1351366 . 桌面 ↔ 移动:同一账号登录后数据双向增量同步,离线操作入队,恢复网络后补齐
1361377 . 桌面端回归:Electron 现有功能不受影响(适配器模式,桌面路径不变)
1371388 . 仓库门禁:` npm run check ` 通过(lint/typecheck×2/test)
0 commit comments