AI PLAY玩法更新持续收录
← 回到更新流

2026-09-20 · 原文发布日

洁净室粒子超标告警自动分级与处置流程

免费n8n模板:每分钟轮询Gmail中主题含'EXCURSION'的粒子计数器告警邮件,提取区域、设备、实测值、ISO限值并算出超标倍数,交给OpenAI按严重度分级,再按区域关键度打标签。轻微事件直接记入n8n数据表;较重的触发调查子流程,必要时调用内部设备互锁API停机,并经Telegram分别通知设施或EHS团队,最终处置结果含CAPA编号写入数据表留痕。

原文要点

原文为免费n8n模板(作者Swapnil Mandloi):Gmail Trigger每分钟轮询主题含'EXCURSION'的粒子计数器告警邮件;从正文提取Zone、Tool、Measured Count、ISO Class Limit、Particle Size并算超标倍数;OpenAI(gpt-4.1-mini)输出结构化严重度Minor/Major/Critical及停机建议;按洁净区关键度打Support/Process/Litho-EUV协议层级标签;Minor直接写n8n Data Table记为无需调查;非Minor执行独立调查子工作流(需单独导入并填其workflow ID)并合并结果;需要停机时调内部设备互锁HTTP API并经Telegram通知设施组,否则通知EHS;最终含CAPA编号的结果写入Data Table留痕。

这次做成什么

在本站设计的练习环境里搭一条最小告警分级链:用Gmail测试邮箱收发合成告警邮件,跑通'轮询→解析→AI分级→按区域打标签→Minor直接留痕/Major走停机分支'。互锁API用webhook.site等请求捕捉工具或n8n自身的测试Webhook冒充内部端点,不碰任何真实设备;调查子工作流用一个只做CAPA编号回填的简版代替,并明确这是本站设计。

准备什么

  • n8n 1.x账号(含Data Tables功能),能启用Gmail Trigger
  • 一个测试用Gmail邮箱,已与真实生产告警隔离
  • OpenAI API Key(测试用途)
  • Telegram测试机器人与两个测试chat ID
  • 一个冒充互锁API的测试HTTP端点(如webhook.site或自建测试Webhook)

具体怎么做

  1. 建Data Table并准备测试邮箱

    在n8n新建Data Table(如cleanroom_excursions),列:eventTime(文本)、zone、tool、particleSize、measuredCount(数字)、isoLimit(数字)、ratio(数字)、severity、tier、outcome、capaId。用测试Gmail给自己发几封下方artifacts格式的合成告警邮件。

  2. 配置Gmail Trigger轮询

    添加Gmail Trigger节点,Poll Times选每分钟,Filters里Search填 from:你的测试发件人 subject:EXCURSION,凭据连测试邮箱。这是按原文'每分钟轮询主题含EXCURSION'的做法配置。

  3. 解析邮件正文算超标倍数

    接Code节点:用正则从邮件text提取Zone、Tool、Measured Count、ISO Class Limit、Particle Size五个字段(正则见下方artifacts);ratio = measuredCount / isoLimit,保留两位小数;任一字段缺失则把记录标记为parseError并提前结束本分支。输出统一字段名供下游使用。

  4. AI分级与区域标签

    接OpenAI节点(模型gpt-4.1-mini,原文明确使用该型号),用下方artifacts中的分级提示词,输入zone/tool/ratio/measuredCount/isoLimit,要求只输出JSON:severity与shutdownRecommended。后接Code节点打tier标签:zone含'Litho'或'EUV'→Litho-EUV;含'Process'→Process;其余→Support。该关键度映射是原文所述三层,具体zone名单按你厂房实际调整。

  5. 按严重度分流

    接Switch节点:severity=Minor→Data Table节点直接写行,outcome填'Logged - no investigation required'(沿用原文表述)。非Minor→Execute Workflow节点调调查子工作流;练习版子工作流只接收zone/tool/severity,返回固定JSON{"capaId":"CAPA-TEST-0001","investigation":"模拟调查完成"},这是本站设计的占位,真实调查逻辑需自行实现或导入原配套子工作流。合并子流程结果后再接IF:shutdownRecommended=true→HTTP Request POST到你的测试互锁端点,body含tool与reason,然后Telegram发设施组chat;否则Telegram发EHS chat。最后把outcome与capaId写入Data Table。

  6. 端到端演练与清理

    激活工作流,发三封不同严重度的合成邮件(见example),每分钟轮询一次,逐条核对Data Table写入、Telegram消息、测试互锁端点收到的请求。演练完停用Trigger、删除测试凭据与测试端点。

可直接复制的材料

OpenAI严重度分级提示词(本站独立撰写)

本站独立编写,非原模板提示词原文。阈值2倍/10倍是本站设定的练习参考值,并非行业或作者标准,需在导入原模板后核对其Classify节点的实际规则;模型gpt-4.1-mini为原文明确提及。

