Decentralization? We're still early!
課 5 的 8
In Progress

第五课 初识Trilium AI:如何打造主权个人的AI

Brave 2026-03-09
目录

你可能已经用过很多AI聊天工具——ChatGPT、Claude、Gemini,它们聪明、博学,几乎无所不知。但你有没有想过一个问题:这些AI对你毫无了解。

它不知道你上个月读了哪本书、不知道你正在研究什么课题、不知道你三年来积累的几千条笔记里藏着什么洞见。每次你打开一个新对话窗口,你面对的都是一个"失忆"的天才——它有全世界的知识,却唯独没有你的知识。

TriliumAI Chat作为Trilium AI系列插件的基础插件,试图解决的正是这个问题。它在WordPress这个全球最流行的内容管理系统上,架起了一座桥——一端连接着各大AI模型(Google Gemini、OpenAI兼容接口、本地开源大模型),另一端连接着Trilium Notes这个你私有的、自托管的个人知识库。通过这座桥,AI不再是一个通用的工具,而是变成了一个"读过你所有笔记"的专属顾问。

但这还不是全部。这款插件的背后是一个更大的系统——Trilium WP插件生态。Trilium AI Chat是Trilium WP的子插件和功能扩展,而Trilium WP本身是连接Trilium Notes与WordPress的基础桥梁。理解这个生态关系,才能真正理解TriliumAI Chat为什么不是"又一个AI聊天工具",而是一整套知识生产基础设施中的智能引擎。

从Brave基地(brave2049.com)提出的"主权个人"理念来看,这是一种全新的知识生产范式的雏形——你既是知识的主人,也是知识生产流水线的设计者。正如半个世纪前梅棹忠夫在《智识的生产技术》中所强调的:"只有当一个人完全掌控了自己的记录工具和逻辑,他才能产生独立的思想。"

本课程将带你从两个维度理解这款插件:第一,作为开发者或深度用户,你需要理解它背后的架构思想和技术选择;第二,作为使用者,你如何把它变成自己的AI知识生产工具。但无论从哪个维度进入,我们关注的核心问题始终是同一个:这个工具如何改变一个人处理知识的方式?


第一部分:开发视角——为什么要这样设计,以及它意味着什么

一、顶层设计:Trilium WP生态与Trilium AI Chat的定位

在讨论TriliumAI Chat之前,我们必须先理解它所嵌入的更大的系统——Trilium WP插件生态。脱离这个生态去理解AI Chat,就像脱离操作系统去理解一个应用程序——你可以看到它在做什么,但无法理解它为什么这样做。

1. 三层架构:从笔记到智能 🏗️

Brave基地围绕Trilium Notes和WordPress构建的工具链,形成了一个清晰的三层架构:

底层:Trilium Notes——知识的容器

Trilium Notes是一款自托管的、支持无限层级结构的个人知识库。它的核心价值不在于"记笔记"这个动作本身,而在于它对知识结构化的极致追求:无限深度的树状层级、笔记之间的双向关联、强大的全文搜索和属性搜索、内置的脚本能力(每条笔记都可以包含操作其他笔记的代码),以及最关键的——ETAPI,一套完整的REST API,允许外部程序对笔记进行增删改查。

ETAPI是整个生态的关键枢纽。正是因为Trilium提供了这个开放的程序化访问接口,才使得上层的一切成为可能。没有ETAPI,Trilium只是一个封闭的笔记工具;有了ETAPI,它成为了一个可以被任何外部系统调用的"知识后端"。

中间层:Trilium WP——桥梁

Trilium WP是Brave基地开发的WordPress插件,它的核心使命是在Trilium Notes和WordPress之间建立一条双向通道。通过这条通道:

  • Trilium中整理成熟的笔记可以无缝发布到WordPress上成为公开文章——知识从"私人积累"转化为"公共分享"
  • WordPress作为前端交互层,可以调用Trilium的ETAPI动态获取知识库内容——让网站不再是静态的内容展示,而是与你的活知识库实时连接

如果说Trilium是"知识的仓库",WordPress是"知识的舞台",那么Trilium WP就是连接仓库和舞台的通道。

上层:TriliumAI Chat——智能引擎

TriliumAI Chat作为Trilium WP的子插件和Trilium AI系列插件的基础插件,在这条已经打通的"知识通道"上叠加了AI的能力。它不需要重新解决"如何连接Trilium"和"如何在WordPress上运行"这两个问题——Trilium WP已经铺好了路。AI Chat要做的是:让这条通道上流动的不仅是数据,还有智能。

这就是为什么AI Chat被设计为子插件而非独立插件。它站在Trilium WP的肩膀上,继承了所有底层连接能力,专注于实现AI对话、知识分析和工作流编排这些更高层的智能功能。

2. 为什么选择WordPress作为中间平台? 🤔

这是一个值得深思的架构决策。为什么不直接在Trilium里做AI功能?为什么要"绕道"WordPress?

答案涉及三个层面:

可达性。 Trilium是一个自托管的桌面/服务器应用,它的界面主要面向个人使用。而WordPress是一个Web平台——任何有浏览器的人都可以访问。把AI聊天放在WordPress上,意味着你可以随时随地(手机、平板、任何电脑)通过浏览器使用你的AI知识助手,而不必安装Trilium客户端。

可分享性。 WordPress天生是一个"发布"平台。当你在WordPress页面上设计了一套AI工作流(通过Gutenberg提示词块),你可以把这个页面分享给团队成员、学生或任何人。他们不需要了解Trilium、不需要配置任何东西——只需要打开页面、填写输入、点击按钮。知识工作流从"个人工具"变成了"可分享的能力"。

可扩展性。 WordPress拥有全球最庞大的插件生态。选择WordPress作为中间平台,意味着可以轻松与其他WordPress插件(SEO、表单、会员系统、电子商务等)集成。更重要的是,WordPress的Gutenberg编辑器提供了一个可视化的"工作流编排"界面——这一点后面会详细展开,它的价值是巨大的。

3. 同时存在的子插件:TriliumAI Agent 🤝

理解完整生态还需要提到另一个子插件——TriliumAI Agent。如果说AI Chat是"对话界面",那么Agent就是"执行引擎"。

