Mindket

基于 Notion 知识库的聊天,在 Supabase 里保持最新

新上架第 1 版 · 更新于

概览

一个 n8n 工作流,让 Supabase 表和 Notion 数据库保持一致。被编辑的页面会重新读取、切片并再次嵌入,聊天窗口根据已存的片段回答问题。

基于 Notion 知识库的聊天,在 Supabase 里保持最新 是一款 n8n 工作流,属于效率类,由 Mindket 上架。可免费获取。当前为第 1 版,最近更新于 。在本页下载,或复制它的 JSON,再导入 n8n 画布。在 n8n 里启用之前,它不会运行。

速览

用在
  • n8n Cloud:导入文件并发布
  • 你自己的 n8n 服务器:同一个文件,同样的步骤
  • Notion:人们会编辑其页面的数据库,共享给你的 Notion 集成
  • Supabase:带一个与嵌入模型相配的向量列的表

平台

连接 3 个应用

运行方式

触发

Notion 里有页面被编辑

每分钟运行一次,在你的 Notion 数据库里找最近一分钟内被编辑的页面。每个页面带来:

  • 页面的 id 和名称
  • 页面上的所有块,包括嵌套的块

动作

  1. 从 Supabase 删除该页面的旧片段
  2. 读取整个页面,把文字合成一段
  3. 把文字切成每块 500 个 token 的片段
  4. 用 OpenAI 把片段变成向量,并存进 Supabase
  5. 在聊天窗口里,根据最接近的已存片段回答问题

结果

一张和你编辑过的 Notion 页面保持一致的 Supabase 表,以及基于它的聊天回答

集成

开始之前要准备好这些。

Notion

页面来源

列出被编辑的页面并读取它们的块。

需要一个 Notion 集成令牌,和一个共享给它的数据库

OpenAI

嵌入与回答

把片段变成向量,并写出聊天回答。

需要一个 OpenAI API 密钥

Supabase

向量存储

存放片段,并找出最接近问题的那些。

需要一个 Supabase 项目,和一张带 1536 维向量列的表

工作流检查

由 Mindket 于 2026年11月13日检查

步骤
12 个步骤,按计划或由聊天消息启动
执行不到
1 个节点不在任何运行路径上:Notion Trigger
AI
2 个步骤调用 AI 模型:Insert Page Chunks、Question and Answer Chain
登录
需要登录:Notion、Supabase、OpenAI
API 密钥
文件里没有留下 API 密钥
步骤类型
Mindket 的检查器能读懂它全部 10 种步骤类型

以上内容读自工作流文件,并非实际运行的结果。

关于

它是什么

这个 n8n 工作流在 Supabase 里保存一份 Notion 数据库的副本,并让你和它聊天。每分钟它都会找一次最近一分钟内被编辑的页面。对每个页面,它先删掉旧片段,再读取整个页面,嵌套的块也包括在内。它把文字切成每块 500 个 token 的片段,用 OpenAI 嵌入后存起来。另一部分在 n8n 的聊天窗口里,根据最接近的已存片段回答问题。十九个节点负责运行,其中一个是关着的,另有三个便签。

适合谁

把知识放在 Notion 里、想用大白话向它提问的团队。它适合人们整天都在编辑的数据库,因为编辑会替换掉旧片段。如果你的页面里有不想发给 OpenAI 的文字,就别选它。

谁在用,怎么用
行业谁在用怎么用例子
客服服务台向客服人员不断编辑的帮助页面提问一位客服问退款怎么办,得到一个根据退款页面生成的回答。
运营办公室团队询问内部规定和检查清单一位新员工问谁来批准一次采购,得到页面里的答案。
人事团队人力资源用大白话搜索制度一位经理问某个岗位有多少天假。
软件开发团队询问运行手册和决定一位工程师问队列积压时该怎么办。

你需要懂 n8n 的设置:导入文件、添加三个凭据,并在 Supabase 里准备一张表。

用在哪里