你是半导体洁净室的环境监控审核助手。输入是一条粒子计数器超标事件的结构化数据。
分级标准:
- Minor:超标倍数小于2,或仅出现在Support类辅助区域且未持续。
- Major:超标倍数2至10倍,或发生在Process关键工艺区。
- Critical:超标倍数超过10倍,或发生在Litho/EUV光刻区,或任何可能影响在制品的事件。
shutdownRecommended:仅当severity为Critical,或Major且事件可能影响正在运行的工艺设备时,输出true,否则false。
只输出JSON,不要输出其他文字:{"severity":"Minor|Major|Critical","shutdownRecommended":true或false,"rationale":"不超过40字的中文依据"}

事件数据:zone={{zone}} tool={{tool}} particleSize={{particleSize}} measuredCount={{measuredCount}} isoLimit={{isoLimit}} ratio={{ratio}}

合成告警邮件正文样例与解析正则

邮件为虚构格式,正则假设每行一个字段、冒号后取值;真实粒子计数器邮件格式不同需按实际样本改写。全部数据虚构。

邮件主题:EXCURSION - Particle Counter Alert
邮件正文:
Zone: Process-Bay-3
Tool: ETCH-207
Measured Count: 4200
ISO Class Limit: 1000
Particle Size: 0.5um

解析用正则(n8n Code节点中逐个match):
Zone:\s*(.+) 
Tool:\s*(.+)
Measured Count:\s*(\d+)
ISO Class Limit:\s*(\d+)
Particle Size:\s*([\d.]+um)

互锁API测试请求示例

webhook.site仅用于练习观察请求是否发出,切勿对真实设备发互锁指令;URL与鉴权需替换为实际环境。

HTTP Request节点配置:
Method: POST
URL: https://webhook.site/你的测试端点  (练习用,真实环境换成内部互锁控制器地址)
Authentication: None(真实环境按控制器要求配置,原文仅说用HTTP Request鉴权)
Body Content Type: JSON
Body: {"tool":"{{$json.tool}}","action":"interlock","reason":"particle excursion {{$json.severity}}","eventTime":"{{$json.eventTime}}"}

输入与输出示例

本站虚构演示,未实际运行原模板;子流程返回值是本站占位设计。

输入

发一封测试邮件,主题'EXCURSION - Particle Counter Alert',正文Zone: Litho-EUV-1 / Tool: SCANNER-12 / Measured Count: 25000 / ISO Class Limit: 1000 / Particle Size: 0.5um(超标25倍)

对应输出

解析得ratio=25;AI返回{"severity":"Critical","shutdownRecommended":true,"rationale":"光刻区超标25倍,直接影响在制品"};tier=Litho-EUV;走非Minor分支,占位调查子流程返回CAPA-TEST-0001;HTTP Request向测试端点发出含SCANNER-12的interlock请求;Telegram设施组收到停机告警;Data Table写入一行,outcome='shutdown executed'、capaId='CAPA-TEST-0001'。

做完检查这些

  • Gmail Trigger每分钟触发且只命中主题含EXCURSION的测试邮件,普通邮件不进入流程
  • Code节点对样例邮件算出ratio=25,五个字段缺一时能标记parseError并停止该分支
  • AI输出严格为JSON且severity只取Minor/Major/Critical三值之一
  • Minor邮件(如超标1.5倍、Support区)只写Data Table一行,不触发Telegram与互锁请求
  • Critical邮件触发测试互锁端点收到一次POST且Telegram设施组收到消息,Data Table含capaId
  • Telegram的EHS与设施两组chat ID不混用,停机告警只发设施组

容易卡住的地方

  • 本指南的调查子工作流是本站占位设计;原模板要求单独导入配套调查子工作流并填其workflow ID,本站无法提供该文件内容
  • 互锁停机是不可逆的真实操作,正式启用前必须用隔离测试端点充分演练,且确认控制器鉴权方式,原文未给出API细节
  • 每分钟轮询在告警风暴时可能重复处理同一邮件,需自行加邮件ID去重,原文未提及去重机制
  • 分级阈值2倍/10倍是本站练习参考值,不代表真实EHS规范,实际分级标准必须由你的EHS团队定义
  • gpt-4.1-mini调用产生OpenAI费用,免费的是模板本身
  • 真实粒子计数器邮件格式与本站样例不同会导致正则全部失配,先用真实样本调试解析节点

原文与作者资料 ↗

本站借助AI整理来源事实,独立编写中文操作指南与示例。示例不代表实际运行结果;来源效果尚未由本站独立复现。付费模板与模型、服务费用分别计算。

原文标题
Triage cleanroom particle excursions using Gmail, OpenAI, and Telegram
原作者
Swapnil Mandloi
原始发布日期
2026-09-20T10:53:04.319Z
来源
https://n8n.io/workflows/19761