Mindket

每周给网页截图做检查并生成 Linear 报告

新上架第 1 版 · 更新于

概览

一个分两部分的 n8n 工作流:它给 Google 表格里的每个页面拍一张基准截图,然后每周一运行。Google Gemini 把新截图和基准图对比,变化会写进一个 Linear issue。

每周给网页截图做检查并生成 Linear 报告 是一款 n8n 工作流,属于开发类,由 Mindket 上架。可免费获取。当前为第 1 版,最近更新于 。在本页下载,或复制它的 JSON,再导入 n8n 画布。在 n8n 里启用之前,它不会运行。

速览

用在
  • n8n Cloud:在那里新建一个工作流,把文件导入进去
  • 你自己的 n8n 服务器:同一个文件,同样的步骤
  • Google Sheets 和 Drive:表格列出页面,Drive 保存基准图片
  • Slack 或 Jira:把 Create Report 换成它们的节点,文件自己的便签也这样建议

平台

连接 5 个应用

运行方式

触发

手动运行和每周定时

A 部分在你点 Execute workflow 时开始,B 部分每周一早上 6 点开始。两者都从下面这里读页面:

  • 一张 Google 表格,列为 service、url 和 base

动作

  1. A 部分用一个 Apify actor 给每个页面截图,并存进 Google Drive
  2. Drive 文件的 id 被写进该页面所在行的 base 列
  3. B 部分给每个页面截一张新图,并从 Drive 下载基准图
  4. Google Gemini 看这两张图,列出文字、图片、颜色、位置和布局上的变化
  5. 至少有一处变化的页面被收集起来
  6. 一个 Linear issue 列出每个有变化的页面和它的变化

结果

一个名为 Visual Regression Report 的 Linear issue,带日期,列出每个有变化的页面和变化了什么

集成

开始之前要准备好这些。

Apify

截图服务

为每个页面运行 screenshot-url actor,返回图片的链接。

需要Apify API 令牌,放在一个 Header Auth 凭据里

Google Gemini

视觉语言模型

运行 models/gemini-3.6-flash,对比基准图和新截图并列出变化。

需要Google Gemini API 密钥,放在一个 Google Gemini 凭据里

Google Sheets

页面清单

存放要检查的页面和每张基准图的 Drive 文件 id。

需要Google 账号,放在一个 Google Sheets 凭据里

Google Drive

图片存储

保存基准截图,并在每周对比时返回它们。

需要Google 账号,放在一个 Google Drive 凭据里,还要一个文件夹

Linear

问题跟踪

创建一个包含本周变化的 issue。

需要Linear 账号,放在一个 Linear 凭据里,还要一个团队

工作流检查

由 Mindket 于 2026年11月13日检查

步骤
22 个步骤,按计划或手动启动
AI
1 个步骤调用 AI 模型:Visual Regression Agent
登录
需要登录:Google Sheets、Linear、Google Drive、Apify、Google Gemini
API 密钥
文件里没有留下 API 密钥
步骤类型
Mindket 的检查器能读懂它全部 13 种步骤类型

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

关于

它是什么

这个 n8n 工作流盯着网页的视觉变化。A 部分用 Apify 给 Google 表格里的每个页面拍一张基准截图,并存进 Google Drive。B 部分每周一早上 6 点开始。它给每个页面拍一张新截图,由 Google Gemini 对比这两张图。有变化的页面会写进一个 Linear issue。干活的是二十四个节点,旁边还有十张便签解释各个步骤。

适合谁

想每周检查重要页面有没有坏掉或错位的网站团队、QA 工程师和站长。要做精确到像素的测试就别选它。Gemini 靠“看”来判断,所以细小的位移和会动的内容可能变成噪音。

谁在用,怎么用
行业谁在用怎么用例子
软件QA 工程师每次发布后的一周里检查重要页面一位工程师读一个 Linear issue,里面列着有变化的页面。
代理商客户经理盯着客户网站有没有布局坏掉一位经理在客户来信之前就看到一个横幅移了位。
电商店主检查商品页和结账页有没有缺图或缺字一位店主发现价格区域丢了文字。
营销网站编辑发现别人对落地页做的修改一位编辑看到一个活动页的标题变了。

