Mindket

Notion 页面用 OpenAI 嵌入存入 Supabase

新上架第 1 版 · 更新于

概览

一个 n8n 工作流,监视 Notion 数据库里的新页面。它读取每个页面,把文字切成片段,用 OpenAI 嵌入模型变成向量,再存进 Supabase 表。

Notion 页面用 OpenAI 嵌入存入 Supabase 是一款 n8n 工作流,属于开发类,由 Mindket 上架。可免费获取。当前为第 1 版,最近更新于 。在本页下载,或复制它的 JSON,再导入 n8n 画布。在 n8n 里启用之前,它不会运行。

速览

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

平台

连接 3 个应用

运行方式

触发

Notion 里新增一个页面

你的 Notion 数据库里出现新页面时开始运行,每分钟检查一次。它带来:

  • 页面的 id、标题和创建时间
  • 页面上的所有块

动作

  1. 读取新页面的块,跳过图片和视频
  2. 把各个块的文字合成一段
  3. 把文字切成每块 256 个 token 的片段
  4. 用 OpenAI 嵌入模型把片段变成向量,并存进 Supabase

结果

页面的文字以向量的形式存在你的 Supabase 表里,页面 id、标题和创建时间作为元数据

集成

开始之前要准备好这些。

Notion

页面来源

监视数据库里的新页面,并读取它们的块。

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

OpenAI

嵌入模型

把每个文字片段变成一个向量。

需要一个 OpenAI API 密钥

Supabase

向量存储

把片段和它们的向量存进一张表。

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

工作流检查

由 Mindket 于 2026年11月13日检查

步骤
5 个步骤,由 Notion 事件启动
AI
1 个步骤调用 AI 模型:Store in Supabase
登录
需要登录:Notion、Supabase、OpenAI
API 密钥
文件里没有留下 API 密钥
步骤类型
Mindket 的检查器能读懂它全部 5 种步骤类型

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

关于

它是什么

这个 n8n 工作流把 Notion 数据库里的每个新页面变成几行可搜索的向量。每分钟它都会在你选定的数据库里找一次新增的页面。它读取页面的块,跳过图片和视频,把文字合成一段。一个 token 切分器把文字切成每块 256 个 token、略有重叠的片段。OpenAI 嵌入模型把每个片段变成一个向量。Supabase 把这些片段存进一张表,页面 id、标题和创建时间作为元数据。八个节点负责运行,另有一个便签。

适合谁

想搜索或聊天 Notion 页面、并且已经把数据放在 Supabase 里的人。如果你没有 Supabase 项目,就别选它。它只处理新页面,所以之后的编辑不会进入这张表。它只负责往表里写,不负责读。

谁在用,怎么用
行业谁在用怎么用例子
软件产品团队给规格和决定建索引,让助手能据此回答一个团队把每个决定存成一个页面,之后问机器人当初为什么这么定。
客服服务台把答案放在 Notion 里,按含义搜索一位客服查一个过去的案例是怎么解决的。
咨询小型公司建一个可搜索的客户笔记库一位顾问给每次通话建一个页面,再按主题搜索。
教育课程团队让人能从一个问题找到课程页面一位导师查找讲解某个主题的页面。

你需要懂 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、带 1536 维向量列的表
  1. 在 n8n 里新建一个工作流,打开它的菜单,选 Import from File,选中 workflow.json。
  2. 添加一个 Notion 凭据,并在 Page Added in Notion 和 Get Page Blocks 里选上它。在 Page Added in Notion 里,把 <YOUR_NOTION_DATABASE_ID> 换成你数据库的 id,也就是它链接里的那 32 个字符。
  3. 在 Supabase 里建一张名为 documents、带 1536 维向量列的表。照 Supabase 的向量列指南做。Mindket 没有贴出相应的 SQL。
  4. 添加一个 Supabase 凭据,并在 Store in Supabase 里选上它。如果你的表叫别的名字,就在那里改。
  5. 添加一个 OpenAI 凭据,并在 OpenAI Embeddings 里选上它。
  6. 发布工作流,然后往数据库里加一个测试页面,等一分钟。

如何使用

