| name | blue-hour |
| description | 蓝调时刻(Blue Hour)拍摄条件分析。用于查询指定城市、指定日期的蓝调时刻时间,并根据天气预报评估拍摄条件,给出推荐。触发场景:用户询问某城市某天的蓝调时间、拍摄条件、是否适合拍照、推荐拍摄时段等。 |
蓝调时刻拍摄条件分析
根据城市和日期,计算蓝调时刻时间并结合天气预报评估拍摄条件。
支持的城市
内置城市:北京、上海、深圳、广州、杭州、武汉、成都、西安、南京、重庆、苏州、厦门、青岛、珠海、天津。其他城市可通过 Open-Meteo API 自动识别。
使用方法
1. 调用脚本获取分析结果
运行 scripts/blue_hour.py,传入城市名和日期:
import sys
sys.path.insert(0, '~/.sclaw/skills/blue-hour/scripts')
from blue_hour import run_blue_hour_skill
result = run_blue_hour_skill("深圳")
2. 解析返回结果
返回字典包含:
success: 是否成功
text: 人类可读的推荐文本
blue_hour: 蓝调时刻时间(清晨/傍晚)
today: 当天评估详情(天气 + 评分)
recommendation: 最佳推荐(如果当天不佳,会推荐未来日期)
3. 输出格式示例
成功时返回类似:
深圳 2026-04-11 蓝调拍摄建议:
清晨蓝调 05:18 - 05:56,适拍指数 75,天空表现力 82,蓝调强度 70,可以拍摄。
傍晚蓝调 18:32 - 19:10,适拍指数 80,天空表现力 78,蓝调强度 75,适合拍摄。
当天就适合拍:2026-04-11 傍晚蓝调(18:32 - 19:10)。 适拍指数 80,天空表现力 78,蓝调强度 75,综合判断为"适合拍摄"。
评分说明
- 适拍指数 (shooting_index): 综合天气外出拍摄的条件(降水概率 + 风力)
- 天空表现力 (sky_expression): 天空拍摄效果(云量 + 能见度)
- 蓝调强度 (blue_intensity): 蓝调时刻的蓝色浓郁程度
- 等级: ⭐⭐⭐适合拍摄 / ⭐⭐可以拍摄 / ⭐拍摄条件一般 / ❌不建议拍摄
自动提醒功能(重要!)
每次查询蓝调后,必须自动为用户创建提醒任务:
-
从返回结果中提取 blue_hour 下的:
morning_start(清晨蓝调开始时间)
evening_start(傍晚蓝调开始时间)
date(查询的日期)
-
计算提醒时间 = 蓝调开始时间 - 30分钟
-
使用 cron 工具创建两个提醒任务:
- 清晨提醒:蓝调开始前30分钟
- 傍晚提醒:蓝调开始前30分钟
-
任务配置示例:
- 名称:
{城市}蓝调提醒-{清晨/傍晚}
- 计划:
at: "{日期}T{提醒时间}:00Z"
- 消息:
{城市}蓝调拍摄提醒——{时段}蓝调将于30分钟后开始({开始时间}-{结束时间}),准备出发拍摄啦!📷
- 通道:weixin(或用户配置的默认通道)
提醒创建后,务必告知用户已设置提醒!