Mindket

支持语音和文字的 SEO 关键词聊天助手

新上架第 1 版 · 更新于

概览

一个通过 webhook 回答文字或语音 SEO 问题的 n8n 工作流。一个带记忆的 Gemini 智能体通过你基于 DataForSEO 的子工作流,查关键词、排名和 Google 搜索结果。它用 Firecrawl 读网页,再用 Markdown 回答。

支持语音和文字的 SEO 关键词聊天助手 是一款 n8n 工作流,属于营销类,由 Mindket 上架。可免费获取。当前为第 1 版,最近更新于 。在本页下载,或复制它的 JSON,再导入 n8n 画布。在 n8n 里启用之前,它不会运行。

速览

用在
  • n8n Cloud:在那里新建一个工作流,把文件导入进去
  • 你自己的 n8n 服务器:同一个文件,前面没有 Cloudflare 时还要改一下 Memory
  • 你自己的聊天页面或应用:由它发问题、显示答案
  • Postman 或 curl:用来测试,文字用 JSON,语音用表单上传

平台

连接 3 个应用

运行方式

触发

网络请求

有 POST 请求发到 keywordresearch 这个 webhook 时开始运行,请求里有:

  • 类型,voice 或 text
  • 一段文字消息,或者 audio 字段里的一段录音
  • 一个国家名称
  • 一种语言名称

动作

  1. 为国家和语言查出 DataForSEO 的地区编号和语言代码
  2. 语音由 Gemini 转成文字,文字问题直接往下走
  3. 一个带记忆的 Gemini 智能体,通过你的子工作流调用关键词、排名和搜索工具
  4. Firecrawl 把智能体点名的网页读成 Markdown
  5. 答案以带表格和三条建议的 Markdown 发回给调用方

结果

一份 Markdown 格式的 SEO 回答,带关键词表格和三条下一步建议,发回给提问的应用

集成

开始之前要准备好这些。

Google Gemini

语言模型

为智能体和它的备用模型运行 Gemini 2.5 Flash,并把语音转成文字。

需要Gemini API 密钥

Firecrawl

网页抓取

把智能体点名的网页读成 Markdown,它的密钥也会传给你的子工作流,用来列出链接。

需要Firecrawl API 密钥,填在 `🦺 Set Data` 里

DataForSEO

关键词数据

响应你的子工作流发出的关键词、排名、搜索结果和 AI Mode 请求。

需要API 登录名和密码,在你的子工作流里使用

工作流检查

由 Mindket 于 2026年11月13日检查

步骤
8 个步骤,由 Webhook 调用启动
AI
2 个步骤调用 AI 模型:Transcribe Audio、Keyword AI Agent
登录
需要登录:Google Gemini、Firecrawl
API 密钥
文件里没有留下 API 密钥;有 1 处留空,需填入你自己的密钥
步骤类型
Mindket 的检查器能读懂它全部 7 种步骤类型

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

关于

它是什么

这个 n8n 工作流是一个 SEO 聊天的后端,接收文字问题和语音留言。你的应用把问题连同国家和语言一起发过来,一个 Gemini 智能体用带表格的 Markdown 回答。它的工具通过你基于 DataForSEO 搭的子工作流,查关键词建议、相关关键词、竞争对手的排名、Google 搜索结果和 AI Mode。智能体点名的网页由 Firecrawl 读取。答案在同一个请求里返回,每个调用方最近 12 轮对话都会被记住。整个流程有 19 个节点。

适合谁

想在自己的聊天窗口或应用里做关键词调研、而且已经在用 DataForSEO 的 SEO 顾问、代理公司和网站主。如果你想要一个现成的聊天页面,就别选它。它没有前端。子工作流要你自己搭。

谁在用,怎么用
行业谁在用怎么用例子
代理公司SEO 客户经理和客户开会前,先问竞争对手的排名一位客户经理问一家对手单车店在英国靠哪些关键词排名,拿到一张表。
电商店主用语音问产品关键词建议一位店主录了一个关于德国市场跑鞋的问题,读到带搜索量的关键词建议。
出版内容编辑动笔之前,先看 Google 搜索结果和 AI Mode一位编辑在规划文章之前,先看 AI Mode 对这个话题怎么回答。

你要熟悉 n8n 和 DataForSEO 的 API,因为子工作流由你来搭。作者估计设置要 7 分钟,这还没算上子工作流。

用在哪里