让工作流保持发布状态,往数据库里加页面。每个新页面会在几分钟内被切分、嵌入并存好。再从另一个工作流或工具里去搜索这张表。

想换个结果,改这里
想改的在哪里改
数据库Page Added in Notion
跳过哪些块Filter Non-Text Content 里的条件
片段大小和重叠Token Splitter
每个片段附带的元数据Load Page and Add Metadata
嵌入模型OpenAI Embeddings,以及表里的向量列
表Store in Supabase

示例

你往数据库里加了一个页面,名为 Onboarding guide,有三段文字。

pageId: 0a1b2c3d4e5f60718293a4b5c6d7e8f9, createdTime: 2026-11-12T09:30:00.000Z, pageTitle: Onboarding guide

这个页面存下的每个片段都带着这三个值作为元数据,所以一条搜索结果可以指回这个页面。

新手与专家

新手:n8n 把工作流画成用线连起来的方框,每个方框叫一个节点,只做一件事。这个工作流把你的 Notion 页面复制进一张能按含义找文字的特殊表。先用一个短页面试试。

专家:文字以一个叫 concatenated_content 的字段送到文档加载器。

想看细一点,看这里
节点它做什么要知道的
Page Added in Notion轮询数据库里的新页面Simplify 是关着的,所以返回带着全部属性的原始页面
Get Page Blocks读取页面的块只读直接放在页面上的块,不读嵌套的
Filter Non-Text Content去掉图片和视频块其余都保留
Join Blocks Into One Text用换行把各块的文字连起来每个页面一项
Load Page and Add Metadata把文字包成一份文档标题取自页面的标题属性,不管它叫什么名字
OpenAI Embeddings生成向量text-embedding-3-small,得到 1536 个数
Store in Supabase插入这些片段每次运行都会新增行,从不删除旧的

注意事项

这个工作流只负责往表里写。从表里读取是另一件事。

  • 修复:嵌入这一步现在自己指明 text-embedding-3-small,而节点的旧版本会选一个更老的模型。加载器原来在一个表达式里读一个带撇号的节点名,这会让它出错,所以它现在直接读合并后的文字。标题从放着它的那个属性里读,数据库是占位符
  • 表:向量列必须和模型相配。大小不同的列会让每次插入都失败
  • 密钥:Supabase 的 secret key 会跳过行级安全,所以把它留在 n8n 里,永远不要放进页面或浏览器
  • 只处理新页面:之后被你编辑或删除的页面,在表里保持原样,一个页面运行两次就会存两次
  • 嵌套的块:只读直接放在页面上的块。折叠块和嵌套列表里面的文字不会被加进来
  • 数据:页面文字会发给 OpenAI 和你的 Supabase 项目
  • 没有运行过:Mindket 没有用 Notion、OpenAI 或 Supabase 运行过它,也没有为它检查过一张表
  • 凭据:JSON 里没有任何凭据

README 和文件

README

Notion 页面用 OpenAI 嵌入存入 Supabase

一个 n8n 工作流,监视 Notion 数据库里的新页面。它读取每个页面,把文字合在一起,切成片段,再用 OpenAI 嵌入模型把片段变成向量。
Supabase 把这些片段存进一张表,页面 id、标题和创建时间作为元数据。

里面有什么

  • workflow.json:n8n 导出的工作流,九个节点,其中一个是便签。里面没有任何凭据。
  • README.md:这份说明。

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

  • 嵌入这一步现在自己指明 text-embedding-3-small。节点的旧版本在没有指明模型时,会选一个更老的模型。
  • 加载页面文字的那一步,原来在一个表达式里读另一个节点的名字,而这个名字里的撇号让表达式出了错。现在它直接读送进来的那一项里的合并文字。
  • Notion 数据库原来是私有的。现在它是占位符 <YOUR_NOTION_DATABASE_ID>。
  • 页面标题原来从一个叫 Name 的属性里读。现在改成从放着标题的那个属性里读,所以你的数据库把它叫别的名字也能用。
  • 几个节点改了名,说明它们做什么,名字里也不再有带空格的连字符。连线没有变。
  • 用朴素的话加了一个便签。

开始之前

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

