Skip to content

Commit df61425

Browse files
committed
docs: PWA 设计/计划 v3——课堂助手增加抖音链接引导导入(方案A),确认移动端录制识别机制
1 parent e79064c commit df61425

2 files changed

Lines changed: 12 additions & 9 deletions

File tree

‎docs/superpowers/plans/2026-08-16-pwa-mobile.md‎

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -117,14 +117,16 @@
117117
- [ ] **Step 5:** 会话中断恢复:标签切后台录音停止→前台恢复续录(复用/对齐 useAudioRecovery 语义)
118118
- [ ] **验收**:手机麦克风录音→分段→云端转写(transcribeWithRetry 现成链路)文本回流;后台切换不崩溃、可恢复
119119

120-
### Task 10: 视频转笔记(1–1.5 天)
120+
### Task 10: 视频转笔记(含抖音链接引导,1–1.5 天)
121121

122122
**Files:** `client/src/features/classroom/`(新增导入入口)、`client/src/lib/ai/`(上传调用)
123123

124124
- [ ] **Step 1:** 文件选择 UI(`<input type="file" accept="video/*">`)+ 上传进度 + 取消
125125
- [ ] **Step 2:** 复用网关 `POST /api/v1/multimodal/analyze-video`(≤500MB、300s 超时,对齐 videoAnalyzeHandler 契约)
126126
- [ ] **Step 3:** 结果入库:结构化笔记写入 notes 存储(复用 noteGenerator/既有生成链路)
127-
- [ ] **验收**:导入手机录屏/网课视频 → 生成结构化笔记入库;失败有明确提示
127+
- [ ] **Step 4:** 抖音链接引导:粘贴框检测 `douyin.com` 域名 → 展示"在抖音 App 保存到相册"分步指引 → 引导跳转文件选择;不做服务端自动解析(Spec §3.2 决策)
128+
- [ ] **Step 5:** 手机系统录屏场景说明(系统录屏 → 相册 → 导入),与抖音引导共用入口
129+
- [ ] **验收**:导入手机录屏/抖音保存的网课视频 → 生成结构化笔记入库;粘贴抖音链接出现引导并可完成导入;失败有明确提示
128130

129131
### Task 11: 课堂会话页响应式布局(0.5–1 天)
130132

‎docs/superpowers/specs/2026-08-16-pwa-mobile-design.md‎

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
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
> 首批范围锁定三个功能 + 桌面↔移动数据同步。
@@ -13,9 +13,10 @@
1313

1414
1. **番茄钟**:移动端可用,计时准确(后台节流不丢时间),到点通知
1515
2. **空白笔记**:移动端可读写,数据落 IndexedDB(Dexie),与桌面端同构
16-
3. **课堂助手**:两种形态——
17-
- 实时课堂:麦克风录音 → 转写 → AI 结构化笔记(参考 OPPO AI 笔记能力)
18-
- **视频转笔记**:导入视频文件(手机录屏/网课下载)→ 复用网关 `analyze-video` → 生成笔记
16+
3. **课堂助手**:三种形态——
17+
- 实时课堂:麦克风录音 → 转写 → AI 结构化笔记(近似桌面端"实时录制识别"机制;参考 OPPO AI 笔记能力)
18+
- 视频转笔记:导入视频文件(手机录屏/网课下载/**抖音保存的视频**)→ 复用网关 `analyze-video` → 生成笔记
19+
- 抖音链接引导:粘贴抖音分享链接 → 引导保存到相册 → 一键导入(方案 A);服务端自动解析(方案 B)列为后续实验性评估项
1920
4. **桌面 ↔ 移动数据同步**:账号绑定 + 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/)
131132
2. **布局可用**:360–430px 宽度下三个模块无横向溢出、无遮挡、可滚动,触摸/虚拟键盘可用(§1.3 标准;不含视觉美化)
132133
3. 番茄钟:切后台/锁屏 5 分钟再回来,计时不漂移(墙钟校准),到点通知可达
133134
4. 空白笔记:新建/编辑/搜索/文件夹/链接在移动端可用;数据持久化于 IndexedDB
134-
5. 课堂助手:麦克风录音 → 分段转写 → AI 生成结构化笔记全链路通;导入视频 → analyze-video → 笔记入库
135+
5. 课堂助手:麦克风录音 → 分段转写 → AI 生成结构化笔记全链路通(桌面式录制识别机制的移动版);导入视频(含手机录屏/抖音保存的视频)→ analyze-video → 笔记入库;粘贴抖音链接出现引导流程并可完成导入
135136
6. 桌面 ↔ 移动:同一账号登录后数据双向增量同步,离线操作入队,恢复网络后补齐
136137
7. 桌面端回归:Electron 现有功能不受影响(适配器模式,桌面路径不变)
137138
8. 仓库门禁:`npm run check` 通过(lint/typecheck×2/test)

0 commit comments

Comments
 (0)