任何能访问 Google、Firecrawl 和 DataForSEO 的 n8n 都能运行它。调用方可以是任何能发 POST、能显示 Markdown 的应用。它不会把任何东西存进表格。

  • n8n Cloud:在那里新建一个工作流,把文件导入进去
  • 你自己的 n8n 服务器:同一个文件,前面没有 Cloudflare 时还要改一下 Memory
  • 你自己的聊天页面或应用:由它发问题、显示答案
  • Postman 或 curl:用来测试,文字用 JSON,语音用表单上传

设置

点“获取”会把一个压缩包存到你的下载文件夹,里面有 workflow.json 和 Mindket 的设置说明。

先准备好这些
需要说明
n8nn8n Cloud 或你自己的服务器都行
Google一个 Gemini API 密钥,给智能体和语音留言用
Firecrawl一个 API 密钥,用来读网页
DataForSEO一个 API 登录名和密码,在你的子工作流里使用
调用方你的应用,测试时用 Postman 也行
  1. 在 n8n 里新建一个工作流,打开它的菜单,选 Import from File,选中 workflow.json。
  2. 添加一个 Google Gemini 凭据,在 Transcribe Audio、2.5 Flash 和 2.5 Pro 里选中它。
  3. 在 🦺 Set Data 里,把 YOUR_FIRECRAWL_KEY 换成你的 Firecrawl 密钥。
  4. 按下面的说明搭好子工作流,再在 Keyword AI Agent 下面的六个工具节点里逐一选中它。
  5. 如果你的 n8n 前面没有 Cloudflare,就把 Memory 的键改成你的应用会发送的值,比如一个 session_id 字段。
  6. 除非地址只有你自己知道,否则给 Webhook 加上 Header Auth。
  7. 保存,往测试地址发一个测试请求,然后发布。

这六个工具共用一个子工作流,它不在文件里。这些节点原来指向作者自己 n8n 里的一个工作流,所以导入后是空的。你的子工作流会收到下面这些字段,function 说明要做哪件事:

{
  "function": "ranked_keywords, related_keywords, keyword_ideas, serp_search, ai_mode or internal_links",
  "keyword": "<智能体的搜索词>",
  "url": "<一个域名,比如 example.com,或一个网页地址>",
  "country_code": "<DataForSEO 的地区编号,比如 2840>",
  "language_code": "<DataForSEO 的语言代码,比如 en>",
  "firecrawl_api": "<你的 Firecrawl 密钥>"
}

country_code 虽然叫这个名字,装的却是 DataForSEO 的地区编号。设置说明里为六件事各列了一个 DataForSEO 或 Firecrawl 的接口。

如何使用

每次调用就是一个 POST。把它发到正式地址,带上 type、country 和 language。文字问题加一个 message,语音留言就把录音放进一个叫 audio 的字段。国家和语言必须和 Code 列表里的名称完全一致,比如 United States 和 English。从同一个地址接着问,智能体会接上之前的对话。

想要不同的效果,改这里
要改的在哪里改
人设、表格和建议Keyword AI Agent 里的系统提示词
国家和语言Code 顶部的两个列表
聊天记住多少内容Memory 里的 Context Window Length,文件里是 12
备用模型2.5 Pro,2.5 Flash 出错时才用
抓取的网页要多新URL_search 里的 maxAge,文件里是四小时

示例

你的应用发出这样一个请求:

{
  "type": "text",
  "message": "Keyword ideas for a bike repair shop in Leeds",
  "country": "United Kingdom",
  "language": "English"
}

Code 把这两个名称换成 2826 和 en。智能体可能先调用 keyword_ideas、related_keywords 和 serp_search。答案的格式如下,数字已略去:

{
  "output": "🎯 …\n\n| Keyword | Volume | KD | CPC |\n|---|---|---|---|\n| `bike repair leeds` | … | … | … |\n…\n\n[SUGGESTION] …\n[SUGGESTION] …\n[SUGGESTION] …"
}

新手与专家

新手:n8n 把工作流画成用线连起来的方框,每个方框是一个节点,只做一件事。智能体的工具用细线挂在它下面,由智能体决定调用哪个。webhook 是一个地址,有东西发到这里,工作流就开始运行。先用 Postman 发一个文字问题,再在这次运行里打开 Keyword AI Agent,看每次工具调用和它的结果。

专家:一个智能体完成全部工作。它的备用模型节点叫 2.5 Pro,但两个模型节点都没写型号,所以都用节点的默认型号 Gemini 2.5 Flash。

