自托管服务
TriliumNext/Trilium avatar
TriliumNext/Trilium

TriliumNext/Trilium:为十万条笔记而生的层级知识库,值得迁移吗?

使用 Trilium Notes 构建您的个人知识库

37,855 个 Star2,541 个 ForkTypeScriptAGPL-3.0

秒懂

它是什么?
TriliumNext/Trilium 是一款开源的层级笔记应用,定位是构建大型个人知识库。本文分析其核心机制、部署方式、迁移成本与适用边界。
适合谁用?
如果你需要管理数万条以上笔记,并且愿意接受层级树作为组织核心,TriliumNext/Trilium 值得尝试。它适合长期积累型知识库,尤其是技术笔记、研究档案和需要脚本自动化的场景。
能商用吗?
可以,但条件严格。AGPL-3.0 是网络 copyleft 许可证:如果别人通过网络使用你修改过的版本(例如作为托管服务),你必须以同一许可证向他们提供源代码。
还在维护吗?
在维护。仓库在最近一天内有新的提交。
用什么语言写的?
主要是 TypeScript(依据 GitHub 的语言统计)。

以上回答依据项目的 GitHub 数据(最近同步于 2026年9月15日)和我们的分析,不构成法律意见。

开源项目深度解析

它解决什么问题:层级树不是文件夹

大多数笔记工具用文件夹加标签来组织内容,但文件夹是单亲结构,一条笔记只能放在一个位置。Trilium 的核心假设是,大型知识库需要更灵活的树结构:笔记可以嵌套任意深度,而且一条笔记可以被克隆到多个位置。文档里明确写了“Single note can be placed into multiple places in the tree”,这是克隆功能。这意味着你可以把一篇关于数据库索引的笔记同时挂在“数据库”和“性能优化”两个分支下,而不需要复制内容。目标用户是长期积累大量笔记的人,而不是随手记几条清单的轻度用户。README 宣称可以扩展到十万条笔记以上,这个数字是项目自己的说法,我没有实测,但设计目标很清晰。

核心机制:克隆、属性与脚本如何配合

Trilium 不是普通的树形笔记本。它把笔记、属性、脚本和同步绑在一起。属性是键值对,可以附加到任何笔记上,用于查询和脚本控制。比如你可以给笔记加一个标签属性,然后用脚本批量操作。脚本功能允许你在笔记里写 JavaScript,直接操作知识库。这意味着 Trilium 不只是存储文本,它还是一个可编程的数据平台。REST API(文档中称为 ETAPI)提供了自动化接口,你可以用外部程序创建、修改、查询笔记。关系图和思维导图是内置的,分别基于 Excalidraw 和 Mind Elixir,但这些是可视化辅助,不是核心。真正核心的是那套可编程的树结构。

部署与运行:从 Docker 到桌面端

Trilium 提供桌面端和服务器端。桌面端直接下载安装包即可,服务器端推荐用 Docker。README 指向的安装文档给出了 Docker 设置页面,但没有列出具体命令。从仓库结构看,服务器端是一个 Node.js 应用,使用 SQLite 作为数据库。你可以在本地跑服务器,然后通过浏览器访问。移动端有一个触摸优化的前端,但它是服务器的一个客户端,不是独立应用。同步需要自建同步服务器,README 提到有第三方托管服务。部署时要注意,服务器端和桌面端的数据库格式不兼容,不能直接互换,但可以通过同步功能在两台设备间同步数据。

迁移陷阱:版本兼容的硬边界

TriliumNext 是社区分支,原开发者 Zadam 把仓库交给了社区。迁移说明里有一个关键警告:版本 v0.90.4 及以下才与 zadam/Trilium 的 v0.63.7 兼容。之后的 TriliumNext 版本提高了同步版本号,导致无法直接迁移。这意味着如果你之前用 zadam/Trilium,升级到最新版前必须检查当前版本。如果已经用了更高版本,可能需要先降级或者找其他迁移路径。这个限制很硬,文档没有提供绕过方法。另外,Trilium 的数据格式不是纯文本,它有自己的数据库结构,所以导出 Markdown 只能导出内容,不能完整保留属性、脚本和克隆关系。

加密与安全:按笔记加密的取舍

Trilium 提供按笔记粒度的加密,也就是说你可以只加密敏感笔记,而不是整个数据库。这比全盘加密更灵活,但有一个代价:加密笔记在服务器端无法被搜索。文档没有明确说这一点,但从加密原理可以推断,服务器只能看到密文。如果你用自托管同步服务器,加密笔记对服务器管理员是不可读的,这是优点。但如果你依赖全文搜索,加密笔记会被排除在搜索结果之外。这个设计适合偶尔需要保护敏感信息的用户,不适合需要全库可搜索的场景。另外,它支持 OpenID 和 TOTP 双重认证,这是服务器端登录的加分项。

维护成本:升级与社区依赖

TriliumNext 的发布频率很高,最近一次是 v0.105.0,相隔不到一个月就有 v0.104.1 和 v0.104.0。频繁更新意味着功能迭代快,但也意味着你需要经常升级。升级文档专门有一页,说明升级不是无脑替换文件。由于数据库格式可能变化,升级前必须备份。项目是 AGPL-3.0 许可证,这意味着如果你修改代码并部署为网络服务,你必须公开修改后的源码。对于个人使用,这没有实际影响。但如果你在公司内部部署并修改代码,法律义务就出现了。社区资源丰富,有 awesome-trilium 列表和第三方教程站,但核心维护者仍然是社区志愿者,没有商业支持。

替代方案:与 Logseq 和 Obsidian 的差异

如果你觉得层级树太死板,可以考虑 Logseq 或 Obsidian。Logseq 使用大纲结构,笔记之间通过双向链接组织,没有强制树。Obsidian 基于本地 Markdown 文件,用文件夹和链接混合组织。Trilium 的克隆功能类似 Obsidian 的链接,但更底层:克隆是同一笔记的多个引用,编辑一处,所有位置同步更新。Obsidian 的链接只是跳转,不是内容复用。Trilium 的脚本和属性系统比 Obsidian 的插件更内建,但 Obsidian 有更大的插件生态。如果你需要纯文本文件控制权,Obsidian 是更好的选择。如果你需要可编程的知识库且不介意私有格式,Trilium 更合适。

编辑结论

如果你需要管理数万条以上笔记,并且愿意接受层级树作为组织核心,TriliumNext/Trilium 值得尝试。它适合长期积累型知识库,尤其是技术笔记、研究档案和需要脚本自动化的场景。不适合只想用 Markdown 文件保存笔记的人,也不适合需要实时协作编辑的团队。迁移前必须确认版本:从 zadam/Trilium 迁移时,v0.90.4 及以下版本才与 v0.63.7 兼容,更高版本同步协议已变更。部署时建议先在一台测试机上运行 Docker 镜像,导入少量数据验证同步和加密功能,再决定是否正式使用。AGPL-3.0 许可证意味着如果你修改代码并对外提供服务,需要开源你的修改版本,这一点在商业化使用前要咨询法律意见。

官方来源

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
社区笔记

社区笔记