n8n + AI 实践
学习目标:掌握 n8n 的 Docker 部署、AI 节点配置、自定义工作流设计——最终能用 n8n 搭建一条完全由你自己控制的 AI 自动化流水线
预计时间:40 分钟
难度等级:⭐⭐⭐☆☆
一、n8n 是什么
先说结论:如果 Zapier 是 iPhone,n8n 就是 Android——你得自己折腾,但折腾完了什么都能干。
n8n 是一个开源的工作流自动化平台,2019 年发布,2026 年 GitHub Star 已突破 56k。核心特点:
- 完全开源:代码在 GitHub 上,你可以审查、修改、自己部署
- 自部署:跑在你自己的服务器上,数据不出网
- 最灵活:支持任意 JavaScript / Python 代码节点、自定义 API 调用、原生 AI 节点
- 免费:自部署完全免费,没有任何任务数限制
n8n 名字的由来
n8n 读作 "n-eight-n",代表它最开始的架构理念——把 N 个节点串联成 N 个节点的工作流(n-to-n workflow)。
1.1 什么时候该用 n8n
你要做自动化,先问三个问题:
│
├─ 数据是否敏感?(客户数据 / 公司内部信息)
│ └─ 是 → n8n 自部署是唯一选择
│
├─ 预算多少?
│ ├─ 0 → n8n 免费
│ └─ $50/月 → Zapier Pro
│
├─ 需要多灵活?
│ ├─ "Zapier 能干的就够了" → Zapier
│ └─ "我需要自定义代码和复杂路由" → n8n
│
└─ 三个问题看完 → 如果你有 2 个以上选右边 → 上 n8n二、Docker 一键部署
n8n 部署的方式很多,最推荐的是 Docker——5 分钟的事。
2.1 环境要求
- Docker 和 Docker Compose(按操作系统装好)
- 一台能上网的电脑(个人电脑也行,VPS 更好)
2.2 部署步骤
创建一个 docker-compose.yml 文件:
version: '3.8'
services:
n8n:
image: n8nio/n8n:latest
container_name: n8n
ports:
- "5678:5678"
environment:
- N8N_BASIC_AUTH_ACTIVE=true
- N8N_BASIC_AUTH_USER=admin
- N8N_BASIC_AUTH_PASSWORD=your_password_here
- WEBHOOK_URL=https://your-domain.com # 如果需要外部访问
volumes:
- ./n8n_data:/home/node/.n8n
restart: unless-stopped然后在同目录执行:
docker compose up -d打开浏览器访问 http://localhost:5678:
- 用你设置的账号密码登录
- 进入 Dashboard → 完成
全程不超过 5 分钟。 如果中间卡住了,一般是 Docker 没装好或端口被占用。
2.3 其他部署方式
没有 Docker 环境?还有这些选择:
| 方式 | 命令 / 说明 | 适合场景 |
|---|---|---|
| npm 全局安装 | npm install n8n -g && n8n start | 本地开发测试 |
| n8n.cloud | 官方托管版(付费,$20/月起) | 不想自己维护服务器 |
| Railway / Render | 一键部署到云平台 | 快速上云 |
| Kubernetes | Helm Chart 部署 | 企业级部署 |
花叔的建议:先在本地用 Docker 搭一个,跑通了再考虑要不要搬到服务器上。本地跑 n8n 够了——需要外部访问时才需要 VPS。
三、界面快速导航
部署完成后,n8n 的编辑器长这样:
┌────────────────────────────────────────────────────────┐
│ n8n │ Workflows │ Credentials │ Settings │
├────────────────────────────────────────────────────────┤
│ │
│ ┌────┐ │
│ │ │ [Node 搜索 / 拖拽区] │
│ │ 节点 │ │
│ │ 面板 │ +── [触发器节点] │
│ │ │ +── [动作节点] │
│ │ │ +── [AI 节点] │
│ │ │ +── [代码节点] │
│ │ │ │
│ └────┘ │
│ │
│ ┌──────────────────────────────────────┐ │
│ │ 画布(拖拽编排区域) │ │
│ │ │ │
│ │ [Schedule Trigger] │ │
│ │ │ │ │
│ │ ▼ │ │
│ │ [HTTP Request] │ │
│ │ │ │ │
│ │ ▼ │ │
│ │ [AI: Summarize] │ │
│ │ │ │ │
│ │ ▼ │ │
│ │ [Notion] │ │
│ └──────────────────────────────────────┘ │
│ │
│ [Executor: ✅ Workflow Active] [Save] [Execute] │
└────────────────────────────────────────────────────────┘关键区域:
| 区域 | 说明 |
|---|---|
| 节点面板(左侧) | 所有可用节点列表,搜索 / 拖拽到画布 |
| 画布(中间) | 拖拽连接节点,编排工作流 |
| 节点编辑器(选中节点时) | 配置选中节点的参数 |
| 执行记录(底部) | 查看运行日志和错误信息 |
四、AI 节点接入
n8n 原生支持 AI 节点,不需要额外插件。
4.1 支持的 AI 节点
n8n 提供了丰富的 AI 相关节点(截至 2026 年):
| 节点 | 功能 |
|---|---|
| OpenAI | 调用 GPT-4o、GPT-4o-mini、DALL-E 等 |
| Anthropic | 调用 Claude 3.5 Sonnet、Claude 3 Haiku 等 |
| Hugging Face | 调用 Hugging Face 上的任意模型 |
| Ollama | 连接本地运行的 Ollama 模型 |
| LM Studio | 连接本地 LM Studio |
| AI Agent | n8n 的自主 Agent 节点(类似 Zapier Agents) |
| AI Transform | AI 驱动的数据处理 |
| Embeddings | 向量嵌入生成 |
| Vector Stores | 向量数据库操作(Qdrant、Pinecone 等) |
4.2 配置 OpenAI 节点
这是最常见的方式:
- 在节点面板搜索 "OpenAI"
- 拖拽到画布
- 双击节点 → 配置参数:
Credentials:
└─ API Key: sk-xxxxxxxxxxxxxxxx ← 你的 OpenAI API Key
Operation: Create Message
Model: gpt-4o
Messages:
└─ 系统提示:你是一个有用的助手
└─ 用户消息:{{ 上一步的输出 }}
Options:
Temperature: 0.7
Max Tokens: 2000关于 API Key
如果你没有 OpenAI 的 API Key,也可以用 Anthropic(Claude)或者对接国内的模型(DeepSeek、月之暗面等)。n8n 的 HTTP Request 节点可以对接任意 API——这是它比 Zapier 灵活的地方。
4.3 AI Agent 节点(进阶)
n8n 的 AI Agent 节点比普通 LLM 节点更强大——它可以自主调用工具:
[Trigger] → [AI Agent]
│
├─ Tool 1: Web Search
├─ Tool 2: Calculator
├─ Tool 3: Database Lookup
└─ Tool 4: Send Email配置方式:
{
"node": "AI Agent",
"prompt": "你是我的研究助手。用户提问后,请自主决定是否搜索网页、查数据库或直接回答。",
"tools": [
"HTTP Request(用于搜索)",
"Notion(用于查笔记)"
],
"model": "gpt-4o",
"maxIterations": 5
}Agent 会根据用户的问题,自主决定"要不要搜索"、"要不要查数据库"、"要不要调用 API"——你不需要写死每一步。
五、自定义工作流设计
5.1 一条完整的工作流
我们搭一条比 Zapier 更复杂的:监控 Hacker News → AI 筛选 → 翻译 → 存 Notion → 发飞书通知。
步骤 1:触发器
添加 Schedule Trigger 节点:
Rule: Every 2 hours步骤 2:抓取数据
添加 HTTP Request 节点:
Method: GET
URL: https://hacker-news.firebaseio.com/v0/topstories.json这里 Hacker News API 返回的是 ID 列表,需要用后面的节点处理。
步骤 3:获取文章详情
再加一个 HTTP Request 节点,循环获取每篇文章详情(用 n8n 的 Loop Over Items 模式):
Method: GET
URL: https://hacker-news.firebaseio.com/v0/item/{{ $json.id }}.json步骤 4:AI 筛选和总结
添加 OpenAI 节点:
Operation: Create Message
System Prompt: 判断文章是否与 AI/机器学习相关。如果相关,用中文总结要点。
User Message: 文章标题:{{ $json.title }} 摘要:{{ $json.text }}步骤 5:条件过滤
添加 IF 节点:
Condition: {{ $json.is_ai_related }} equals true如果和 AI 相关 → 继续;不相关 → 结束。
步骤 6:保存到 Notion
添加 Notion 节点:
Operation: Create Page
Database ID: 你的 Notion 数据库 ID
Title: {{ $json.title }}(中文)
Content: {{ $json.summary }}步骤 7:发送通知
添加 Telegram 或 Slack 节点,发送消息通知你。
5.2 完整结构
[Schedule Trigger: 每 2 小时]
↓
[HTTP Request: 获取首页 Top Stories]
↓
[Loop: 遍历每篇文章]
↓
[HTTP Request: 获取文章详情]
↓
[OpenAI: 判断 + 总结]
↓
[IF: 和 AI 相关?]
├─ Yes → [Notion: 创建页面]
│ ↓
│ [Telegram: 发送通知]
│
└─ No → [End]花叔的实战建议
n8n 的工作流如果出错了,排查顺序是:
- 检查每个节点的右下角是否有红色 ❌
- 点击出错节点 → 看 "Output" → 看错误信息
- 最常见的问题:数据格式不对、API Key 失效、网络不通
- 用 "Execute Node" 单独测试出问题的节点,比跑完整的 Flow 快得多
六、n8n vs Zapier:怎么选
6.1 核心差异
| 维度 | Zapier | n8n |
|---|---|---|
| 价格 | $19.99/月起,AI 功能 $49/月 | 免费(自部署) |
| 部署 | SaaS,注册即用 | 需自己部署 Docker |
| 数据隐私 | 数据经过 Zapier 服务器 | 数据本机处理 |
| 灵活度 | 线性流程 + 模板 | 任意拓扑、代码节点、复杂路由 |
| AI 支持 | 内置 AI 步骤(GPT-4o) | 原生 OpenAI/Anthropic/Ollama |
| 集成数量 | 5000+ | 400+(社区更多) |
| 稳定性 | 平台保障 | 取决于你自己的运维 |
| 社区 | 商业支持 | 开源社区(56k+ Star) |
| 学习曲线 | 平坦 | 中等 |
6.2 花叔的选型建议
预算充足,不差钱 → Zapier
(省心,出问题找官方客服)
技术背景,完全可控 → n8n
(免费 + 灵活 + 数据本地,但需要自己维护)
最推荐的路:
先在 Zapier 上跑通你的业务逻辑
如果发现 Zapier 不够用 / 太贵 → 迁移到 n8n
两个不冲突——很多场景可以混用6.3 能不能混用?
能。而且很多人就是这么干的:
- 对外交互用 Zapier:邮件、Slack、Google Sheets(这些 Zapier 集成最好)
- 内部处理用 n8n:AI 处理、数据加工、自定义逻辑
- 两者通过 Webhook 互通:Zapier 触发的 Webhook → n8n 处理 → n8n 的 Webhook 回 Zapier
七、模板库使用
7.1 官方模板
n8n 内置了模板库,点击 "Templates" 标签就能看到:
- AI News Scraper:AI 新闻抓取和总结
- Customer Support Agent:客户支持自动回复
- Email Digest:每日邮件摘要
- SEO Monitor:SEO 数据监控
- Social Media Poster:社交媒体自动发布
7.2 社区模板
GitHub 上也有大量社区贡献的模板:
- n8n 官方模板库
- Awesome n8n(GitHub 搜索)
- n8n 社区论坛的 Workflows 板块
7.3 使用模板的流程
- 在 n8n 编辑器点击 "Templates"
- 搜索关键词(如 "AI summary")
- 点击模板 → "Use workflow"
- 按提示配置缺失的节点(如 API Key、数据库连接)
- 测试运行 → 调整参数 → 上线
八、进阶技巧
8.1 代码节点
n8n 支持在流程中插入 JavaScript 或 Python 代码:
// Code 节点示例
const items = $input.all();
// 处理数据
const processed = items.map(item => ({
title: item.json.title.toUpperCase(),
summary: item.json.summary.substring(0, 200),
tags: ['auto-generated', 'ai'],
processedAt: new Date().toISOString()
}));
return processed;8.2 错误处理
每个节点都可以配置错误处理策略:
| 策略 | 行为 |
|---|---|
| Stop Workflow | 出错时停止(默认) |
| Continue (Error Output) | 出错时跳过错,继续执行 |
| Retry | 自动重试(可设次数和间隔) |
8.3 子工作流
n8n 支持将一个工作流作为另一个工作流的子流程调用:
[主工作流] → [Execute Workflow 节点] → [子工作流]适合把通用的处理逻辑(比如"AI 总结")抽成子工作流,多处复用。
本节小结
回顾要点
✅ n8n = 开源 + 自部署 + 最灵活,适合预算有限或数据敏感的场景
✅ Docker 部署 n8n:5 分钟搞定,从 docker compose up 到访问 Dashboard
✅ AI 节点原生支持 OpenAI / Anthropic / Ollama,还可以用 HTTP Request 接任意模型
✅ 复杂工作流示例:定时抓取 HN → AI 筛选 → 翻译 → 存 Notion → 通知
✅ n8n vs Zapier:不是"谁更好",而是"谁更适合"——两者可以混用
✅ 模板库 + 代码节点 + 错误处理 = 打造可靠自动化的基本功