智能体的工具
工具是什么要知道的
keyword_ideas、related_keywords你的子工作流发送 keyword 和两个 DataForSEO 代码
ranked_keywords你的子工作流用 url 发一个不带协议的域名,查竞争对手的排名
serp_search、ai_mode你的子工作流某个 keyword 的 Google 搜索结果和 AI Mode
internal_links你的子工作流发送一个网页地址和 Firecrawl 密钥
URL_searchFirecrawl 的 v1 抓取接口,返回正文的 Markdown接受四小时以内的缓存副本,也能读 PDF
Thinkn8n 的思考工具给智能体记笔记的地方,只花 token

系统提示词大约有 18,000 个字符,每一轮都会发出去。Memory 用调用方的 IP 地址区分对话。它存在 n8n 内部,所以一重启就清空。

注意事项

它回答时的把握,可能比数据能支撑的更足。

  • 费用:智能体每一轮都要带上那段长提示词,由 Gemini 计费。Firecrawl 每次抓取都计数,PDF 按页算。DataForSEO 对子工作流发出的每次请求计费
  • 编出来的数字:提示词禁止含糊其辞,要求模型声称自己并不具备的经验,还要给出点击率潜力、可读性评分和关键词密度,这些都没有工具去测。把它们当作猜测,或者删掉这几行
  • 过时的内容:提示词里有一节写的是 2025 年,引用的流量占比没有出处
  • 建议:每个答案结尾都有三行 [SUGGESTION],原本是给能把它们变成按钮的前端用的。要么照这样显示,要么去掉
  • 记忆:键是 cf-connecting-ip 请求头。前面没有 Cloudflare 时它是空的,运行会停在 Memory。同一个 IP 地址后面的人会共用一段对话
  • 名称不对:Code 里没有的国家或语言会让代码为空,DataForSEO 的请求就会失败。type 不是 voice 或 text 时,不会有任何回答
  • 模型:Google 的弃用页面(2026 年 11 月 2 日查看)没有给 Gemini 2.5 定停用日期,但只对以前用过的用户开放。新密钥可能要在三个 Gemini 节点里改用 gemini-3.8-flash
  • 公开的 webhook:发布之后,任何知道地址的人都能用你的密钥运行它
  • 你的数据:问题和语音留言发给 Google,网页发给 Firecrawl,关键词和域名发给 DataForSEO。每次运行的记录里还会存下 🦺 Set Data 里的 Firecrawl 密钥
  • 凭据:JSON 里没有任何凭据。六个工具节点导入时没有子工作流,除此之外和原来的副本一样

README 和文件

README

支持语音和文字的 SEO 关键词聊天助手

一个充当 SEO 聊天后端的 n8n 工作流。你的应用发来一个文字问题或一段语音留言,连同国家和语言。语音由 Gemini 转成文字,一个 Gemini 智能体用带表格的 Markdown 回答。它的工具通过你基于 DataForSEO 搭的子工作流,查关键词、竞争对手的排名、Google 搜索结果和 Google 的 AI Mode。Firecrawl 负责读取它点名的网页。答案在同一个网络请求里返回,聊天会为每个调用方记住最近 12 轮对话。

包里有什么

  • workflow.json:n8n 导出的工作流,27 个节点,其中八个是便签。里面没有任何凭据。
  • README.md:这份设置说明,压缩包里的是英文版。

我们相对原来的副本改了什么

  • ranked_keywords、related_keywords、keyword_ideas、serp_search、ai_mode 和 internal_links 原来调用的是作者自己 n8n 里的一个子工作流。导入后它们是空的,所以你要自己搭这个子工作流,并在这六个节点里选中它(见下文)。
  • 🦺 Set Data 里的 Firecrawl 密钥原来是作者自己写法的占位符,现在和其他套件一样,写的是 YOUR_FIRECRAWL_KEY。

除此之外没有改动。原来的副本没有丢失反斜杠。

开始之前

  • 一个 n8n 实例,n8n Cloud 或自己的服务器都行。
  • 一个在 Google AI Studio 申请的 Gemini API 密钥。
  • 一个 Firecrawl API 密钥。
  • 一个 DataForSEO 的 API 登录名和密码,给子工作流用。
  • 一个能发请求、能显示 Markdown 答案的应用、页面,或者 Postman 这样的工具。

