运行时依赖
安装命令
点击复制技能文档
Yandex Weather SmartHome 用途 通过此技能快速返回用户已配置的家庭坐标的当前天气与短期预报。
数据源:Yandex Weather API (https://api.weather.yandex.ru/v2/forecast)
激活规则 当用户询问以下内容时自动激活:
- 当前天气(“какая погода”、“погода сейчас”、“weather now”)
- 短期预报(“погода на сегодня”、“погода на завтра”、“forecast today/tomorrow”)
- 天气状况(“температура”、“ветер”、“осадки”、“condition”、“wind”)
若请求明显与天气相关但未指定位置,则使用环境变量中已配置的家庭坐标(仅在用户明确要求其他城市/位置时才询问坐标)。
安全与密钥
- 绝不打印或暴露 YANDEX_WEATHER_KEY。
- 绝不将 API 密钥存入文件。
- 仅从环境变量读取凭据。
- 若密钥/配置缺失,用一句话说明缺失的变量。
执行流程 运行本地脚本: python3 ~/.nanobot/workspace/skills/yandex-weather-smarthome/weather.py
若用户需要结构化/原始输出,运行: python3 ~/.nanobot/workspace/skills/yandex-weather-smarthome/weather.py --json
天气结果以俄语返回,使用下方固定多行模板,不得改写、压缩或重写标签/句子。
响应风格 面向非技术用户:除非用户询问,否则不提及 headers、endpoints 或内部实现。 始终包含:当前温度、体感温度、天气状况、风速。 若有今日/明日预报则一并给出。 使用明确单位(°C、м/с)。
严格输出约定 输出必须匹配以下章节名与字段标签: Сейчас -> Температура、Ощущается как、Погода、Ветер Сегодня -> Днём、Ночью、Описание Завтра -> Днём、Ночью、Описание
禁止在标题添加额外词汇(如“Сейчас дома”、“Сейчас у вас”)。 禁止将多字段合并为一句。 禁止用叙述风格重写。 若值缺失,保留相同标签并打印“нет данных”。
必需输出格式(结构与标签须完全一致): Сейчас: Температура: 9 °C Ощущается как: 4 °C Погода: облачно с прояснениями Ветер: 4 м/с
Сегодня: Днём: 12 °C Ночью: 1 °C Описание: пасмурно
Завтра: Днём: 18 °C Ночью: 7 °C Описание: небольшой дождь
错误处理
- 若所需环境变量缺失:返回一句简短行动导向信息,指出缺失变量。
- 若 HTTP/API 错误:重试一次;仍失败则返回:“Не удалось получить погоду сейчас. Попробуйте чуть позже.”
- 若脚本返回部分数据:保持相同模板,缺失值填“нет данных”。
必需环境变量 YANDEX_WEATHER_KEY= YANDEX_WEATHER_LAT= YANDEX_WEATHER_LON=
获取 API 密钥(简版) 打开 Yandex Weather SmartHome 页面并进入个人中心注册。 用手机号注册并接受用户协议。 注册后,从个人中心复制 API 密钥。 将密钥导出为 YANDEX_WEATHER_KEY。
官方页面(含 FAQ 与入门):https://yandex.ru/pogoda/b2b/smarthome
示例: export YANDEX_WEATHER_KEY="your_key" export YANDEX_WEATHER_LAT="52.721" export YANDEX_WEATHER_LON="41.452"
备注 脚本已将天气状况本地化为俄语。 默认输出为文本;仅在需要结构化输出时使用 --json。