Agent提供了一系列直接操作Trilium笔记库的能力:搜索笔记、获取笔记内容、分析笔记、跨笔记研究。这些能力通过AI Chat的命令系统(/trilium 命令)暴露给用户。

三者的分工关系清晰而优雅:

组件角色核心能力
Trilium WP基础桥梁WordPress ↔ Trilium Notes 双向数据通道
TriliumAI Agent执行引擎笔记搜索、内容获取、智能分析命令、接入OpenCode、OpenClaw
TriliumAI Chat交互界面AI对话、流式输出、工作流编排、提示词管理

这种插件间的分层设计体现了"关注点分离"的工程智慧——每个组件只负责自己擅长的事,通过WordPress的钩子机制(Hooks)松耦合协作。这意味着未来可以独立升级任何一个组件而不影响其他部分;也意味着社区开发者可以在同一个基础上开发新的子插件,扩展整个生态的能力。


二、一个根本性的设计问题:为啥不直接用ChatGPT

在理解了生态全局之后,让我们聚焦到AI Chat本身,回答一个绕不开的问题:市面上已经有那么多AI聊天工具了,为什么还要做这个?

1. 当前AI工具的三个结构性缺陷 🔍

缺陷一:失忆。 你在ChatGPT上的每一次对话,都是一座孤岛。即便同一个账号,对话之间也缺乏真正的知识关联。你上周和AI讨论了一个项目方案,这周想继续深入——你不得不重新向AI解释整个背景。部分产品虽然推出了"记忆"功能,但那种记忆是平台控制的、格式受限的、你无法真正管理和组织的。

缺陷二:割裂。 你的笔记躺在Notion里、Obsidian里、或者Trilium里,而AI完全无法触及这些数据。你多年积累的阅读笔记、研究心得、项目文档,对AI来说不存在。AI拥有人类文明的通识知识,却唯独缺少你最需要它了解的——你自己的知识。

缺陷三:被动。 你无法预设一套结构化的提问流程,不能把一个复杂的知识加工任务分解为多个可复用的步骤,更不能让不同的人按照同样的流程去使用AI。你只能"一问一答"式地使用,每次都凭记忆和即兴发挥来组织提示词。

这三个缺陷并非某个具体产品的不足——它们是当前AI应用范式的结构性问题。

2. TriliumAI Chat的回答:三个根本性转变 🌱

TriliumAI Chat的设计者选择了一条完全不同的路:不是去做一个"更好的ChatGPT",而是构建一种新的AI使用范式。

从"通用AI"到"个人AI顾问"。 当你开启上下文功能时,AI在回答你之前会先"翻阅"你保存在Trilium中的历史对话和笔记。你可以精确控制它读多少条(1到20条),让AI拥有或长或短的"记忆"。更深层的是,通过 /trilium research 命令,AI可以跨多条笔记综合分析一个主题——不仅是简单的内容汇总,而是知识的重组织和升华。你的知识库越丰富,AI越"了解你",这是一个正反馈飞轮。

从"临时对话"到"知识沉淀"。 每一次有价值的对话都可以自动保存到Trilium Notes中。但开发者在这里做了一个精妙的设计——保存之前,可以先调用另一个AI模型(通常是低成本的本地模型)对对话内容进行格式化整理,确保存储到知识库中的内容是结构清晰、易于日后检索和理解的。这意味着你的知识库接收到的不是原始的对话杂谈,而是经过AI"整理编辑"的知识条目。

从"被动使用"到"主动编排"。 通过Gutenberg编辑器块(这一点至关重要,后面会用整整一章来讨论),你可以把AI对话流程像搭积木一样"编排"到WordPress页面中,设计出属于你自己的AI知识加工流水线。


三、开发者的知识地图:每块知识为什么被需要

如果你是一个想要构建类似系统的开发者,或者只是想深入理解这款插件的技术基底,以下是你需要了解的知识领域。我不会罗列语法细节(那是技术文档的工作),而是帮你理解每一块知识在整个系统中扮演的角色。

1. WordPress插件开发——不只是CMS,更是应用平台 ⚙️

在TriliumAI Chat的语境下,WordPress扮演着三个被低估的角色:

作为前端承载层——它提供了浏览器可直接访问的界面,让AI聊天窗口可以嵌入到任何网页中。插件的聊天界面通过WordPress的 wp_footer 钩子注入每个页面,用户无需任何额外操作就能看到右下角的浮动按钮。

作为安全中间件——AI的API密钥是敏感信息,绝不能暴露给前端浏览器。WordPress的AJAX系统充当了一个安全代理层:前端把用户消息发给WordPress后端,后端附上API密钥后再转发给AI服务,AI的回复再通过后端安全地返回前端。同时,WordPress的Nonce机制(一次性安全令牌)确保每个请求都是合法的、不可伪造的。

作为工作流编排平台——这是最被低估的角色。Gutenberg编辑器让你可以用可视化的方式在页面中排列AI交互组件,这实质上把WordPress从一个"内容管理系统"提升为了"知识工作流编排平台"。

你需要理解的核心WordPress API包括:钩子系统(Actions和Filters,插件间协作的基础)、AJAX通信、Settings API(后台配置页面)、以及Gutenberg Block API(编辑器块开发)。

2. PHP服务端编程——隐藏的可靠性 🔧

插件的PHP后端不仅仅是"把请求转发给AI"这么简单。开发者在可靠性上做了大量工作,体现了生产级软件的严谨思维:

  • 请求失败时的自动重试机制,支持配置重试次数和间隔时间,确保网络波动不会轻易中断用户的对话体验
  • 高性能的缓冲日志系统——日志不是逐条写入数据库(那样会严重影响性能),而是先在内存中累积,到达一定数量或请求结束时才批量写入。日志还会自动清理,保持数据库整洁
  • 所有用户输入都经过多层安全净化——纯文本、HTML内容、URL、整数各有专门的处理函数;数据库操作全部使用参数化查询,从根本上杜绝注入攻击

这些细节用户永远看不到,但它们是一个可信赖的工具和一个"能跑但随时可能出问题"的原型之间的本质区别。

3. JavaScript前端开发——让AI"活"起来 💻

前端代码决定了用户"感受"到什么。本插件在这方面有几个值得关注的设计选择:

