【教程】玩转n8n:从入门到精通,打造自动化工作流平台_n8n 入门
【教程】玩转n8n:从入门到精通,打造自动化工作流平台
- 【教程】玩转n8n:从入门到精通,打造自动化工作流平台
-
- 摘要
- 目录
- 1. n8n 简介
-
- 1.1 主要特性
- 1.2 常见应用场景
- 2. 使用 Docker 部署 n8n
-
- 2.1 基本部署步骤:
- 2.2 使用 Docker Compose 部署(推荐):
- 3. 汉化 n8n
-
- 3.1 挂载汉化文件方法
- 3.2 使用 Docker Compose 部署汉化版本
- 3.3 汉化注意事项
- 4. n8n 入门小例子:Webhook 消息通知
- 5. n8n 复杂例子:RSS 文章摘要与邮件推送
- 6. 总结
- 参考资料
【教程】玩转n8n:从入门到精通,打造自动化工作流平台
摘要
本文为n8n学习者和使用者提供一份详尽指南。n8n作为一款拥有超过54K Star的开源自动化工作流平台,支持400+节点,正成为数字化转型和AI应用落地的重要工具。文章从n8n基本概念入手,详细介绍Docker部署方法和汉化方案,并通过两个由浅入深的实例展示n8n在实际工作中的应用。无论您想构建简单的通知系统,还是复杂的AI驱动工作流,本文都将帮助您快速掌握n8n使用技巧,提升工作效率,实现业务自动化。
关键词:n8n、自动化工作流、Docker部署、工作流平台、低代码
目录
-
n8n简介
-
使用Docker部署n8n
-
汉化n8n
-
n8n入门小例子:Webhook消息通知
-
n8n复杂例子:RSS文章摘要与邮件推送
-
总结
1. n8n 简介
n8n(发音为 “n-eight-n”)是一个强大的开源工作流自动化和集成平台,目前在 GitHub 上已获得超过 54K 的 Star。它由 Jan Oberhauser 创立,以\"公平代码\"(Fair-code)模式运营,既保持开源透明,又能保障公司可持续发展。n8n 允许用户通过可视化界面连接不同的应用程序和服务,自动化重复性任务和流程,支持超过 400 个节点的集成,从小型个人项目到企业级应用均可胜任。
图1: n8n官方文档首页,展示了n8n的主要功能和特性
1.1 主要特性
- 可视化工作流构建: 通过拖放节点的方式,直观地构建复杂的工作流,无需编程基础即可快速上手。
- 丰富的集成: 内置了大量的节点,可以与各种第三方服务(如 Google Sheets, Slack, Salesforce, OpenAI, GitHub, 数据库等)进行集成,目前支持超过 400 个节点。
- 灵活的触发器: 支持多种触发器,可以根据不同的事件(如 Webhook、定时任务、邮件接收、文件监控等)启动工作流。
- 数据处理与控制: 允许在工作流中处理数据、控制流程逻辑(如条件判断、循环)、管理凭据和用户访问,支持复杂的业务规则实现。
- 代码与无代码结合: 既提供了无代码的便捷性,也支持通过 JavaScript/Python 编写自定义代码来扩展功能,满足高级用户的定制需求。
- 自托管能力: 支持 Docker/Kubernetes 部署,用户可以完全掌控数据和隐私,适合对数据安全有严格要求的企业。
- AI 能力集成: 能够与 AI 模型(如 OpenAI、Gemini、DeepSeek、Claude 等)结合,构建智能自动化流程,实现 AI 驱动的业务应用。
- 模型上下文协议(MCP): 最新版本支持 n8n MCP(Model Context Protocol),允许 AI 助手(如 Claude)深度理解 n8n 节点、操作与官方文档,通过自然语言指令创建工作流。
1.2 常见应用场景
- 数据同步与集成: 自动在不同系统间同步数据,如将 CRM 系统的客户数据同步到邮件营销工具。
- 内容管理与生成: 监控 RSS Feed、社交媒体,自动收集、处理和分发内容。结合 AI 模型,可实现内容的自动摘要、翻译和生成。
- 业务流程自动化: 自动化销售线索跟踪、客户服务工单处理、财务审批等业务流程。
- AI 驱动应用: 与大语言模型(如 GPT-4、Gemini、DeepSeek)集成,构建智能对话机器人、文本分析、OCR 识别等应用。
- 监控与通知: 监控网站性能、服务状态、业务指标,出现异常时自动发送通知。
- 社交媒体管理: 自动发布内容、收集反馈、分析数据,提高社交媒体营销效率。
- 自动化报表生成: 定期从各数据源收集数据,生成分析报表并通过邮件、Slack 等渠道发送。
图2: n8n GitHub项目页面,展示了项目概述、主要功能和快速开始指南
2. 使用 Docker 部署 n8n
使用 Docker 部署 n8n 是最推荐和最便捷的方式,因为它提供了环境隔离和易于管理的优势。
2.1 基本部署步骤:
- 安装 Docker: 确保你的服务器上已经安装了 Docker 和 Docker Compose。
- 创建数据卷: 为了持久化 n8n 的数据,建议创建一个 Docker 数据卷。
docker volume create n8n_data
- 运行 n8n 容器: 使用以下命令运行 n8n 容器。
docker run -it --rm --name n8n -p 5678:5678 -v n8n_data:/home/node/.n8n docker.n8n.io/n8nio/n8n
-it
: 交互式运行。--rm
: 容器停止后自动删除。--name n8n
: 为容器指定名称。-p 5678:5678
: 将主机的 5678 端口映射到容器的 5678 端口。-v n8n_data:/home/node/.n8n
: 将n8n_data
数据卷挂载到容器内部 n8n 存储数据的路径。docker.n8n.io/n8nio/n8n
: n8n 官方 Docker 镜像。
- 访问 n8n 界面: 部署成功后,通过浏览器访问
http://localhost:5678
(如果部署在远程服务器,请将localhost
替换为服务器 IP 地址)。
2.2 使用 Docker Compose 部署(推荐):
对于更复杂的配置或多服务部署,使用 Docker Compose 更为方便。
- 创建
docker-compose.yml
文件:version: \'3.8\'services: n8n: image: docker.n8n.io/n8nio/n8n restart: always ports: - \"5678:5678\" volumes: - n8n_data:/home/node/.n8n environment: - N8N_BASIC_AUTH_ACTIVE=true - N8N_BASIC_AUTH_USER=user - N8N_BASIC_AUTH_PASSWORD=password - N8N_EDITOR_BASE_URL=http://localhost:5678/ # 根据实际情况修改 - GENERIC_TIMEZONE=Asia/Shanghai # 设置时区 - TZ=Asia/Shanghai # 设置时区 # - N8N_EMAIL_MODE=smtp # 邮件配置示例 # - N8N_SMTP_HOST=smtp.example.com # - N8N_SMTP_PORT=587 # - N8N_SMTP_USER=your_email@example.com # - N8N_SMTP_PASS=your_email_password # - N8N_SMTP_SENDER=your_email@example.comvolumes: n8n_data:
- 可以根据需要添加环境变量,例如设置用户名密码、时区、邮件服务等。
- 启动服务: 在
docker-compose.yml
文件所在目录执行:docker-compose up -d
-d
: 后台运行。
3. 汉化 n8n
n8n 官方目前没有内置完整的中文支持,但可以通过社区提供的汉化包进行汉化。
图3: n8n中文汉化项目GitHub页面,提供了多种部署方式的汉化方案
3.1 挂载汉化文件方法
- 下载汉化文件: 社区通常会在 GitHub 上发布汉化包。例如,可以从
https://github.com/other-blowsnow/n8n-i18n-chinese
获取。
通常会提供editor-ui.tar.gz
或类似的文件。wget https://github.com/other-blowsnow/n8n-i18n-chinese/releases/download/n8n%401.90.2/editor-ui.tar.gztar -zxvf editor-ui.tar.gz
- 将汉化文件挂载到 Docker 容器: 在运行 Docker 容器时,将解压后的汉化文件目录挂载到 n8n 容器的对应路径。
假设解压后的汉化文件在当前目录的editor-ui
文件夹中。docker run -it --rm --name n8n -p 5678:5678 \\-v n8n_data:/home/node/.n8n \\-v $(pwd)/editor-ui:/usr/local/lib/node_modules/n8n/dist/packages/editor-ui/dist \\docker.n8n.io/n8nio/n8n
-v $(pwd)/editor-ui:/usr/local/lib/node_modules/n8n/dist/packages/editor-ui/dist
: 将本地的editor-ui
目录挂载到容器内 n8n UI 文件的路径。请注意,$(pwd)
会获取当前目录的绝对路径。- 具体的挂载路径可能因 n8n 版本而异,请参考汉化包的说明。
3.2 使用 Docker Compose 部署汉化版本
如果你使用 Docker Compose 部署 n8n,可以直接在 docker-compose.yml
文件中配置汉化:
version: \'3.8\'services: n8n: image: docker.n8n.io/n8nio/n8n restart: always ports: - \"5678:5678\" volumes: - n8n_data:/home/node/.n8n - ./editor-ui:/usr/local/lib/node_modules/n8n/dist/packages/editor-ui/dist environment: - N8N_BASIC_AUTH_ACTIVE=true - N8N_BASIC_AUTH_USER=user - N8N_BASIC_AUTH_PASSWORD=password - N8N_EDITOR_BASE_URL=http://localhost:5678/ - GENERIC_TIMEZONE=Asia/Shanghaivolumes: n8n_data:
3.3 汉化注意事项
- 版本匹配:确保下载的汉化包版本与你使用的 n8n 版本匹配,否则可能会导致界面显示异常。
- 升级时的处理:在升级 n8n 版本时,需要重新下载对应版本的汉化包并替换原有的汉化文件。
- 权限问题:如果遇到权限问题,可能需要调整汉化文件的权限:
chmod -R 755 ./editor-ui
- 使用官方国际化:随着 n8n 的发展,官方可能会增加对中文的支持,届时可以直接使用官方的国际化方案,无需手动汉化。
4. n8n 入门小例子:Webhook 消息通知
场景: 接收 Webhook 请求,并将请求内容发送到 Slack 频道。
图4: Webhook消息通知工作流示例,从左到右依次是Webhook触发器、数据处理和Slack发送节点
步骤:
- 添加 Webhook 节点:
- 在 n8n 工作流中,添加一个
Webhook
节点作为触发器。 - 配置 Webhook URL,并选择
POST
方法。
- 在 n8n 工作流中,添加一个
- 添加 Slack 节点:
- 添加一个
Slack
节点。 - 配置 Slack 凭据(需要创建 Slack App 并获取 Bot Token)。
- 在 Slack 节点中,选择
Post Message
操作。 - 配置要发送消息的频道,并在消息内容中使用表达式引用 Webhook 接收到的数据,例如
{{ $json.body.text }}
。
- 添加一个
- 连接节点并激活工作流:
- 将
Webhook
节点的输出连接到Slack
节点的输入。 - 激活工作流。
- 将
- 测试: 向 Webhook URL 发送一个 POST 请求,包含 JSON 数据,例如
{\"text\": \"Hello from n8n!\"}
。你将在 Slack 频道中看到相应的消息。
5. n8n 复杂例子:RSS 文章摘要与邮件推送
场景: 监控 RSS Feed 更新,提取文章内容,使用 AI 进行摘要,并将摘要发送到邮件列表。
图5: RSS文章摘要与邮件推送工作流示例,展示了从RSS订阅到AI处理再到邮件推送的完整流程
步骤:
- RSS Feed Reader 节点(触发器):
- 添加
RSS Feed Reader
节点。 - 配置要监控的 RSS Feed URL。
- 设置定时触发(例如每小时检查一次)。
- 添加
- HTTP Request 节点(获取文章详情):
- RSS Feed 通常只包含文章摘要,需要通过文章链接获取完整内容。
- 添加
HTTP Request
节点,方法为GET
。 - 将 RSS Feed Reader 节点的输出连接到 HTTP Request 节点,并使用表达式
{{ $json.item.link }}
获取文章链接。
- HTML Extract 节点(提取文章内容):
- 添加
HTML Extract
节点。 - 将 HTTP Request 节点的输出连接到 HTML Extract 节点。
- 配置 CSS 选择器,提取文章正文内容。例如,
article p
或特定的文章内容 div。
- 添加
- OpenAI 节点(AI 摘要):
- 添加
OpenAI
节点。 - 配置 OpenAI API 凭据。
- 选择
Chat
或Completion
操作。 - 在消息内容中,使用表达式引用 HTML Extract 节点提取的文章内容,并给出摘要指令,例如:“请总结以下文章内容,生成一个 100 字以内的摘要:
{{ $json.text }}
”。
- 添加
- Email Send 节点(邮件推送):
- 添加
Email Send
节点。 - 配置 SMTP 凭据。
- 设置收件人、主题。
- 在邮件正文中使用表达式引用 OpenAI 节点生成的摘要,例如
{{ $json.choices[0].message.content }}
。
- 添加
- 连接节点并激活工作流:
- 将所有节点按顺序连接。
- 激活工作流。
6. 总结
n8n 作为一个功能强大、灵活且易于使用的自动化工作流平台,无论是对于个人用户还是企业团队,都提供了极大的便利。通过本文的介绍,您应该已经掌握了 n8n 的基本概念、部署方法、汉化技巧以及通过实际案例构建工作流的能力。
从简单的 Webhook 消息通知到复杂的 RSS 文章摘要与邮件推送,n8n 都能帮助您自动化日常任务,提升工作效率。其\"代码与无代码结合\"的特性,使得不同技术背景的用户都能找到适合自己的使用方式。特别是其对 AI 能力的集成,为构建智能自动化流程打开了新的大门。
希望本文能为您在 n8n 的学习和使用过程中提供有价值的参考。立即开始您的 n8n 自动化之旅,释放您的生产力吧!
参考资料
- n8n官方文档: n8n Documentation - n8n.io, 2025
- n8n GitHub仓库: n8n - Workflow Automation Tool - GitHub, 2025
- n8n中文汉化项目: n8n-i18n-chinese - GitHub, 2025
- Docker官方文档: Docker Documentation - Docker Inc., 2025
- Let’s Encrypt: Let’s Encrypt - Free SSL/TLS Certificates - Internet Security Research Group, 2025