n8n实践-使用n8n搭建一个定时发送天气预报邮件的工作流

news/2025/9/18 12:48:11/文章来源:https://www.cnblogs.com/brian-sun/p/19098100

前言


传统的定时任务,一般是使用linux cron定时运行某个位置的某个脚本。

  1. 需要准备各种运行环境;
  2. 脚本比较分散,管理起来相对麻烦;
  3. 需要有一定的代码能力,比如常见的shell、python等等;
  4. 不方便接入ai, 更换ai也比较麻烦。

工作流的好处是:

  1. 把定时任务、触发任务等统一管理;
  2. 减少代码开发量,不会写代码也没关系,简单的代码也可以交给豆包这些ai去帮忙写;
  3. 调用ai处理数据过程简化,不必写底层调用ai的驱动;
  4. 可以运用各种插件,并且社区也会分享各种有趣好用的工作流。

上一篇记录了如何在debian11 上使用 podman 启动一个 n8n 容器,本篇准备记录一下搭建一个定制发送天气预报的工作流。虽然有点为了用而用的感觉,但也算某种意义上的 hello world 了。

正文


需求:
每天早上 7:30 自动获取天气数据,通过ai分析后生成通俗、生动的出行和生活提示,最后把提示通过邮件发送给自己。

大致流程:
每天早上 7:30 触发 -> 调用第三方平台接口获取天气数据 -> 将数据丢给ai分析 -> ai生成的数据整理一下,给自己发邮件

1. 创建工作流

点击首页右上角按钮,创建一个工作流

image

2. 添加触发器

触发器,也就是工作流的起点,有各种各样的触发条件,比如手动触发、计划触发等等。现在希望每天早上 7:30 触发,所以添加一个按计划触发的组件。

image

填写时间,选择触发周期为 Day, 触发间隔 1, 具体时间 7am, 具体分钟数 30, 对应每天早上 7:30 触发。
填写完毕后,点击执行步骤,右侧可以看到执行详情。

image

点击返回画布,返回主页面。然后点击保存 (随时保存是一个好习惯。。)

3. 添加http请求组件

点击时间触发器后面的“+”号,选择 核心-> HTTP Request 组件
image

image

点击 Http Request 后,自动添加了一个组件,并弹出组件设置界面:
image

从组件界面上,可以看到分为了三部分:

  • 左边是上一个组件的输出数据,这里作为本组件的输入部分;
  • 中间是这个组件的配置
  • 右边是这个组件执行后的输出数据,作为下一个组件的输入。

下面开始配置组件。
保持这个界面不动,在浏览器新开一个页面,访问: https://www.apihz.cn/api/tqtqyb.html
image

这是接口盒子平台提供的一个免费查询天气的接口,需要先注册一下,获取到id和key, 注册完成后,再次访问此界面,界面会自动生成一个填写了个人id和key的示例url,url 和返回参数的说明接口盒子已经给了,这里不做赘述。一般只需要核对id、key, 然后把sheng改成自己的省、place改成自己的市即可。

https://cn.apihz.cn/api/tianqi/tqyb.php?id=88888888&key=88888888&sheng=四川&place=绵阳&day=1&hourtype=1

将这个url填入到n8n上面的Http Request组件中,method 选择get,点击执行步骤,右侧输出选择 JSON格式,结果如下:
image

此时,已经成功调用了接口盒子的接口,获取到了天气数据,包括调用接口时的实时数据以及当天的按小时划分的数据。可以添加一个筛选组件对数据的筛选和处理,可以自行探索,比如只要实时数据,可以查看参考中的链接[1].

这里目的是获取全天的天气预报,所以把所有数据丢给ai, 相信ai可以给出更全面的分析。

4. 添加并配置ai事务

同样,点击上一个组件的加号,添加新组件。人工智能-> AI Agent
image

image

添加完成后,弹出如下窗口
image

上面是如何选择上一步的数据,下面是这些数据用那个ai模型处理(Chat Model)、数据缓存(Memory)、工具(Tool)
这里不需要 Memory 以及 Tool,仅 Chat Model 就行。

点击 Chat Model 选择并配置模型,点击后,自动弹出界面:
image