设置

  1. 在 n8n 里新建一个工作流,打开它的菜单,选 Import from File,选中 workflow.json。
  2. 用你的密钥添加一个 Google Gemini 凭据,在 Transcribe Audio、2.5 Flash 和 2.5 Pro 里选中它。
  3. 在 🦺 Set Data 里,把 YOUR_FIRECRAWL_KEY 换成你的 Firecrawl 密钥。
  4. 按下面的说明搭好子工作流并保存。
  5. 逐一打开 Keyword AI Agent 下面的六个工具节点,在工作流字段里选中你的子工作流。
  6. 看一下 Memory。它的键是调用方的 IP 地址,取自 Cloudflare 加上的 cf-connecting-ip 请求头。如果你的 n8n 前面没有 Cloudflare,这个请求头就不存在,运行会停在 Memory。把键改成你的应用会发送的值,比如 {{ $('Webhook').first().json.body.session_id }}。
  7. 打开 Webhook。它的路径是 keywordresearch,接收 POST。如果别人可能知道这个地址,就在这里加上 Header Auth。
  8. 保存,往测试地址发一个测试请求,然后发布,改用正式地址。

子工作流

六个工具都调用同一个子工作流,function 说明要做哪件事。用一个 When Executed by Another Workflow 触发器开始,让它接收这六个字段:

{
  "function": "ranked_keywords, related_keywords, keyword_ideas, serp_search, ai_mode or internal_links",
  "keyword": "<智能体的搜索词>",
  "url": "<一个域名,比如 example.com,或一个网页地址>",
  "country_code": "<DataForSEO 的地区编号,比如 2840>",
  "language_code": "<DataForSEO 的语言代码,比如 en>",
  "firecrawl_api": "<你的 Firecrawl 密钥>"
}

每个工具都会发送 function 和两个代码。ranked_keywords 另外发送 url,提示词要求智能体只给不带协议的域名。internal_links 另外发送 url 和 Firecrawl 密钥。其余四个另外发送 keyword。country_code 虽然叫这个名字,装的却是 DataForSEO 的地区编号。返回智能体能读懂的文字或 JSON 就行。

文件里没有说明作者的版本做了什么,所以下面是一种搭法,依据的是 2026 年 11 月 2 日查看的 DataForSEO 和 Firecrawl API 页面。用一个按 function 分支的 Switch,每个分支接一个 HTTP Request,DataForSEO 的登录名和密码用 HTTP Basic Auth:

ranked_keywords   POST https://api.dataforseo.com/v3/dataforseo_labs/google/ranked_keywords/live
related_keywords  POST https://api.dataforseo.com/v3/dataforseo_labs/google/related_keywords/live
keyword_ideas     POST https://api.dataforseo.com/v3/dataforseo_labs/google/keyword_ideas/live
serp_search       POST https://api.dataforseo.com/v3/serp/google/organic/live/advanced
ai_mode           POST https://api.dataforseo.com/v3/serp/google/ai_mode/live/advanced
internal_links    POST https://api.firecrawl.dev/v2/map

在每个 DataForSEO 请求体里,用这两个代码填 location_code 和 language_code。ranked_keywords 把域名放在 target 里,related_keywords 接收一个 keyword,keyword_ideas 接收一个 keywords 列表。Firecrawl 的请求把地址放在 url 里,密钥放在 Bearer 请求头里。

怎么调用

文字问题用 JSON 请求体:

{
  "type": "text",
  "message": "Keyword ideas for a bike repair shop in Leeds",
  "country": "United Kingdom",
  "language": "English"
}

语音留言用 multipart 表单,录音放在一个叫 audio 的字段里:

curl -X POST "https://<your n8n>/webhook/keywordresearch" -F type=voice -F country=Germany -F language=German -F audio=@question.mp3

type 必须是小写的 voice 或 text。country 和 language 必须和 Code 节点列表里的名称完全一致,比如 United States、Turkiye 或 Chinese (Simplified)。列表里有 94 个国家和 46 种语言。

一次运行的过程

  1. Webhook 收到请求,等 Respond to Webhook 之后才回应。
  2. Code 为国家和语言查出 DataForSEO 的地区编号和语言代码。
  3. Switch 把语音留言交给 Transcribe Audio,由 Gemini 转成文字,文字问题则交给 Set Message。
  4. 🦺 Set Data 汇总问题、Firecrawl 密钥、两个代码和调用方的 IP 地址。
  5. Keyword AI Agent 带着它的长系统提示词、Memory 里最近的对话和它的工具来回答。写答案之前,它可能调用好几个工具。
  6. Respond to Webhook 把智能体的答案作为 JSON 发回,放在一个叫 output 的字段里。

