n8n 完全教程:开源工作流自动化平台实战指南

2026-06-18 · AI工作流自动化

n8n 完全教程:开源工作流自动化平台实战指南

工具类别:AI / 工作流自动化 / 低代码
官方地址:https://n8n.io
开源仓库:https://github.com/n8n-io/n8n
许可协议:Sustainable Use License(社区版免费,可自托管)
当前稳定版:2.23.x(2026 年 6 月)

一、n8n 是什么?为什么你需要它?

n8n(读作 "n-eight-n")是一款 公平代码(fair-code) 的可视化工作流自动化平台。它的核心定位是:把"代码的灵活性"和"无代码工具的速度"结合起来——你既可以像在 Zapier 那样拖拽节点,又可以在任意节点里插入 JavaScript/Python 写自定义逻辑。

2026 年 5 月,n8n 在 GitHub 上突破了 17.9 万 Star,在 JavaScript Rising Stars 2025 评选中拿下自动化品类第一名,超过 Make、Zapier、Activepieces 等同类工具。与传统 SaaS 自动化平台相比,n8n 有三个杀手锏:

  1. 完全自托管:可以跑在你自己的服务器、NAS、甚至树莓派上,数据不出门。
  2. AI 原生:内置 AI Agent、LangChain 节点、向量数据库、MCP 客户端/服务端,能直接拼装 RAG、Agent、Chatbot 工作流。
  3. 400+ 集成 + 任意 HTTP 节点:覆盖 Slack、Notion、GitHub、飞书、钉钉、企业微信等主流 SaaS,没集成的也能用 HTTP Request 节点搞定。

一句话总结:如果你的工作里有"重复搬运数据"的环节,n8n 几乎一定能替你完成。


二、安装步骤(全平台)

n8n 的部署方式非常灵活,下面按从易到难的顺序列出四种主流方案。

2.1 一键 npm 启动(适合本地试玩)

前提:Node.js ≥ 20。


npm install -g n8n
n8n start

启动后访问 http://localhost:5678,首次进入会引导你创建 owner 账户。

2.2 Docker Compose(推荐生产/家庭服务器部署)

创建目录 n8n-deploy 并新建 docker-compose.yml


version: "3.8"

services:
  n8n:
    image: docker.n8n.io/n8nio/n8n
    container_name: n8n
    restart: unless-stopped
    ports:
      - "5678:5678"
    environment:
      - N8N_HOST=localhost
      - N8N_PORT=5678
      - N8N_PROTOCOL=http
      - WEBHOOK_URL=http://localhost:5678/
      - GENERIC_TIMEZONE=Asia/Shanghai
      - N8N_SECURE_COOKIE=false
    volumes:
      - n8n_data:/home/node/.n8n

volumes:
  n8n_data:

启动:


docker compose up -d
docker compose logs -f n8n   # 查看启动日志

2.3 启用 PostgreSQL(生产建议)

SQLite 在并发写入时会"database is locked",生产环境强烈建议切换 PostgreSQL。修改 compose:


services:
  postgres:
    image: postgres:16
    restart: unless-stopped
    environment:
      POSTGRES_USER: n8n
      POSTGRES_PASSWORD: n8npass
      POSTGRES_DB: n8n
    volumes:
      - pg_data:/var/lib/postgresql/data

  n8n:
    image: docker.n8n.io/n8nio/n8n
    restart: unless-stopped
    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=n8npass
    depends_on:
      - postgres
    volumes:
      - n8n_data:/home/node/.n8n

volumes:
  pg_data:
  n8n_data:

2.4 n8n Cloud(不想运维)

如果不想自己部署,官方提供托管版 https://app.n8n.cloud,注册即可用,免费档每月 1000 次执行。


三、基础使用:30 分钟跑通第一个工作流

3.1 编辑器界面

打开 http://localhost:5678,主界面分为四块:

  • 左侧节点面板:搜索 400+ 集成节点;
  • 中间画布:拖拽节点、连线构成工作流;
  • 右侧节点参数面板:配置单个节点的输入/输出、凭证;
  • 顶部工具栏:运行、保存、激活、复制为模板。

3.2 三步搭建"RSS → 飞书机器人"工作流

场景:每天早上 9 点把 AI 相关 RSS 的最新 5 条推送到飞书群。

第 1 步:添加触发器

  • 节点:Schedule Trigger,设置为 0 9 * * *(每天 9:00)。
  • 描述:定时器节点,是 n8n 最常用的入口。

第 2 步:抓取 RSS

  • 节点:RSS Feed Read,URL 填 https://hnrss.org/newest?q=AI
  • 测试:点 "Execute Node" 应能看到 25 条左右的文章列表。

第 3 步:截取前 5 条 + 推飞书

  • 节点:Limit,设 N=5。
  • 节点:HTTP Request,方法 POST,URL 填飞书机器人 webhook,例如:

  https://open.feishu.cn/open-apis/bot/v2/hook/<your_token>

Body 用 JSON:


  {
    "msg_type": "interactive",
    "card": {
      "header": {"title": {"tag": "plain_text", "content": "今日 AI 速递"}},
      "elements": [{"tag": "markdown", "content": "{{ $json.title }}\n{{ $json.link }}"}]
    }
  }
  • 切到 Active 开关,工作流即开始按计划执行。
