上课的时候,我们大概都有过这样的经历:老师 PPT 翻得飞快,白板上的公式擦了又写,手速再快也记不全;录音倒是能录,但 90 分钟的音频谁回去听啊。

所以我给自己搭了一套"蒸馏"系统:上课随手拍几张照片、录一段音,夜里服务器自动把它们蒸馏成一篇能复习的 Markdown 笔记。手机打开网页就能看、能改,公式用 KaTeX 渲染,完全不依赖任何云服务。

这套系统跑在我宿舍的一台无头服务器上(对,就是那台同时挂着 WebDAV、博客和一堆乱七八糟服务的小机器)。这篇文章记录它的设计、踩过的坑,以及一些可能对你有用的经验。

一、系统长什么样

手机拍照 / 录音
   │  上传到宿舍服务器(控制台网页)
   ▼
语音转文字(funasr,中文 22× 实时)
   ▼
照片识别(Qwen3.8-Flash 视觉模型,400px 降采样)
   ▼
LLM 整合成 Markdown 草稿(Kimi-K2.6)
   ▼
「校对」页:确认课程 → 归档 → 定稿
   ▼
笔记库:网页浏览 / 编辑(by CodeMirror)/ 全文搜索

一节课 = 一篇笔记。同一天、同一门课的材料(哪怕跨课间休息、甚至晚上补拍的手写笔记照片)全部聚成一课;后期补交的同课材料会自动合并进已有笔记。复习的时候,“这学期高数上到哪了"一目了然。

二、省钱是第一生产力

最初版本用的是大模型全家桶,效果好但肉疼。后来全部换成"够用就好"的组合,成本降了一个数量级:

环节模型成本表现
语音转写FunASR paraformer-zh免费,22× 实时(87 分钟录音约 4 分钟转完)
照片识别Qwen3.8-Flash110 token/张(400px 降采样后)
笔记整合Kimi-K2.6255 token/篇,零推理开销

一顿饭钱能跑一个学期。而且没有 API 也能用——STT 和 VL 都走本地,没配 key 时系统照常转写、只跳过 AI 环节。

三、最大的坑:AI 总想把笔记写成"总结”

第一版提示词让 AI"提取核心要点",结果它把 90 分钟的课压成 8 条 bullet point,换句话说把我要求的生成笔记变成了生成摘要。摘要会导致复习的时候看到"本课介绍了 XXX 的核心概念"这种废话(???)。

So 重写后的原则:内容决定结构,参考:

- 完整记录知识本身(定义、定理、公式推导),而非是"这节课讲了什么"
- 所有公式用 LaTeX 完整写出,例题分步演算
- 老师反复强调的地方,用 ⚠️ 标出来
- 听不懂/看不清的地方,老实标 `(待确认)`

重写之后,同一节课的笔记从"核心要点 3-8 条"变成了 6000 多字的完整笔记,含全部证明过程。效果天壤之别。

四、同步坏文明

一开始用 WebDAV + Obsidian 同步,900MB 的笔记(大部分是录音)在校园网里同步又慢又容易断。于是放弃同步,把网页编辑器做成主力:CodeMirror 6 编辑 + 实时预览,KaTeX 公式、表格、全文搜索、明暗主题,手机端分屏变 Tab。录音留在服务器(回听时单独下载),笔记纯文本几百 KB,网页秒开。