2026-10-06 · 原文发布日
给n8n工作流装一个带面板的集中错误管家
这个免费n8n模板把n8n变成集中式错误处理中心:先手动跑一次创建配置、错误指纹和事故历史三张Data Table,再通过webhook提供设置页和连接页,可批量把本流程挂为其他工作流的错误处理流。被监控流程出错后,它会规范化错误信息、识别重复错误、按配置做严重度升级与退避,可选用Gemini生成诊断摘要和重试建议,经Gmail(或Slack/Telegram/Discord/Teams)告警,并提供一键重试、静音链接和每日清理。
原文要点
原模板把n8n做成集中错误管家:手动触发一次创建geh_config、geh_fingerprints、geh_incidents三张Data Table并补默认配置;/geh-config渲染设置页,POST校验保存;/geh-assign用n8n API列出流程并批量挂接错误流;被监控流程失败后规范化错误、算指纹、查静音、按配置升级严重度和退避,可让Gemini输出JSON诊断,经Gmail及可选Slack/Telegram/Discord/Teams/webhook告警;/geh-activity、/geh-guide和重试/静音链接依赖n8n API,另有每日清理。设置明确要n8n API与Gmail凭证,并提醒公开webhook要加Basic Auth或反向代理登录。
这次做成什么
练习目标不是复制原文件,而是先自建一个隔离的“错误中心最小闭环”:一次初始化建表→设置页改配置→挂接一个会故意失败的测试流程→接收失败→生成指纹→告警→重试/静音链接。所有URL先用本地n8n测试域名。
准备什么
- 可登录的n8n实例和具备读写流程、重试执行权限的n8n API测试凭证
- Gmail OAuth2测试发件账号,其他通知渠道先不启用
- 允许使用n8n Data Tables功能的版本,具体菜单以本地实例为准
- 一个用于故意失败的空白测试工作流,不连接生产业务
- 公网暴露前可用的Basic Auth或反向代理登录方案
具体怎么做
初始化三张表
新建Manual Trigger,接三个Data Table创建动作或按本地界面建表:geh_config放key/value,geh_fingerprints放fingerprint、message_sample、mute_until、count,geh_incidents放occurred_at、workflow_id、execution_id、severity、status。手动执行一次后写入默认config行,base_url先填http://localhost:5678练习。
做设置与连接页
用Webhook GET /geh-config返回HTML表单,字段含base_url、email_to、gemini_enabled、retention_days、backoff_base_minutes;POST同路径校验email格式和数字范围,写回geh_config。另建GET /geh-assign调n8n API列流程,提交时把测试流程的error workflow指向本流程;批量前先只选一个测试流程。
接收并规范化错误
在测试流程放一个会抛错的Function,例如throw new Error("HTTP 502 from CRM")。错误管家入口读取workflow.id、execution.id、error.message、node.name,用Code节点生成fingerprint:小写化、去掉数字和UUID、取前80字符再哈希。查geh_fingerprints,命中则count+1并按mute_until静默。
分支告警与动作链接
按config做退避:首次severity=info,重复且count超过阈值升warning,含auth/payment关键词升critical;gemini_enabled=false时跳过AI。Gmail主题写[severity] workflow名,正文带三个链接:/geh-activity查看,retry?execution_id=调n8n API重试,mute?fingerprint=写静音。Schedule每日删retention_days之前incidents。
可直接复制的材料
默认配置JSON(本站练习版)
本站示例;webhook公开前必须加Basic Auth或代理登录,email_to用测试地址。
{
"base_url": "http://localhost:5678",
"email_to": "alerts@example.test",
"gemini_enabled": false,
"channels": {"gmail": true, "slack": false, "telegram": false, "discord": false, "teams": false, "webhook": false},
"escalation": {"repeat_count_warning": 3, "critical_keywords": ["auth", "payment", "credential"]},
"backoff": {"base_minutes": 5, "max_minutes": 120},
"retention_days": 30
}三张Data Table字段CSV
列名是本站练习约定,导入前与原模板实际表结构核对。
table,columns
geh_config,"key,value,updated_at"
geh_fingerprints,"fingerprint,workflow_id,message_sample,count,mute_until,last_seen_at"
geh_incidents,"incident_id,occurred_at,workflow_id,execution_id,node_name,severity,fingerprint,status,notified"Gemini诊断提示词(可关闭)
本站独立提示词;默认配置先关闭Gemini,启用时模型名和参数要回原模板核对。
你是n8n运维诊断助手。输入是规范化错误:workflow_id={{workflow_id}},node_name={{node_name}},error_message={{error_message}},recent_count={{recent_count}}。只输出JSON,不要Markdown:{"summary":"80字内中文原因","likely_category":"credential|api_limit|data_mapping|network|unknown","retry_advice":"retry|manual_fix|mute","severity":"info|warning|critical","confidence":0.0}。不能确定时likely_category=unknown,confidence不高于0.4。输入与输出示例
本站虚构示意,URL为本地练习;未调用n8n API。
输入
{"workflow":{"id":"wf_test_01","name":"CRM同步测试"},"execution":{"id":"exec_9001"},"error":{"message":"HTTP 502 from CRM gateway id=9f8e-trace-123","node":{"name":"HTTP Request"}}}对应输出
{"fingerprint":"http_from_crm_gateway_id_trace","severity":"warning","action":"email_gmail_test","retry_url":"http://localhost:5678/webhook/geh-action/retry?execution_id=exec_9001","mute_url":"http://localhost:5678/webhook/geh-action/mute?fingerprint=http_from_crm_gateway_id_trace"}做完检查这些
- 手动跑一次后三张表存在,geh_config有且只有一行默认配置
- /geh-config提交非法邮箱或负数retention会返回HTML校验错误而不写表
- /geh-assign能列出测试流程,且只把选定测试流程的错误流指向本流程
- 同一错误消息仅改数字或UUID时生成相同fingerprint并累计count
- Gmail测试信包含severity、workflow名、retry和mute两个链接,未启用渠道不发信
- 每日清理执行后超过retention_days的incident被删除,未到期记录保留
容易卡住的地方
- 原说明要求保护/geh-config、/geh-assign、/geh-activity、/geh-guide和动作链接,裸奔会暴露重试能力
- n8n API凭证权限不足会导致列流程、设置错误流或重试执行失败
- Data Tables功能在不同n8n版本界面可能不同,别伪造菜单路径,按本地实例核对
- Gmail OAuth2若用受限测试账号,发送频率和收件人可能受限
- 退避与升级规则来自存储config,改了base_url后旧链接可能失效
- 不要把生产流程一次性批量挂上,先接一个故意失败的测试流程
本站借助AI整理来源事实,独立编写中文操作指南与示例。示例不代表实际运行结果;来源效果尚未由本站独立复现。付费模板与模型、服务费用分别计算。
- 原文标题
- Route and triage workflow errors with Gmail, Gemini and n8n API
- 原作者
- Lucas Peyrin
- 原始发布日期
- 2026-10-05T21:39:31.396Z
- 来源
- https://n8n.io/workflows/20499