浏览器不支持(未启用)JavaScript,本页面的某些功能无法正常使用

AI改变学习方式—附OneNote和NoteStation迁移到Obsidian指南

Divider Line

我并不爱记笔记,但是要学习的多了,就不得不:打开、写、保存。

记笔记效率太低,哪怕只是复制粘贴,也得花时间整理格式;技术知识又很容易过时;而且我几乎从不回看笔记,笔记只是在记录的哪一刻稍微加深点记忆,之后就再也不打开了。反倒是对记过的知识点又经常搜资料、查文档,感觉效率更高,也相当于复习。

一、AI出现之后,学习链路被彻底改写

生成式AI改变了这一切。不再需要频繁用搜索引擎,不再需要盯着官方文档逐页翻,当然,特别新的偶尔还得手动查一下,至少对重要的信息要自己验证一下。

因为LLM压缩了公共知识,它还能调用工具,比如搜索工具、MCP工具、CLI工具。还有一个常被忽略的点:LLM的注意力机制和人类非常不同。跟人对话,一连串问题甭管说得多重要,对方大概率只回最后一个;而LLM能一次性把所有问题都答全,除非上下文长到几十万字,出错概率才会明显上升。这种特性天然适合高效学习和记录,因为学习本来就是由一连串问题或大纲扩展而成。

那么,还需要记笔记吗?理论上,LLM回答的都是公共知识(除非导入私有知识库),确实没必要记——没记住?再问一遍就行。但AI有幻觉问题,有时候很难察觉,这时候笔记就派上用场了:换个模型或者调用工具交叉验证,也可以等实际使用时纠错。而且说实话,记笔记本身确实挺有成就感的。

但即便如此,我的习惯还是没变。用搜索引擎翻网站、看教程视频,这种方式传统且“可靠”,人对AI生成的内容总归没那么放心。跟AI聊天有一搭没一搭,没养成系统学习的习惯。

直到AI开始介入我的工作和创作。项目里有些部分是AI写的,很多细节我其实并不了解,不想失去对项目的掌控力。我的文档库里堆满了AI抓来的各种资料,又多又杂,需整理提取。AI生成的内容就像自己搭建屋子里的承重柱,我不想让成为异物,也不想忽略潜在问题。于是必须跟上AI的步伐,把这些内容真正内化成自己的知识。

有时候,连人类自己构建的知识库也不适合学习。比如我学.NET这块,找不到像样的教程(青黄不接的状态)。翻官网文档?写得像维基百科那样来回跳转,琐碎且杂乱。后来我干脆把一个目录丢给AI,比如“C#12更新了什么?”“.NET10更新了什么?”,让它照着目录挨个解答,我再记到笔记里。AI知识有滞后性?没关系,它可以查,用MCP工具就行。我只用关心我想知道的,AI的索引比我自己翻资料高效太多。

二、工具的演进:为什么最终选了Obsidian

有了方法,还得有趁手工具。我试过一些需要云端导入或远程调用再问答的方案(例如FastGPT、NotebookLM),都不太顺手。最好用的是基于本地CLI的智能终端开发助手,比如Cline、Copilot。它们能通过VSCode插件使用,但VSCode并不适合阅读文档。

直到我发现了Lapis0x0/obsidian-yolo这款Obsidian插件,它把智能开发的体验带到了文档管理工具。另一款YishenTu/claudian看起来也不错。

我算是Obsidian的早期用户,之前只是随便记点东西。它以原生markdown+丰富扩展成为热门笔记软件:原生意味着文档可以同步托管到任意地方,也能导入其他工具;扩展意味着能实现各种个性化需求。但插件太多太杂,学习成本不低——这点也被AI改变了,以前找插件要费半天工夫,现在直接问AI(比如有搜索能力的Gemini),它总能精准推荐,我试过的几次都相当靠谱,把需求描述清楚就行。

于是我下定决心,把散落各处的文档都集中到Obsidian管理,重点是OneNote和群晖NoteStation——在我看来,这些已经是过时的工具了。

三、从NoteStation到Obsidian的实测记录

群晖NoteStation导出,用的是这个脚本:Note-Station-to-markdown

我用的是自己修改后的分支,因为在WSL Linux下运行,原脚本在Linux可能因文件名过长而报错退出,我稍微改了改,顺便把默认配置调成生成更完整的YAML属性。

已知缺陷:加密笔记无法导出;NoteStation里的表格、整页剪藏的网页也没法很好地转成markdown。其他还行,附件和图片链接都导出了。

另一个可选项目是marph91/jimmy,但我没试过。

四、OneNote导出实测全记录

花了一天时间完成导出,工具唯一推荐:alxnbl/onenote-md-exporter。别的也看了,就这个最好用。

试过之后发现的问题:

  1. 手写笔迹会被识别为一堆图片,一笔一划就是一张图,导出极慢,笔迹图太多时Obsidian渲染直接卡死。这部分最好单独截图再插入markdown。
  2. OneNote里如果内容分块,工具一般从右往左、从上往下把每块内容依次转为一页markdown。
  3. 笔记标题(会被转为markdown文件标题)含系统文件命名非法符号(如:)会导致导出失败,需要先改一下。
  4. Obsidian默认没有OneNote那种手动排序功能,可以按创建时间排序,基本符合OneNote原始顺序,但可能乱序。因此对排序敏感的教程类笔记,最好在标题加数字序号。
  5. OneNote的代码高亮会失效,不会自动转为markdown代码块,部分表格和内容上色也可能格式丢失。

