事情是这样的。
我折腾过不少笔记软件。每一款都认真用过,每一款最后都有一点说不上来的不舒服,之前也写过一篇文章推荐一个开源笔记项目 Memos( 我折腾了5年笔记软件,最后被一个61k stars的开源项目打动了) 。也是收到不少反馈。
评论区有人推荐trilium notes,我到 GitHub 上看了下,stars 已经有 37k。看了它的介绍,下载了 Windows 桌面版,把它跑了起来。
第一次运行 Trilium,屏幕上弹出一个语言选择界面。里面有简体中文。选了中文,点了继续,它就自己进去了。
没有注册账号这一步。没有"欢迎来到我们的生态"。没有新手引导在屏幕上跳来跳去。
界面很安静。左边是一棵树,树根叫 root。中间是编辑区,写着"在这里输入你的笔记内容"。旁边有快速搜索,有日历,有"今日日记",有书签。
那一刻我突然意识到,原来一个笔记软件可以这样:把所有的东西都给你,然后退后一步,不打扰你。
一棵树,不是一堆文件夹
Trilium 的核心,就是这棵树。
笔记可以无限层级地挂在树上。每一篇笔记下面都可以有子笔记。不需要文件夹,因为树本身就是结构。
听起来平平无奇。但接下来这个功能,才是真正记住它的地方:
同一个笔记,可以同时出现在树的多个位置上。改其中一个,另外几个全部同步更新。
这叫克隆。它不是复制粘贴——它是同一个东西的两个分身。
举个例子。有一篇笔记,讲的是"React 的那些坑"。它同时出现在两个地方:一个是"前端学习"下面,一个是"面试准备"下面。以前做法是复制一份,然后两个地方越改越不一样,最后自己都不知道哪个是最新的。在 Trilium 里,只需要克隆。改一次,就到处都改了。
笔记每改动一次,Trilium 都会在后台悄悄保存一个历史版本。某个不小心删掉的重要段落,或者一次改坏的内容,随时可以翻回之前的版本,一键还原。
树加上克隆,加上版本历史。这三样东西合在一起,笔记终于不再是文件堆,而是一张网。每一处引用都还是活的。
搜索能找到图片里的字
Trilium 的搜索,是见过最实在的搜索。
它支持全文搜索,这个不稀奇。它支持模糊匹配的快速导航,输入几个字母就能跳到想去的笔记,也不稀奇。
服气的是这一条:它能搜到图片和 PDF 里面的文字。( 扫描的PDF找不到) 那些图片里的字,从此不再是要找却找不到的死角。
有些笔记,我想锁起来
有一部分笔记,是希望别人看不到的。密码、账号、一些只写给自己看的东西。
Trilium 可以给笔记单独加密。加密之后,直接打开数据库文件也读不到内容。要看这些笔记,需要输入额外的密码。隔一段时间不操作,它会自动锁回去,再次查看又要输一次密码。
把那篇藏着各种密码和私事的笔记锁了起来。锁上那一刻,心里踏实了。
它甚至能自己编程自己
如果说前面这些功能,其他笔记软件努努力也能做到,那么这个功能,是 Trilium 真正让人回不去的地方。
它内置了一个脚本引擎。前端、后端,都用 JavaScript 写脚本。
意思是,Trilium 能做的事,几乎没有边界。看它不顺眼的地方,自己改。想要的自动化,自己写。自己不会写?没关系,让AI帮你写。它把自己的抽屉全部打开——里面的零件不仅给你看,还允许亲手组装。
可以写脚本,自动从某个网页抓数据,整理成笔记。
可以改界面的外观、主题,甚至可以给笔记写自定义渲染器。
可以用它的事件系统,让某些动作自动触发某些脚本。
能搭一个仪表盘,把关心的数据全部汇总到一个页面上。
它还有一个开放接口叫 ETAPI,是标准的 REST 接口。外部程序也能读写笔记。可以写个定时任务,每天自动往 Trilium 里塞一篇日记。它还能接入自己的 AI 模型,把笔记暴露给外部助手。
你发现了吗?它不是在给你一个写好的程序。它是在给你一把钥匙。
它不是给你一个闭环,它是把钥匙递给你。数据从头到尾在你手里
这是最看重的一点。
Trilium 的笔记,全都存在本地的一个数据目录里,核心是一个 SQLite 数据库文件。没有云端,没有厂商的服务器。想备份,把整个数据目录拷走就行。想迁移,把它放到哪都行。
它支持导入。以前的 Markdown 笔记、HTML 文件、OPML 大纲,都能直接导进来。它支持导出。Markdown、HTML、OPML、PDF,随时把整棵树带走。数据进来的时候是开放的——出去的时候也是开放的。
它甚至支持发布。如果自己架了一个服务器,可以把树的任意一个分支发布成公开的网站,别人用浏览器就能看。一篇公开笔记,可以直接变成网页分享出去。
它还是开源的,AGPL-3.0 协议。免费,没有付费功能墙,没有账号体系。37k stars 摆在那里,代码在 GitHub 上,任何人都能看、能改、能自己维护。
怎么自己跑一个
Trilium 的部署方式很灵活,整理成了表格:
方式
适合谁
怎么跑
桌面版
一个人单机使用
去 GitHub Releases 下载 Windows、macOS 或 Linux 安装包
服务器版
想要随时随地从浏览器访问
用 Docker 拉取官方镜像,一条命令启动
手机浏览器
路上想查笔记
访问自己服务器的网页界面,移动端适配得很好
原生 App
重度手机用户
Android 用 Pocket Trilium,iOS 用 Trinote,都是开源客户端
我自己用的是桌面版路线:下载安装包,双击运行,完事。不过如果想架在自己的服务器,官方提供 Docker 镜像,一条命令就能起来:
docker run -p 8080:8080 -v ~/trilium-data:/home/node/trilium-data ghcr.io/triliumnext/trilium:latest
启动之后,浏览器打开 http://localhost:8080 ,就是你的笔记了。端口、数据目录、更多参数,以官方文档为准。
官方镜像在 Docker Hub 上已经被拉取了 379 万次。这个数字说明,不只是一个人在折腾笔记软件这件事。
结尾
回到开头那个问题。
我折腾了很多年笔记软件,最后发现想要的其实很简单:数据是自己的,结构是自己的,它能做想让它做的事。
Trilium 没有给一个又一个花哨的模板,也没有给我一个看似智能的插件市场。它给的,是一棵树,一把钥匙,和一个完全属于自己的数据库文件。
如果你也在折腾笔记软件,不妨下载一次试试。
热门跟贴