找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

2298

积分

0

好友

321

主题
发表于 前天 23:52 | 查看: 6| 回复: 0

n8n

什么是n8n?

n8n 是一款开源且功能强大的工作流自动化工具,它允许用户通过可视化的方式连接不同的应用程序和服务。它巧妙地将 AI 功能与业务流程自动化相结合,无论是开发者还是非技术人员,都能利用它创建复杂的工作流,实现数据在不同系统间的自动传输与处理。

GitHub: https://github.com/n8n-io/n8n

官网: https://n8n.io

文档: https://docs.n8n.io

安装

1.npx安装

此方式要求本地机器已安装 Node.js,适合快速启动和体验 n8n。

# 此命令将下载并启动 n8n 所需的一切
npx n8n

2.Docker安装

1.使用Docker数据卷

使用 Docker 数据卷(Volume)可以自动处理文件权限问题。

# 创建数据卷
docker volume create n8n_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

# 创建目录并赋予正确权限 (n8n容器默认以用户 node, UID 1000 运行)
mkdir data
sudo chown -R 1000:1000 ./data
sudo chmod -R 755 ./data

# 创建并后台运行容器
docker run -itd --name n8n -p 5678:5678 -v ./data:/home/node/.n8n docker.n8n.io/n8nio/n8n

注册账号

启动 n8n 后,在浏览器中访问 http://localhost:5678,开始注册账号。

n8n账号注册页面截图

接着,根据提示完善账户所属公司、个人角色等信息。

n8n个性化定制信息填写页面

随后,系统会提示你可以免费获取部分高级功能的永久激活密钥,只需输入邮箱接收许可证密钥即可。

n8n获取高级功能免费激活密钥页面

收到许可证密钥后,进入 Settings 设置中的 Usage and plan 页面,输入密钥以激活这些付费功能。

n8n设置页面中输入激活密钥

工作台

注册登录后,你将进入首页工作台,界面清晰直观。

n8n工作台概览页面

点击 Start from scratch 将创建一个空白工作流项目。

n8n空白工作流编辑界面

而点击 Test a Simple AI Agent example 则会引导你体验一个预置的 AI 智能体示例工作流。

n8n AI Agent示例工作流界面

核心概念

综述

1.工作流(Workflow)

一个由多个节点连接而成的自动化流程,可以手动触发,也可以按计划或由事件自动执行。

2.节点(Node)

工作流的基本构建单元,每个节点代表一个特定的操作或功能:

  • 触发器节点(如:定时器、Webhook)
  • 工作节点(如:HTTP请求、数据库查询)
  • 逻辑节点(如:IF条件、合并)

3.连接(Connection)

节点之间的箭头,定义了数据流动的方向和处理的先后顺序,是串联整个工作流的脉络。

触发器

创建工作流的第一步就是选择一个触发器,它决定了工作流如何启动。

n8n工作流触发器选择界面

  • 手动触发:点击 n8n 界面中的按钮即可运行流程,非常适合测试和调试。
  • 应用事件:当 Telegram、Notion 或 Airtable 等第三方应用中发生特定事件时(如收到新消息、数据库更新)运行流程。
  • 按计划执行:可以设定每天、每小时或任何自定义时间间隔定期运行流程。
  • Webhook调用:在收到特定的 HTTP 请求时触发流程,常用于构建 API 端点。
  • 表单提交时:利用 n8n 生成的 Web 表单收集数据,当用户提交表单时触发流程。
  • 由另一个工作流执行:允许工作流之间相互调用,实现模块化和复杂逻辑编排。
  • 收到聊天消息:当用户在集成的聊天界面中发送消息时触发流程,通常与 AI 节点配合使用。
  • 其他方式:例如在工作流发生错误、监测到文件变更等情况下触发流程。

工作节点

添加触发器后,下一步就是添加执行具体任务的工作节点。n8n 提供了丰富的工作节点类别。

n8n工作节点类别选择界面

  • 人工智能:构建自主代理(Agent)、总结文档内容或进行语义搜索等。
  • 应用程序操作:在 Google Sheets、Telegram 或 Notion 等外部服务中执行创建、读取、更新、删除等操作。
  • 数据转换:对数据进行操作、过滤、格式化或类型转换,为后续步骤做准备。
  • 流程控制:实现条件分支、数据合并、循环迭代等复杂的流程逻辑。
  • 核心功能:执行自定义代码、发起 HTTP 请求、设置 Webhook 等底层操作。
  • 人工参与环节:在工作流执行过程中暂停,等待人工审批或输入后再继续。
  • 添加另一个触发器:一个工作流可以拥有多个触发器,以适应不同的启动场景。

创建一个工作流

让我们通过一个实际案例来学习如何构建工作流。我们将创建一个“微博热点定时分析与推送”工作流:定时请求微博热搜榜 API,利用 AI 大模型对热点数据进行分析提炼,最后通过邮件发送分析结果。

定时触发器

首先,新建一个工作流。在触发器选择界面,找到能按计划执行的 On a Schedule 触发器。

选择On a Schedule定时触发器

接着配置触发规则。为了演示,我们设置每隔 10 秒执行一次。这里需要特别注意时区(TimeZone)的设置,确保与你的实际位置相符。

配置Schedule Trigger的触发间隔和规则

如果需要在全局修改工作流的时区,可以在工作流的设置项中进行更改。

打开工作流设置菜单

在设置中找到 Timezone 选项,搜索并选择你所在的时区,例如 Asia/Shanghai

在工作流设置中选择时区

HTTP Request

