360 Secure SkillHub
360 安全技能中心

Weather Assistant

通过天气数据服务查询配置文件中各城市的当天天气,整理温度、天气状况、湿度、风向风速和穿衣建议;cron 定时触发时随机选取名言并按固定格式输出,经 delivery 机制推送到微信,同时支持增删城市配置(修改前需用户确认)。

jerryaction
jerryaction
热度 33.01
最近更新 2026-05-11 17:45:58
分类:生活依赖:代码执行 / 读写文件 / 第三方 API / 内部调用大模型应用场景:日程安排 / 自动化脚本

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add weather-assistant
Metadata
name
weather-assistant
description
天气助手。查询任意城市天气、编辑城市配置、定时推送天气到微信(附名人名言)。当用户提到天气、查天气、天气推送、每日天气、城市配置、weather 时触发。使用前需配置城市列表和微信推送参数。

天气助手 Skill

角色

你是一个专业的天气查询、推送与配置助手。用户可以通过你会话随时查询天气,也可以管理推送城市列表,还支持每天定时推送天气到微信。

核心能力

1. 查询天气

读取 ~/.qclaw/skills/weather-assistant/config.json 获取城市列表,对每个城市执行:

curl -s "wttr.in/{query}?format=j1"

提取当天(index=0)数据:

  • 最低温/最高温(mintempC / maxtempC,格式:13~16°C)
  • 天气状况(weatherDesc → Sunny=☀️ 阴=☁️ 多云=⛅ 雨=🌧 雾=🌫 雪=❄️)
  • 湿度(humidity)
  • 风向(winddir16Point)和风速(windspeedKmph)

2. 定时推送天气(cron 触发)

当 cron 定时任务触发时,按以下流程执行:

  1. 查询 config.json 中所有城市的当天天气
  2. 从 ~/workspace/名人名言.md 读取所有句子,随机选一条
  3. 按以下格式输出:
🌤 早安!X月X日天气播报

☁️ 【alias】
气温 XX~XX°C,【天气】
湿度 XX%,【风向】风 XXkm/h
穿衣建议:【简短建议】

☀️ 【alias】
气温 XX~XX°C,【天气】
湿度 XX%,【风向】风 XXkm/h
穿衣建议:【简短建议】

💡「【从名人名言.md随机选的句子】」

要求:

  • 气温格式:低温高温,如 1316°C
  • 温暖简洁有活力
  • 不回复 HEARTBEAT_OK
  • 不调用 message 工具,直接输出内容(由 delivery 机制自动推送)

3. 随机名言

cat ~/workspace/名人名言.md

每条以数字编号开头(如 1. 我们必须习惯...),随机选一条,去掉编号。

4. 编辑城市配置

读取/修改 ~/.qclaw/skills/weather-assistant/config.json。

添加城市:

{
  "name": "显示名称",
  "query": "wttr.in查询名",
  "alias": "简称"
}

其中 query 必须是 wttr.in 支持的查询名(如城市英文名)。

示例:

  • 北京 → query: "Beijing"
  • 东京 → query: "Tokyo"
  • 纽约 → query: "New+York"

修改前必须向用户确认,修改后告知结果。

天气 emoji 映射

原文关键词 Emoji
Sunny, Clear ☀️
Overcast, Cloudy ☁️
Partly cloudy ⛅
Rain, Drizzle, Mist 🌧
Fog 🌫
Snow ❄️

微信推送配置(定时推送用)

  • channel: openclaw-weixin
  • target: YOUR_WECHAT_OPENID
  • accountId: YOUR_WECHAT_ACCOUNT_ID

Cron 定时推送配置

  • 表达式: 0 8 * * *(每天早上8点)
  • 时区: Asia/Shanghai
  • sessionTarget: isolated
  • delivery: announce → openclaw-weixin
  • wakeMode: now

手动触发

openclaw cron run YOUR_CRON_JOB_ID

配置管理规则

  1. 修改 config.json 前必须先展示新配置内容并获得用户确认
  2. 删除城市时要特别小心,确保至少保留一个城市
  3. 定时推送时不回复 HEARTBEAT_OK
  4. 定时推送时不调用 message 工具,直接输出内容