作品十
Open Learning 帮我把一本书、一个文件夹里的材料学透:整本书按章讲透,边读边问,理解落成文件,出题复习,下次打开接着学。
它是一个本地优先的学习工作台。材料、我的理解、复习台账全是我电脑上的文件;AI 在文件旁边备料、记账;理解这一步留给人自己做。
它帮我做的事,按一次学习的顺序是五件。
它是什么:一个文件夹、一个本地服务、一个三栏界面,AI 的部分调用本机的 Claude Code。
为什么这样做:理解只能由学习者自己造出来,系统的位置是备料、记账、制造摩擦。
为了让 AI 稳定干活,工程集中在四处,每处在后面有一节。
它和什么连着:文件夹进、文件出,技能和 AI 都从本机已有的来。
下面按一次学习的运转顺序讲。
一次学习分六步,每一步的产物都是工作空间文件夹里的文件。
三个部件各管一段,人在阅读和对话这两格。
| 部件 | 只做 | 实际是什么 |
|---|---|---|
| 工作空间文件夹 | 存放一切学习数据 | 材料文件,讲透的章节文件夹,理解产物,题库与复习台账,一个隐藏目录放索引与逐条落盘的运行记录 |
| 本地服务 | 运行、索引、调度、接口 | 一个 Node 进程,二十七条接口,一个运行管理器,一个可重建的索引库,一个 MCP 服务端 |
| 界面 | 看和说 | 三栏:文件、阅读、对话;一个欢迎屏;一个章节面板 |
| 桌面壳 | 启动与常驻 | 一个壳进程带两个副进程,菜单栏常驻,系统通知,一个未签名的安装包 |
| AI 子进程 | 需要理解内容的工作 | 每次讲透一章或对话一轮起一个本机 Claude Code 的进程,技能说明折进提示 |
「本地优先」在这套系统里指五件具体的事。
「AI 原生」指 AI 是运转的一环,不是附加按钮,落在三个位置。
一条理解分四段建起来,四段的成本极不对称,聊天框只做了最便宜的一段。
读完一本书什么也没学到,是常态,因为全程只有遭遇,没有摩擦。
聊天框缺三样东西,每一样都对应工作台里的一个部件。
对话是过程,文件是结果。这条判断决定了理解产物必须写成文件。
AI 写什么、人写什么,分界不按谁写,按这件事是不是学习本身。
| 内容 | 谁产生 | 谁写进文件 | 依据 |
|---|---|---|---|
| 溯源:这一页来自哪份材料 | AI | AI | 机械事实,是记账 |
| 断言:定义、关系、分类 | AI | AI | 是知识,本来就可传授 |
| 消解痕迹:我原以为什么、卡在哪 | 只有我 | AI 归位 | AI 不知道我原来以为什么 |
| 关系的候选:可能有关,置信多少 | AI | 只进索引,不进文件 | 它是提问的素材,不是结论 |
这张表推翻过我自己的一条规则。我曾定「AI 推断的关系永不写进文件,AI 替我连对一条关系就偷走一次学习」。反驳很直接:书和老师就是在告诉人关系;被告知是遭遇,是必要的第一步,问题只在停在遭遇。正确的做法是换顺序:先问我,我答,再给我看 AI 的答案,对照。
「工作空间」就是我打开的那个文件夹。没有「数据目录」这种配置项,桌面应用首次打开选一个文件夹,之后记住上次的。
三种用户,同一个机制,零配置。
三层数据按「丢了能不能补回来」分,隐藏目录整个删掉也不丢东西。
这一节的原则有一处被桌面形态逼着改了:浏览器形态下工作空间等于启动目录,不需要选择器;桌面应用没有启动目录的语义,所以加回了文件夹选择器、欢迎屏和最近打开。见演化一节。
「讲透」指把一章按它自己的逻辑重讲一遍,机制、关系、推理链摆成看得见的结构,核心零丢失。它不是摘要。
应用只编排,讲透本身由技能完成。理由落在两个位置。
按章分进程,是首次真书试用后定的。
对话挂在整个工作空间上,不挂在某份材料上;关了再开,对话还在。
中列只用来读,不挂常驻输入条。
理解产物写成文件,放回文件夹,在对话里显示为可点开的文件卡片。
「学习档 / 自由档」两档被拆掉了。
已知缺口:左栏「我的」列表按位置取数(根层的 markdown 文件),不按种类(学习产物)。在真实文件夹里它列出无关文件,学习产物落在子目录里反而不显示。根因是设计前提被后来的改动抽掉,不是实现走样。见现状一节。
每个知识点按四个层次出题,逐层上爬,判卷不用 AI。
「复习台账以用户可读、可迁移的文件形态存在」是这套系统在同类产品里唯一占住的空位。
这一块是第一版建的,验收过,在当前界面里没有入口。
一条分工规则决定每个操作归哪边。
技能有一个统一的调用层,两个位置,一种送达。
| 操作 | 输入 | 输出 | 谁干 |
|---|---|---|---|
| 讲透 | 一份材料 | 同名文件夹,每章一个文件 | 委托讲透技能 |
| 对话 | 我说的一段,当前在读的文件 | 回答,理解产物文件 | 委托费曼技能 |
| 出题 | 一份材料 | 知识点与四个层次的题 | 委托 AI 子进程 |
| 判卷与排期 | 一次作答 | 掌握度、下次到期日,写回复习台账 | 纯函数 |
| 索引重建 | 全部文件 | 索引库 | 纯代码 |
每次让 AI 干活都是一次「运行」:一个进程,一份逐条落盘的记录。
本地服务同时是一个 MCP 服务端,任何支持 MCP 的 agent 都能接进来。
读题的工具永远不返回答案。
两条通路并存:走 MCP,或直接读文件。
产品形态只有桌面应用一个,浏览器形态的入口已退休。
桌面形态补上的产品面,全是启动和常驻这一段。
技术选择一律照参照工具的发行版源码实查裁定,不从概念倒推。
打包前的终审拦下的问题里,大多数是计划里的示例代码带进去的;处置一律是改成真的,不改措辞。
从立项到打出安装包一个月。入口反转过一次,容器反转过一次,AI 的位置反转过一次;我自己造的四个词被逐个删掉。
没变的是四条给定条件,变的是 AI 站在哪。
写这一页的日期是 2026-09-17。立项时的姿态是「自己先用起来,工程按随时可上线的标准」,两个半句分开说:工程侧到了,使用侧没到。
数字只报能证明系统真实存在的。
讲透、费曼对话、出题这三个技能先在我自己的系统里跑了一年,见作品一。「需要理解内容的交给 AI,机械事实交给程序」这条分工和作品二是同一条。它背后的想法怎么来的,见思考。