Coze 实战指南:天气预报工作流

2025-11-12 09:06:29
文章摘要
本文详细介绍在Coze平台搭建智能天气预报工作流的方法,通过参数设置、墨迹天气插件集成与条件分支处理,实现单日及多日天气的精准查询。该方案支持省市区多级定位与自定义时段,最终生成结构化天气报告,满足日常出行的个性化需求。

天气预报是我们日常生活中最常用的功能之一。无论是安排出行、规划活动还是应对突发天气,准确的天气预报都至关重要。今天,我将手把手教你如何在 Coze 平台上搭建一个功能完善的天气预报工作流,让你能够灵活查询任意地区、任意时间段的天气情况

 

一、工作流设计思路

这个天气预报工作流的设计目标是让用户能够查询指定省份、城市和乡镇在特定时间段内的天气情况。无论是查询单日天气还是多日天气,系统都能智能处理并返回清晰易读的结果。


整个流程模拟了人类的思考方式:先确定要查什么(地点和时间),然后获取天气数据,接着根据查询天数决定如何处理这些数据,最后整理成文字呈现给用户


工作流完整示例:


二、搭建工作流的具体步骤

第一步:设置查询参数

任何有效的查询都需要明确的输入条件。我们在工作流的开始节点设置五个关键变量:

  • 省份:要查询天气的省份名称
  • 城市:所在城市名称
  • 乡镇:具体乡镇或区域(可选)
  • 开始查询时间:查询的起始日期
  • 结束查询时间:查询的结束日期


这五个变量就像是给系统下达的明确指令,告诉它我们需要什么地点、什么时间段的天气信息。设置完成后,系统就知道该去哪里、查询何时段的天气数据了。


参数介绍:

  • city:查询城市
  • strat_time:开始时间
  • end_time:结束时间
  • towns:区/县/镇
  • villages:乡村


第二步:连接墨迹天气插件

有了明确的查询目标,接下来就需要获取真实的天气数据。我们通过连接墨迹天气插件来实现这一功能。


在 Coze 平台中,你可以轻松找到墨迹天气插件并将其接入工作流。配置插件参数时,只需将前面设置的五个变量映射到插件的对应输入字段即可。这个过程就像是给插件下达任务单,告诉它:“请根据这些地点和时间参数,给我相应的天气数据。”


(直接在插件里面搜“墨迹天气”)



插件配置完成后,当工作流运行时,系统就会向墨迹天气服务发送请求,并带回专业的天气预报信息,包括温度、湿度、风力、天气状况等详细数据。


第三步:连接条件分支节点

获取到天气数据后,系统需要根据查询天数的不同,采取不同的处理策略。这里我们使用条件分支功能来进行智能判断。


系统会自动计算开始查询时间和结束查询时间之间的天数差,然后根据这个差值走向不同的处理路径:

  • 查询天数等于1:表示用户只需要单日天气,走简化处理路径
  • 查询天数大于1:表示用户需要多日天气,走复杂处理路径


这种分叉处理的设计,确保了无论是简单的单日查询还是复杂的多日查询,都能得到最适合的数据展示形式。


配置逻辑:

当开始时间(start_time)等于结束时间(end_time)或结束时间(end_time)为空时,则简化处理。否则进入循环体。


第四步:差异化数据处理

根据查询天数的不同,数据会进入不同的处理流程:

  • 多日查询(大于1天):

当查询多日天气时,系统会启动循环设置功能,逐日处理天气数据。循环完成后,这些分散的每日天气信息需要通过代码节点进行整合。代码节点会将多条天气记录汇总成一条完整的天气报告,保持信息的完整性和可读性。


step 01:在条件分支节点后接入循环体节点,循环设置配置如下:

  • 循环类型:使用数组循环
  • 循环数组:设置一个变量“input”来获取墨迹天气插件的输出值(这里默认是数组形式输出)


中间变量:设置一个变量名为“var_data”来获取墨迹天气插件的输出值,和循环数组的参数配置一样

输出:设置一个变量名为“output”的参数来获取循环体的输出值


step 02:进入循环体配置,配置如下:

我们想要的结果是系统将多天的天气预报按照固定格式拼接在一起,然后输送出来。所以这里我们只需要在循环体中接入文本处理,把获取到的字符串数据拼接完成,让系统根据此模版来进行循环处理即可


