Trilium 是一个本地知识库:笔记挂在一棵树上,正文和附件全写进一个 3235840 字节的 SQLite 文件。它不带账号体系,不依赖云服务,解压一个 495 MiB 的目录就能跑。
在 Windows 10 22H2 上跑了完整流程:解压 / 初始化 / 建库 / 开笔记 / 搜索,每个环节都记了耗时和体积。
双击到笔记树可用 4.11 秒
0.106.1 的 Windows 便携包是 226727471 字节,解压后目录 518133711 字节。主程序 trilium.exe 一个就占 246318848 字节,剩下的是 Electron 运行时和 6 个 dll。
| 项目 | 数值 | 说明 |
|---|---|---|
| 压缩包 | 226727471 字节 | windows-x64.zip |
| 解压目录 | 518133711 字节 | 495 MiB |
| 主程序 exe | 246318848 字节 | 占目录 47.5% |
| 启动到笔记树 | 4.11 秒 | 库已有 577 条笔记 |
| 常驻内存 | 537.4 MB | 所有子进程合计 |
| dll 数量 | 6 | Electron 运行时 |
trilium.exe 246318848 字节
其他资源 + 6 个 dll 271814863 字节
解压目录合计 518133711 字节
4.11 秒是冷启动,包含读取整个库、渲染左侧树和右侧日历。之后再开窗口会快很多,因为进程还在。
577 条笔记装进 3235840 字节
演示库自带 577 条笔记,整个 document.db 只有 3235840 字节。拆开看,正文和元数据分成几张表,体积的大头在附件和图片。
| 表 | 行数 |
|---|---|
| notes | 577 |
| branches | 592 |
| attributes | 1411 |
| blobs | 140 |
| attachments | 19 |
| revisions | 0 |
branches 592 比 notes 577 多一些,原因是同一条笔记可以挂在树上的多个位置,每次挂载算一条分支。这个设计让它既能当文件夹用,又能做标签视图。
PRAGMA page_count -> 794
PRAGMA page_size -> 4096
794 x 4096 = 3253504 字节
document.db 实际 = 3235840 字节
revisions 是 0,说明演示库没开历史版本。真要用起来,每改一次正文就多一份快照,577 条笔记全开历史的话,3235840 字节的库会翻几倍。
PLACE1打开一条笔记 0.63 秒,搜一个词 208.7 毫秒
从点左侧树到右侧正文渲染完,用了 0.63 秒。搜索走的是顶部快速搜索框,输入一个短词,208.7 毫秒出结果,命中 2 条。
| 操作 | 耗时 | 条件 |
|---|---|---|
| 启动到笔记树 | 4.11 秒 | 577 条笔记 |
| 打开一条笔记 | 0.63 秒 | 含表格、代码块、公式 |
| 全文搜索 | 208.7 毫秒 | 命中 2 条 |
| 内部 API 响应 | 4 毫秒 | 267 字节的 options |
| 快捷键定义 | 4 毫秒 | 20187 字节 |
| 内部服务端口 | 37840 | 桌面版默认 |
GET /api/options -> 200, 267 bytes, 4 ms
GET /api/keyboard-actions -> 200, 20187 bytes, 4 ms
GET /api/keyboard-actions 是快捷键定义,两万字节一次读完。
桌面版内部起了一个 HTTP 服务,默认端口 37840。所有界面操作都走这个接口,界面响应取决于它的往返时间,4 毫秒基本无感。
笔记不止一种,一共 14 类
演示库里数出来的笔记类型有 14 种。除了普通文档和纯文本,还有代码、书、启动器、看板、思维导图。
| 类型 | 数量 |
|---|---|
| doc(富文本) | 303 |
| text(纯文本) | 112 |
| launcher | 33 |
| book | 31 |
| code | 30 |
| contentWidget | 20 |
| mermaid | 13 |
| image / render / webView | 12 / 8 / 7 |
| file / noteMap / mindMap / canvas | 5 / 1 / 1 / 1 |
| 类型合计 | 14 |
富文本 303 条,纯文本 112 条,两类占了大多数。剩下的是各种视图:book 把多条笔记串成一本,launcher 做跳转入口,mermaid 存流程图。
PLACE2第一次用会卡在语言选择上
初始化有四步:选界面语言、点继续、选「新建知识库」、选「包含演示内容」或「空白」。每一步都要等界面重建,整个流程要走 4 屏。
1. 语言列表(默认 English)-> 选 简体中文
2. 按钮文字从 Continue 变成 继续
3. 开始使用 Trilium -> 新建知识库
4. 你想要如何开始 -> 包含演示内容 / 空白
第二步有个容易踩的地方:选了简体中文,那个按钮的文案也跟着变成「继续」。任何靠英文单词定位的自动化脚本,在选完语言之后就会找不到按钮。
还有一个更隐蔽的:点完「包含演示内容」,应用会重建窗口,原来的窗口句柄和页面对象全部失效。用自动化工具抓界面的话,必须重新连一次,旧的调试端口引用一律报 0 个页面。
什么时候值得用
手上资料超过几百条、需要在同一棵树里放文档和代码片段、又不想把内容交给云服务,Trilium 是合适的选择。演示库 577 条笔记只占 3235840 字节,比多数云端笔记应用的本地缓存还小。
反过来,只是偶尔写几篇 Markdown 的,没必要上这个。537.4 MB 的内存占用对一个记事本来说偏重,装完 495 MiB 的目录也要占着盘。
它不带同步服务,多设备只能靠外部手段:把 3235840 字节的库目录放进网盘,或者按官方文档自建 Trilium 服务端,端口要自己开。这一点在选型时要想清楚,不然用两周才发现手机上打不开。