截图描述:在画布上可看到 4 个节点(Schedule → RSS Read → Limit → HTTP Request)通过箭头串联,整体呈"线性"布局。右侧面板展示了飞书机器人的 JSON Body 编辑器。

四、实战案例:搭建一个本地知识库问答机器人

这一节是 n8n 的"杀手级"用法——结合 LangChain 节点和向量数据库,做一个能"翻自己笔记" 的 RAG 机器人。

4.1 整体架构


Chat Trigger (Web 聊天窗口)
  → AI Agent (ReAct)
      ├─ OpenAI Chat Model (gpt-4o-mini)
      ├─ Simple Memory (保留最近 10 轮对话)
      └─ Vector Store Tool (PGVector)
              └─ Embeddings: text-embedding-3-small

4.2 准备数据源

  1. 在 n8n 左侧菜单搜 Default Data Loader 节点,加载你本地的 Markdown/PDF 文件夹;
  2. Recursive Character Text Splitter,chunk size=1000,overlap=200;
  3. Embeddings OpenAI 节点;
  4. PGVector 节点,operation 选 Insert Documents
  5. 执行一次,把数据灌入向量库。

4.3 搭问答工作流

  1. Chat Trigger:开启 "Make Chat Publicly Available",获得一个聊天 URL;
  2. AI Agent:Agent 类型选 Tools Agent
  3. OpenAI Chat Model:填 API Key、Model = gpt-4o-mini
  4. Simple Memory:sessionId 用 $json.sessionId 表达式;
  5. Vector Store Question Answer Tool:向量库选刚才的 PGVector 索引;
  6. 激活

现在打开 Chat Trigger 提供的链接,就能跟机器人对话——它会先到向量库里查资料,再让 LLM 总结回答。整套链路无任何第三方 SaaS 中转,数据完全本地。


五、常见问题与解决方案

Q1:浏览器一直转圈,提示 "Loading editor..." 怎么办?

通常是 WebSocket 端口没打通。在 compose 里把 5678:5678 改成主机的全部端口暴露,或者在反代里加上 Upgrade / Connection: upgrade 头。

Q2:执行报错 "SQLITE_BUSY: database is locked"

并发高时 SQLite 的写锁是致命的。两种方案:

  • 短期缓解:把 EXECUTIONS_DATA_PRUNE=true 打开,定期清理历史执行;
  • 长期方案:迁移到 PostgreSQL(见 §2.3)。

Q3:Webhook 触发不到,URL 返回 404

n8n 有两种 URL:测试 URL(仅当前 session 有效)和生产 URL(工作流激活后才生效)。在节点里点 "Production URL" 复制即可。

Q4:AI Agent 回答不引用文档,老是"幻觉"

检查 Vector Store Question Answer Tool 节点,确认 Top K ≥ 3,并启用 Reranker(Cohere Reranker 节点);同时把 System Prompt 改成:"仅根据以下上下文回答,引用不出的内容直接说不知道。"

Q5:如何让 n8n 跑在群晖/绿联 NAS 上?

  • 群晖:套件中心有第三方 n8n 套件(SynoCommunity 维护),也可手动 Container Manager 部署;
  • 绿联/极空间:用 Docker Compose 模式挂载 /volume1/docker/n8n 数据卷;
  • 内存建议 ≥ 2GB,否则 Embedding 大文件会 OOM。

Q6:执行次数太多被限流

n8n 默认对每个工作流 1 秒最多 1 次触发。如果遇到 429:

  • Settings → Workflow Execution 调高队列并发;
  • 或使用 Queue Mode + Redis 多 worker(见官方文档 Scaling 章节)。

Q7:如何把 n8n 接到飞书/钉钉机器人?

  • 飞书:直接用 HTTP Request 节点调用 /bot/v2/hook/
  • 钉钉:自定义机器人 webhook 同样 HTTP POST;
  • 企业微信:用 HTTP Request/cgi-bin/message/send,需要 access_token(可加一个 HTTP 节点定时刷新)。

六、总结与资源链接

n8n 是 2026 年最值得关注的开源自动化平台之一:它既是 Zapier 的开源替代,又把 AI Agent、向量库、MCP 协议全做进了一个画布。对于想要"数据本地化 + 工作流可视化 + AI 工程化"的个人和小团队,n8n 几乎是当下的最优解。

推荐学习路径

  1. 官方 Level 1 课程(https://docs.n8n.io/courses/level-one/):覆盖编辑器基础 + 第一个真实工作流;
  2. Advanced AI 文档:https://docs.n8n.io/advanced-ai/
  3. 社区论坛:https://community.n8n.io,问题响应极快;
  4. 模板市场:https://n8n.io/workflows,4000+ 现成工作流直接 import 即可用。

关键链接

本篇写于 2026-06-18,如需最新版细节请以官方文档为准。

相关工具: n8n 完全教程:开源工作流自动化平台实战指南 — n8n 是一个 fair-code 可视化工作流自动化平台。GitHub 17.9 万 Star,内置 AI Agent、LangChain、400+ 集成,让…

← 返回教程列表