完整的天气预报结果示例:


从示例中看到,我们需要的信息有:查询时间、整体天气、温度范围、湿度、早晚风向等,因此,我们在循环体中的文本处理节点的参数配置中,就需要配置如下参数来接收这些数值,这里我们可以返回“墨迹天气”插件,查看输出参数中的变量名,找到符合我们想要的,记录起来,在文本处理节点中配置好即可

(这些是墨迹天气输出的参数,不懂什么意思可以试运行一次,看输出的结果)


在文本处理节点中,设置以下10个参数,来获取墨迹天气中我们想要的参数值,这里简单解释下各参数的意思

  • predict_date:查询日期
  • condition:当天天气情况
  • temp_high:最高温度
  • temp_low:最低温度
  • humidity:当天湿度
  • weather_day:白天天气情况
  • wind_dir_day:白天风向
  • wind_level_day:白天风向级数
  • wind_dir_night:晚间风向
  • wind_level_night:晚间风向级数


设置好参数后,接下来开始处理字符串拼接里面的内容


具体拼接如下:

🌤️{{String1}}天气预报:

【整体天气】{{String2}}

【温度范围】{{String3}}℃ ~ {{String4}}℃

【湿度】{{String5}}

 

【白天详情】

☀️ 天气:{{String6}}

💨 风向:{{String7}},{{String8}}级

 

【夜间详情】

💨 风向:{{String9}},{{String10}}级

 

PS:当然,你可以根据你自己想要的信息自行配置,这里不做过多说明

 

step 03:接入代码节点


在循环设置节点后接入代码节点,用来接收多天天气预报数据,并进行整理

  • 首先设置一个“input”参数用来接收循环组件的输出数组


  • 再进行代码配置,代码如下:
import _ from 'lodash';

async function main({ params }: Args): Promise<Output> {

    const { input } = params;

    const key0 = input.join('\n\n');

    return {key0: key0};

}


  • 最后设置一个输出变量名


step 04:配置完成后,将该代码节点接入另外一个代码节点,这里将另外一个代码节点重命名为“参考判断”,用来进行数值的判断


  • 单日查询(等于1天):

单日天气查询相对简单,直接在条件分支节点后接入文本处理节点,通过拼接字符串即可。参数设置和字符串拼接参考多日查询中循环体内的文本处理设置,这里不做过多赘述。设置完成后,同样接入名称为“参数判断”的代码节点


第五步:参数值判断

因为前面使用了条件分支,所以会从两个分支方向分别出来不一样的数值,只不过有一个分支会出现空值,如果直接将两个分支的节点都传输给最终的结束节点的话,那么呈现出来的结果会有一个空值,所以这里我们需要接入代码节点来做一个判断,将有数据的值传输给结束节点即可


这里配置两个变量,用来接收单日查询和多日查询传输过来的值,然后配置好代码,代码如下:

import dayjs from 'dayjs';

import _ from 'lodash';

async function main({ params }: Args): Promise<Output> {

    const { input, input2 } = params;

    let key0: string | undefined;

    if (input) {

key0 = input;

    } else if (input2) {

key0 = input2;

    }

    return { key0 };}


同样,设置好输出参数:


第六步:结束节点

最后传输给结束节点,在结束节点设置一个变量来接收“参数判断”代码节点传输过来的结果即可


第七步:试运行

最后点击试运行,完整的结果如下:


通过这个工作流,你不仅能够快速获取天气信息,还能根据个性化需求灵活调整查询范围和时间跨度,真正实现了天气预报查询的智能化和定制化。

 

在 Coze 平台上搭建天气预报工作流,整个过程直观而高效。从设置查询参数到最终结果展示,每一步都有明确的逻辑和目标。这个工作流不仅解决了基本的天气查询需求,还通过智能判断和差异化处理,提升了用户体验。

 

无论你是 Coze 新手还是有经验的用户,都可以按照这个流程搭建属于自己的天气预报系统。随着对平台功能的熟悉,你还可以进一步扩展这个工作流,比如添加天气预警、生活指数等更多实用功能,让它更好地服务于你的日常生活和工作需求。


声明:该内容由作者自行发布,观点内容仅供参考,不代表平台立场;如有侵权,请联系平台删除。