跳转至

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

与同类工具对比

对比维度n8nZapierMake (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 能力。缺点是需要自己维护服务器。适合有一定技术能力、需要大量自动化、关心数据安全的团队。