任何能访问 Notion、OpenAI 和你的 Supabase 项目的 n8n 都能运行它。

  • n8n Cloud:导入文件并发布
  • 你自己的 n8n 服务器:同一个文件,同样的步骤
  • Notion:人们会编辑其页面的数据库,共享给你的 Notion 集成
  • Supabase:带一个与嵌入模型相配的向量列的表

设置

点“下载”会把一个压缩包存到你的下载文件夹,里面有 workflow.json 和 Mindket 写的设置说明。设置就是三个凭据、一个数据库 id 和一张表。

先准备好这些
需要说明
n8nn8n Cloud,或你自己的服务器
Notion一个集成令牌(在 n8n 里作为 Notion 凭据),和一个共享给该集成的数据库
OpenAI一个 API 密钥,在 n8n 里作为 OpenAI 凭据添加
Supabase一个项目、它的主机地址和密钥(作为 Supabase 凭据),以及一张名为 documents、带 content、metadata 和 1536 维向量列的表
  1. 在 n8n 里新建一个工作流,打开它的菜单,选 Import from File,选中 workflow.json。
  2. 添加一个 Notion 凭据,并在 Get Edited Pages 和 Get Page Blocks 里选上它。在 Get Edited Pages 里,把 <YOUR_NOTION_DATABASE_ID> 换成你数据库的 id,也就是它链接里的那 32 个字符。
  3. 在 Supabase 里建一张名为 documents 的表。照 Supabase 的向量列指南,以及 n8n 关于它的 Supabase 向量存储的说明来做。Mindket 没有贴出相应的 SQL。
  4. 添加一个 Supabase 凭据,并在 Delete Old Chunks、Insert Page Chunks 和 Search Page Chunks 里选上它。
  5. 添加一个 OpenAI 凭据,并在 OpenAI Embeddings 和 OpenAI Chat Model 里选上它。
  6. 发布工作流,编辑数据库里的一个页面,等两分钟。然后打开聊天窗口,问问那个页面的内容。

如何使用

让工作流保持发布状态,照常编辑页面。每个被编辑的页面会在几分钟内被表里的新内容替换。你可以随时在 n8n 的聊天窗口里提问。

想换个结果,改这里
想改的在哪里改
数据库Get Edited Pages
多久检查一次页面Check Every Minute
片段大小Token Splitter
每个片段附带的元数据Load Page and Add Metadata
负责回答的模型OpenAI Chat Model
表Delete Old Chunks、Insert Page Chunks 和 Search Page Chunks

示例

你编辑了一个名为 Refund policy 的页面,之后在聊天里问了一个和它有关的问题。

Question: How many days do customers have to ask for a refund?

聊天会找出 Refund policy 页面里离这个问题最近的已存片段,并让模型根据它们作答。

新手与专家

新手:n8n 把工作流画成用线连起来的方框,每个方框叫一个节点,只做一件事。这个工作流把你的 Notion 页面复制进一张特殊的表,再根据这张表回答问题。先用几个短页面试试。

专家:删除这一步靠的是每个片段元数据里的页面 id,所以一个页面的每个片段都必须带着这个 id。

想看细一点,看这里
节点它做什么要知道的
Get Edited Pages列出最后编辑时间等于一分钟前的页面这是精确的时间匹配,Mindket 没有对照 Notion 的时间戳检查过
Loop Over Items一次处理一个页面最后一个页面存好后,循环结束
Delete Old Chunks删除这个页面已存的片段Always Output Data 是开着的,所以没有旧片段的新页面也会继续往下走
Get Page Blocks读取页面的每一个块包含嵌套的块
Insert Page Chunks存下片段和它们的向量元数据里有页面 id 和名称
Chat Message Received打开聊天不是公开的,所以聊天只在 n8n 里运行
Question and Answer Chain根据最接近的片段作答使用 gpt-6-luna,只用已存的片段

注意事项