改改样子

  • 助手的口吻和格式:Keyword AI Agent 里的系统提示词。它规定了人设、每种回答必须带的表格,以及结尾的三行建议。
  • 更多国家或语言:Code 顶部的两个列表。
  • 聊天记住多少内容:Memory 里的 Context Window Length,文件里是 12。
  • 备用模型:2.5 Pro,2.5 Flash 出错时智能体才用它。
  • 抓取的网页要多新:URL_search 请求体里的 maxAge,文件里是四小时。

需要知道的

  • 费用:智能体每一轮都由 Gemini 计费,光系统提示词就有大约 18,000 个字符,每次都要发出去。Firecrawl 每次抓取都计数,PDF 按页算。DataForSEO 对子工作流发出的每次请求计费。
  • 模型:2.5 Flash 和 2.5 Pro 都没写型号,所以都用节点的默认型号 Gemini 2.5 Flash。想让备用模型真的是 Pro,就在 2.5 Pro 里选 models/gemini-2.5-pro。
  • 2026 年 11 月 2 日查看时:Google 的弃用页面没有给 Gemini 2.5 定停用日期,但只对以前用过的用户开放。新密钥可能要在三个 Gemini 节点里改用 gemini-3.8-flash。Firecrawl 的文档仍然列着 URL_search 调用的 v1 抓取接口,并注明 v2 已经推出。
  • 提示词要求模型语气笃定、从不含糊,要求它声称自己并不具备的经验,还要给出点击率潜力、可读性评分和关键词密度,这些都没有工具去测。把这些数字当作猜测,或者从提示词里删掉这几行。
  • 提示词里有一节写的是 2025 年,引用的流量数字没有出处。提示词里有两个工具的名字和节点略有不同(url_search 和 AI_Mode),而且 internal_links 接收的是网页地址,提示词却让它填域名。
  • 建议:每个答案结尾都有三行以 [SUGGESTION] 开头的内容。提示词原本是为能把它们变成按钮的前端准备的,所以你的应用要么照这样显示,要么去掉。
  • 名称不对:Code 列表里没有的国家或语言会让代码为空,之后 DataForSEO 的请求就会失败。type 不是 voice 或 text 时,运行会在给出任何回答之前停下。
  • 共用记忆:同一个 IP 地址后面的调用方,比如一间办公室里的人,会共用一段对话。记忆存在 n8n 内部,所以一重启就清空。
  • 公开的 webhook:发布之后,在你加上 Header Auth 之前,任何知道地址的人都能用你的密钥运行它。
  • 你的数据:问题和语音留言发给 Google,网页发给 Firecrawl,关键词和域名发给 DataForSEO。每个调用方的 IP 地址就是记忆的键。因为 🦺 Set Data 里存着 Firecrawl 密钥,每次运行的记录里也会存下它,所以不要公开运行记录列表。
文件
README.md  8 KB
workflow.json  53 KB

2 个文件,共 62 KB,以 zip 压缩包下载。

更新内容

  • 第 1 版 · 2026-11-03

评价

还没有评分

写评价

还没有评价。

Mindket 的更多商品

查看 Mindket 的全部商品

Huashu Design

alchaincyf · 技能

把你在 AI 智能体里写的一句话需求,变成一份完成的设计:发布动画、可点击的应用原型、可编辑的幻灯片、信息图,或一组小红书图片。可在多种智能体中使用。

新上架29.4k

Guizang PPT Skill

op7418 · 技能

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

新上架29.8k

Claude Code Skills & Plugins

alirezarezvani · 技能

为 Claude Code 和其他编程智能体提供 411 个现成技能,按角色分组,从工程、产品到营销、财务和合规。以插件方式安装。适合开发者和业务团队。

新上架29.8k

营销类的相似商品

查看营销类的全部商品

Pixel Art XL

nerijs · 工具包

一个用于 Stable Diffusion XL 的像素画风格附加模型,把文字提示词变成像素风图片,并可搭配 LCM LoRA 加快运行。适合游戏开发者、设计师和爱好者。

新上架

Licon MSR for LTX-2.5

LiconStudio · 工具包

给模型最多五张参考图,让生成视频中的人物、服装、物体和背景保持一致。这是用于 ComfyUI 中 LTX-2.5 的 LoRA,还可以为两位说话者添加音频参考。

新上架

Flux.2-Klein-9B-MatchingPose

nhathoangfoto · 工具包

FLUX.2 Klein 9B 的一个 LoRA,让角色摆出模特参考图中的姿势,同时保留角色的脸和风格。适合艺术家和设计师。只能使用你有权使用的脸。

新上架