添加完定时触发器后,接下来需要添加具体的工作节点。在 Core 核心节点类别下,添加一个 HTTP Request 节点,它将负责定时发送请求以获取微博热搜数据。

在Core节点下选择HTTP Request

HTTP Request 节点的配置面板中,填入一个微博热点 API 的 URL。配置完成后,点击 Test Step 按钮,可以立即测试该步骤并查看接口返回的原始数据,这有助于验证连接和数据处理。

配置HTTP Request节点并测试获取数据

数据转换处理

从 API 获取的数据可能包含许多我们不需要的字段。接下来,在 Data transformation 数据转换类别下添加一个 Edit Fields 节点,用于筛选和重塑数据。

在Data transformation下选择Edit Fields节点

进入字段编辑界面。左侧面板展示了上一个节点(HTTP Request)输出的数据树状结构。我们只需要其中的 data 数组字段。将其拖拽到中间的 Fields to Set 区域,并将数据类型设置为 String。最后,点击 Test Step,右侧面板会显示处理后的、更简洁的输出结果。

使用Edit Fields节点筛选和格式化数据

AI Agent

现在,数据已经准备就绪,可以交给 AI 进行分析了。在 AI Nodes 类别下,添加一个 AI Agent 工作节点。

在AI Nodes下选择AI Agent节点

AI Agent 进行配置,核心是编写提示词(Prompt)。你可以直接将左侧数据面板中的字段(例如 $json.data )拖拽到提示词编辑框中,作为 AI 分析的上下文输入。

配置AI Agent的提示词,引用上游数据

大语言模型

添加 AI Agent 节点后,工作流图中会出现一个待连接的 Chat Model 节点。点击它以添加具体的大语言模型。

工作流图中点击Chat Model添加LLM

这里我们选择使用 DeepSeek 模型。你需要添加相应的 API 密钥凭证,并在模型选择下拉菜单中选中 deepseek-chat

配置DeepSeek Chat Model的凭证和模型

配置好模型后,返回到 AI Agent 的配置详情页,再次点击 Test Step 进行测试。右侧输出面板将展示大语言模型根据提示词和分析数据后生成的最终文本结果。

测试AI Agent节点,获取LLM分析输出

信息发送

AI 大模型生成的文本结果就是我们需要推送的最终信息。最后一步是将其发送出去。我们可以添加一个邮件节点(例如 Gmail)将这些信息发送到指定邮箱,当然也可以选择存入数据库等其他操作。这里我们在 Human in the loop 类别下找到了发送邮件的相关节点。

选择邮件发送节点完成工作流

开启工作流

整个工作流配置完成后,可以先点击 Test Workflow 按钮进行一次完整流程的测试,确保各个环节无误。

工作流编辑完成,准备测试

测试通过后,回到工作流列表页面,将工作流的状态切换为“激活”。

在工作流列表中激活创建的工作流

激活后,点击导航栏的 Executions 选项卡,可以查看所有工作流的执行历史记录。在这里,你可以清晰地看到我们创建的工作流正按照触发器设定,每隔 10 秒钟自动执行一次。

查看工作流执行历史记录

工作流模板

概述

为了降低使用门槛,n8n 提供了极其丰富的预置自动化工作流模板,并且模板库还在不断更新。这些模板涵盖了各种常见场景,用户可以直接导入使用或在其基础上修改。

n8n工作流模板库概览

选择复制模板

我们以 Newcomer essentials: learn by doing (新手必备:边做边学)这个分类下的一个模板为例。

选择Newcomer essentials模板示例

点击进入模板详情页后,点击 Use for free 按钮。

点击Use for free使用模板

在弹出的窗口中,点击第一个选项:Copy template to clipboard [JSON],将模板的 JSON 定义复制到剪贴板。

复制模板JSON到剪贴板

使用模板

回到你的 n8n 环境,新建一个空白工作流,然后在编辑器中直接使用 Ctrl + V (或 Cmd + V)粘贴刚才拷贝的 JSON 内容。n8n 会自动解析并导入这个预置的模板工作流,你可以立即查看其结构或运行测试。

粘贴模板JSON导入预置工作流

应用程序集成

概述

除了工作流模板,n8n 还集成了海量的应用程序连接器。这些集成能够极大优化你的工作流程,让 n8n 在不同软件和服务之间无缝地移动和转换数据。

n8n应用程序集成库

使用

例如,我们点击 MySQL 应用程序集成,页面会跳转到关于“HTTP 请求和 MySQL 集成”的详细说明。

HTTP Request与MySQL集成说明页

部分高级集成功能可能需要注册云端试用。不过,n8n 通常会提供详细的使用说明和可复制的工作流模板示例,你可以根据这些指引在自托管版本中实现类似功能。

集成工作流模板示例

论坛

n8n 拥有一个活跃的官方社区论坛。在这里,开发者可以提问、寻找已解决的问题答案、分享自己的使用经验,还能找到由社区贡献的优质教程,是学习和解决问题的好去处。

n8n官方社区论坛界面

希望这篇关于 n8n 的全面解析能帮助你入门这款强大的自动化工具。如果你对构建自动化工作流或系统设计有更多兴趣,欢迎在 云栈社区 与其他开发者交流探讨。




上一篇:SpringBoot配置文件加载顺序详解:从优先级到微服务实战
下一篇:C++引用与指针本质区别:从vec[0]=42到类型语义的实战选择
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-1-14 12:42 , Processed in 0.260072 second(s), 39 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2025 云栈社区.

快速回复 返回顶部 返回列表