n8n
什么是n8n?
n8n是一个开源、强大的工作流自动化工具,允许用户通过可视化方式连接不同的应用程序和服务。它将 AI 功能与业务流程自动化相结合,它可以帮助开发者和非技术人员创建复杂的工作流,实现数据在不同系统间的自动传输和处理。
GitHub:https://github.com/n8n-io/n8n
官网:https://n8n.io
文档: https://docs.n8n.io
安装
1.npx安装
须确保本地机器安装NodeJS,npx是在本地机器上快速开始使用n8n的一种方式。
# 将下载启动n8n所需的一切npx n8n2.Docker安装
1.使用Docker数据卷
# 创建数据卷 数据卷(Volume)会自动处理权限问题docker volume create data# 创建容器docker run -it --rm --name n8n -p 5678:5678 -v n8n_data:/home/node/.n8n docker.n8n.io/n8nio/n8n数据卷操作命令:
# 列出所有卷docker volume ls# 查看卷详情docker volume inspect <name># 删除单个卷docker volume rm <name># 清理无用卷docker volume prune# 强制删除卷docker volume rm -f <name># 动删除文件sudo rm -rf /var/lib/docker/volumes/<name>2.直接挂载宿主机目录
不喜欢使用创建数据卷再使用的方式,这里直接使用
-v方式挂载数据卷,
cd /opt/n8n# 创建目录并赋予正确权限mkdir datasudo chown -R 1000:1000 ./data # n8n容器默认以用户 node(UID 1000)运行sudo chmod -R 755 ./data # 直接挂载宿主机目录 ./data 时,容器内 node 用户可能没有读写权限docker run -itd --name n8n -p 5678:5678 -v ./data:/home/node/.n8n docker.n8n.io/n8nio/n8n注册账号
浏览器访问http://localhost:5678,注册一个账号接着完善账号信息
接着会提示询问:
获得以下高级功能的免费激活密钥,只需要输入邮箱接收许可证密钥即可获得许可证密钥后,在
Settings中的Usage and plan项下输入密钥即可激活额外的付费功能
工作台
进入首页工作台,界面如下Start from scratch:创建一个空白项目Test a Simple AI Agent example:测试一个简单的AI Agent示例
核心概念
综述
工作流(Workflow)
由多个节点组成的自动化流程,可以手动触发或按计划执行。节点(Node)
工作流的基本构建块,每个节点代表一个特定操作: 触发器节点(如:定时器、Webhook) 工作节点(如:HTTP请求、数据库查询) 逻辑节点(如:IF条件、合并)连接(Connection)
节点间的箭头,定义数据流动方向和处理顺序触发器
创建工作流的第一步就是选择一个触发器
手动触发:点击n8n中的按钮即可运行流程应用事件:当Telegram、Notion或Airtable等应用中发生某些事情时运行流程按计划进行:每天、每小时或自定义间隔运行流程在webhook调用时:在收到HTTP请求时运行流程表单提交时:在n8n中生成Web表单并将其响应传递给工作流由另一个工作流执行时:当由来自不同工作流的执行工作流节点调用时运行该流程在聊天消息中:当用户发送聊天消息时运行此流程。适用于A!节点其他方法:在工作流错误、文件更改等情况下运行流程工作节点
添加触发器之后就是添加工作节点,这里每一项工作节点下都有更具体的工作节点
人工智能:构建自主代理,总结或搜索文档等。应用程序中的操作:在Google Sheets、.Telegram或Notion等应用或→服务中执行某些操作数据转换:操作、过滤或转换数据 流动:分支、合并或循环流程等核心:运行代码、发出HTTP请求、设置webhook等人机互动:等待批准或人工输入后再继续添加另一个触发器:触发器启动您的工作流程。工作流程可以有多个触器。创建一个工作流
这里创建一个简单的
微博热点定时发送工作流:发送请求获取微博热点数据,AI大模型分析提取数据,邮件发送提取结果
定时触发器
首先新建一个工作流,选择能定时,按计划执行的触发器:On a Schedule接着配置定时触发规则,这里测试选择每间隔10秒执行一次,但需要注意TimeZone时区的设置
在工作流的设置项中进行工作流时区的更改设置
在
TimeZone项搜索并选择时区
HTTP Request
添加定时触发器后,接着在Core节点下添加一个HTTP Request工作节点用于定时执行发送请求获取数据在
HTTP Request配置中,使用了一个微博热点API,同时执行Test Step得到接口调用数据
数据转换处理
在Data transformation项下添加一个Edit Fields节点,用于修改、添加、移除数据字段进入数据字段编辑界面,左侧是上一节点输出数据,选择需要的字段
data并拖动到中间的Fields to Set项,数据类型设置为String,再点击Test Step得到最右侧的输出
AI Agent
在AI Nodes下添加一个AI Agent工作节点对AI Agent配置自定义提示词,左侧数据可以直接拖动到提示中被使用
大语言模型
添加AI Agent后得到如下工作流程图,点击Chat Model添加大语言模型这里使用
DeepSeek模型,需要添加模型API令牌凭证并选择使用模型再回到
AI Agent配置详情中点击Test Step进行测试,得到右侧最终输出结果
信息发送
AI大模型整理的输出结果在这里就是需要的最终结果,最后使用邮件方式,将这些信息发送到自定义邮箱,也可以存入数据库。
开启工作流
在工作流配置完成后,点击Test WorkFlow进行工作流测试当工作流测试没有问题后,回到首页,激活工作流
再点击
Executions查看工作流执行情况,这里可以发现工作流确实是以工作流触发器:每隔10秒钟开始执行
工作流模板
概述
n8n提供了丰富的自动化工作流模板,并且数量还在不断增加,这些工作流模板可以直接拿来使用
选择复制模板
这里点击任意一个自动化工作流模板,例如Newcomer essentials: learn by doing(新手必备:边做边学)
接着点击
Use for free按钮接着点击第一个按钮:
将模板复制到剪贴板(JSON)
使用模板
在n8n环境中新创建一个工作流,然后Ctrl + V粘贴拷贝的模版,这样就将预置模板导入到工作空间了
应用程序集成
概述
n8n同样提供了丰富的程序集成,利用软件集成优化工作流程,使n8n在不同应用程序之间无缝移动和转换数据
使用
这里点击MySQL应用程序,将进入HTTP 请求和 MySQL 集成说明的详细页面。这个功能不能直接使用,需要注册账号试用。但是其有提供如何使用的说明以及工作流模板示例
