上课的时候,我们大概都有过这样的经历:老师 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-Flash | 110 token/张(400px 降采样后) |
| 笔记整合 | Kimi-K2.6 | 255 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,网页秒开。