设置

  1. 在 n8n 里新建一个工作流,打开它的菜单,选 Import from File。选中 workflow.json。
  2. 添加一个 Notion 凭据,并在 Page Added in Notion 和 Get Page Blocks 里选上它。在 Page Added in Notion 里,把
    <YOUR_NOTION_DATABASE_ID> 换成你数据库的 id,也就是它链接里的那 32 个字符。
  3. 在 Supabase 里建好表。添加一个 Supabase 凭据,并在 Store in Supabase 里选上它。如果你的表叫别的名字,就在那里改。
  4. 添加一个 OpenAI 凭据,并在 OpenAI Embeddings 里选上它。
  5. 发布工作流,然后往数据库里加一个测试页面,等一分钟。

一次运行的过程

  1. Page Added in Notion 找到一个新页面。Simplify 是关着的,所以这一项里是带着全部属性的原始页面。
  2. Get Page Blocks 读取直接放在页面上的块。
  3. Filter Non-Text Content 去掉类型是图片或视频的块。
  4. Join Blocks Into One Text 把剩下各块的文字连起来,一块一行,放进字段
    concatenated_content。
  5. Load Page and Add Metadata 把这段文字包成一份文档,带上页面 id、创建时间和页面标题。
    Token Splitter 把它切成每块 256 个 token、重叠 30 的片段。
  6. OpenAI Embeddings 把每个片段变成向量,Store in Supabase 把这些片段插入你的表。

想换个结果,改这里

  • 数据库:Page Added in Notion。
  • 跳过哪些块:Filter Non-Text Content 里的条件。
  • 片段大小和重叠:Token Splitter。
  • 元数据:Load Page and Add Metadata。
  • 嵌入模型:OpenAI Embeddings。表里的向量列要跟着改。
  • 表:Store in Supabase。

值得知道的事

  • 这个工作流只负责往表里写。搜索是另一个工作流的事。
  • 向量列必须和模型相配。大小不同的列会让每次插入都失败。
  • Supabase 的 secret key 会跳过行级安全。把它留在 n8n 里,永远不要放进页面或浏览器。
  • 只处理新页面。之后被你编辑或删除的页面,在表里保持原样,一个页面运行两次就会存两次。
  • 只读直接放在页面上的块。折叠块和嵌套列表里面的文字不会被加进来。
  • 页面文字会发给 OpenAI 和你的 Supabase 项目。
  • Mindket 没有用 Notion、OpenAI 或 Supabase 运行过这个工作流。
文件
NOTICE.md  659 B
README.md  4 KB
workflow.json  7 KB

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

更新内容

  • 第 1 版 · 2026-11-12

评价

还没有评分

写评价

还没有评价。

Mindket 的更多商品

查看 Mindket 的全部商品

Bonsai-27B-GGUF

lmstudio-community · 工具包

面向 LM Studio 的 27B Bonsai 模型 GGUF 转换版,含 3.80 GB 的 Q1_0 语言文件和 0.93 GB 的 BF16 视觉投影器。已测试文本、视觉和并行工具调用。

新上架

以每权重 2.9 位的 EXL3 量化运行 DeepSeek-V4.1-Flash-1017,这是一份 196 GiB 的副本,适合在自己硬件上部署大模型的人。困惑度与原模型相差不大。

新上架

MusicGen Small

facebook · 工具包

根据文字描述或音频提示生成短音乐片段,是 facebook MusicGen 的 small 检查点。适合想在自己电脑上试用文字生成音乐的开发者和音乐爱好者。

新上架

开发类的相似商品

查看开发类的全部商品

Lexnet

alpindale · 工具包

用一个只有约 984 个权重的小型神经网络,为 C 源代码的每个字符打上语法高亮标签,通过一个小小的 C 程序运行。适合对手工设计的网络好奇的开发者和研究者。

新上架

FLUX.2 Klein LoRA Studio

prithivMLmods · 工具包

在浏览器或你自己的电脑上,用一个 Gradio 应用试用 FLUX.2 Klein 图像模型的一组 LoRA。适合制作或测试 AI 图片的人。

新上架

anaksor-ocr

Sokheng · 工具包

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

新上架