【教程】玩转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 基本部署步骤:
- -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 镜像。
2.2 使用 Docker Compose 部署(推荐):
对于更复杂的配置或多服务部署,使用 Docker Compose 更为方便。
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.com
volumes:
n8n_data:
- 可以根据需要添加环境变量,例如设置用户名密码、时区、邮件服务等。
- -d: 后台运行。
3. 汉化 n8n
n8n 官方目前没有内置完整的中文支持,但可以通过社区提供的汉化包进行汉化。
图3: n8n中文汉化项目GitHub页面,提供了多种部署方式的汉化方案
3.1 挂载汉化文件方法
tar -zxvf editor-ui.tar.gz
-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/Shanghai
volumes:
n8n_data:
3.3 汉化注意事项
4. n8n 入门小例子:Webhook 消息通知
场景: 接收 Webhook 请求,并将请求内容发送到 Slack 频道。
图4: Webhook消息通知工作流示例,从左到右依次是Webhook触发器、数据处理和Slack发送节点
步骤:
- 在 n8n 工作流中,添加一个 Webhook 节点作为触发器。
- 配置 Webhook URL,并选择 POST 方法。

- 添加一个 Slack 节点。
- 配置 Slack 凭据(需要创建 Slack App 并获取 Bot Token)。
- 在 Slack 节点中,选择 Post Message 操作。
- 配置要发送消息的频道,并在消息内容中使用表达式引用 Webhook 接收到的数据,例如 {{ $json.body.text }}。
- 将 Webhook 节点的输出连接到 Slack 节点的输入。
- 激活工作流。
5. n8n 复杂例子:RSS 文章摘要与邮件推送
场景: 监控 RSS Feed 更新,提取文章内容,使用 AI 进行摘要,并将摘要发送到邮件列表。
图5: RSS文章摘要与邮件推送工作流示例,展示了从RSS订阅到AI处理再到邮件推送的完整流程
步骤:
- 添加 RSS Feed Reader 节点。
- 配置要监控的 RSS Feed URL。
- 设置定时触发(例如每小时检查一次)。
- RSS Feed 通常只包含文章摘要,需要通过文章链接获取完整内容。
- 添加 HTTP Request 节点,方法为 GET。
- 将 RSS Feed Reader 节点的输出连接到 HTTP Request 节点,并使用表达式 {{ $json.item.link }} 获取文章链接。
- 添加 HTML Extract 节点。
- 将 HTTP Request 节点的输出连接到 HTML Extract 节点。
- 配置 CSS 选择器,提取文章正文内容。例如,article p 或特定的文章内容 div。
- 添加 OpenAI 节点。
- 配置 OpenAI API 凭据。
- 选择 Chat 或 Completion 操作。
- 在消息内容中,使用表达式引用 HTML Extract 节点提取的文章内容,并给出摘要指令,例如:“请总结以下文章内容,生成一个 100 字以内的摘要:{{ $json.text }}”。
- 添加 Email Send 节点。
- 配置 SMTP 凭据。
- 设置收件人、主题。
- 在邮件正文中使用表达式引用 OpenAI 节点生成的摘要,例如 {{ $json.choices[0].message.content }}。

- 将所有节点按顺序连接。
- 激活工作流。
6. 总结
n8n 作为一个功能强大、灵活且易于使用的自动化工作流平台,无论是对于个人用户还是企业团队,都提供了极大的便利。通过本文的介绍,您应该已经掌握了 n8n 的基本概念、部署方法、汉化技巧以及通过实际案例构建工作流的能力。
从简单的 Webhook 消息通知到复杂的 RSS 文章摘要与邮件推送,n8n 都能帮助您自动化日常任务,提升工作效率。其"代码与无代码结合"的特性,使得不同技术背景的用户都能找到适合自己的使用方式。特别是其对 AI 能力的集成,为构建智能自动化流程打开了新的大门。
希望本文能为您在 n8n 的学习和使用过程中提供有价值的参考。立即开始您的 n8n 自动化之旅,释放您的生产力吧!