零依赖的自研Markdown解析器。 插件没有引入任何第三方Markdown库(如marked.js或showdown),而是从零编写了一个完整的解析器——支持六级标题、代码块、表格、引用、嵌套列表、任务列表、行内格式等全部常用语法。这个决策的意义在于:零外部依赖意味着不会因为某个开源库的更新、废弃或安全漏洞而受到影响。对于一个需要长期稳定运行的知识工具来说,这种"自给自足"的策略是深思熟虑的选择。

流式消息的精细渲染控制。 AI的回复通过SSE(Server-Sent Events)协议逐块传输到前端。但如果每收到一个字符就重新渲染一次Markdown,页面会因为过于频繁的DOM更新而卡顿。插件的解决方案是:将接收到的文本块在内存中累积,以每50毫秒为间隔重新将累积内容通过Markdown解析器渲染一次。这种"累积+节流渲染"的策略,兼顾了实时感和流畅度——用户看到AI在"流畅地书写",既不会感觉到延迟,也不会体验到卡顿。

模块化的前端架构。 四个独立的JavaScript模块通过一个共享命名空间协作,各自负责清晰的职责域:基础设施(配置常量、工具函数、全局状态管理)、界面交互(DOM操作、模态对话框、消息气泡、通知系统)、提示词管理(命令菜单和自定义提示词的增删改查)、核心逻辑(聊天请求发起、SSE数据流处理、模型切换、外部API暴露)。模块间通过浏览器原生的CustomEvent API松耦合通信,任何一个模块的修改不会影响其他模块的正常运行。

智能的资源管理。 长时间的对话会导致页面上积累大量消息DOM元素,插件设置了120条消息的上限阈值——达到后自动清理最旧的消息,保留最近80条,防止浏览器因DOM膨胀而变慢。这种看不见的"管家"机制,保证了即使在长达数小时的连续使用中,界面依然保持响应。

4. 外部API对接与提供者抽象 🔌

与AI服务通信的核心挑战不在于"发一个HTTP请求",而在于如何优雅地处理每个提供者的差异性。

插件在这里采用了策略模式——一个统一的API管理器根据用户选择的提供者,将请求分发给对应的适配器。每个适配器负责两件事:将统一格式的请求翻译为特定API要求的格式(例如Google Gemini要求角色严格交替,适配器会自动合并连续的同角色消息),以及将特定格式的响应翻译回统一格式。

更值得关注的是临时模型切换机制——当用户在前端下拉菜单中选择不同模型时,系统只对当前这一次请求使用新模型,不修改全局配置。请求完成后自动恢复默认设置。这个看似简单的功能背后是精心的状态管理设计,确保了"随手切换模型"的流畅体验不会干扰全局配置的稳定性。

此外,系统通过WordPress的过滤器钩子(Filter Hook)提供了开放的扩展入口——任何第三方开发者都可以注册自定义AI提供者,不需要修改插件本身的一行代码。这种"永远为未知的未来留一扇门"的设计理念,是本插件架构上最有远见的决策之一。

5. 动态主题色系统——看得见的细节 🎨

一个容易被忽略但体现了工程品质的细节是主题色系统。管理员在后台选择一个十六进制颜色值后,插件不是简单地把这个颜色应用到界面上,而是在服务端通过颜色算法自动计算出该色的深色变体(降低20亮度)和浅色变体(提升30亮度),以及不同透明度的悬停色和激活色,然后将这整套色板作为CSS自定义属性注入页面。

这意味着无论管理员选择什么颜色,聊天界面始终拥有视觉上和谐的、完整的色彩层次——按钮的默认态、悬停态、按下态、以及各种背景和边框色都是自动协调的。这种程度的"自动化设计"表明开发者不仅关注功能正确性,也在意用户的视觉体验。


四、Gutenberg提示词块:一个被严重低估的革命性设计

在所有功能中,我想用一个完整的章节来讨论Gutenberg编辑器块,因为它的意义远远超出了"在页面里嵌入一个聊天卡片"这么简单。

1. 先理解它是什么 📦

从表面上看,Gutenberg提示词块允许你在WordPress文章或页面中嵌入一张"AI提示卡片"。这张卡片包含一个预设的提示词模板、几个可填写的变量输入框和一个"开始对话"按钮。用户填写变量、点击按钮,聊天窗口就会打开并自动发送组装好的提示词。

技术实现上有一个精巧的细节值得注意:变量输入框不是开发者手动定义的——插件在服务端渲染时用正则表达式自动扫描提示词文本中的 {变量名} 标记,每发现一个就动态生成一个对应的输入框,并将变量名作为标签显示。这意味着你不需要额外配置"这个模板有几个变量"——只需在提示词里写 {变量名},系统自动识别。

块和聊天窗口之间通过一个全局JavaScript函数桥接——当用户点击块上的按钮,前端脚本收集所有输入值、替换占位符、然后调用这个全局函数自动打开聊天窗口并发送组装好的提示词。整个过程用户只需一次点击。

2. 它意味着:任何人都可以设计AI工作流 🏗️

传统上,要让AI执行一个复杂的多步骤任务,你需要编写代码——写脚本调用API、处理返回结果、决定下一步操作。这把绝大多数人排除在了"AI工作流设计者"的行列之外。

Gutenberg提示词块打破了这个门槛。正如Brave基地所描述的——"这种集成方式让WordPress网站可变身为一个个人知识管理流水线。用户可以根据自己的习惯去编排组织AI聊天流程,将所有聊天指令有条不紊地通过WordPress页面组织起来。"

想象以下场景:

你是一名独立研究者。你的研究流程是:先对一个主题进行文献综述 → 然后提取关键论点 → 接着交叉比较不同学者的观点 → 最后形成自己的分析框架。

在没有这个工具之前,你每次都要手动执行这些步骤——打开AI,输入提示词,复制结果,再输入下一个提示词。提示词要靠记忆或从散落的笔记中翻找。

现在,你可以在WordPress中创建一个名为"研究工作台"的页面,在上面按顺序放置四个Gutenberg提示词块,每个块对应流程中的一个步骤。你的研究流程从"存在于大脑中的默会知识"变成了"任何人都可以操作的可视化流水线"。

3. 更深远的意义:可复用、可分享、可迭代、可积累 🔄

这种设计的长远价值体现在四个关键特性上:

