Skip to content

Latest commit

 

History

History
64 lines (49 loc) · 3.25 KB

File metadata and controls

64 lines (49 loc) · 3.25 KB

v0.1.0 — 第一阶段:本地提取链路 MVP

状态: 规划中(2026-08) 目标: 跑通纯本地的"视频知识提取 → 笔记"最小闭环,验证 sherpa-onnx ASR 与 paddle-ocr OCR 在 Tauri + Rust 栈下的可行性与质量。 关联: 需求池 v0.1.0 · PRD · 技术调研([ ] 已归档)

一、阶段目标

在不依赖系统音频/屏幕捕获、不依赖云端 LLM 的前提下,验证三件事:

  1. 本地 ASR 可用:sherpa-onnx 对中文音频文件转写,质量可接受
  2. 本地 OCR 可用:paddle-ocr 对关键帧图片识别文字,质量可接受
  3. 本地拼接成笔记:转写 + OCR 纯规则拼接为 Markdown 笔记初稿,并可落入笔记模块编辑

本阶段不做:系统音频捕获(WASAPI)、屏幕捕获、流式实时转写、间隔重复闪卡、AI 问答。这些是 v0.2.0+ 的内容。

二、范围(需求追溯)

REQ 内容 验收要点
REQ-006 Tauri 2 骨架 + SQLite 数据层 应用可启动;SQLite 建表;IPC command 可调
REQ-001 本地 ASR(文件输入) 选音频文件 → 返回转写文本;SenseVoice/Paraformer int8
REQ-002 本地 OCR(图片输入) 选图片 → 返回识别文字 + 位置
REQ-003 内容本地拼接 转写+OCR 按规则拼成 Markdown 初稿(无 LLM)
REQ-004 笔记基本功能 笔记 CRUD + Markdown 渲染 + 搜索
REQ-005 课堂助手 ↔ 笔记联动 拼接结果一键创建/追加为笔记

三、技术方案

模块 方案
桌面壳 Tauri 2 + React + TS(Vite)
ASR sherpa-onnx crate:OfflineRecognizer + SenseVoice-Small int8(或 Paraformer);VAD 用 Silero
OCR paddle-ocr-rs:PP-OCRv5 det + rec ONNX
拼接 Rust 纯函数:按时间戳/段落合并转写段与 OCR 块 → Markdown
数据 SQLite(rusqlite):notes / transcripts / ocr_blocks / sessions 表
模型 首次启动下载脚本拉取(不入库):SenseVoice int8 + PP-OCRv5 ONNX

四、验收标准

  • 应用启动,首页可选"导入音频转写""导入图片 OCR"
  • 一段 1 分钟中文音频 → 转写文本正确率主观可接受
  • 一张含文字截图 → OCR 返回文字
  • 拼接产物为结构化 Markdown,可预览
  • 一键落入笔记后可编辑、可搜索
  • cargo test 全绿(拼接纯逻辑有单测)

五、里程碑

步骤 内容
M1 Tauri 骨架 + SQLite + IPC 通道(REQ-006)
M2 本地 ASR command + 模型下载(REQ-001)
M3 本地 OCR command + 模型(REQ-002)
M4 拼接纯逻辑 + 单测(REQ-003)
M5 笔记 CRUD + 渲染 + 搜索(REQ-004)
M6 联动 + 端到端验证(REQ-005)

六、开放问题 / 风险

  • sherpa-onnx crate 在 Windows MSVC 工具链下的构建稳定性(首次编译下载预编译库)
  • paddle-ocr-rs 模型获取与 API 稳定性(备选:sherpa-onnx OCR / RapidOCR)
  • 模型下载体积与首次启动体验(需下载进度提示)
  • 中文 ASR 实际 CER(需自建样本评测,不依赖厂商宣传口径)