Sunset Bot (国内火烧云预报)

v1.0.0

查询中国国内火烧云预报(sunsetbot.top)。当用户询问某城市的火烧云/晚霞预报,或需要设置定时火烧云通知时使用此 skill。

0· 153· 1 versions· 1 current· 1 all-time· Updated 1mo ago· MIT-0
byFrankMei@neverland83

Sunset Bot - 火烧云预报(国内版)

⚠️ 重要:调用方式

本 Skill 必须在 OpenClaw 会话环境中执行,不能直接用 node 命令运行。

依赖的全局工具

  • browser() - 浏览器自动化(OpenClaw 内置)
  • 消息通道 - 发送火烧云通知需要有效的消息通道。默认使用飞书(依赖 feishu_im_user_message() 函数),用户也可在 scripts/check.js 中实现其他消息通道

❌ 错误调用

node scripts/check.js              # 报错:browser is not defined
exec node -e "handler({...})"      # 报错:browser is not defined

✅ 正确调用

  1. 对话查询:spawn subagent 执行(见下文"使用方式")
  2. 定时监控:通过 cron 配置,由 OpenClaw 自动执行

快速开始

1. 环境要求

本 Skill 需要浏览器支持:

  • 本地环境:通常已有浏览器,无需额外配置
  • 云服务器:需安装 Headless Chromium,详见附录

2. 配置(定时通知必须)

创建 config/config.json

{
  "notifyChannel": "feishu",
  "userOpenId": "你的飞书Open ID"
}
参数说明
notifyChannel通知渠道:feishu / telegram / none
userOpenId飞书 Open ID(飞书开发者后台获取)

💡 对话测试时无需配置,定时通知时必须配置。


使用方式

对话查询

当用户询问火烧云预报时,spawn subagent 执行

  1. 读取 SKILL.mdscripts/check.js
  2. Spawn 一个 subagent
  3. 在 subagent 中调用:
    handler({ city: '深圳', dates: ['明天日出', '明天日落'], source: 'GFS' })
    

定时监控

通过 cron 自动运行,有火烧云时发送通知:

openclaw cron add \
  --name "sunsetbot-morning" \
  --cron "0 9 * * *" \
  --tz "Asia/Shanghai" \
  --message "读取 skills/sunsetbot-monitor-cn/scripts/check.js,调用 handler({ city: '深圳', dates: ['明天日出', '明天日落'], source: 'GFS', needNotify: true })" \
  --no-deliver

参数说明

参数说明默认值
city城市名称深圳
dates日期类型数组:今天日出今天日落明天日出明天日落["明天日出", "明天日落"]
source数据源:GFSECGFS
needNotify是否发送通知并记录日志false
dryRun干运行模式,只查询不通知不记日志false

技术细节

  • 使用 JavaScript evaluate 直接操作 DOM
  • 日期类型映射:今天日出=rise_1今天日落=set_1明天日出=rise_2明天日落=set_2
  • 日志格式:JSONL,存储在 data/sunsetbot-monitor.log
  • 火烧云等级判定:<0.2 无烧,0.2-0.5 小烧,0.5-1.0 中烧,1.0-2.0 大烧,>2.0 世纪大烧

附录

Version tags

latestvk974wpy4z5erff0vhtrqq32ptd835ymg