前言

💡 痛点:每天重复处理同样的任务?邮件分类、会议总结、数据录入…花费大量时间在「可以自动化」的事情上?

🎯 解决方案:用 n8n 构建可视化工作流,让 AI 帮你自动化一切!

n8n 是一款开源的工作流自动化工具,被称为「开源版 Zapier」,支持:

  • 🎨 可视化拖拽 —— 无需写代码,拖拖拽拽就能构建自动化
  • 🔗 400+ 集成 —— 邮件、Slack、GitHub、Notion、数据库等
  • 🤖 AI 原生支持 —— 内置 LLM 节点、向量数据库、LangChain 集成
  • 🚀 自托管部署 —— 数据在自己服务器,隐私安全
  • 💰 完全免费 —— 开源免费,商业使用也免费

一、n8n 核心概念

1.1 n8n 是什么?

渲染错误: Mermaid 渲染失败: Parse error on line 7: ...据存储] A -->|[新邮件]| F[Gmail] ---------------------^ Expecting 'TAGEND', 'STR', 'MD_STR', 'UNICODE_TEXT', 'TEXT', 'TAGSTART', got 'SQS'

1.2 核心术语

n8n 核心概念

🎯 Trigger
触发器

📦 Node
节点

🔀 Connection
连接线

⚙️ Credential
凭据

📋 Workflow
工作流

工作流的起点
事件驱动

执行特定任务
如:发送邮件、调用 AI

节点之间的数据流向
定义执行顺序

API 密钥/OAuth
安全存储认证信息

完整的自动化流程
触发器 + 多个节点

术语 中文 解释 示例
Trigger 触发器 工作流的启动条件 「新邮件到达」「每天 9:00」「Webhook 调用」
Node 节点 执行特定任务的单元 「发送 Slack 消息」「调用 OpenAI API」「写入数据库」
Connection 连接线 节点之间的数据流向 定义数据从哪里来、到哪里去
Credential 凭据 存储的认证信息 API Key、OAuth Token、用户名密码
Workflow 工作流 完整的自动化流程 「新邮件 → AI 分类 → 存入 Notion → 发送 Slack 通知」

1.3 n8n vs 其他工具对比

维度 n8n Zapier Make (Integromat) Power Automate
💰 价格 🆓 开源免费 $19.99/月起 $9/月起 $15/月起
🔧 自托管 ✅ 支持 ❌ 不支持 ❌ 不支持 ❌ 不支持
🤖 AI 集成 ⭐⭐⭐⭐⭐ 原生 LangChain ⭐⭐ 基础 ⭐⭐⭐ 需第三方 ⭐⭐ 基础
🔗 集成数量 400+ 6000+ 1400+ 1000+
📝 代码能力 ✅ JavaScript/Python ⚠️ 有限 ⚠️ 有限 ⚠️ Power Fx
🕐 执行限制 无(自托管) 750-2000/月 1000-10000/月 2500-无限制
🌐 中文支持 ⚠️ 社区 ✅ 官方 ⚠️ 部分 ✅ 官方

为什么选择 n8n?

30% 25% 20% 15% 10% n8n 优势分析 🤖 AI 原生支持 🆓 完全免费开源 🔒 数据自主可控 📝 代码能力 🎨 界面友好

二、5 分钟快速部署 n8n

2.1 部署方式选择

个人/学习

团队/生产

快速体验

Windows

选择部署方式

使用场景?

🖥️ Docker Compose
一键部署

☸️ Kubernetes
高可用部署

☁️ n8n Cloud
官方托管

🐳 Docker Desktop
本地部署

✅ 推荐

⚠️ 需要 K8s 经验

⚠️ 数据在云端

2.2 Docker Compose 部署(推荐)

创建 docker-compose.yml

version: '3.8'