可复用性。 你设计好的研究工作台,明天、下周、明年都可以反复使用。你不需要每次都记住"正确的提示词"——它们已经被固化在页面中了。这就像把一个经验丰富的研究助手的工作流程标准化了下来。

可分享性。 在一个团队或社区中,你可以把精心设计的AI工作流页面分享给其他人。新成员不需要学习如何"正确地使用AI"——他们只需要打开那个页面,填写变量,点击按钮。知识工作流从"只有老手才会"的隐性能力变成了"新手也能用"的显性工具。Brave基地的社区实践已经在探索这种可能性——当一个社区积累了一批高质量的AI工作流页面,它就构成了一个"集体智慧的操作手册"。

可迭代性。 和所有好的工具一样,你可以不断优化你的AI工作流。发现某个提示词的输出质量不够好?直接编辑那个块。发现需要增加一个步骤?插入一个新块。你的工作流是一个活的、可以持续进化的系统,而不是一个写死的程序。

可积累性。 如果每个块都开启了"保存到Trilium",那么你通过这条流水线产出的每一次分析结果都会自动沉淀到知识库中。下次你用同一个工作流处理另一个主题时,上下文功能可以调取之前的分析结果作为参考。工作流不只是在处理知识——它本身也在积累知识。

4. 变量系统:非程序员的"编程"工具 🧩

Gutenberg块的变量系统(用 {变量名} 语法定义可填写的占位符)实质上是一种极简的"无代码编程"。通过巧妙地设计变量,你可以创建出功能各异的"微型AI应用":

  • 教育场景 🎓:请评估以下{学科}考试答案的准确性和完整性,给出1-10分的评分和改进建议:{学生答案}
  • 内容创作 ✍️:请将以下{内容类型}改写为适合{目标平台}发布的版本,注意{特殊要求}:{原始内容}
  • 数据分析 📊:请分析以下{数据类型}数据中的{分析维度}趋势,并给出{数量}条可操作的建议:{数据内容}
  • 客户咨询 🛒:根据客户描述的{需求类型}需求和{预算范围}预算,从我们的产品线中推荐最合适的{数量}个方案:{客户原始需求}

每一个这样的块,本质上都是一个小型的AI应用程序。创建它们的人不需要任何编程知识——只需要对自己的工作流程有清晰的理解。

5. 从编辑器块到AI Agent的距离有多远? 🚀

如果我们把视野放得更远一些,Gutenberg提示词块其实是通往AI Agent(AI智能体)的一个起点。

当前的块是"单步执行"的——用户点击一次,AI执行一次,用户审查结果后手动把输出复制到下一个块的输入中。但在这个基础上,如果未来能实现块与块之间的自动数据传递(前一个块的输出自动成为后一个块的输入),那你在WordPress页面上编排的就不再是"AI对话流程",而是一个真正的AI Agent工作流。

这个方向并非空想。Brave基地已经在实践中探索了n8n自动化工具与Trilium、WordPress的联动,构建了信息采集→AI处理→知识归档的自动化管道。他们在《主权个人的十倍效率时代》中明确提出了"AI命令流水线管理器"的概念——打造一个更易用、更强大的可视化通用流水线管理工具。Gutenberg提示词块可以被视为这条进化路径上已经落地的第一步。

更值得注意的是,这种"人在环路中"(human-in-the-loop)的设计——每一步的输出都经过人的审查才进入下一步——恰恰是当前AI应用最需要、也最缺乏的。完全自动化的AI Agent固然效率高,但在涉及知识分析、决策制定等高价值任务时,人的判断力依然不可替代。Gutenberg提示词块提供的正是这种"AI执行、人类把关"的最佳平衡点。


五、多AI提供者架构:不被任何一家公司绑架

1. 为什么这很重要? ⚖️

AI行业正处于激烈竞争和快速迭代的阶段。今天最好的模型,六个月后可能就被超越。如果你的整个工作流程被绑定在某一家公司的产品上——你的提示词库、你的对话历史、你的使用习惯——那当你想迁移时,代价将是巨大的。

TriliumAI Chat从架构设计上就拒绝了这种绑定。它支持三类AI服务提供者:

  • Google Gemini:代表云端大厂的最新模型能力,支持Google Search Grounding(让AI在回答时可以直接检索互联网获取最新信息)☁️
  • OpenAI兼容接口:不仅支持OpenAI官方API,还支持任何遵循相同协议的第三方服务(包括Poe API和各种国内镜像),一个接口打通几乎所有主流AI服务 🌐
  • Ollama本地模型:完全私有化的选择——模型运行在你自己的硬件上,数据不出境,API密钥不需要,成本趋近于零 🔒

每个适配器处理各自API的特殊逻辑:Google要求消息角色严格交替时自动合并连续同角色消息;通过Poe API调用时自动转换参数传递方式;Ollama适配器使用独立的HTTP客户端以获得更适合本地通信的超时策略。这些差异对用户完全透明——你只看到一个统一的聊天窗口和一个模型下拉菜单。

2. 这对"主权个人"意味着什么? 👤

"主权个人"(Sovereign Individual)是Brave基地的核心理念。在AI的语境下,这个理念有了非常具体的含义:

数据主权。 你的笔记存在自托管的Trilium上,你的对话保存在你自己的服务器上。没有任何第三方公司可以查看、分析或利用你的知识资产。正如梅棹忠夫在《智识的生产技术》中强调的"资料的私人占有性"——如果你的智识资产存储在依赖订阅制、随时可能倒闭、或存在数据审查的商业云服务中,你并不真正"拥有"你的思想。

工具主权。 你不依赖于任何单一的AI服务商。你可以随时在Google、OpenAI和本地模型之间切换,甚至在同一天内根据不同任务使用不同模型(用便宜的本地模型处理日常任务,用高端云端模型处理复杂研究)。系统通过开放的扩展机制确保无论未来出现什么新的AI服务,都可以被接入。

工作流主权。 你的提示词库、你设计的Gutenberg工作流页面、你的上下文配置——这些"数字资产"全部存储在你自己控制的WordPress和Trilium上,不会因为某个SaaS产品关闭而消失。

当你把TriliumAI Chat部署在自己的VPS上,用Ollama运行本地模型,所有对话保存在自托管的Trilium Notes中——你就真正实现了AI时代的"知识自治"。


