状态: 前瞻构想(未排期,2026-08-18)
| 字段 | 内容 |
|---|---|
| 主题 | 课堂助手在不依赖云端 AI(LLM/多模态)前提下,视频内容提取的能力边界与挖掘空间 |
| 日期 | 2026-08-18 |
| 参与者 | 熵减重构区 |
| 目标 | 划定无云端 AI 的提取极限(物理/算法/架构三层),产出可执行的挖掘方向清单与待决策项 |
"能够本地进行、无需云端"的边界下(本地 ASR/OCR 模型可用,云端 LLM/多模态一律出局),课堂助手从视频中最多能提取出什么?
- 技术:本地优先铁律(AGENTS.md §0);无 LLM;纯规则/统计/本地轻量模型为限
- 产品:对标通义听悟/讯飞听见的 MVP 成功标准;实时与离线(文件导入)两个场景
- 安全:用户学习数据不出本机;Tauri IPC 与系统调用权限边界
- 明确"提取极限"的分层表述(能做什么 / 不能做什么 / 边界在哪)
- 产出按 ROI 排序的挖掘方向,供后续版本排期参考
"内容提取"拆为四层,极限随层递增:
| 层 | 提取什么 | 无云端 AI 能否做到 |
|---|---|---|
| L1 信号层 | 音轨、视频帧、字幕文件、窗口/剪贴板等环境信号 | ✅ 完全能 |
| L2 文本层 | 说了什么(ASR)、画面写了什么(OCR)、字幕写了什么 | ✅ 能(本地模型) |
| L3 结构层 | 章节、重点、术语表、时间轴组织、步骤卡 | |
| L4 语义层 | 总结、推理、问答、"核心观点是什么" | ❌ 不能,LLM 专属 |
极限的一句话表述:
一切"可观察、可测量、可枚举"的信息都能提取;一切"必须理解才能产生"的信息不能。
- 物理极限由信号可达性决定:DRM 内容、无字幕、无文字的实操画面
- 算法极限由规则/统计/本地模型的表达能力决定:能组织、能标记、能检索,不能总结、不能推理
- 架构极限由"信号源插件 × 视频类型档案 × 采样预算调度"三件套决定
极限的量化表述(文本流保真度):
- 字幕文件场景:100%(无损信道)
- 字幕 OCR 场景:~99%
- 纯 ASR 场景:~90% + hotwords 纠偏
- 实时模式上限 < 离线模式上限(离线可任意跳帧重采样、两遍解码、多帧投票、全量交叉校对)
| # | 想法 | 说明 |
|---|---|---|
| T1 | 字幕文件/内嵌轨优先 | REQ-016/017 已排期 v0.3.0:外挂 .srt/.ass/.vtt 探测 + 内嵌字幕轨解析;ASS 样式可含讲者名;双语字幕轨对照 |
| T2 | 多帧投票纠错 | 同一字幕/画面多帧 OCR 结果按字符投票,纯规则 |
| T3 | OCR→ASR hotwords 闭环 | 画面 OCR 出的生僻术语自动注入 sherpa-onnx hotwords,之后口头复现时准确率提升(纯本地正反馈环) |
| T4 | 两遍解码 | 流式粗识别 + 结束/重点段用 SenseVoice 离线精修(v0.3.0 文件导入后天然支持) |
| T5 | 冗余信道交叉验证 | ASR/字幕 OCR/字幕文件三方按时间轴对齐互校(RAID 思路);ADR-005 编辑距离 ≤2 仅为最浅一版 |
| # | 想法 | 说明 |
|---|---|---|
| S1 | 三信号章节检测 | 画面切换(DXGI 变化检测已有)+ 长静音(VAD 已有)+ n-gram 话题重合度下降,三票同刻 → 章节边界 |
| S2 | 重点候选标注 | 重复短语 ≥2 次 / 音量语速骤变(DSP)/ OCR 文本持续停留 N 帧(板书强调) |
| S3 | 术语表自动构建 | OCR 高频词 × ASR 低频词交叉 → 候选术语 → 用户确认 → 反哺 hotwords + 笔记词汇表 |
| S4 | 关键帧图集 / 步骤卡 | 实操类视频唯一有效形态:帧捕获 + 变化检测(ADR-002 现成)+ 感知哈希聚类 → 相似画面簇 = 一个操作步骤 = 簇首帧 + 时间范围;化妆/手工/软件操作课的"步骤边界" |
| S5 | 幻灯片截图时间轴 | 关键帧 + OCR 文本 + 时间戳 → 视觉笔记(OcrBlock 时间戳数据已具备) |
| S6 | 公式/代码半结构化 | OCR 文本 → LaTeX 渲染(规则可行);"这是牛顿第二定律"才需要 LLM |
| # | 想法 | 说明 |
|---|---|---|
| X1 | 剪贴板捕获(白名单) | 代码课老师 Ctrl+C 的代码比 OCR 准 100 倍、零 CPU;Windows AddClipboardFormatListener;隐私风险:仅当目标窗口为 IDE/编辑器时监听 + 会话内可见 + 可关闭(涉安全红线,须 ADR) |
| X2 | 窗口标题/元数据 | "PPT-第3章"、IDE 文件名 → 章节语义暗示;中集成零成本 |
| X3 | 信号源抽象(远期,mpv IPC 已否决) | 抽象"信号源插件"(带时间戳事件通道),浏览器扩展/会议软件 API 是候选实例;mpv IPC 已决策不做(用户覆盖面窄、ROI 低,2026-08-18) |
| X4 | 浏览器扩展(远期) | B站/YouTube CC 字幕 DOM 直取、弹幕过滤;覆盖面最大但交付物形态变重(签名/更新渠道) |
| X5 | 说话人嵌入 | sherpa-onnx 自带说话人模型 → 多讲者"谁在说话"标记(本地 diarization 雏形) |
| # | 想法 | 说明 |
|---|---|---|
| V1 | VideoProfile 结构体 | 内容载体权重(字幕/语音/画面/代码/动作)+ 采样策略 + 产物形态;默认值 = 现有行为;v0.3.0 只显式化"字幕/无字幕"二态,全面档案化留 v0.4.0 |
| V2 | 实操类 → 图集形态 | 无文字画面 → 文本提取价值低,唯一有效产物是关键帧图集/步骤卡 |
| V3 | 代码类 → 剪贴板 + IDE 检测 | 代码保真靠 X1 而非 OCR;IDE 窗口标题识别 |
| V4 | 会议类 → 说话人 + 共享屏幕 | 多人发言需 X5;会议软件自带字幕可 OCR |
开销实测排序(2026-08-18 代码核查):流式 ASR 推理(常驻,0.5~1 核)> OCR 推理(触发式,字幕区 0.5fps + 全帧 0.2fps 变化才跑)> 采集数据处理(Skip 拍不捕获,变化帧才 BGRA 转换)> 融合重写(仅停止时一次,非过程开销)。 因此"融合"的性能问题是停止响应延迟(同步全量重算 + DELETE/INSERT 全量重写),不是过程恶化。
| # | 想法 | 说明 |
|---|---|---|
| P1 | 采样预算制(QoS) | CPU 当可调度资源:字幕区 ≤2fps、全帧 ≤0.5fps 封顶,模块向调度器申请而非自发触发 |
| P2 | 三级变化检测漏斗 | DXGI 变化矩形 → 区域哈希 → 才放行 OCR;OCR 只跑在"真变了"的帧 |
| P3 | 语音/画面互斥调度 | VAD 静音时 ASR 空闲 → OCR 全帧窗口;语音密集时 OCR 只保字幕区;用语音活跃度做互斥 |
| P4 | OCR 输入缩小 | 字幕区裁剪后缩到 ~960px 宽,推理时间近似平方级下降 |
| P5 | 有界异步流水线 + 丢帧策略 | 帧比文本廉价:负载高丢帧不丢文本(字幕时间窗去重后增量) |
| P6 | 融合停止异步化 + 无字幕短路 | 已立项(REQ-031,v0.3.0):停止流程只 finish+emit 秒回,融合挪后台线程,无字幕段直接跳过;中期演进:原始段与融合轴分离(REQ-032/ADR-006,V1.0,独立表 + fused_at),支持重算融合/可信度审计/离线精修;不做实时增量融合(语义不成立:字幕 end_ms 靠下一字幕补齐、gap 判断需字幕全集) |
| P7 | 内存有界 + UI 零推理 | 内存只留最近 N 分钟,早段落库即弃;引擎常驻线程(engine.rs 已有);时间轴虚拟列表 |
| P8 | 自动降级 | CPU 高负载/电池模式 → 全帧 0.2→0.1fps、关次要功能,保 ASR 主链路 |
| # | 想法 | 说明 |
|---|---|---|
| O1 | 可信度审计时间线 | 每段带 source+置信度 → "哪些段落需人工校对"视图;产物定位 = 可校对的学习原料,非成品笔记 |
| O2 | 用户确认回路 | 校对反馈反哺规则参数(去重窗/编辑距离阈值/hotwords),无 LLM 的"学习" |
| O3 | 会话检索 + 时间回跳 | 文本入 SQLite FTS5 → 搜索直达视频时刻(REQ-010 基础 + 点击跳转) |
| O4 | 会话结束离线精修 | 实时出粗稿,结束后台跑两遍解码 + 全量融合 + 多帧投票 → 离线级产物 |
| O5 | 跨会话去重 | 同一课程多遍观看 → n-gram/本地 embedding 相似度合并 → 课程级知识体 |
| O6 | 双语对照 | SenseVoice 多语言 + 字幕多语言 → 外语学习场景核心 |
| O7 | 崩溃恢复 | 段级落库(ADR-004 failed 状态),提取物原子性 |
| O8 | 合规边界 | DRM 不可提取、会议录制告知——技术极限之外的伦理/法律极限 |
| 想法 | 可行性 (1-5) | 影响力 (1-5) | 创新性 (1-5) | 总分 | 排名 |
|---|---|---|---|---|---|
| S4 关键帧图集/步骤卡 | 5 | 4 | 4 | 13 | 1 |
| T1 字幕文件/内嵌轨优先 | 5 | 5 | 2 | 12 | 2 |
| V1 VideoProfile 二态轻量版 | 4 | 4 | 4 | 12 | 3 |
| X1 剪贴板捕获(白名单) | 4 | 3 | 5 | 12 | 4 |
| T3 OCR→ASR hotwords 闭环 | 4 | 3 | 4 | 11 | 5 |
| O2 用户确认回路 | 4 | 3 | 4 | 11 | 6 |
| P6 融合停止异步化 + 无字幕短路 | 4 | 4 | 2 | 10 | 7 |
| T5 冗余信道交叉验证 | 3 | 4 | 3 | 10 | 8 |
| S1 三信号章节检测 | 4 | 3 | 3 | 10 | 9 |
| P1 采样预算制 | 3 | 4 | 3 | 10 | 10 |
| O4 会话结束离线精修 | 4 | 4 | 2 | 10 | 11 |
| S3 术语表自动构建 | 4 | 3 | 3 | 10 | 12 |
| S2 重点候选标注 | 4 | 3 | 3 | 10 | 13 |
| O3 会话检索+时间回跳 | 4 | 4 | 2 | 10 | 14 |
| X3 信号源抽象(mpv 已否决) | 3 | 3 | 4 | 10 | 15 |
| P2 三级变化检测漏斗 | 4 | 3 | 2 | 9 | 16 |
| X5 说话人嵌入 | 3 | 3 | 3 | 9 | 17 |
| O5 跨会话去重 | 3 | 3 | 3 | 9 | 18 |
立即执行(高可行 + 高影响):
- T1 字幕文件/内嵌轨优先(v0.3.0 已排期,REQ-016/017)
- P6 融合停止异步化 + 无字幕短路(停止按钮秒回;不做实时增量融合,语义不成立)
- S4 关键帧图集/步骤卡(帧捕获现成,纯增量成本,实操类视频唯一有效形态)
- O4 会话结束离线精修(复用 T4 两遍解码)
重点规划(高影响 + 中可行):
- V1 VideoProfile 轻量版(先显式化二态,v0.4.0 全面档案化)
- P1 采样预算制 + P2 变化检测漏斗 + P3 互斥调度(性能三件套,Mac 级流畅度的工程化)
- T3 OCR→ASR hotwords 闭环(本地正反馈环)
- P6 中期演进:原始段与融合轴分离(独立表 + fused_at,涉 ADR-004/005 变更)
快速尝试(高可行 + 中影响):
- S1 三信号章节检测、S2 重点候选标注、S3 术语表构建
- O2 用户确认回路、O3 会话检索 + 时间回跳
暂时搁置(低可行 or 低影响,或需前置条件):
- X1 剪贴板捕获(隐私设计未决,涉安全红线,须 ADR)
- X3 信号源抽象(mpv IPC 已决策不做;无第一实例,待浏览器扩展等候选出现)
- X5 说话人嵌入(本地 diarization 质量待验证)
- O5 跨会话去重、X4 浏览器扩展(交付物形态变重)
| 想法 | 下一步 | 负责人 | 截止日期 |
|---|---|---|---|
| T1 字幕文件/内嵌轨 | v0.3.0 排期推进(REQ-016/017) | — | v0.3.0 |
| P6 融合停止异步化 | 已立项 REQ-031(v0.3.0);方案见 v0.3.0.md 第三节;中期演进 REQ-032/ADR-006(V1.0) | — | v0.3.0 |
| T3 OCR→ASR hotwords 闭环 | 已立项 REQ-040(v0.4.0,热词/替换词表本地部分提前);方案见 v0.4.0.md 第三节 M5 | — | v0.4.0 |
| P1 采样预算制(QoS) | 已立项 REQ-039(v0.4.0);方案见 v0.4.0.md 第三节 M4 | — | v0.4.0 |
| P8 自动降级 | 已立项 REQ-039(v0.4.0,与 P1 合并);方案见 v0.4.0.md 第三节 M4 | — | v0.4.0 |
| S4 关键帧图集 | 验证感知哈希聚类的步骤边界效果(spike) | — | 待排期 |
| X3 信号源抽象 | 已决策不做 mpv IPC(2026-08-18);无第一实例,暂不启动 | — | 已关闭 |
- 视频类型档案进 v0.3.0 还是 v0.4.0? 倾向:v0.3.0 只做二态轻量版(VideoProfile 结构体 + 默认值),全面档案化留 v0.4.0(v0.4.0 规划未纳入——聚焦课堂助手本地模式+三维优化,保持待定)
- mpv IPC 写不写? 已决策:不做(2026-08-18,用户覆盖面窄、ROI 低);信号源抽象随之搁置,待浏览器扩展等候选实例出现
- P6 融合停止异步化 已立项 REQ-031(v0.3.0),方案见 v0.3.0.md;中期派生视图已立项 REQ-032 并记录于 ADR-006(提议状态)
- 关键帧图集的产物形态:步骤卡(画面簇 → 步骤)需要前端画廊 UI + 点击回跳视频时刻,是独立前端工作量
- 剪贴板捕获的隐私设计:白名单(IDE 窗口)+ 会话内可见 + 可关闭;须 ADR + 用户授权交互
- 双源/三源时间戳统一基准:mpv IPC 方案已否决;需通用方案(会话单调时钟对齐音频/帧时钟,ADR-005 风险项)
- 性能开销实测校准:ASR/OCR/采集的 CPU 占比为代码推断(2026-08-18),需实测数据验证
- 产出想法数量:30+(T5 + S6 + X5 + V4 + P8 + O8 项)
- 有价值想法数量:约 15 项进入评估矩阵
- 过程是否顺畅:分层模型(L1-L4)提供了清晰的讨论骨架
- 后续可针对"视频类型档案"与"关键帧图集"分别做专题头脑风暴
- 量化表述(保真度百分比)需用实测数据校准(当前为经验估计)