services:
  n8n:
    image: n8nio/n8n:latest
    container_name: n8n
    restart: always
    ports:
      - "5678:5678"           # Web UI 端口
      - 127.0.0.1:5679:5678  # 仅本地访问 Webhook
    environment:
      # 📧 邮件配置
      - N8N_SMTP_HOST=smtp.gmail.com
      - N8N_SMTP_PORT=587
      - N8N_SMTP_USER=your-email@gmail.com
      - N8N_SMTP_PASS=your-app-password
      - N8N_SMTP_FROM=n8n@your-domain.com
      
      # 🤖 AI 配置
      - OPENAI_API_KEY=sk-xxxx      # OpenAI API Key
      - ANTHROPIC_API_KEY=sk-ant-xxxx  # Anthropic API Key
      
      # 🔒 安全配置
      - N8N_BASIC_AUTH_ACTIVE=true
      - N8N_BASIC_AUTH_USER=admin
      - N8N_BASIC_AUTH_PASSWORD=your-secure-password
      
      # 💾 数据持久化
      - N8N_USER_FOLDER=/home/node/.n8n
      - N8N_ENCRYPTION_KEY=your-32-char-encryption-key
      
      # 🌐 外部访问(可选)
      - WEBHOOK_URL=https://your-domain.com/
      - N8N_HOST=0.0.0.0
      - N8N_PROTOCOL=https
    volumes:
      - n8n_data:/home/node/.n8n
      - ./workflows:/home/node/workflow backups  # 备份工作流

volumes:
  n8n_data:
    driver: local

启动服务:

# 1. 创建目录
mkdir -p ~/n8n && cd ~/n8n

# 2. 保存 docker-compose.yml
vim docker-compose.yml

# 3. 启动
docker-compose up -d

# 4. 查看日志
docker-compose logs -f

# 5. 访问 Web UI
# http://localhost:5678

首次访问配置:

访问 localhost:5678

首次设置?

创建管理员账号

直接登录

设置邮箱密码

完成配置

✅ 进入工作台

2.3 使用 ngrok 暴露 Webhook(开发用)

# 1. 安装 ngrok
# macOS
brew install ngrok
# 或下载:https://ngrok.com/download

# 2. 添加 authtoken(去 ngrok.com 注册获取)
ngrok config add-authtoken YOUR_TOKEN

# 3. 启动 ngrok 转发到 n8n
ngrok http 5678

# 4. 得到公网地址
# Forwarding  https://abc123.ngrok.io -> http://localhost:5678

2.4 数据库配置(可选,推荐生产使用)

# 添加 PostgreSQL 支持
version: '3.8'

services:
  n8n:
    image: n8nio/n8n:latest
    container_name: n8n
    restart: always
    ports:
      - "5678:5678"
    environment:
      - DB_TYPE=postgresdb
      - DB_POSTGRESDB_HOST=postgres
      - DB_POSTGRESDB_PORT=5432
      - DB_POSTGRESDB_DATABASE=n8n
      - DB_POSTGRESDB_USER=n8n
      - DB_POSTGRESDB_PASSWORD=n8n_secure_password
    depends_on:
      - postgres

  postgres:
    image: postgres:16-alpine
    container_name: n8n-db
    restart: always
    environment:
      - POSTGRES_DB=n8n
      - POSTGRES_USER=n8n
      - POSTGRES_PASSWORD=n8n_secure_password
    volumes:
      - postgres_data:/var/lib/postgresql/data

volumes:
  n8n_data:
  postgres_data:

三、n8n 界面详解

3.1 工作台布局

n8n 工作台

🖥️ 顶部导航栏

📁 左侧边栏

🎨 中间画布

⚙️ 右侧配置面板

Logo / 搜索 / 用户

工作流列表

模板市场

凭据管理

变量管理

拖拽节点区域

连接线

缩放控制

节点配置

输出预览

日志查看

3.2 节点基础操作

添加节点

点击 + 号

拖拽节点

搜索节点名称

选择节点

拖到画布

连接节点