在 Notion 里被删除的页面,不会从表里删掉。

  • 修复:gpt-4o 将在 2027 年 1 月 14 日退役,所以聊天模型改成 gpt-6-luna。嵌入这一步自己指明 text-embedding-3-small。加载器现在读合并后的文字,不再把整项写成 JSON 去嵌入。Notion 数据库是占位符
  • 聊天权限:聊天触发器被设成不公开。把它公开又不加认证,会让任何人都能花你的 OpenAI 额度
  • 时机:编辑页面的过滤条件和一分钟的计划都保持原样。过滤条件在那一分钟里没抓到的页面,之后不会再被补上,所以请用几次编辑来测试
  • 表:向量列必须和模型相配,元数据列必须能放下页面 id
  • 密钥:Supabase 的 secret key 会跳过行级安全,所以把它留在 n8n 里,永远不要放进页面或浏览器
  • 数据:页面文字会发给 OpenAI 和你的 Supabase 项目,提的问题也会发给 OpenAI
  • 没有运行过:Mindket 没有用 Notion、OpenAI 或 Supabase 运行过它,也没有为它检查过一张表
  • 凭据:JSON 里没有任何凭据

README 和文件

README

基于 Notion 知识库的聊天,在 Supabase 里保持最新

一个 n8n 工作流,让 Supabase 表和 Notion 数据库保持一致。每分钟它都会找一次最近一分钟内被编辑的页面,删掉它们的旧片段,
重新读取每个页面,把它切成片段,再用 OpenAI 嵌入。一个聊天窗口根据已存的片段回答问题。

里面有什么

  • workflow.json:n8n 导出的工作流,22 个节点。三个是便签,另有一个 Notion 触发器一开始是关着的。里面没有任何凭据。
  • README.md:这份说明。

和原来的副本相比,我们改了什么

  • 原来用的是 gpt-4o,它将在 2027 年 1 月 14 日退役。聊天模型现在是 gpt-6-luna。这条链不用任何工具,
    所以这个模型合适。
  • 嵌入这一步现在自己指明 text-embedding-3-small。节点的旧版本在没有指明模型时,会选一个更老的模型。
  • 加载页面文字的那一步现在读合并后的文字。以前它把整项写成 JSON 去嵌入。
  • 聊天触发器原来对任何有链接的人开放。现在它被设成不公开,所以聊天只在 n8n 里运行。
  • Notion 数据库原来是私有的。现在它是占位符 <YOUR_NOTION_DATABASE_ID>。
  • 几个节点改了名,说明它们做什么,名字里也不再有带空格的连字符。连线没有变。
  • 用朴素的话加了三个便签。

开始之前

  • 一个 Notion 集成令牌,和一个共享给该集成的数据库。
  • 一个 OpenAI API 密钥。
  • 一个 Supabase 项目、它的主机地址和密钥,以及一张名为 documents、带 content、metadata 和 1536 维向量列的表。
    照 Supabase 的向量列指南,以及 n8n 关于它的 Supabase 向量存储的说明来做。Mindket 没有贴出相应的 SQL,也没有为这个工作流
    检查过一张表。

设置

  1. 在 n8n 里新建一个工作流,打开它的菜单,选 Import from File。选中 workflow.json。
  2. 添加一个 Notion 凭据,并在 Get Edited Pages 和 Get Page Blocks 里选上它。在 Get Edited Pages 里,把
    <YOUR_NOTION_DATABASE_ID> 换成你数据库的 id,也就是它链接里的那 32 个字符。
  3. 在 Supabase 里建好表。添加一个 Supabase 凭据,并在 Delete Old Chunks、Insert Page Chunks 和
    Search Page Chunks 里选上它。
  4. 添加一个 OpenAI 凭据,并在 OpenAI Embeddings 和 OpenAI Chat Model 里选上它。
  5. 发布工作流,编辑数据库里的一个页面,等两分钟。然后打开聊天窗口,问问那个页面的内容。