除此之外,这个工具导出的格式和排版能相当程度保持原样,很不错。它还能把笔记本-分区组-分区-页-子页这种结构完整转为文件夹层级。不过仍需部分手动调整,比如习惯上把附件放到根文件夹。Obsidian可以设置“移动文件夹自动更新内部链接”,之后还能用插件清理未引用的图片。

我试了这两个插件:

顺便吐槽一下OneNote被微软玩废了。以前我用Surface偶尔会手写笔记,但笔迹页打开容易卡顿,软件偶尔出现无法打开或关闭的bug(什么“正在清理上次...”)。插件少,没有智能功能,格式还专有的又不开源。

五、加密笔记的处理

OneNote和NoteStation都有加密分区/笔记功能,我用着挺顺手(但是我把OneNote分区密码忘了,到现在也想不起来)。Obsidian只能用插件做内容级加密,内容变乱码但文件名还暴露在外,这不符合我的使用习惯——加密的就该让它不可见。

找了一圈,开源加密笔记软件里最流行的是Standard Notes,但对笔记加密本身很少用,单独托管个服务和装App似乎没必要,而且用户界面只支持英文。

后来想到用Matrix的加密功能:Element客户端支持PIN+指纹登录,服务端支持加密房间(端到端加密),随手存加密消息和附件挺方便。不过这不是笔记软件,加密内容也无法搜索,不适合保存需要频繁查找的信息。再加上Bitwarden密码库,组合起来基本能覆盖所有需要加密的场景。

六、批量格式化导出的笔记

我用VSCode Copilot的Agent模式自动修复了所有OneNote导出的笔记,模型选Claude Haiku 3.5便宜的那种就足够了,速度快且基本不出错,效果相当好。为了安全起见和diff不妨使用git进行版本控制。

提示词如下:

这些目录里面都是从OneNote转化为markdown并导入到Obsidian的文档,主要是一些老旧技术学习笔记和日志,转移过程中有些格式上的损失和可能的内容错乱(未细致检查)。

我需要将这些文档做一些优化,目的是让它更加美观但不改知识点以贴合作者的记忆,请专家帮我完成这份工作,要求:
1. 只优化格式与排版;
2. 不增删改任何知识性的内容,这点非常重要;
3. 原则上不调整原笔记结构,最多只微调,例如增加小标题等。
4. 不要遗留链接,特别是图片链接要保持原来的格式(匹配obsidian短链)。
5. 请完整输出所有代码块的内容,严禁省略或使用占位符。
6. 额外要求:泛型名称要用行内代码块包裹,代码块外用空格缩进而不是tab制表符,这两个会影响obsidian渲染markdown。

现在的任务是:
把"xxx"这个文件夹整理复制到一个新的文件夹(子目录按原来的结构),原文件不要动,只复制整理。
不要一次性通读所有文件,而是读一份整理一份,也不要读写"xxx"目录以外的文件(那些已经完成)。
一次会话大概整理一个章节文件夹,如果章节内容比较少的话,可以多整理几个。
默默的整理,不要输出笔记内容到聊天框,只在聊天框输出简短的任务通知。
每完成一个章节的任务就把进度更新到了`【整理进度】`文档里面,请先阅读这份文档然后继续任务。此后将任务需求和进展都写到这份文档里面(如果对知识性内容做了微调的话要特别说明)。这是为了当上下文过长时,新的会话能够继续之前的任务。

七、给Obsidian配个Web版

Obsidian有两个痛点:一是知识库和插件不能统一管理;二是没有Web版,只能多客户端同步。而它本质是编辑器而非阅读器,客户端偏重。

我觉得部署个在线wiki能同时解决这两个问题:减少仓库数量,还能随时随地阅读。

借助AI在GitHub上翻了个遍,最终选中并实测了这几个项目:

7.1 专门的wiki项目(带后端)

docmost/docmost
部署轻量,功能够用,但有个致命缺点:上传的markdown包没法保持原有目录结构,所有笔记都堆在根目录。目前这个问题在PR #1747里已经修复,只是还没正式发布。

outline/outline
和docmost很像,但功能更强,页面更漂亮,付费版还有AI问答。

7.2 替代Obsidian Publish的静态方案

这类项目动态解析,直接把md目录转成静态站。

jackyzha0/quartz
美观度不错,支持Obsidian双链预览(鼠标移到链接上显示预览)。Docker部署时会将映射的MD目录导入为网页文档,可能有点慢。

secure-77/Perlite
也是Docker部署,但无需初始化导入,映射后直接可网页浏览,相当于在线不可编辑版Obsidian。支持指定目录不显示,功能和美观度优于Quartz,但不支持脚注(作者说是安全问题),链接解析也有些问题,于是我开了一个新的分支修复这些问题:code-gal/Perlite

总结:想做团队wiki,博客或公开文档,outline是最佳选择;想把Obsidian仓库直接映射成网页,作为自己的在线阅读器,Perlite最轻量。

Divider Line
标签: 自托管
作者: 宁嘉
日期:2026年01月06日

评论