配置节点

测试运行

节点操作快捷键:

快捷键 功能
Ctrl + 空格 打开节点搜索
Ctrl + A 全选节点
Ctrl + C/V 复制/粘贴节点
Ctrl + Z 撤销
Ctrl + Enter 运行工作流
Delete 删除选中节点
鼠标悬停 + 拖拽 移动节点位置

3.3 节点连接规则

渲染错误: Mermaid 渲染失败: Parse error on line 3: ... A -->|失败连接
(红色)| C[错误处理] B ----------------------^ Expecting 'SQE', 'DOUBLECIRCLEEND', 'PE', '-)', 'STADIUMEND', 'SUBROUTINEEND', 'PIPE', 'CYLINDEREND', 'DIAMOND_STOP', 'TAGEND', 'TRAPEND', 'INVTRAPEND', 'UNICODE_TEXT', 'TEXT', 'TAGSTART', got 'PS'
连接类型 颜色 说明
主连接 蓝线 成功执行时的数据流
失败连接 红色 发生错误时的处理路径
待机连接 灰色 条件分支
AI 连接 绿色 AI 节点专用

四、实战案例:从入门到精通

4.1 案例 1:AI 邮件自动分类(⭐入门)

重要

待办

垃圾

归档

📧 新邮件

📥 Gmail 触发

🤖 AI 分析

分类判断

⭐ 标记星标

📋 加入任务

🗑️ 移动到垃圾箱

📁 移动到归档

✅ 完成

工作流配置步骤:

Step 1:添加 Gmail 触发器
节点类型:Trigger
节点名称:Gmail Trigger

配置:
├── Trigger on: Email Message Received
├── Labels: 全部(可选:只监听特定标签)
├── Poll Times: Every minute(每分钟检查)
└── Credentials: Gmail API 凭据

创建 Gmail 凭据:

  1. 访问 Google Cloud Console
  2. 创建新项目
  3. 启用 Gmail API
  4. 创建 OAuth 2.0 凭据
  5. 在 n8n 中粘贴 Client ID 和 Client Secret
Step 2:添加 AI Agent 节点
节点类型:AI / LangChain Agent
节点名称:Email Classifier

配置:
├── Model: OpenAI GPT-4
├── Prompt:
│   """
│   你是一个邮件分类助手。根据邮件内容,将其分类为:
│   - important(重要):需要立即处理的商业邮件
│   - todo(待办):需要后续跟进的事项
│   - spam(垃圾):广告、推销、无价值邮件
│   - archive(归档):参考资料、新闻通讯等
│   
│   邮件主题:{{ $json.subject }}
│   邮件正文:{{ $json.body }}
│   
│   只输出分类名称,不要其他内容。
│   """
└── Mode: Node.js
Step 3:添加条件分支(IF 节点)
节点类型:Flow / Conditional Router
节点名称:Classify Result

配置:
├── Conditions:
│   ├── String: {{ $json.text }}
│   ├── Operation: Equals
│   └── Value: important
├── Add another condition:
│   ├── OR / String: {{ $json.text }}
│   ├── Operation: Equals
│   └── Value: todo
└── Add another condition:
    ├── OR / String: {{ $json.text }}
    ├── Operation: Equals
    └── Value: spam
Step 4:添加执行分支

对于 important(重要):

节点:Gmail - Add Label
配置:
├── Operation: Add Label
├── Label ID or Name: STARRED

对于 todo(待办):

节点:Notion - Create Database Item
配置:
├── Database: 任务列表
├── Properties:
│   ├── Title: {{ $json.subject }}
│   ├── Status: To Do
│   ├── Source: Email
│   └── Email Date: {{ $json.date }}

对于 spam(垃圾):