这里选择 DeepSeek 模型, 选择完成后,保持此界面。浏览器新开一个界面,申请一个deepseek api key:
访问:https://platform.deepseek.com/
登录后,点击 Api Keys -> 创建 api key
image

创建完成后,复制key (注意,这里key复制完成后,再次刷新页面,无法复制key,所以key要保存好)
然后,充值。。。可以充值几块钱,基本上每次调用花几分钱。

回到n8n界面,在deepseek 组件配置中,点击创建新凭证,这里如果之前其他项目配置过,可以直接复用。
image

将上面的key填入配置后,页面提示连接成功,表示 key 生效了。
image

返回画布,重新点击打开 ai agent 组件:
image

第一个选项,信息源选择 Define below,意思是按照下面的选项自定义信息源。
第二的选项,输入 {{ $json }}, 意识是取上一个Http Request 组件获取到的全部 json 数据,如果想要取部分数据,可以直接用鼠标从左侧json数据中拖动。
点击 Add Option, 选择 System Message,作为ai提示词。也就是给ai立设定,让它进入或扮演某个角色。

添加完毕后,点击执行步骤,等一会可以看到右侧有处理好的数据:
image

5.将数据转换为html

同样,在AI Agent组件后面,添加一个组件 Markdown,可以直接搜索组件名称,也可以通过 数据转换-> Markdown 找到。这个组件的作用是将Markdown转换成html,或者将 html 转换为 Markdown.

这里的目的是将Markdown转换为html。因为ai一般输出格式是Markdown,包括字体大小、表格、代码高亮等等,但是要求显示时支持Markdown渲染,邮件客户端不一定支持Markdown渲染,所以需要将Markdown转换为html,html 可以很好地保留Markdown的格式。

配置时:
Mode 选择 Markdown to HTML,然后将左侧的数据中的"output"使用鼠标直接拖拽到第二的选项中,第三个选项使用默认的data
点击执行步骤后,输出到右侧。

image

6. 发送邮件

添加组件:Send Mail

image

现在需要配置邮件的账号信息。以QQ邮箱为例:
在网页登录QQ邮箱,依次找到设置->安全设置
开启SMTP服务(参考页面提示配置方法),点击生成授权码(后续作为发邮件时的密码)
image

回到n8n Send Email 组件配置,点击创建新凭证(如果之前已经添加过,直接可以复用凭证)
User 填写邮箱账号:xxx@qq.com
Password 填写上面的授权码
Host 填写 smtp.qq.com
Port 使用默认的 465
下面的不用管,点击保存。
image

接下来继续配置 Send mail
Operation 选择 Send
From Email 填写你自己的QQ邮箱地址
To Email 填写要邮件接收者的邮箱地址
Subject 邮箱主题:比如天气
Email Format 选择 Html
将上一步Markdown 输出的data字段拖拽到 HTML框中
image

点击执行步骤,如果收到了邮件,表示发送成功。

最后,回到画布,然后修改左上角的工作流名称为 天气提示;在右上角点击保存、激活,然后一个工作流就设计完成了。
image

参考


[1]. n8n 就像拼乐高 ,手把手搭建高效 AI 信息搜集流!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/907124.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Cython-编程学习指南第二版-全-

Cython 编程学习指南第二版(全)原文:zh.annas-archive.org/md5/0bc691743f26fcdcabcb6840b706a834 译者:飞龙 协议:CC BY-NC-SA 4.0前言 Cython 是一个工具,它使得编写 Python 的原生扩展变得和编写 Python 代码…

印度尼西亚股票数据API对接实现

环境准备 首先安装必要的依赖包: pip install requests websocket-client pandas numpy基础配置 import requests import json import websocket import threading import time from datetime import datetime# API配…

OpenBMB 发布无分词器 TTS VoxCPM;儿童口语硬件 Dex 融资 480 万美元:拍摄真实物体,对话学习外语丨日报

开发者朋友们大家好:这里是 「RTE 开发者日报」,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE(Real-Time Engagement) 领域内「有话题的技术」、「有亮点的产品」、「有思考的文章」、「有态度…

