用n8n做AI工作流驱动网站出海赚美金1:连接Supabase数据库

摘要

分享如何用n8n替代Python后端,构建AI工作流自动处理网站提交、爬取、AI生成描述和多语言翻译,降低出海网站运营成本并提升效率。

年初的时候我做了一个 AI 编程工具的导航网站,打算流量上来后就可以接谷歌广告赚美金:

https://www.aicoding.help/cn

设想是根据 AI 编程开发的流程来推荐每个阶段的效率工具:灵感与想法、原型与设计、编程开发、数据库与存储、部署上线、扩展能力、数据分析、内容管理、协作与运营

目前挂在了 vercel 上,感兴趣可以去看看,但实际上还有很多问题,待一步一步解决。

具体这个网站是怎么做的,可以参考之前的文章,基于 Tap4AI 项目:

这个导航网站分成两部分

  • 前端页面的展示,主要痛点就是怎么把网站设计的好看且合理

  • 后端数据的处理,前端页面其实不存数据,每次用户打开网站的时候,都是直接从数据库里读数据的

这样的好处就是维护方便,因为前端页面要改的话是要重新部署上线的,很麻烦。

例如我数据库用的是Supabase,如果哪个内容写错了,我只需要对 Supabase 里的内容进行修改就行了,有新网站也可以直接在数据库里添加即可。

所以,目前这个网站的工作量在于后端,看着简单其实挺麻烦的,日常运营有以下几个动作:

  1. 提交新的网站

  2. 爬虫,去爬新的网站,截图,AI 生成相应的描述

  3. 把描述翻译成多个语言,例如我至少是中英日

  4. 写 SEO 文章,让谷歌收录

具体可以看这个图:

目前这个后端是真的离谱,有一个单独的 Python 项目来跑,实在是太重了。

因为最近都在玩 n8n,而且 n8n 对接的都是海外的服务,很适合出海做后端服务。

我在想是不是可以把这个 Python 后端转成 n8n 的工作流呢?

说干就干,一步一步来。

需求拆解

首先,解决第一步:提交新网站的需求。

在数据库,我有一个 submit 表,用户提交网站请求后,会插入到这里,包含名称、网址、分类、描述等字段,状态 status 是 0

等爬虫把这网站爬完,处理好数据后,状态会更新为 1,证明处理完了。

目前这一步我是很苦逼的自己写了个 python 脚本来手动插入数据的。

今天我们就来解决这个问题,通过 n8n 提交网站到数据库 supabase

n8n 连接 Supabase

首要任务就是让 n8n 连上 Supabase

但在此之前,需要先找到两个关键的 key:

在 Supabase 的 Project Settings 里找到 API Keys,下面的 service_role secret

同个目录的 General 找到 Project ID

接着就可以回到 n8,创建一个 Supabase 的 Create a row 节点

老规矩,先新建一个 Cred,然后把前面找到的两个信息填入

其中 Host,一般就是你的 proejct id + supabase.co 后缀,如下图。

用例测试

测试一下,假设我们要提交 bolt.new 这个全栈 AI 开发网站

配置对应的信息

  • Name: bolt.new

  • Url: https://bolt.new/

  • Category: 编程开发

  • remarkBolt is an in-browser AI web development agent for full stack web application development.

只要前面连接成功的话,这里就会自动从 supabase 中获取表格结构,你只需要去选字段就好了,非常方便

如下图,n8n 表示测试成功

同时,在 supabase 里也能看到,多了一行。

完成工作流

在正式开发工作流之前,要先想清楚自己想要的产品是什么样子的。

例如当前这个项目,我想要的是:只要给一个网站,AI 就能自动判断它是什么,并给出对应的信息,进而插入到 Supabase 表的位置。

这样拆解下来,就需要做:

  1. AI 从用户给的信息中解析出网址

  2. 判断用户有没给更多信息,例如名称、描述、分类

  3. 如果没有,则访问该网址,判断是什么,生成名称、描述、分类

  4. 对结果进行结构化输出

  5. 传入到 supabase 的 submit 表

先看效果:

现在我只给一个魔塔社区的网站 https://www.modelscope.cn/

就能看到 AI Agent 调用了 Jina AI 的工具去读网址,并且根据要求输出了格式

接下来看每个节点。

  1. 新建一个 AI Agent 节点:

对接上前面的用户对话框里的输入

参考提示词:

我在给一个AI编程工具导航网站提交新的网站录用,需要你从用户给的信息中提取出以下内容:

{
"name": "这个网站工具的名称",
"Url": "这个网站的网址",
"Category":"分类,只能从 灵感与想法、原型与设计、编程开发、数据库与存储、部署上线、扩展能力、数据分析、内容管理、协作与运营 中选择一个",
"remark":"这个网站工具的简单介绍不超过 50 字"
}


更具体的,你需要做:
1. AI从用户给的信息中解析出网址
2. 判断用户有没给更多信息,例如名称、描述、分类
3. 如果没有更多信息,则要调用工具`jina AI reader`访问该网址,根据返回内容判断这网站是什么,生成名称、描述、分类
4. 对结果进行结构化输出

可以看到这个 AI Agent 还是挺能配置的,这就是 n8n 的优势,非常自由

在工具 Tool 的部分,配置一个 Jina AI 工具,这是一个能帮助我们读取网址内容的工具

很简单,用谷歌登录一下就有 key 了

如下图,URL 这里可以让大模型自己去判断

格式化输出这里给个例子就行

  1. 接着就可以连上 Supabase 节点了,把 AI 拆解好的内容分到对应位置:

非常简单!!

不过每次要打开 n8n 工作流里面去提交就太麻烦了,我们可以用 n8n 内置的表单功能

  1. 新建一个表单

设置好需要的参数:

执行的时候,就自动生成好了一个表单网站了

因为新增了一个表单,传入到 AI 节点的数据结构不同了,所以我就添加了几个数据处理节点,最终同样也能向数据库提交数据。

至此,我们就完成了第一阶段的改造,把原先通过 Python 提交网站的功能,变成了 n8n 的工作流,并且可以通过表单的形式提交;甚至后面可以改成 webhook 的监听,或者改造成 mcp,更加自由的添加网站。

可玩性非常高!!

接下来会继续更新 用n8n驱动网站出海赚美金 系列,帮助大家用 n8n 降低开发和运营成本。

欢迎关注。




👤 关于作者:饼干哥哥 & NGS
我是饼干哥哥,数据分析师、AI 博主,和出海业务专家朋友创立了公司 NGS NextGrowthSail,专注 AI 在出海营销场景下的落地。这让我想起 NGS 在服务出海客户时,正是利用类似的 n8n 自动化工作流解决了内容更新效率低的问题,让团队更专注于增长策略。

发表评论