你需要熟悉 n8n:五个账号、一张列固定的表格,还有两部分要按顺序运行。

用在哪里

任何能访问 Apify、Google 和 Linear 的 n8n 都能运行它。把它发布出去,周一的运行才会自己开始。

  • n8n Cloud:在那里新建一个工作流,把文件导入进去
  • 你自己的 n8n 服务器:同一个文件,同样的步骤
  • Google Sheets 和 Drive:表格列出页面,Drive 保存基准图片
  • Slack 或 Jira:把 Create Report 换成它们的节点,文件自己的便签也这样建议

设置

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

先准备好这些
需要说明
n8nn8n Cloud 或你自己的服务器,要发布才有每周的运行
Google Sheets一个文件,工作表里有 service、url 和 base 三列,每个页面一行
Google Drive一个放基准截图的文件夹
Apify一个 API 令牌,放在一个 Header Auth 凭据里,名称为 Authorization,值是 Bearer 加你的令牌
Google Gemini一个来自 Google AI Studio 的 API 密钥
Linear一个 Linear 账号,以及接收 issue 的团队
  1. 在 n8n 里新建一个工作流,打开它的菜单,选 Import from File,选中 workflow.json。
  2. 添加一个 Google Sheets 凭据。在 Get URLs with Missing Base Images、Update Base Image 和 Get Webpages List 里选中它,并在每个节点里选好你的文件和工作表。
  3. 添加一个 Google Drive 凭据。在 Upload to Drive 和 Base Image 里选中它,并在 Upload to Drive 里选好你的文件夹。
  4. 添加 Apify 的 Header Auth 凭据,在 Run Webpage Screenshot 和 Run Webpage Screenshot1 里选中它。
  5. 添加一个 Google Gemini 凭据,在 Google Gemini Chat Model 里选中它。文件里用的是 models/gemini-3.6-flash。
  6. 添加一个 Linear 凭据,在 Create Report 里选中它,并在那里选好你的团队。
  7. 点 Execute workflow 运行 A 部分,并检查每一行的 base 里现在都有一个文件 id。
  8. 想立刻试 B 部分,就运行 Schedule Trigger 这一步。发布工作流后才有周一的运行。

如何使用

点一次 Execute workflow,生成基准截图。之后,周一的运行会把每个页面和它的基准图对比,有变化时创建一个 issue。想重新生成基准图,就再运行一次 A 部分。

想要不同的效果,改这里
要改的在哪里改
页面表格的各行
什么时候运行Schedule Trigger,设为每周一 6 点
什么算变化Visual Regression Agent 里的系统消息
报告发到哪里Create Report,可以换成 Slack 或 Jira
截图的大小和等待两个截图节点的请求体,两处应保持一致
模型Google Gemini Chat Model 里的 modelName

示例

表格里列着两个页面,一个定价页和一个联系页。

A 部分在 Drive 里为每个页面存一张基准截图。如果定价页之后换了一个新的按钮文字,Gemini 会报告旧文字和新文字。联系页没有变化,所以 Linear issue 里只列出定价页。

新手与专家

新手:n8n 把工作流画成用线连起来的方框,每个方框是一个节点,只做一件事。视觉回归测试,就是把一个页面和它以前的一张图对比。这里由 Gemini 来对比,所以不用你写规则,它也能注意到文字、颜色和位置。

专家:两张图在一个 Basic LLM Chain 里以 Image (Binary) 消息交给 Gemini,一个结构化解析器把回答变成一个变化列表。

值得细看的地方
节点做什么要知道的
Run Webpage Screenshot向 Apify actor 的 run-sync-get-dataset-items 接口发 HTTP RequestApify 在 300 秒后结束这次调用
Visual Regression AgentBasic LLM Chain 1.4,带两条 Image (Binary) 消息data_1 是基准图,data_2 是新图片。空列表表示没有变化
Has Changes按那个列表的长度做过滤没有变化的页面会被丢掉
Create Report创建一个 issue 的 Linear 节点描述是用这些变化生成的 markdown