一天一款实用的AI工具,第1期,AI标题生成工具

本期介绍的是一款专业的标题生成工具,它能帮你产出高质量标题,让点击率提升,让内容被看见。现实问题 在内容创作的世界里,有句话特别扎心: 好的标题=成功的一半。 很多创作者都遇到过这样的困境: 花了一下午写好…

重组蛋白表达避坑指南

重组蛋白表达避坑指南重组蛋白表达是分子生物学、生物技术以及生物医学研究中非常基础却经常“出问题”的环节。一个合适的蛋白表达方案,不仅要能产生足够的产量,还要确保蛋白正确折叠、具有功能、具有良好的纯度与稳…

易被忽略的vim中视图模式

常见的都是vim三种模式,但视图模式也不可忽略,主要进行批量操作在 Vim 中,可视模式(Visual Mode)是一种强大的文本选择和编辑模式,允许你高亮选中一段文本,然后对其进行操作(如复制、删除、替换、注释等)。 一…

详细介绍:智慧校园统一身份认证中心:一个账号畅行校园内外

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

电商核心业务 - 指南

电商核心业务 - 指南pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "…

一言

一些日常的感想,为了节约时间,为了不暴露太多东西,为了不挑起矛盾,内容会很简洁,在合适的时候公布详情。9.17 说好的向阳而生呢?冷静啊,兄弟。 9.18 你们不相信我,我必将证明我,夺回属于我的荣耀。

ai

https://qsqs.life/login?redirect=/system/dashboard本文来自博客园,作者:zjxgdq,转载请注明原文链接:https://www.cnblogs.com/zjxzhj/p/19098509

LlamaIndex 项目深度技术分析 - 详解

LlamaIndex 项目深度技术分析 - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monac…

苏州才是最美的烟雨江南,苏州游玩必去的10大景点

苏州才是最美的烟雨江南,苏州游玩必去的10大景点 蜘蛛指南 关注2024-05-22 16:22 北京 来源:澎湃新闻澎湃号湃客 字号苏州人间天堂 最美的烟雨江南 苏州,一个极具江南风情的城市,既有园林之美,也有诗情画意,也是…

深入解析:css消除图片下的白边

深入解析:css消除图片下的白边pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco&quo…

linux增加网卡ip地址

linux增加网卡ip地址example ip addr add 192.168.5.124/24 dev eth0 label eth0:5 ifconfig eth0:5 up ip addr del 192.168.1.100/24 dev eth0 example ip addr add 192.168.10.199/24 dev eth0 label eth0:10 route…

Python 包与环境管理简史:从混乱到优雅

自动包管理工具的先驱:easy_install 在一切规范化工具出现之前,Python 的包管理是相当原始的。开发者们需要把第三方库的源码下载下来,手动放到项目目录里。 为了解决自动安装包的问题,easy_install 应运而生。 20…

qoj853 Flat Organization

SOLUTION FROM WUMIN4 题意 给出一个 \(n\) 个点的带权竞赛图(定向完全图),你可以进行任意次操作,每次操作反转一条边,代价为边权,求使得图强连通的最小代价和与方案,或输出无解。 \(n\le 2000\)。 思路 我们先…

实用指南:Chromium 138 编译指南 macOS 篇:Xcode 与开发工具安装配置(二)

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

shell命令中循环执行操作的命令

shell命令中循环执行操作的命令reference: for i in $(seq 1 10000); do echo "Iteration $i" && echo "Iteration $i"; done for i in $(seq 1 10000); do cat /sys/class/net/eth0/carr…

2025年9月中国数据库排行榜:达梦挺进榜眼位,崖山首入前十强

9月墨天轮排行榜解读已出炉!本月前十变动较大,老将突围、新秀崛起,达梦凭借强劲势头跃升至第二位、TiDB排名上升、崖山首次闯入前十,此外还有一些产品表现亮眼!本月墨天轮社区的中国数据库排行榜再起波澜。达梦凭…

基于QEMU模拟器搭建Builtroot下的QT开发环境

基于QEMU模拟器搭建Builtroot下的QT开发环境https://www.cnblogs.com/arnoldlu/p/17250728.html