Skip to content

n8n 完全指南

n8n 是一个开源的工作流自动化平台,通过可视化方式连接各种服务、API 和 AI 模型,实现自动化任务处理。与 Zapier、Make 这些商业化平台相比,n8n 最大的优势是:完全开源、可自部署、无限制使用。数据完全掌控在自己手里。

本文基于 n8n v1.x 编写。

核心特点#

特性说明
可视化编排拖拽式界面,不用写代码就能搭建复杂工作流
开源免费MIT 协议,可自由部署和定制
节点丰富内置 400+ 个服务节点(GitHub、Slack、Notion 等)
AI 集成原生支持 OpenAI、Claude、Gemini 等 AI 模型
高度灵活支持自定义代码节点(JavaScript/Python)
数据安全自部署模式,数据不经过第三方
活跃社区持续更新,社区提供大量模板

快速上手#

Docker 一键启动#

Terminal window
# 拉取并运行 n8n
docker run -it --rm \
--name n8n \
-p 5678:5678 \
-v ~/.n8n:/home/node/.n8n \
docker.n8n.io/n8nio/n8n

Docker Compose 部署#

创建 docker-compose.yml

version: '3.8'
services:
n8n:
image: docker.n8n.io/n8nio/n8n
restart: always
ports:
- '5678:5678'
environment:
- N8N_BASIC_AUTH_ACTIVE=true
- N8N_BASIC_AUTH_USER=admin
- N8N_BASIC_AUTH_PASSWORD=your_password
- N8N_HOST=localhost
- N8N_PORT=5678
- N8N_PROTOCOL=http
- NODE_ENV=production
- WEBHOOK_URL=http://localhost:5678/
volumes:
- ~/.n8n:/home/node/.n8n

启动:

Terminal window
docker-compose up -d

访问 http://localhost:5678 即可看到 n8n 界面。

Docker Desktop 图形界面#

也可以通过 Docker Desktop 图形界面操作,步骤更直观:

  1. 在搜索框输入 n8n,点击 pull 拉取镜像:

  1. 下载完成后点击 Run

  1. 填写配置信息(Container name、Port 等),点击 Run

  1. 在 Containers 面板启动容器:

  1. 点击链接访问 n8n:

核心概念#

工作流(Workflow)#

工作流是 n8n 的核心,由多个节点按顺序或并行连接组成。每个工作流都有一个触发节点(Trigger)作为起点。

节点(Node)#

节点是工作流的基本单元,分为几类:

类型说明示例
Trigger触发器,启动工作流Webhook、Schedule、手动触发
Action执行具体操作发送邮件、创建记录
Transform数据转换Set、Split、Merge
Code自定义代码JavaScript、Python
AIAI 模型调用OpenAI、Claude

连接(Connection)#

节点之间通过连接传递数据。每个节点的输出可以连接到下一个节点的输入。

常用节点#

Trigger 节点#

- Webhook:接收 HTTP 请求触发
- Schedule Trigger:定时触发(Cron 表达式)
- Manual Trigger:手动点击触发
- Email Trigger (IMAP):收到邮件触发

数据处理节点#

- Set:设置/修改数据字段
- IF:条件分支
- Switch:多条件分支
- Merge:合并多个数据流
- Split In Batches:批量处理
- Code:自定义 JavaScript/Python 代码

常用服务节点#

- HTTP Request:调用任意 API
- OpenAI:ChatGPT、DALL-E
- Slack:发送消息、创建频道
- Notion:操作数据库、页面
- GitHub:创建 Issue、管理仓库
- Google Sheets:读写表格
- Airtable:操作数据库
- Telegram:发送消息、Bot

AI 集成#

n8n 原生支持多种 AI 模型,可以快速构建 AI 应用。

OpenAI 节点#

1. 添加 OpenAI 节点
2. 配置 API Key(在 Credentials 中)
3. 选择操作类型:
- Chat:对话
- Image:生成图片
- Audio:语音转文字
4. 设置模型参数(gpt-4、temperature 等)

AI Agent 节点#

n8n 提供了 AI Agent 节点,可以让 AI 自动调用工具完成任务:

1. 添加 AI Agent 节点
2. 配置 LLM(OpenAI/Claude)
3. 添加 Tools(HTTP Request、Code 等)
4. AI 会根据任务自动选择工具执行

常见 AI 工作流#

1. 智能客服

Webhook → OpenAI Chat → 判断意图 → 回复/转人工

2. 内容生成

Schedule → 获取热点 → OpenAI 生成文章 → 发布到 Notion

3. 文档问答

Webhook → 检索向量库 → OpenAI 回答 → 返回结果

实战案例#

案例一:GitHub Issue 自动通知#

当 GitHub 仓库收到新 Issue 时,自动发送 Slack 通知:

节点流程:
GitHub Trigger → Set(格式化消息) → Slack(发送消息)
配置要点:
1. GitHub Trigger:选择 Issues 事件
2. Set:构建消息内容 {{ $json.issue.title }}
3. Slack:配置 Channel 和消息模板

案例二:定时数据备份#

每天凌晨自动备份 Notion 数据到 Google Sheets:

节点流程:
Schedule Trigger → Notion(查询数据库) → Google Sheets(追加行)
配置要点:
1. Schedule:Cron 表达式 0 2 * * *
2. Notion:查询指定数据库
3. Google Sheets:映射字段到列

案例三:AI 邮件自动回复#

收到邮件后,用 AI 生成回复草稿:

节点流程:
Email Trigger → OpenAI Chat(分析并生成回复) → 发送通知
Prompt 示例:
"分析以下邮件内容,生成一个专业、友好的回复:
{{ $json.text }}"

高级功能#

自定义代码节点#

当内置节点无法满足需求时,使用 Code 节点:

// JavaScript 示例
const items = $input.all()
for (const item of items) {
item.json.processed = true
item.json.timestamp = new Date().toISOString()
}
return items

错误处理#

n8n 支持为节点配置错误处理逻辑:

- 继续执行:忽略错误,继续下一个节点
- 停止工作流:遇到错误立即停止
- 错误工作流:触发另一个工作流处理错误

Webhook 安全#

保护 Webhook 端点:

1. 使用 Header Auth:验证请求头
2. 使用 Basic Auth:用户名密码认证
3. IP 白名单:限制来源 IP
4. 签名验证:验证请求签名

环境变量#

docker-compose.yml 中配置:

environment:
# 数据库(生产环境推荐)
- DB_TYPE=postgresdb
- DB_POSTGRESDB_HOST=postgres
- DB_POSTGRESDB_DATABASE=n8n
- DB_POSTGRESDB_USER=n8n
- DB_POSTGRESDB_PASSWORD=password
# 时区
- GENERIC_TIMEZONE=Asia/Shanghai
# 执行超时
- EXECUTIONS_TIMEOUT=3600

n8n vs Zapier vs Make#

特性n8nZapierMake
定价开源免费按任务收费按操作收费
自部署
节点数量400+6000+1500+
代码节点有限
AI 集成✅ 原生
学习曲线中等简单中等
适合场景技术团队非技术用户中等复杂度

选择建议

常见问题#

工作流不触发#

检查清单:

  1. 工作流是否已激活(Active)
  2. Trigger 节点配置是否正确
  3. Webhook URL 是否可访问
  4. 查看执行日志排查错误

内存不足#

n8n 处理大数据量时可能内存不足:

docker-compose.yml
environment:
- NODE_OPTIONS=--max-old-space-size=4096

定时任务时区问题#

设置正确的时区:

environment:
- GENERIC_TIMEZONE=Asia/Shanghai

参考资料#