注意事项

原来用的是一个 Google 已不再列出的 Gemini 模型,还有一个遗留的过滤只处理一行。

  • 模型:原来用的是一个 Gemini 1.5 模型。Google 的模型页和弃用页(2026 年 11 月 12 日查阅)已经不再列出任何 1.5 模型。Mindket 的版本用 models/gemini-3.6-flash
  • 一行:Get Webpages List 因为一个遗留的过滤只保留第 2 行。Mindket 的版本把它删了,所以每一行都会检查
  • A 部分:尽管名字如此,Get URLs with Missing Base Images 读的是每一行,所以每次运行都会为每个页面存一个新的基准文件,旧文件留在 Drive 里
  • 噪音:广告、轮播和日期在两张截图之间可能不同,所以读最初几份报告时要记着这一点
  • 你的数据:页面地址发给 Apify,每个页面的两张图发给 Google,报告发给 Linear。文件里没有任何凭据

README 和文件

README

每周给网页截图做检查并生成 Linear 报告

一个分两部分的 n8n 工作流。A 部分给 Google 表格里的每个页面拍一张基准截图。B 部分每周一运行,拍一张新截图,让 Google Gemini 对比这两张,并把差异记成一个 Linear issue。

包里有什么

  • workflow.json:n8n 导出的工作流,三十四个节点。二十四个干活,十个是便签,解释各个步骤。里面没有任何凭据。
  • README.md:这份设置说明,压缩包里的是英文版。

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

  • 聊天模型原来用的是 models/gemini-1.5-pro-latest。Google 的模型页和弃用页(2026 年 11 月 12 日查阅)已经不再列出任何 1.5 模型,所以 Mindket 的版本用 models/gemini-3.6-flash,模型页把它列为可用,并支持图片输入。
  • Get Webpages List 里还留着一个只保留表格第 2 行的过滤。Mindket 的版本把它删了,所以 B 部分会检查每一行。
  • 两个截图节点原来把 Apify 令牌作为 token 查询参数发送。Apify 的 API 文档(2026 年 11 月 12 日查阅)说这比 Authorization 头更不安全,所以 Mindket 的版本改用 Header Auth 凭据。
  • Drive 文件夹、Google 表格和 Linear 团队原来属于原作者。这些字段现在是空的,请选你自己的。
  • 便签里原来有推广链接、一个示例表格的链接,还有加入聊天服务器的邀请。它们被换成一个普通链接和一句说明表格各列的话。
  • 文件原来没有 settings 部分,所以 Mindket 的版本加上了 executionOrder v1,也就是 n8n 给新工作流设的值。
  • 有几个节点原来关联着作者 n8n 里的凭据。这些关联已删掉,请选你自己的。
  • 别的都没改。提示词、循环和报告文字都是文件原有的。

开始之前

  • 一个 n8n 实例。如果想让周一的运行自动发生,就要发布这个工作流。
  • 一个 Google Sheets 文件,列为 service、url 和 base。service 里放名称,url 里放完整的页面地址,每个页面一行。base 留空,因为 A 部分会填它。
  • 一个放基准截图的 Google Drive 文件夹。
  • 一个 Apify 账号和它的 API 令牌。截图来自 Apify 的 apify/screenshot-url actor。
  • 一个来自 Google AI Studio 的 Google Gemini API 密钥。
  • 一个 Linear 账号,以及用来记录 issue 的团队。

设置

  1. 在 n8n 里新建一个工作流,打开它的菜单,选 Import from File,选中 workflow.json。
  2. 添加一个 Google Sheets 凭据。在 Get URLs with Missing Base Images、Update Base Image 和 Get Webpages List 里选中它,并在每个节点里选好你的文件和工作表。
  3. 添加一个 Google Drive 凭据。在 Upload to Drive 和 Base Image 里选中它,并在 Upload to Drive 里选好你的文件夹。
  4. 为 Apify 添加一个 Header Auth 凭据。名称填 Authorization,值填 Bearer <YOUR_APIFY_TOKEN>,换成你自己的令牌。在 Run Webpage Screenshot 和 Run Webpage Screenshot1 里选中它。
  5. 添加一个 Google Gemini 凭据,填上你的密钥,在 Google Gemini Chat Model 里选中它。检查模型是 models/gemini-3.6-flash。
  6. 添加一个 Linear 凭据,在 Create Report 里选中它,并在那里选好你的团队。
  7. 点 Execute workflow。这会运行 A 部分。之后打开表格,检查每一行的 base 里都有一个文件 id。
  8. 想立刻试 B 部分,就打开 Schedule Trigger,运行这一步。发布工作流后,每周一 6 点会运行一次。