一次运行的过程

  1. Check Every Minute 启动一次运行,Get Edited Pages 列出最后编辑时间等于一分钟前的页面。
  2. Input Reference 把页面交给 Loop Over Items,它一次取一个页面。
  3. Delete Old Chunks 删除元数据里带着这个页面 id 的已存片段。它总会输出一项,所以没有旧片段的新页面也会继续往下走。
    Keep One Delete Result 确保只有一项继续往下。
  4. Get Page Blocks 读取页面的每一个块,嵌套的块也包括在内。Join Blocks Into One Text 把它们的文字连成
    字段 concatenated_content。
  5. Load Page and Add Metadata 把这段文字包成一份文档,带上页面 id 和名称。Token Splitter 把它切成每块 500 个 token 的片段,
    OpenAI Embeddings 把它们变成向量,Insert Page Chunks 把它们存起来。然后循环取下一个页面。
  6. 在聊天里,Chat Message Received 把问题交给 Question and Answer Chain。Search Page Chunks 和
    Vector Store Retriever 找出最接近的片段,OpenAI Chat Model 根据它们作答。

想换个结果,改这里

  • 数据库:Get Edited Pages。
  • 多久检查一次页面:Check Every Minute。关着的 Notion Trigger 做的是同一件事,可以用它来替换。
  • 片段大小:Token Splitter。
  • 元数据:Load Page and Add Metadata。请保留 id,因为删除这一步要用它。
  • 负责回答的模型:OpenAI Chat Model。
  • 表:Delete Old Chunks、Insert Page Chunks 和 Search Page Chunks。

值得知道的事

  • 在 Notion 里被删除的页面,不会从表里删掉。
  • 编辑页面的过滤条件,是拿最后编辑时间和一分钟前的那个精确时刻比较。Mindket 没有对照 Notion 的时间戳检查过。
    过滤条件在那一分钟里没抓到的页面,之后不会再被补上,所以请用几次编辑来测试。如果有页面漏掉,就改一改过滤条件,
    或者改用关着的 Notion Trigger。
  • 聊天触发器被设成不公开。把它公开又不加认证,会让任何人都能花你的 OpenAI 额度。
  • 向量列必须和模型相配,元数据列必须能放下页面 id。
  • Supabase 的 secret key 会跳过行级安全。把它留在 n8n 里,永远不要放进页面或浏览器。
  • 页面文字会发给 OpenAI 和你的 Supabase 项目,提的问题也会发给 OpenAI。
  • Mindket 没有用 Notion、OpenAI 或 Supabase 运行过这个工作流。
文件
NOTICE.md  611 B
README.md  5 KB
workflow.json  13 KB

3 个文件,共 18 KB,以 zip 压缩包下载。

更新内容

  • 第 1 版 · 2026-11-12

评价

还没有评分

写评价

还没有评价。

Mindket 的更多商品

查看 Mindket 的全部商品

anaksor-ocr

Sokheng · 工具包

这个模型从文档、收据和路牌照片里读取高棉语和英语文字,用一个检测器找文本行,再用识别器读每一行。适合需要在 Python 里做高棉语 OCR 的开发者。

新上架

Qwen2.5-7B-Instruct-GGUF

Qwen · 工具包

Qwen2.5-7B-Instruct 的 GGUF 文件,提供八种量化大小,可通过 llama.cpp 在本地聊天。适合想在自己电脑上用 7.6B 强力模型、又不想搭 Python 环境的人。

新上架

ACE-Step 1.5 XL SFT

ACE-Step · 工具包

用 4B 扩散解码器根据文字生成音乐,50 步并带引导控制,音频质量高于基础版。适合拥有 12 GB 或更多显存 GPU 的创作者。

新上架

效率类的相似商品

查看效率类的全部商品

Guizang PPT Skill

op7418 · 技能

能生成单文件 HTML 幻灯片、幻灯片配图和多平台封面的技能,有两套视觉风格,还带演讲者模式用于排练。适合使用 Claude Code 或 Codex 的演讲者。

新上架29.8k

Frontend Slides

zarazhangrui · 技能

从零开始或从 PowerPoint 文件生成 HTML 演示文稿,并展示几种视觉风格预览供你挑选,适合不懂 CSS 和 JavaScript、又想做网页幻灯片的人。

新上架32.3k

IPTV

iptv-org · 工具包

把来自多个国家的公开电视直播频道整理成播放列表,任何支持直播流的视频播放器都能打开。适合想看直播的观众,也适合需要频道数据的开发者。

新上架144k