节点:Gmail - Move to Folder
配置:
├── Operation: Move to Trash
Step 5:测试运行
1. 点击「Test workflow」按钮
2. 发送一封测试邮件到你的 Gmail
3. 观察执行日志:
   ✅ Gmail Trigger - 收到邮件
   ✅ AI Agent - 分析完成,分类为: important
   ✅ IF Node - 匹配 important 分支
   ✅ Gmail Add Label - 添加星标成功
4. 验证 Gmail 中的邮件是否被正确处理

4.2 案例 2:AI 新闻摘要机器人(⭐⭐ 进阶级)

📝 Notion 存档记录 💬 Telegram 发送消息 🤖 AI Agent 摘要生成 🔗 RSS Feed 获取新闻 ⏰ Schedule 每天早 9 点 📝 Notion 存档记录 💬 Telegram 发送消息 🤖 AI Agent 摘要生成 🔗 RSS Feed 获取新闻 ⏰ Schedule 每天早 9 点 触发工作流 获取今日新闻 发送文章列表 生成摘要 发送摘要消息 保存到数据库 消息发送成功 保存成功

完整配置:

Step 1:Schedule 触发器
节点:Schedule Trigger
配置:
├── Trigger on: Cron Expression
├── Cron: 0 9 * * *  # 每天早上 9:00
└── Timezone: Asia/Shanghai
Step 2:RSS Feed 节点
节点:RSS Feed Read
配置:
├── URL:
│   - https://feeds.bbci.co.uk/news/technology/rss.xml
│   - https://hnrss.org/frontpage
│   - https://www.techcrunch.com/feed/
├── Property for Items: items
└── Limit: 10(限制每次处理数量)
Step 3:代码节点 - 数据处理
// Node: Process Articles
// 将多个 RSS 源的新闻合并处理

const items = $input.all();
const articles = [];

for (const item of items) {
  const json = item.json;
  // 遍历每个 RSS 源
  if (json.items) {
    for (const article of json.items) {
      articles.push({
        title: article.title,
        link: article.link,
        pubDate: article.pubDate,
        source: article['dc:creator'] || 'Unknown'
      });
    }
  }
}

// 去重(按标题)
const uniqueArticles = articles.filter((article, index, self) =>
  index === self.findIndex(t => t.title === article.title)
);

// 取最新 5 篇
return uniqueArticles.slice(0, 5).map(article => ({
  json: article
}));
Step 4:LLM 节点 - 生成摘要
节点:AI / LLM Chain
配置:
├── Model: OpenAI GPT-4
├── Prompt:
│   """
│   你是一个新闻摘要助手。请为以下新闻生成简短摘要(50字以内):
│   
│   标题:{{ $json.title }}
│   来源:{{ $json.source }}
│   
│   摘要格式:
│   【{{ $json.title }}】
│   📰 [一句话总结]
│   
│   只输出摘要,不要其他内容。
│   """
├── Options:
│   ├── Temperature: 0.3
│   └── Max Tokens: 100
└── Mode: Node.js
Step 5:Telegram 发送消息
节点:Telegram
配置:
├── Operation: Send Message
├── Chat ID: 你的 Chat ID(需要先和 Bot 对话获取)
├── Text:
│   """
│   📰 今日科技新闻摘要
│   
│   {{ $json.summary }}
│   
│   🔗 原文链接:{{ $json.link }}
│   
│   🕐 时间:{{ $json.pubDate }}
│   📡 来源:{{ $json.source }}
│   
│   🤖 由 n8n AI 工作流自动生成
│   """
└── Additional Fields:
    ├── Parse Mode: Markdown
    └── Disable Web Page Preview: true
Step 6:Notion 存档
节点:Notion
配置:
├── Operation: Create Database Item
├── Database: 新闻存档
├── Properties:
│   ├── Title: {{ $json.title }}
│   ├── Summary: {{ $json.summary }}
│   ├── Link: {{ $json.link }}
│   ├── Published: {{ $json.pubDate }}
│   ├── Source: {{ $json.source }}
│   └── Created At: {{ $now }}

运行效果预览:

📰 今日科技新闻摘要

【OpenAI 发布 GPT-5,性能提升 300%】
📰 OpenAI 宣布推出下一代 GPT-5 模型,
   在多项基准测试中性能提升显著。
🔗 原文链接:https://...
🕐 时间:2026-05-28
📡 来源:TechCrunch

🤖 由 n8n AI 工作流自动生成

4.3 案例 3:智能客服机器人(⭐⭐⭐ 高级)

未认证

已认证

查订单

查产品

投诉

其他

💬 用户消息

🌐 Webhook 接收

验证用户

要求登录

🤖 AI 处理

意图识别

📦 订单系统

🛍️ 产品数据库

📧 转人工

💬 闲聊模式

📤 返回结果

发送邮件通知

📋 创建工单

💬 Telegram 回复

Step 1:Webhook 触发器
节点:Webhook
配置:
├── HTTP Method: POST
├── Path: customer-support
├── Authentication: None(验证在后续节点处理)
└── Response:
    ├── Response Mode: Last Node Output
    └── Response Data: JSON
Step 2:代码节点 - 验证用户
// Node: Validate User
const userId = $input.first().json.user_id;
const token = $input.first().json.token;

// 模拟用户验证(实际应该查数据库)
const validUsers = {
  'user123': { name: '张三', tier: 'vip' },
  'user456': { name: '李四', tier: 'normal' }
};

if (!validUsers[userId]) {
  // 用户不存在
  return [{
    json: {
      error: 'USER_NOT_FOUND',
      message: '用户不存在,请先注册'
    }
  }];
}

const user = validUsers[userId];

// 记录用户信息到后续节点
return [{
  json: {
    ...$input.first().json,
    user_name: user.name,
    user_tier: user.tier,
    validated: true
  }
}];
Step 3:LangChain Agent 节点
节点:AI / LangChain Agent
配置:
├── Model: OpenAI GPT-4
├── Agent: Conversational AI Agent
├── Memory: Chat History(对话历史)
├── Tools:
│   ├── Query Order(查订单)
│   │   └── SQL: SELECT * FROM orders WHERE user_id = '{{ $json.user_id }}'
│   ├── Query Product(查产品)
│   │   └── API: GET /api/products?id={{ $json.product_id }}
│   └── Create Ticket(创建工单)
│       └── Action: Insert into tickets table
├── System Message:
│   """
│   你是一个智能客服助手,名字叫「小e」。
│   
│   你的职责:
│   1. 回答用户关于订单、产品的问题
│   2. 对于投诉和复杂问题,创建工单转交人工处理
│   3. 保持礼貌、专业、简洁
│   
│   用户信息:
│   - 用户名:{{ $json.user_name }}
│   - 会员等级:{{ $json.user_tier }}
│   
│   注意:
│   - VIP 用户享有优先处理
│   - 不要泄露用户敏感信息
│   """
└── Mode: Node.js
Step 4:代码节点 - 格式化回复
// Node: Format Response
const aiResponse = $input.first().json.text;
const userMessage = $('Webhook').first().json.message;

return [{
  json: {
    success: true,
    user_id: $input.first().json.user_id,
    message: aiResponse,
    timestamp: new Date().toISOString(),
    conversation_id: `conv_${Date.now()}`
  }
}];
Step 5:响应节点
节点:Respond to Webhook
配置:
├── Response Code: 200
├── Response Data:
│   """
│   {
│     "success": {{ $json.success }},
│     "message": "{{ $json.message }}",
│     "timestamp": "{{ $json.timestamp }}"
│   }
│   """
└── Response Content-Type: application/json

4.4 案例 4:定时数据同步 + AI 分析(⭐⭐⭐⭐ 生产级)

正常

异常

轻微

严重

紧急

⏰ 定时触发
每 5 分钟

📊 MySQL 查询

📋 数据清洗

异常检测

✅ 存入历史

