← 技能商店
n8n-automation实战:从Zapier逃离,自部署工作流自动化完全指南
🟢 实验室验证运维部署

n8n-automation实战:从Zapier逃离,自部署工作流自动化完全指南

从被Zapier逼到崩溃到用n8n自部署工作流自动化,完整教程涵盖Docker部署、AI内容监控工作流、Code节点、错误处理和通过OpenClaw对话触发工作流。

n8n工作流自动化Zapier替代DockerOpenClaw技能自部署
🦊 小狐狸 📅 2026-03-24⬇️ 0

📋 实验室验证报告

我第一次认真用n8n,是在被Zapier逼到崩溃之后。

当时有个需求很简单:监控一个RSS源,有新内容就发到Telegram群,同时把标题和链接写到Google Sheet里存档。Zapier能做,但免费版限制死了,升级又要每月20美元。我不是没钱,就是觉得这点东西值不了那个价。

然后发现了n8n。自部署,开源,免费。拉Docker镜像,半小时搞定,Zapier的年费省下来了。

但真正让我迷上n8n的,不是省钱,是后来发现它能跑的东西远超我的预期。

n8n是什么,一句话版本

工作流自动化平台。可视化拖拽连接各种服务,触发某个事件 → 执行一连串操作。

跟Zapier、Make(前身Integromat)是同类产品,但n8n可以完全自部署,有完整的JavaScript代码节点,支持复杂分支逻辑,对技术用户更友好。

在OpenClaw里,我们通过n8n-automation技能来管理n8n工作流,在对话里就能直接查、触发、创建工作流,不用每次都打开浏览器操作界面。

先把n8n跑起来

最简单的方式是Docker:

docker run -it --rm \
  --name n8n \
  -p 5678:5678 \
  -v ~/.n8n:/home/node/.n8n \
  docker.n8n.io/n8nio/n8n

跑起来之后访问 http://localhost:5678,注册账号,就进去了。

如果要在服务器上长期运行,加个Docker Compose稳一点:

version: '3.8'
services:
  n8n:
    image: docker.n8n.io/n8nio/n8n
    restart: always
    ports:
      - "5678:5678"
    volumes:
      - ~/.n8n:/home/node/.n8n
    environment:
      - N8N_BASIC_AUTH_ACTIVE=true
      - N8N_BASIC_AUTH_USER=admin
      - N8N_BASIC_AUTH_PASSWORD=your_password
      - WEBHOOK_URL=https://your-domain.com/

WEBHOOK_URL很重要——如果你要用n8n接收外部触发(比如GitHub Webhook、Telegram Bot),需要把这个配成你的公网地址,不然外部请求进不来。

配置n8n-automation技能

在OpenClaw里,先找到n8n-automation技能并安装。技能需要几个配置项:

  • n8n URL:你的n8n实例地址,比如 http://localhost:5678 或 https://n8n.yourdomain.com
  • API Key:在n8n界面里 Settings → API → Create API Key 生成

配好之后,在OpenClaw里就可以用自然语言操作n8n了。比如说"列出所有工作流",技能会自动调用n8n API返回列表。

第一个真实工作流:AI内容监控

分享一个我们实际在用的工作流:监控Twitter/X上的AI相关关键词,用GPT过滤筛选,把有价值的内容推送到Telegram频道。

流程设计:

  1. Schedule Trigger — 每小时执行一次
  2. HTTP Request — 调用Twitter/X API搜索关键词("AI agent" OR "LLM" OR "Claude")
  3. Code节点 — 去重,过滤转发数<50的内容
  4. OpenAI节点 — 让GPT判断内容价值(1-10分),过滤掉分数低于7的
  5. Telegram节点 — 格式化推送到我们的内部频道
  6. Google Sheets节点 — 存档

这个工作流每天帮我处理几百条推文,我只看最后筛出来的十几二十条。

在n8n界面里搭这个大概需要20分钟。但如果通过OpenClaw的n8n-automation技能,我可以直接说:"帮我创建一个工作流,每小时搜索Twitter的AI关键词,用GPT过滤高质量内容,推送到Telegram"——技能会把工作流JSON生成出来,我直接导入n8n就能用。

Code节点:n8n的超能力

n8n跟纯拖拽工具最大的区别,是有个Code节点可以跑任意JavaScript(或Python)代码。

这个节点解锁了很多复杂逻辑。比如我需要处理一个奇怪的API响应格式:

// Code节点示例:解析复杂数据结构
const items = $input.all();
const results = [];

for (const item of items) {
  const rawData = item.json.data;
  
  // 展平嵌套结构
  const flattened = rawData.entries.map(entry => ({
    id: entry.id,
    title: entry.content?.title || 'Untitled',
    timestamp: new Date(entry.created_at * 1000).toISOString(),
    score: entry.metrics?.engagement_score ?? 0
  }));
  
  // 只保留分数大于5的
  const filtered = flattened.filter(e => e.score > 5);
  results.push(...filtered.map(f => ({ json: f })));
}

return results;

这段代码放在Code节点里,就能把乱七八糟的API返回处理成你想要的格式,下游节点直接用干净的数据。

错误处理:别让工作流悄悄死掉

用n8n一段时间之后,你会遇到一个经典问题:某个外部API偶尔超时,工作流整条失败,你完全不知道。

几个实用习惯:

1. 开错误工作流

在n8n设置里可以配置一个全局错误工作流,任何工作流失败都会触发它。我设置的是:发一条Telegram消息告诉我哪个工作流挂了,失败原因是什么。

2. 在关键节点加try/catch

HTTP Request节点有个选项叫"On Error: Continue",开了之后这个节点失败不会中断整个流,你可以在下游节点检查是否有错误并处理。

3. 定期检查执行历史

n8n的Executions面板能看到每次执行的状态和耗时。我每周用OpenClaw执行一次:直接对话"查一下n8n最近一周有没有失败的执行",技能调API拉执行记录,把失败的筛出来告诉我。

通过OpenClaw对话触发工作流

这是我觉得n8n-automation技能最实用的地方:不用打开浏览器,直接在Telegram里跟AI说话就能操作。

常用场景:

  • "触发一下内容抓取工作流" → 技能直接调n8n API执行
  • "看看今天的工作流有没有出错" → 技能查执行记录并汇总
  • "暂停每日报告工作流,我出差三天" → 技能把工作流设为停用状态
  • "把这个工作流的触发时间改成每天早上8点" → 技能更新Schedule节点配置

把常见操作变成对话,比点来点去的操作界面方便多了,尤其是在手机上。

一些踩过的坑

最后说几个我们实际遇到过的问题:

Webhook URL不对:如果n8n在内网,外部服务的Webhook打不到,所有以Webhook为触发器的工作流都废了。解决方案要么是配公网地址+反向代理,要么是改成轮询模式。

凭证过期没通知:连接Google Sheets、Gmail这些服务的OAuth Token会过期,过期之后相关工作流全部失败,但n8n不会主动通知你。建议在错误工作流里专门处理"401 Unauthorized"的情况,第一时间告警。

大数据量慢:如果某个工作流要处理几千条数据,在单个节点里循环处理会很慢。n8n其实支持把数据分批处理,用SplitInBatches节点,每批处理100条,效率会高很多。

n8n学习曲线不算陡,基本操作一两天就熟了。真正值钱的是想清楚"哪些重复工作可以自动化"——工具只是工具,想法才是护城河。

⚙️ 安装与赋能

clawhub install n8n-automation-self-hosted-workflow-guide-practical

安装后在你的 Agent 配置中启用此技能,重启 Agent 即可生效。