🧪 Skills

get tomorrow weather of beijing , with Chinese almanac information

获取北京明日天气预报和黄历,每天下午6点推送。包含气温对比提醒(波动超5℃警告)、雨天带伞提醒、以及第二天的黄历信息。

v1.0.2
❤️ 0
⬇️ 178
👁 1
Share

Description


name: tomorrow-weather description: 获取北京明日天气预报和黄历,每天下午6点推送。包含气温对比提醒(波动超5℃警告)、雨天带伞提醒、以及第二天的黄历信息。 metadata: { "openclaw": { "emoji": "🌤️", "requires": { "bins": ["curl"] } } }

Tomorrow Weather Skill — 明日天气推送

功能概述

每天下午 6:00(北京时间)自动执行,推送以下内容给用户:

  1. 明日天气 — 北京明日天气状况 + 最高/最低气温
  2. 气温变化提醒 — 今日 vs 明日最高气温,波动超过 5℃ 时发出警告
  3. 雨天提醒 — 明日有雨(小雨/中雨/大雨/暴雨/雷雨/雨夹雪等)时提醒带伞
  4. 明日黄历 — 宜/忌事项

执行步骤

Step 1:获取今日和明日天气

使用 wttr.in 获取北京两天的天气数据(JSON格式):

curl -s "https://wttr.in/Beijing?format=j1"

返回的 JSON 中:

  • weather[0] = 今日天气,maxtempC 为今日最高气温
  • weather[1] = 明日天气,包含:
    • maxtempC — 明日最高气温
    • mintempC — 明日最低气温
    • hourly[4].weatherDesc[0].value — 天气描述(英文)
    • hourly[4].chanceofrain — 降雨概率

中文天气描述映射(根据英文描述判断):

  • Sunny / Clear → 晴
  • Partly Cloudy → 多云
  • Cloudy / Overcast → 阴
  • Rain / Drizzle / Light rain → 小雨
  • Moderate rain → 中雨
  • Heavy rain → 大雨
  • Thunderstorm → 雷阵雨
  • Snow / Blizzard → 雪
  • Sleet → 雨夹雪
  • Mist / Fog → 雾/霾

Step 2:获取明日黄历

使用以下 API 获取黄历(根据明日实际日期构造 URL):

# 先计算明天日期
TOMORROW=$(date -d "+1 day" +%Y%m%d)
curl -s "https://www.mxnzp.com/api/holiday/single/${TOMORROW}?ignoreHoliday=false&app_id=your_app_id&app_secret=your_secret"

备用方案(无需 API Key): 直接搜索获取黄历信息:

使用 batch_web_search 搜索:北京 {明日日期} 黄历 宜忌

从搜索结果中提取:

  • 宜:适合做的事(2-4项)
  • 忌:不适合做的事(2-4项)

Step 3:构建推送内容

按以下逻辑组装消息:

**🌤 明日天气预报(北京)**

明天天气是{天气描述},最高气温{maxtempC}℃,最低气温{mintempC}℃。

{气温变化提醒(条件触发)}
{雨天提醒(条件触发)}

**📅 明日黄历({具体日期,如2月29日})**
✅ 宜:{宜1}、{宜2}、{宜3}
❌ 忌:{忌1}、{忌2}、{忌3}

---
🤖 Jay · 天气助手

条件触发规则:

  • 气温波动提醒(满足任一触发):

    • 明日最高气温 - 今日最高气温 > 5℃ → 追加:⚠️ 明日气温较今日上升超过5℃(今日{今日气温}℃→明日{明日气温}℃),注意增减衣物!
    • 今日最高气温 - 明日最高气温 > 5℃ → 追加:⚠️ 明日气温较今日下降超过5℃(今日{今日气温}℃→明日{明日气温}℃),注意保暖!
  • 雨天提醒(满足任一触发):

    • 天气描述包含"雨"字 → 追加:☂️ 明日有雨,记得带伞!
    • chanceofrain > 50 → 追加:☂️ 明日降雨概率较高({概率}%),建议带伞出门。

Step 4:通过飞书发送给用户

使用 message tool,发送给用户 你的飞书openid,channel 为 feishu。


注意事项

  • 天气数据来源:wttr.in(免费,无需 API Key)
  • 黄历优先通过搜索获取,确保日期准确(取明日实际日期)
  • 气温单位统一使用摄氏度(℃)
  • 推送时间:每天 18:00(Asia/Shanghai)
  • 若 wttr.in 请求失败,重试一次;仍失败则推送"天气数据获取失败,请稍后查看"

触发方式

  • 定时任务(主要):每天 18:00 由 cron 自动触发
  • 手动触发:用户说"发送明日天气"、"明天天气怎么样"、"天气推送"时激活

Reviews (0)

Sign in to write a review.

No reviews yet. Be the first to review!

Comments (0)

Sign in to join the discussion.

No comments yet. Be the first to share your thoughts!

Compatible Platforms

Pricing

Free

Related Configs