n8n 是一款开源、灵活且高度可定制的工作流自动化平台,其核心理念是通过可视化拖拽界面将不同的应用、服务、API或数据源连接起来,实现复杂的自动化任务,而无需编写大量代码

n8n 的核心功能

  • 完全开源免费:n8n 采用 MIT 开源许可,源代码托管于 GitHub,用户可自由查看、修改与部署。
  • 可视化工作流编排:通过直观的拖拽式界面构建多步骤自动化流程,降低技术门槛。
  • 丰富的集成生态:官方支持 1700+ 预设模板 和 数百个原生节点(如 Slack、Google Sheets、Notion、Webhook 等),同时支持自定义节点开发。
  • 灵活的触发机制:支持定时任务、事件驱动、手动触发、Webhook、API 调用等多种触发方式。
  • 强大的逻辑控制:支持条件分支(if/else)、循环、错误处理等复杂逻辑,可构建企业级自动化流程。
  • 部署方式灵活:既可本地部署(Docker、本地 Node.js 环境),也可自托管于私有云/公有云,或使用其官方SaaS 云服务(含 14 天试用)。
  • 代码与无代码融合:在可视化流程中可随时插入 JavaScript 或 Python 脚本,实现高度定制化逻辑。

它能解决什么问题

  • 个人效率提升:自动备份笔记、定时抓取网页内容、邮件自动化等。
  • 团队协作自动化:将 Slack 消息同步至 Notion、自动创建 Jira 工单、审批流提醒等。
  • 数据集成与处理:聚合多个 API 数据、清洗并写入数据库、生成报表等。
  • AI 工作流构建:集成 LLM(如 OpenAI、本地模型),构建多步骤 AI Agent,实现“用自然语言操作业务系统”。

开源地址

Github:点此跳转

部署教程

安装要求最低配置:1C2G,建议 2C4G 使用体验更好。

使用 docker-compose 直接编排,如果你还不知道什么是 docke 请看我博客早期文章。

1、创建必要目录

# 创建目录
mkdir n8n && cd n8n 
# 创建汉化源码目录
mkdir n8n-editor-ui

2、下载汉化包,下载对应的版本,点此下载

# 进入汉化目录
cd n8n-editor-ui
# 这里以2.1.4为例
wget https://github.com/other-blowsnow/n8n-i18n-chinese/releases/download/n8n%402.1.4/editor-ui.tar.gz
tar zxvf  editor-ui.tar.gz

3、编写docker-compose文件

# 切换到 n8n 部署目录
cd ..
# 写部署内容
cat > docker-compose.yaml << 'EOF'
services:
  n8n:
    image: n8nio/n8n:2.1.4
    container_name: n8n
    restart: unless-stopped
    ports:
      - "5678:5678"
    environment:
      - N8N_HOST=0.0.0.0
      - N8N_PORT=5678
      - N8N_BASIC_AUTH_ACTIVE=true
      - N8N_BASIC_AUTH_USER=lcry
      - N8N_BASIC_AUTH_PASSWORD=www.51it.wang
      - GENERIC_TIMEZONE=Asia/Shanghai
      - N8N_DEFAULT_LOCALE=zh-CN
      - N8N_RUNNERS_ENABLE=true
      - N8N_SECURE_COOKIE=false
    volumes:
      - ./n8n-editor-ui/dist:/usr/local/lib/node_modules/n8n/node_modules/n8n-editor-ui/dist
      - ./n8n_data:/home/node/.n8n
EOF

4、启动

docker-compose up -d

访问

访问 http://服务器端口:5678 ,然后直接注册账号进行使用。

docker 部署 n8n 及汉化教程

登录之后就开始使用了,汉化版本

docker 部署 n8n 及汉化教程

更多使用请自行网上学习,官方也提供很多示例。
下面给一个简单的示例,实现 RSS 采集本博客文章然后使用 AI 总结。直接将文件保存为 n8n示例.json 然后通过 n8n 导入文件的方式后配置OpenAI密钥信息即可使用

{
  "name": "n8n 示例",
  "nodes": [
    {
      "parameters": {},
      "type": "n8n-nodes-base.manualTrigger",
      "typeVersion": 1,
      "position": [
        0,
        -32
      ],
      "id": "b71f47cd-abd8-4ddd-af2f-a78018688310",
      "name": "When clicking ‘Execute workflow’"
    },
    {
      "parameters": {
        "url": "https://www.51it.wang/feed/",
        "options": {}
      },
      "type": "n8n-nodes-base.rssFeedRead",
      "typeVersion": 1.2,
      "position": [
        224,
        -32
      ],
      "id": "861d91de-ddbe-4002-86a0-482d509c24c1",
      "name": "RSS Read"
    },
    {
      "parameters": {
        "url": "={{ $json.link }}",
        "options": {}
      },
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.3,
      "position": [
        448,
        -32
      ],
      "id": "26788ef7-caae-4fd4-ae19-4bc2c81cfe4d",
      "name": "HTTP Request"
    },
    {
      "parameters": {
        "promptType": "define",
        "text": "总结一下内容",
        "messages": {
          "messageValues": [
            {
              "type": "HumanMessagePromptTemplate",
              "message": "={{ $json.data }}"
            }
          ]
        },
        "batching": {}
      },
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "typeVersion": 1.8,
      "position": [
        720,
        -80
      ],
      "id": "b9b46e3d-a1dd-49d6-adab-a19ff9e38e24",
      "name": "Basic LLM Chain"
    },
    {
      "parameters": {
        "langfuseMetadata": {},
        "model": {
          "__rl": true,
          "value": "lcry-qwen2.5-free",
          "mode": "list",
          "cachedResultName": "lcry-qwen2.5-free"
        },
        "options": {}
      },
      "type": "n8n-nodes-openai-langfuse.lmChatOpenAiLangfuse",
      "typeVersion": 3,
      "position": [
        960,
        112
      ],
      "id": "047b4931-8f05-45d5-b288-cc448d8e39ea",
      "name": "OpenAI Chat Model with Langfuse",
      "credentials": {
        "openAiApiWithLangfuseApi": {
          "id": "tNfaDQ5KQylfOAhB",
          "name": "openAi With Langfuse account"
        }
      }
    }
  ],
  "pinData": {},
  "connections": {
    "When clicking ‘Execute workflow’": {
      "main": [
        [
          {
            "node": "RSS Read",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "RSS Read": {
      "main": [
        [
          {
            "node": "HTTP Request",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "HTTP Request": {
      "main": [
        [
          {
            "node": "Basic LLM Chain",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model with Langfuse": {
      "ai_languageModel": [
        [
          {
            "node": "Basic LLM Chain",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    }
  },
  "active": false,
  "settings": {
    "executionOrder": "v1",
    "availableInMCP": false
  },
  "versionId": "1bbaf13d-af85-41f9-983a-c85c850b65c1",
  "meta": {
    "templateCredsSetupCompleted": true,
    "instanceId": "26ed29e74e799b41704f9f0a73e916b696773d6c294ba71218c0f956db33d456"
  },
  "id": "yMM7JJqmf20RscY8",
  "tags": []
}

总结

本文主要带大家使用 docker-compose 部署 n8n,最近慢慢将自己近几年 AI 相关使用心得以及部署基础设施分享出来,慢慢沉淀下来,也希望大家也能通过 AI 实实在在提高效率以及感受 AI 带来的乐趣与便捷。

文章目录