六、与Trilium Notes的双向连接:让知识"活"起来

1. 保存方向:对话变知识 💎

大多数人与AI的对话是"用完即弃"的。一次精彩的分析、一段深刻的洞见、一个创造性的解决方案——关上窗口就消失了。这是一种巨大的知识浪费。

TriliumAI Chat的对话保存功能改变了这个状况。启用后,每一次有价值的AI对话都会自动保存到Trilium Notes中。这不是简单地"存个聊天记录"——保存的过程经过了精心设计:

  • 按日期自动归类到子文件夹中,形成可回溯的时间线 📅
  • 使用可自定义的标题模板(支持 {{DATE}}{{TOPIC}} 占位符),方便日后快速定位 🏷️
  • 保留完整的Markdown格式、代码块和结构化内容 📝
  • 携带元数据(使用的模型、提供者等),让你日后可以分析自己的AI使用模式 🔍
  • 最关键的——可以在保存前调用另一个AI模型对内容进行格式化整理 ✨

最后一点值得展开说明。"智能格式化"功能意味着保存到Trilium的不是对话的原始文本(往往包含口语化表达、重复内容和杂乱格式),而是经过AI"编辑"后的、结构清晰的知识条目。你可以选择用低成本的本地模型(如Ollama上的Llama)来执行这个格式化任务——成本几乎为零,但产出的知识质量显著提升。

正如Brave基地所阐述的:这种功能"将临时的AI交互转化为永久的知识资产,用户可以随时回顾过去的思考过程和AI分析,形成一种独特的'增强思维记录'"。

2. 读取方向:知识赋能AI 🧠

如果说保存是"对话→知识",那么上下文功能就是"知识→对话"。这是整个系统最具变革性的能力。

当你开启上下文功能时,AI在处理你的新问题之前,会先从Trilium中调取你过去的对话记录作为参考。系统会搜索匹配特定标题格式的笔记,按时间排序取最近的N条,格式化为系统级上下文消息,前置到你的新提示词之前一并发送给AI。

为了避免频繁调用Trilium API造成性能压力,上下文查询结果会被缓存(约2.5分钟有效期),在同一时段内的多次对话不会重复请求。

在实际使用中,这会产生质变的效果:

  • 你上周和AI讨论了一个产品设计方案,这周开启上下文继续讨论——AI能回忆起上次的要点,直接在已有基础上深入 💡
  • 你积累了十几次关于某个技术栈的问答——AI在回答新问题时参考这些记录,给出的建议更贴合你的具体技术环境 🔧
  • 你在做长期研究——每次新对话都站在之前所有对话的"肩膀"上,研究深度随时间逐步累进 📈

从知识管理的角度看,这实现了一个梦寐以求的循环:你的笔记帮助AI更好地理解你,而AI的回答又被保存为新的笔记,进一步丰富你的知识库。 知识在"人→Trilium→AI→人→Trilium"的循环中不断增值。

3. 命令系统:AI成为你的知识库管家 🎯

除了对话式交互,TriliumAI Chat还提供了直接操作Trilium笔记库的命令系统(需要TriliumAI Agent子插件支持)。在聊天输入框中键入以 /trilium 开头的指令:

命令功能深层价值
/trilium search <关键词>在笔记库中搜索不离开聊天窗口就能翻阅过去的笔记 🔎
/trilium get <笔记ID>获取指定笔记全文在对话中随时引用笔记内容 📄
/trilium analyze <笔记ID>AI深度分析指定笔记传统笔记工具做不到的——让AI帮你"重新阅读"旧笔记并发现新洞见 🧬
/trilium research <主题>跨笔记综合研究最强大的命令——AI综合多条笔记的内容,生成关键概念总结、主要观点整合、观点交叉比较、关系分析和进一步研究方向建议 🏆

特别是 /trilium research 命令——它让AI不是在互联网上搜索一个主题,而是在你自己的知识库中搜索。这意味着AI综合的不是泛泛的通用信息,而是你多年积累的、带有你个人理解和判断的深度内容。产出的报告因此具有极高的个性化价值。

命令系统的技术实现与普通对话不同:命令通过标准AJAX请求处理而非SSE流式传输,因为命令的结果通常是结构化数据而非需要逐字显示的长文本。插件还提供了一个可视化的命令菜单面板——点击聊天输入框旁的菜单按钮即可打开,每条命令附有图标、说明和格式模板,点击即可自动填入。


第二部分:使用篇——从安装到构建你的AI知识生产流水线

七、安装与配置:搭建你的基础设施

1. 你需要准备什么 📋

必需项:

  • 一个运行WordPress 5.0+的网站(使用Gutenberg块功能需5.8+),PHP 7.0+
  • 至少一个AI服务的访问方式(Google AI Studio免费API密钥、OpenAI付费API、或本地安装的Ollama)

解锁核心价值(强烈推荐):

  • 一个自托管的Trilium Notes实例——这是"AI+知识库"深度融合的前提。没有它,插件是一个不错的AI聊天工具;有了它,插件才成为知识生产引擎
  • Trilium WP主插件——提供WordPress与Trilium之间的基础数据通道
  • TriliumAI Agent子插件——解锁 /trilium 命令系统的全部能力

更大的生态愿景(可选):

  • n8n自动化工具——可以与Trilium和WordPress联动,实现更复杂的自动化知识管道
  • VPS(虚拟私有服务器)——如果你认真对待数据主权,建议把WordPress、Trilium和Ollama都部署在自己控制的服务器上
  • Speaches等语音服务——配合Trilium AI使用,增加语音输入输出能力

2. 安装步骤 📥

安装过程与任何WordPress插件相同:

  1. 确保Trilium WP主插件已安装并启用(如果你需要Trilium集成功能)
  2. 登录WordPress后台 → 进入"插件" → "安装插件" → "上传插件"
  3. 选择 trilium-ai-chat-5.0.8.zip 文件,点击"现在安装"
  4. 安装完成后点击"启用插件"

启用后,你会看到两个变化:

  • 后台"设置"菜单下出现"Trilium AI"(AI核心设置)和"Trilium Conversation Save"(对话保存设置)两个新选项
  • 网站前端右下角出现一个浮动的聊天图标——这说明插件已正常运行 ✅

