n8n — 工作流自动化平台
一句话概述
n8n 是一个开源的工作流自动化平台,可以用拖拽方式把各种 APP 和 AI 模型串联起来自动干活,还能自己部署,相当于一个"可以自己搭建的、会用 AI 的 Zapier"。
核心知识点表格
| 知识点 | 说明 |
|---|
| 定位 | 开源工作流自动化 + AI Agent 平台 |
| 核心理念 | Code + No-Code(灵活性 + 易用性) |
| 集成数量 | 1400+(Slack、GitHub、Gmail 等等) |
| 许可证 | Fair-code(自部署免费,无执行次数限制) |
| AI 能力 | 内置 AI Agent 构建器、LangChain 集成 |
| 自部署 | Docker 一键部署,数据完全自己控制 |
| MCP | 支持将 n8n 工作流变成 MCP Server |
| 成本优势 | 自部署比 Zapier 便宜 20 倍 |
安装与配置
环境要求
- Docker + Docker Compose(推荐)
- 或 Node.js 18+(npm 安装)
- 至少 2GB 内存
- 可选:PostgreSQL(生产环境推荐)
安装步骤
# === 方法一:Docker Compose 安装(推荐) ===
# 创建工作目录
mkdir n8n && cd n8n # 创建并进入 n8n 目录
# 创建 docker-compose.yml
cat > docker-compose.yml << 'EOF'
version: '3.8'
services:
n8n:
image: docker.n8n.io/n8nio/n8n # n8n 官方镜像
restart: always # 自动重启
ports:
- "5678:5678" # 映射端口,浏览器访问用
environment:
- N8N_DEFAULT_LOCALE=zh # 界面语言设为中文
- GENERIC_TIMEZONE=Asia/Shanghai # 时区设置
volumes:
- n8n_data:/home/node/.n8n # 数据持久化
volumes:
n8n_data:
EOF
# 启动 n8n
docker compose up -d # 后台启动 n8n
# 打开浏览器访问 http://localhost:5678
# === 方法二:npm 全局安装 ===
npm install -g n8n # 全局安装 n8n
n8n start # 启动 n8n
带 AI 的完整部署
# AI Starter Kit — 包含 n8n + Ollama + 向量数据库
# 适合搭建本地 AI 工作流
cat > docker-compose-ai.yml << 'EOF'
version: '3.8'
services:
n8n:
image: docker.n8n.io/n8nio/n8n
ports:
- "5678:5678"
environment:
- N8N_DEFAULT_LOCALE=zh
- GENERIC_TIMEZONE=Asia/Shanghai
volumes:
- n8n_data:/home/node/.n8n
ollama:
image: ollama/ollama # 本地 AI 模型服务
ports:
- "11434:11434"
volumes:
- ollama_data:/root/.ollama
qdrant:
image: qdrant/qdrant # 向量数据库(用于 RAG)
ports:
- "6333:6333"
volumes:
- qdrant_data:/qdrant/storage
volumes:
n8n_data:
ollama_data:
qdrant_data:
EOF
docker compose -f docker-compose-ai.yml up -d # 启动完整 AI 套件
基本使用
核心概念
n8n 的核心概念:
1. 工作流(Workflow)= 一个自动化流程
2. 节点(Node)= 流程中的每一步
3. 触发器(Trigger)= 启动流程的条件
4. 连接线(Connection)= 节点之间的数据传递
白话比喻:
工作流 = 流水线
节点 = 流水线上的工位
触发器 = 按下开始按钮
连接线 = 传送带
创建第一个工作流
示例:收到 Gmail 新邮件 → 用 AI 总结 → 发到 Slack
操作步骤:
1. 点击 "Add Workflow"
2. 添加触发器:Gmail → "On Message Received"
3. 添加 AI 节点:OpenAI → Chat
- 提示词:"请用中文总结以下邮件内容:{{$json.text}}"
4. 添加动作:Slack → Send Message
- Channel:#邮件摘要
- Message:{{$json.output}}
5. 连接节点:Gmail → AI → Slack
6. 点击 "Activate" 开启工作流
手动运行 vs 自动运行
手动运行:
- 点击 "Execute Workflow" 按钮
- 适合测试和调试
自动运行:
- 点击 "Activate" 开关
- 工作流会在触发条件满足时自动执行
- 比如:每次收到邮件、每隔5分钟、收到 Webhook 等
高级用法
构建 AI Agent
n8n 内置了 AI Agent 构建器:
1. 添加 "AI Agent" 节点
2. 配置 Agent:
- LLM:选择 OpenAI/Anthropic/Ollama
- Tools:给 Agent 配备工具
- 网页搜索
- 数据库查询
- 文件操作
- 自定义 API
- Memory:给 Agent 配记忆
- 窗口记忆(记住最近N条对话)
- 向量记忆(长期记忆)
3. 设置初始提示词
4. Agent 会自主决定用哪个工具、怎么回答
白话比喻:就像给 AI 配了一个工具箱,
它自己判断要用锤子还是螺丝刀
RAG 工作流(知识库问答)
构建一个基于你自己文档的 AI 问答系统:
步骤:
1. 文档加载 → 用 "Read File" 或 "HTTP Request" 节点
2. 文本分割 → 用 "Text Splitter" 节点
3. 向量化 → 用 "Embeddings" 节点(OpenAI/Ollama)
4. 存储 → 用 "Vector Store" 节点(Qdrant/Pinecone)
5. 查询 → 用 "Vector Store Retriever" 节点
6. 生成回答 → 用 "Chat Model" 节点
这样就建好了一个能回答你文档相关问题的 AI
写 JavaScript/Python 代码
// n8n 支持在节点中写自定义代码
// Code 节点示例(JavaScript):
// 处理上一个节点传来的数据
const items = $input.all(); // 获取输入数据
const results = []; // 结果数组
for (const item of items) {
// 自定义逻辑
const processedData = {
name: item.json.name.toUpperCase(), // 名字转大写
score: item.json.score * 100, // 分数乘以100
passed: item.json.score >= 0.6 // 是否及格
};
results.push({ json: processedData });
}
return results; // 返回处理后的数据
MCP Server 模式
把 n8n 工作流变成 MCP Server:
1. 在工作流中添加 MCP 触发器
2. 定义工具描述
3. 启动 MCP Server
这样其他 AI 工具(Claude、Cline 等)
就可以调用你的 n8n 工作流作为工具了
比如:Claude 可以调用你的 n8n 工作流来查数据库
常见报错与解决
| 报错 | 原因 | 解决方案 |
|---|
| 端口 5678 被占用 | 其他程序占了端口 | 改为其他端口:-p 5679:5678 |
| Docker 启动失败 | Docker 未运行 | 启动 Docker Desktop |
| API 连接失败 | Credential 配置错误 | 检查 API Key 和权限 |
| 工作流执行失败 | 某个节点报错 | 点击失败的节点查看详细错误 |
| 数据丢失 | Volume 未正确挂载 | 检查 docker-compose.yml 的 volumes 配置 |
| 内存不足 | n8n + AI 模型占用太多 | 增加服务器内存或使用云端 AI API |
速查表
| 操作 | 说明 |
|---|
| 新建工作流 | 点击 "Add Workflow" |
| 添加节点 | 点击 + 或搜索节点 |
| 连接节点 | 从一个节点拖线到另一个 |
| 测试运行 | 点击 "Execute Workflow" |
| 激活工作流 | 点击 "Activate" 开关 |
| 查看日志 | Executions 面板查看历史 |
| 导出工作流 | 右键 → Export |
| 导入工作流 | Import from File |
与同类工具对比
| 对比维度 | n8n | Zapier | Make (Integromat) | Dify |
|---|
| 开源 | 是(Fair-code) | 否 | 否 | 是 |
| 自部署 | 支持 | 不支持 | 不支持 | 支持 |
| AI Agent | 内置 | 有限 | 有限 | 强 |
| 代码节点 | JS + Python | 有限 | 有限 | Python |
| 计费方式 | 按执行次数/自部署无限 | 按任务数 | 按操作数 | 按消息数 |
| 成本(万次) | ~$5(自部署) | ~$208 | ~$20 | ~$10 |
| 学习曲线 | 中等 | 低 | 低 | 中等 |
| MCP 支持 | 支持 | 不支持 | 不支持 | 支持 |
白话总结:n8n 就是一个"万能胶水"——它能把你用的各种工具(邮件、Slack、数据库、AI 模型)粘在一起自动工作。最大的优势是:1)开源免费可以自己部署,2)自部署没有执行次数限制,3)同样的工作流比 Zapier 便宜 20 倍,4)内置了 AI Agent 能力。缺点是需要自己维护服务器。适合有一定技术能力、需要大量自动化、关心数据安全的团队。