🤖 AI 分析

严重程度

📧 发送邮件

📱 发送短信

📞 立即电话

📝 更新日志

📊 Notion Dashboard

Step 1:MySQL 节点 - 读取数据
节点:MySQL
配置:
├── Credentials: MySQL 连接凭据
├── Operation: Execute Query
├── Query:
│   """
│   SELECT 
│     id,
│     metric_name,
│     metric_value,
│     threshold,
│     recorded_at
│   FROM 
│     system_metrics
│   WHERE 
│     recorded_at > DATE_SUB(NOW(), INTERVAL 5 MINUTE)
│     AND (metric_value > threshold OR metric_value < threshold * 0.8)
│   ORDER BY
│     recorded_at DESC
│   LIMIT 100
│   """
└── Output: Rows
Step 2:代码节点 - 数据清洗
// Node: Clean Data
const metrics = $input.all();

const cleaned = metrics.map(item => {
  const data = item.json;
  return {
    id: data.id,
    name: data.metric_name,
    value: parseFloat(data.metric_value),
    threshold: parseFloat(data.threshold),
    deviation: Math.abs(data.metric_value - data.threshold) / data.threshold * 100,
    recorded_at: data.recorded_at,
    severity: Math.abs(data.metric_value - data.threshold) / data.threshold > 0.3 
      ? 'critical' 
      : Math.abs(data.metric_value - data.threshold) / data.threshold > 0.2 
        ? 'warning' 
        : 'info'
  };
});

// 按严重程度排序
cleaned.sort((a, b) => {
  const order = { critical: 0, warning: 1, info: 2 };
  return order[a.severity] - order[b.severity];
});

return cleaned.map(item => ({ json: item }));
Step 3:LLM 节点 - 生成分析报告
节点:AI / LLM Chain
配置:
├── Model: OpenAI GPT-4
├── Input Data:
│   - metrics: {{ $json }}
├── Prompt:
│   """
│   你是一个系统监控分析师。请分析以下系统指标异常数据:
│   
│   {{ $json.name }}: {{ $json.value }}
│   阈值: {{ $json.threshold }}
│   偏离程度: {{ $json.deviation }}%
│   严重程度: {{ $json.severity }}
│   
│   请生成一份简洁的分析报告,包含:
│   1. 问题描述(一句话)
│   2. 可能原因(2-3 条)
│   3. 建议处理方式
│   
│   输出格式为 JSON:
│   {
│     "analysis": "...",
│     "causes": ["...", "..."],
│     "recommendations": ["...", "..."]
│   }
│   """
├── Options:
│   ├── Temperature: 0.3
│   └── Response Format: JSON
└── Mode: Node.js
Step 4:条件分支 - 按严重程度处理
节点:IF
配置:
├── Conditions:
│   ├── String: {{ $json.severity }}
│   ├── Operation: Equals
│   └── Value: critical
├── Combine: Any
└── Add Condition:
    ├── String: {{ $json.severity }}
    ├── Operation: Equals
    └── Value: warning
Step 5:发送通知

对于 critical/warning:

// 节点:Telegram
// 发送告警消息
const msg = `
🚨 *系统告警*

📊 指标:${$input.first().json.name}
📈 当前值:${$input.first().json.value}
📉 阈值:${$input.first().json.threshold}
⚠️ 偏离:${$input.first().json.deviation.toFixed(1)}%

🤖 AI 分析:
${JSON.parse($input.first().json.text).analysis}

🔧 建议:
${JSON.parse($input.first().json.text).recommendations.join('\n')}
`;

对于更严重的(添加 Twilio 短信):

节点:Twilio
配置:
├── Credentials: Twilio 凭据
├── From: +1234567890
├── To: +your-phone-number
└── Message: [同上精简版]
Step 6:Notion Dashboard 更新
节点:Notion
配置:
├── Operation: Update Database Item
├── Database: 系统监控仪表盘
├── Item ID: [固定记录项 ID]
└── Properties:
    ├── Last Check: {{ $now }}
    ├── Critical Count: [计算 critical 数量]
    ├── Warning Count: [计算 warning 数量]
    └── Last Analysis: {{ $json.text }}