3. 配置AI提供者:三条路,各有所长 🔧

进入"设置" → "Trilium AI",你面临的第一个选择是:连接哪个AI服务。

Google Gemini——适合大多数用户的首选 ☁️

获取API密钥几乎是零门槛的(访问Google AI Studio免费创建),而且Google Gemini支持"搜索接地"(Search Grounding)——让AI回答时可以直接检索互联网获取最新信息。

配置步骤:

  1. 在"AI提供者"下拉菜单中选择"Google"
  2. 填入你在Google AI Studio获取的API密钥
  3. 在模型下拉菜单中选择模型。推荐:
    • gemini-2.5-pro:最强推理,适合深度研究 🏆
    • gemini-2.0-flash:速度快、成本低,日常首选 ⚡
  4. 点击"保存更改"

模型列表支持两种模式:动态模式(自动从API获取可用模型列表,每24小时刷新缓存)和自定义模式(手动输入JSON格式的模型列表)。大多数情况选择"动态"即可。

OpenAI兼容接口——灵活性最高的选择 🌐

这个选项的灵活性在于它兼容所有遵循OpenAI API格式的服务:

配置步骤:

  1. 选择"OpenAI"提供者
  2. 填入API端点地址(官方为 https://api.openai.com,其他服务填对应URL)
  3. 填入API密钥
  4. 选择模型(内置GPT-4o、GPT-4、Claude通过Poe、Grok、Deepseek V3等选项)
  5. 如果使用Poe API,勾选"Poe API Mode"——这会自动调整参数传递方式以适配Poe的接口规范
  6. 点击"保存更改"

Ollama本地模型——数据主权的终极选择 🔒

Ollama让你在自己的硬件上运行开源大语言模型,数据完全不出境。

配置步骤:

  1. 确保Ollama服务正在运行(终端执行 ollama serve
  2. 选择"Ollama"提供者
  3. 填入Ollama服务地址(默认 http://localhost:11434
  4. 点击"测试连接"验证连通性——成功后会显示可用模型列表 ✅
  5. 填入模型名称(需事先通过 ollama pull <模型名> 下载)
  6. 点击"保存更改"

常用本地模型推荐:

模型参数量适用场景资源需求
llama3.2:3b30亿简单对话、测试、对话格式化
llama3.1:8b80亿大多数日常任务
mistral:7b70亿多语言任务
codellama:7b70亿编程和代码分析

注意:Ollama本地模型不支持网络搜索功能(模型运行在本地,没有互联网访问能力)。

4. 配置对话保存:构建知识沉淀机制 💾

进入"设置" → "Trilium Conversation Save"。这里的每一项配置都在回答同一个问题:你希望AI对话以什么方式成为知识库的一部分?

配置项作用推荐设置
启用保存开关自动保存功能开启 ✅
目标文件夹ID保存到Trilium的哪个文件夹在Trilium中创建专门的"AI对话"文件夹,右键→笔记信息→复制ID
日期子文件夹按日期自动归类开启——方便回溯时间线 ✅
标题模板保存笔记的标题格式默认 Conversation: {{DATE}} - {{TOPIC}} 即可
元数据记录模型、提供者等开启——日后可分析AI使用模式 ✅
智能格式化保存前由AI整理内容有Ollama时建议开启——零成本提升知识质量 ✅
格式化AI提供者/模型用哪个模型做格式化选Ollama+本地小模型(如llama3.2:3b),节省成本

5. 通用设置与外观 ⚙️

其余值得关注的设置项:

  • 请求超时(5-300秒):使用大型模型或复杂提示时可适当增大,默认30秒
  • 最大重试次数(0-5次):网络不稳定的环境建议保持默认2次
  • 主题颜色:聊天界面主色调,建议选择与你网站协调的颜色。系统会自动从你选择的颜色计算出完整的深浅色板
  • 图标颜色:浮动按钮上图标的颜色

聊天界面自动适配系统深色/浅色模式——无需额外配置。


八、日常使用:从基础对话到深度知识工作

1. 聊天界面导览 💬

点击右下角浮动按钮,聊天窗口展开。从上到下:

标题栏:全屏按钮(适合长对话)、最小化按钮(暂时收起,保留状态)、关闭按钮(结束会话)。

消息区:AI回复以Markdown格式渲染——标题、列表、代码块、表格、引用等都有美观排版。每条AI消息右上角有复制按钮;代码块有独立的复制按钮(悬停时出现)。AI回复时会显示闪烁的光标动画,内容逐步呈现,完成后光标消失。

选项栏——控制面板核心区域:

  • "Save to Trilium" ☑️ —— 控制是否保存本次对话
  • "Context" ☑️ + 数量控制器 —— 开启上下文并设置引入数量(1~20条)
  • "Web Search" ☑️ —— 允许AI检索互联网(Google和OpenAI支持,Ollama不支持)
  • 推理参数控件 —— 仅在选择支持模型时出现(详见下文)

模型选择器:按提供者分组的下拉菜单,随时切换,无需回到后台。

输入区:菜单按钮(打开命令和提示词面板)+ 可自动扩展的文本框 + 发送按钮。

2. 网络搜索 🌐

勾选"Web Search"后,AI在回答时可以检索互联网获取最新信息。适合询问实时新闻、最新数据或需要引用外部资源的问题。

支持情况:

  • Google Gemini:完全支持——通过Google Search Grounding实现,AI会引用搜索结果 ✅
  • OpenAI兼容接口:支持——在标准模式下通过API参数,在Poe模式下自动转换传递方式 ✅
  • Ollama本地模型:不支持 ❌

3. 推理参数精细控制 🧠

对于支持高级推理的模型,界面会自动显示额外控件:

思考预算(Thinking Budget)——适用于Claude Sonnet 4.5、Claude Opus 4.5、Gemini 3.0 Pro、Gemini 2.5 Flash

滑动条控制AI在生成回答前"思考"的深度。数值越高,推理越充分,但响应越慢。

场景建议值
简单问答、翻译、总结0(关闭思考)
一般分析、内容创作5000 ~ 10000
复杂推理、数学、编程15000 ~ 25000
极端难题30000+

推理努力度(Reasoning Effort)——适用于GPT-5.1、Grok 4 Fast Reasoning

下拉菜单选择 none / low / medium / high。注意:GPT-5.1 启用网络搜索时,推理努力度最低自动调整为 low

4. 上下文对话——让AI拥有"记忆" 📚

这是TriliumAI Chat最具变革性的功能。开启后,AI在回答你之前会先"翻阅"你在Trilium中的历史对话。

操作方法

  1. 勾选选项栏中的"Context"
  2. 用数字控制器设置上下文数量(1~20条,数值会自动保存)
  3. 正常发送消息——AI会自动调取历史对话作为参考
  4. 回复完成后,界面显示上下文信息通知

进阶策略——渐进式研究

第一天:讨论一个主题的基本概念,对话保存到Trilium。 第二天:开启上下文(设为3),提问"基于我们之前的讨论,这个主题的最大挑战是什么?"——AI参考前一天的讨论,直接深入。 第三天:上下文增加到5,要求AI综合之前所有讨论形成研究大纲。 第N天:研究深度随时间自然累进,每一次对话都站在之前所有对话的肩膀上。

这种"对话即研究"的工作方式,是传统AI工具(每次从零开始)完全无法实现的。

5. 命令系统实战 🎯

快速检索笔记:在讨论一个话题前,先执行 /trilium search 相关关键词,看看你过去写过什么。这能帮你避免"重新发明轮子"——也许你去年就对这个问题有过深入思考。

让AI重新审视旧笔记:找到相关笔记后,使用 /trilium analyze [笔记ID]。AI可能会从你的旧笔记中发现你当时没注意到的洞见——换一个"视角"重新阅读的价值常常超出预期。

跨笔记综合研究/trilium research [主题] 是最强大的命令。AI会综合你的多条相关笔记,产出包含概念总结、观点整合、关系分析和研究方向建议的综合报告。这不是简单的"搜索结果列表"——而是基于你个人知识库的深度综合分析。

使用命令菜单:记不住命令格式?点击输入框旁的菜单按钮打开命令面板。每条命令附有图标、说明和格式模板,点击即可自动填入输入框——只需替换占位参数。

6. 自定义提示词——固化你的"最佳实践" 📋

当你发现自己反复使用某些提示词时,应该把它们保存为自定义提示词:

  1. 点击菜单按钮 → 打开命令面板
  2. 在"我的提示词"区域点击"+"
  3. 输入标题(如"周报生成器"、"论文润色"、"代码Review")和完整提示词内容
  4. 点击保存

下次使用时,打开面板、点击标题即可自动填入。每条提示词旁有编辑(铅笔图标)和删除(垃圾桶图标)按钮,方便管理。

提示词存储在WordPress后端,任何设备登录都能访问。团队环境下,提示词库会同步到所有管理员账号,形成统一的"AI操作手册"。


九、Gutenberg提示词块实战:设计你的AI知识加工流水线

1. 创建你的第一个提示词块 🧱

  1. 在WordPress后台创建或编辑一篇页面
  2. 在Gutenberg编辑器中点击"+"→ 搜索"Trilium"→ 选择"TriliumAI Prompt Block"
  3. 在右侧面板配置:
    • 标题:块的显示名称(如"主题研究助手")
    • 提示说明:引导用户的文字
    • 提示词文本:你的模板,用 {变量名} 标记可填写部分
    • 按钮文字:行动按钮上的文案
    • 保存到Trilium:是否自动保存此块产出的对话
    • 启用变量:是否自动解析 {变量名} 占位符

2. 实战场景设计 📐

场景一:研究者的文献分析工作台

在一个页面中依次放置以下提示词块:

块1——"文献综述生成器":

请针对{研究领域}中的{具体主题}进行文献综述。
请关注以下维度:
1. 核心概念和定义演变
2. 主要研究流派及其代表观点
3. 近年来的前沿方向
4. 当前研究的不足和空白
每个维度至少展开300字,用学术化但清晰的语言撰写。

块2——"论点提取与评估":

请从以下研究综述中提取所有核心论点,按以下格式整理:
- 编号 / 摘要(一句话)/ 支撑证据 / 强度评估(强/中/弱)/ 关键引用

综述内容:{综述文本}

块3——"观点交叉比较":

请对以下论点进行交叉比较分析:
{论点列表}
请分析:共识及其基础、分歧及其根源、互补可能性、更深层的规律或趋势。

块4——"分析框架构建":

基于以上关于{研究主题}的全部分析,构建一个包含以下要素的分析框架:
核心概念定义、概念间关系脉络图、主要研究维度、待验证假设、建议的研究方法。

四个块组成一条完整的文献分析流水线——可反复使用、可分享给同事、可持续优化。

场景二:教育者的智能评估系统 🎓

【课程:{课程名称} | 第{章节}章评估】

评估维度:
- 概念理解准确性(30%)
- 论述逻辑严密性(30%)
- 案例支撑力度(20%)
- 表达清晰规范(20%)

学生作答:{学生答案}

请给出:总分、各维度得分、优点、待改进之处及具体建议。

这个块可以直接嵌入课程页面——学生提交后立即获得AI反馈。如果开启了"保存到Trilium",教师可以在Trilium中回顾所有评估记录,分析学生的共性问题。

场景三:内容创作者的多平台发布流水线 ✍️

块1——核心观点提炼 → 块2——长文撰写 → 块3——摘要标题SEO优化

每一步都有明确的输入变量和预设的指令结构,创作者只需沿着流水线操作,就能从散乱的素材走向可发布的成品。

3. 流水线设计原则 💡

每个块做一件事。 不要在一个提示词里完成所有工作。拆分为单步骤的块,每步的输出供下一步使用,中间可以人为审查和修正。

变量名即指引。 {待分析文本}{input} 好——好的变量命名本身就是对用户的引导。

迭代优化。 你的第一版工作流几乎不可能最优。使用几次后根据AI回复质量调整措辞、增减步骤、修改变量。好的工作流是"用"出来的。

为他人着想。 如果工作流会被团队使用,确保标题和说明足够清晰。测试方法:给一个不了解背景的人看,他能否仅凭页面文字知道该怎么操作?


十、模型选择策略与最佳实践

1. 按任务选模型 📊

灵活切换是明智的做法——不同任务适合不同模型:

任务类型推荐选择理由
日常问答、快速查询Gemini Flash / 本地小模型速度快、成本低 ⚡
深度分析、复杂推理Gemini Pro / GPT-4推理能力最强 🧠
代码生成与调试CodeLlama / GPT-4编程专项优化 💻
需要最新信息的问题开启Web Search的Gemini可检索互联网 🌐
隐私敏感内容Ollama本地模型数据完全不出境 🔒
对话格式化(保存前整理)Ollama小模型零成本完成辅助任务 💰

2. 成本优化心法 💰

  • 日常使用"便宜的"模型(Gemini Flash或本地小模型),遇到真正有挑战性的问题才切换到"昂贵的"模型
  • 对话保存的智能格式化任务始终使用Ollama本地模型——这是纯粹的辅助工作,没必要用云端大模型
  • 上下文数量按需设置:简单的后续问题设为2~3条即可,深度研究才需要10+条
  • 推理参数从低值开始尝试,对回答不满意时再逐步调高——很多时候 thinking_budget=0 的回答已经够用

十一、故障排查

常见问题速查 🛠️

现象可能原因解决方案
聊天按钮不出现插件未激活 / 主题缺少 wp_footer() / JS冲突检查插件状态→检查主题模板→浏览器控制台排查
发送后一直加载API密钥无效 / 服务器无法访问外网 / 超时验证密钥→测试连通性→增大超时值
回复无打字效果服务器缓冲未关闭 / CDN缓存 / gzip压缩检查Nginx配置→关闭CDN缓冲→确认未强制gzip
Trilium保存失败服务未运行 / Token错误 / 文件夹ID不对验证Trilium可访问→检查Token→确认ID
上下文功能无效未安装Agent子插件 / Trilium中无记录安装Agent→先保存几次对话
Gutenberg块找不到WordPress版本过低 / 块编辑器被禁用升级到5.8+→检查禁用插件
Ollama连接失败服务未启动 / 防火墙 / 地址错误ollama serve 启动→检查端口→确认URL
模型列表为空缓存过期 / API不可达点击"刷新模型列表"按钮→验证网络

插件内置了完善的日志系统。当WordPress的 WP_DEBUGtrue 时自动开启最详细的调试日志,日志存储在数据库中并自动定期清理。


十二、进阶路径与更大的愿景

1. 从用户到构建者 🚀

使用者的进阶

  • 构建3~5套针对你具体工作场景的Gutenberg工作流页面
  • 实践"渐进式研究"——选一个主题,持续一个月保持上下文对话,观察知识如何累进
  • 结合n8n实现自动化:RSS采集→AI总结→保存到Trilium→WordPress发布

开发者的进阶

  • 研究插件源码时重点关注架构而非细节——理解为什么用策略模式抽象提供者、为什么前端选择原生JS而非框架、为什么日志系统采用缓冲写入
  • 尝试通过开放的过滤器钩子开发自定义AI提供者适配器
  • 探索MCP(Model Context Protocol)与Trilium的集成——这是AI与外部工具交互的新兴标准

知识工作者的进阶

  • 阅读梅棹忠夫的《智识的生产技术》——理解"信息处理"的底层方法论,这本半个世纪前的著作与Trilium+AI的实践形成了惊人的呼应
  • 关注Brave基地关于"主权个人"的系列课程和讨论——理解数据自治在AI时代的深层意义
  • 刻意实践"增强思维记录":每次有价值的AI对话都保存,定期回顾、整理和升华

2. 更大的图景:从工具到基础设施 🌍

TriliumAI Chat不是一个孤立的产品。把它放到Brave基地正在构建的更大生态中来看:

信息输入层:RSS聚合(Miniflux)→ Web Clipper → 手动笔记
      ↓
知识存储层:Trilium Notes(自托管、层级结构、ETAPI开放接口)
      ↓
知识连接层:Trilium WP(WordPress ↔ Trilium 双向通道)
      ↓
智能处理层:TriliumAI Chat + Agent(AI对话、分析、综合研究)
      ↓
知识输出层:WordPress发布 → Gutenberg工作流 → 社区分享
      ↓
自动化层:n8n(连接所有环节,实现自动化管道)

这是一套从信息采集、知识管理、AI增强分析到内容发布的完整基础设施——每一层都是自托管的、你控制的、开放可扩展的。

正如Brave基地所践行的——"主权个人掌控AI",这一理念的核心并非要求每个个体都去从零构建AI大模型,其真正含义在于探索并实现一种由主权个人主导的、深度融合的"人机协同"模式。


结语:工具背后的选择

TriliumAI Chat插件在技术上并不追求"惊艳"——它没有使用前沿的前端框架,没有酷炫的3D动画,甚至它的Markdown解析器都是从零手写的而非引入一个流行的开源库。

但正是这些看似"朴素"的选择,体现了一种深思熟虑的设计哲学:

  • 零外部前端依赖意味着不受第三方库更新和废弃的影响
  • 手写Markdown解析器意味着完全可控、无安全隐患
  • 多提供者+开放扩展架构意味着永不被任何AI公司绑定
  • Trilium WP + AI Chat的子插件分层意味着关注点分离、可独立演进
  • 自托管 + Trilium意味着数据始终在你手中
  • 缓冲日志、自动重试、安全净化意味着生产级的可靠性

在一个大多数AI工具都在追求"让用户用起来更方便"(同时也更依赖平台)的时代,TriliumAI Chat选择了另一条路:把控制权交给使用者。 你决定用哪个模型、你决定数据存在哪里、你设计自己的工作流、你拥有自己的知识库和提示词库。

这条路确实更"麻烦"。你需要部署服务器、配置API密钥、安装多个插件、设计工作流。但正如"主权个人"理念所揭示的:在一个数据即权力的时代,方便往往以交出控制权为代价。而TriliumAI Chat为那些不愿做出这种交换的人,提供了一个切实可行的替代方案。

Gutenberg提示词块预示的未来尤其令人期待——一个普通人不需要编程就能设计AI工作流的未来,一个知识可以在"人→笔记→AI→人→笔记"的循环中不断增值的未来,一个你的工作流程不会因为某个商业产品的关闭而消失的未来。

这款插件,是通向那个未来的一块基石。


Sources:

回复