一次运行的过程

  1. A 部分从手动触发器开始。Get URLs with Missing Base Images 读出表格的各行。
  2. Loop Over Items 把每个页面发给 Run Webpage Screenshot,它运行 Apify actor 并等待回答。窗口宽 1280 像素,Wait 在页面之间停两秒。
  3. 循环结束后,Merge 把每一行和它的截图配对。Download Screenshot 取回图片,Upload to Drive 用编码后的页面地址作为名称保存,Update Base Image 把 Drive 文件 id 写进 base。
  4. B 部分从 Schedule Trigger 开始,它在每周一 6 点触发。Get Webpages List 读出各行,For Each Webpage... 一次取一行。
  5. 对每个页面,Base Image 从 Drive 下载保存的截图。Run Webpage Screenshot1 拍一张新的,Download New Screenshot 取回它,Combine Screenshots 把两张合到一起。
  6. Visual Regression Agent(Basic LLM Chain 1.4)把两张图作为 Image (Binary) 消息发给 Google Gemini Chat Model。它的系统消息要求找出文字、图片、颜色、位置和布局上的变化。它还说要忽略文字样式和大小写。Structured Output Parser 把回答变成一个变化列表,每项有类型、描述、之前的状态和现在的状态。Wait1 停一秒。
  7. 最后一个页面之后,Combine Row and Result 把每一行和它的列表合在一起。Has Changes 只留下至少有一处变化的页面,Aggregate 把它们收到一起。Create Report 创建一个名为 Visual Regression Report 的 Linear issue,带日期。这个 issue 列出每个页面和它的变化。

改变结果

  • 哪些页面:表格的各行。
  • 什么时候运行:Schedule Trigger。
  • 什么算变化:Visual Regression Agent 里的系统消息。
  • 报告发到哪里:Create Report。如果不用 Linear,就换成 Slack 或 Jira 节点。
  • 截图的大小和等待:两个截图节点的请求体。保持一致,基准图和新图片才能对上。
  • 模型:Google Gemini Chat Model 里的 modelName。

注意事项

  • 尽管名字如此,Get URLs with Missing Base Images 读的是每一行。A 部分每运行一次,就为每个页面存一个新的基准文件,并改写 base。旧文件留在 Drive 里。
  • 一个在线页面的两张截图很少完全一样。广告、轮播和日期可能显示成变化,所以读最初几份报告时要记着这一点。
  • Apify 的同步运行接口在 300 秒后结束调用(Apify API 文档,2026 年 11 月 12 日查阅)。
  • B 部分里,每个页面花一次 Apify 运行和一次 Gemini 调用。Apify 和 Google 把它们记到你的账号上。
  • 页面地址发给 Apify。每个页面的两张图发给 Google,报告文字发给 Linear。
  • 文件里没有任何凭据和密钥。
文件
NOTICE.md  664 B
README.md  6 KB
workflow.json  26 KB

3 个文件,共 33 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 的创作者。

新上架

开发类的相似商品

查看开发类的全部商品

Claude Code Skills & Plugins

alirezarezvani · 技能

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

新上架29.8k

buzz

block · 工具包

可自行托管的工作空间,人和 AI 智能体在同样的房间里协作,基于 Nostr 中继,把每个动作记录为签名事件。适合想自己运行中继的团队。

新上架37.3k

plannotator

backnotprop · 工具包

把你的 AI 编程智能体的计划、规格和代码改动在浏览器里打开,让你加批注或评论,并把反馈直接发回给智能体。

新上架10.5k