五、AI 节点详解

5.1 n8n AI 节点生态

n8n AI 节点

🤖 LLM 节点

🧠 Agent 节点

📚 Memory 节点

🔧 Tool 节点

OpenAI

Anthropic

Ollama

Google Gemini

Conversational Agent

Tool Agent

LangChain Agent

Chat Memory

Buffer Memory

Vector Store

HTTP Request

Code Executor

Search Tool

5.2 LLM 节点配置

模型 节点名称 API Key 环境变量 适用场景
GPT-4 OpenAI Node OPENAI_API_KEY 通用对话、复杂推理
GPT-3.5 OpenAI Node OPENAI_API_KEY 快速响应、成本敏感
Claude 3 Anthropic Node ANTHROPIC_API_KEY 长文本处理、安全性
Llama 3 Ollama Node 无(本地运行) 隐私敏感、无 API 成本
Gemini Pro Google Gemini Node GOOGLE_API_KEY 多模态、长上下文

5.3 LangChain Agent 详解

反馈

思考

Tool: SQL Query

Observation

最终答案

用户输入

🤖 Agent

🎯 规划行动

⚙️ 执行 Tool

📝 获取结果

Thought: 我需要先查询数据库

Tool: SELECT ...

Observation: 查询结果

✅ 输出结果

LangChain Agent 的优势:

特性 说明 优势
🎯 自主规划 Agent 自动决定调用哪个 Tool 无需硬编码流程
🔄 循环执行 Tool 结果反馈给 Agent 再决策 处理复杂多步任务
📚 记忆支持 可接入向量数据库做 RAG 基于知识库回答
🔧 Tool 扩展 可自定义 Tool 无限扩展能力

六、生产级最佳实践

6.1 错误处理机制

工作流执行

成功?

✅ 完成

有重试?

⏳ 等待

🔄 重试

有错误处理?

📧 发送告警

❌ 记录日志

错误处理配置:

节点:Error Trigger
配置:
├── On Error: Continue
├── Error Workflow: [选择错误处理工作流]
└── Error Workflow Trigger: Error Workflow Trigger

错误处理工作流:
1. 记录错误详情到数据库
2. 发送告警通知
3. 尝试自动修复(如重试)
4. 生成错误报告

6.2 凭据安全管理

凭据管理

🔐 加密存储

👥 团队共享

📝 审计日志

AES-256 加密

环境变量支持

Vault 集成

按项目分配

权限控制

定期轮换

操作记录

异常告警

合规报告

6.3 性能优化

优化项 建议 效果
🔄 执行频率 避免高频轮询 降低 API 配额消耗
💾 数据缓存 使用 Code 节点缓存重复数据 减少数据库查询
异步处理 Webhook 返回后异步执行 快速响应
📊 批量处理 批量插入而非逐条 提升数据库性能
🧹 数据精简 及时清理中间数据 节省存储空间

6.4 监控与告警

📊 监控指标

执行次数

成功率

响应时间

错误类型

📈 Grafana Dashboard

阈值告警?

📧 发送通知

✅ 正常

关键监控指标:

  1. 执行统计

    • 工作流执行次数 / 小时
    • 成功/失败比例
    • 平均执行时间
  2. 错误分析

    • 错误类型分布
    • 频繁失败的节点
    • 错误趋势
  3. 资源消耗

    • API 调用次数
    • 数据传输量
    • 存储使用

七、常用工作流模板

7.1 模板市场

n8n 内置模板市场,提供 100+ 预制模板:

类别 模板数量 热门模板
📧 邮件自动化 15+ 邮件分类、自动回复、摘要生成
📱 社交媒体 20+ Twitter 监控、Instagram 发帖
📊 数据处理 25+ CSV 导入导出、数据转换
🤖 AI 助手 30+ 客服机器人、内容生成、RAG
🔔 通知提醒 15+ 定时提醒、异常告警
📅 日历集成 10+ 会议安排、日程同步

7.2 自定义模板创建

构建工作流

测试完成

导出 JSON

上传到模板市场

设置元信息

发布模板

导出模板:

# 1. 在 n8n UI 中打开工作流
# 2. 点击右上角「Save」旁边的菜单
# 3. 选择「Download as JSON」
# 4. 保存为 .json 文件

# 5. 分享给团队或提交到模板市场

八、常见问题 FAQ

❓ 常见问题

工作流不触发?

API 限额超限?

数据格式错误?

内存不足?

并发执行限制?

检查触发器配置

确认 Webhook URL 正确

检查 Cron 表达式

降低执行频率

添加请求间隔

使用批量操作

添加 JSON Parse 节点

使用代码节点调试

查看节点输出

减少数据量

分批处理

增加 Docker 内存

升级计划

使用队列

优化工作流逻辑

Q1:工作流不触发怎么办?

检查清单:

  1. ✅ 触发器是否正确配置
  2. ✅ Webhook URL 是否正确暴露
  3. ✅ Cron 表达式是否正确
  4. ✅ 外部服务是否有调用(如 Gmail API 权限)
  5. ✅ 查看执行历史日志

Q2:API 调用超限怎么办?

解决方案:

  1. 降低轮询频率(从每分钟改为每小时)
  2. 使用批量 API 而非逐条调用
  3. 在代码节点中添加请求间隔
  4. 考虑升级 API 配额

Q3:数据格式不匹配?

常用解决方案:

// 使用代码节点转换格式
const data = JSON.parse($input.first().json.rawData);
return [{
  json: {
    // 转换为你需要的格式
  }
}];

Q4:执行超时或内存不足?

优化建议:

  1. 增加 Docker 内存限制
  2. 减少单次处理的数据量
  3. 使用分页获取数据
  4. 优化代码逻辑,减少中间变量

九、总结

🎓 你学到了什么

🖥️ n8n 部署安装

🎨 可视化工作流构建

🤖 AI 节点使用

🔗 400+ 集成连接

⚙️ 生产级最佳实践

✅ Docker Compose

✅ 拖拽式操作

✅ LangChain Agent

✅ 常用场景实战

✅ 错误处理/监控

下一步行动

🚀 立即行动

今天:
部署 n8n

本周:
实现 1 个自动化

本月:
构建 AI 工作流体系

✅ 提升效率

✅ 节省时间

✅ 团队协作自动化

资源链接

资源 链接 说明
📚 官方文档 https://docs.n8n.io/ 最权威的学习资料
🤖 GitHub https://github.com/n8n-io/n8n 源码和问题反馈
💬 社区 https://community.n8n.io/ 模板和问题讨论
📺 视频教程 https://www.youtube.com/n8nio 官方视频教程
🐳 Docker https://hub.docker.com/r/n8nio/n8n 官方镜像

附录:常用节点速查表

节点类型 节点名称 用途
触发器 Schedule Trigger 定时执行
🌐 Webhook HTTP 请求触发
📧 Gmail Trigger 邮件触发
📱 Telegram Trigger 消息触发
🤖 AI OpenAI 调用 GPT
🤖 Anthropic 调用 Claude
🤖 LangChain Agent AI 代理
🔗 集成 HTTP Request 调用任意 API
📊 MySQL 数据库操作
📝 Notion 笔记和数据库
💬 Telegram 发送消息
📧 Gmail 邮件操作
⚙️ 工具 Code JavaScript/Python
🔀 IF 条件分支
🔁 Split In Batches 批量处理

本文基于 n8n 1.0+ 编写。如有问题欢迎评论区讨论!

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