Seniverse Weather

SKILL生活服务
生活服务 未标注权限 许可证不明确
安装这个技能

心知天气(Seniverse)API天气查询与通知技能。支持实时天气、逐日/逐时预报、生活指数查询,可结合定时任务实现每日天气推送通知。

一句话选型结论

按资料字段整理

Seniverse Weather是生活服务类的 Agent Skill,安装方式未标注,权限级别未标注,许可证不明确,有可直接复制的安装命令。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类生活服务 安装方式未标注 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install user_b22a52ba/seniverse-weather
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    执行上面的命令安装;也可以把仓库里的 SKILL.md 手动放进客户端的 skills 目录。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

生活服务
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方user_b22a52ba仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 community
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验未标注上游最后核验时间 · 数据更新 1791622048
正文体量9.0 KBSKILL.md 原文大小,越大说明说明书写得越细

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
行程与攻略

按目的地和天数排行程。

日常信息查询

查天气、交通、办事信息。

生活事务整理

把琐事整理成清单逐项处理。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在生活服务场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
Seniverse Weather当前 未标注权限 未标注 未标注 未标注 有
食谱批量下载文件夹 联网访问 GitHub 仓库 28.5 万 Codex、Claude、Cursor 有
食谱创建演示文稿 未标注权限 GitHub 仓库 28.0 万 Codex、Claude、Cursor 有
recipe 备份 sheet AS CSV 联网访问 GitHub 仓库 27.9 万 Codex、Claude、Cursor 有
recipe create Gmail filter 邮件管理 未标注权限 GitHub 仓库 27.8 万 Codex、Claude、Cursor 有
配方观察驱动器变化 联网访问 GitHub 仓库 27.4 万 Codex、Claude、Cursor 有

SKILL.md 全文

9.0 KB
模型实际读到的说明书原文,来自技能仓库

心知天气通知 Skill (seniverse-weather)

基于心知天气 (Seniverse) API 的天气查询与通知技能。支持实时天气查询、逐日/逐时预报、天气预警、生活指数等,并可结合定时任务实现每日天气推送通知。

触发条件

用户提到以下意图时触发:
- "天气查询"、"今天天气"、"明天天气"、"天气预报"
- "心知天气"、"Seniverse"、"seniverse weather"
- "天气通知"、"每日天气推送"、"天气提醒"
- "气温"、"下雨"、"紫外线"、"穿衣指数"、"空气质量"
- "XX市天气"、"XX区天气"

API 信息

  • API 基础地址: https://api.seniverse.com/v3/
  • API Key: 用户首次使用时需提供自己的心知天气 API 私钥(key)
  • 免费版限制: 400次/小时,支持天气实况、逐日预报、逐时预报、生活指数
  • 注册地址: https://www.seniverse.com 注册后可在控制台获取 API 密钥
  • 安全验证: 使用私钥直接请求方式,将 key 参数附加到 URL

核心接口

1. 天气实况

GET https://api.seniverse.com/v3/weather/now.json
参数:
  key: API 私钥
  location: 城市名/拼音/IP/经纬度
  language: zh-Hans (中文简体)
  unit: c (摄氏度)

返回:温度、天气现象、风力风向、湿度、体感温度等

2. 逐日预报(3天)

GET https://api.seniverse.com/v3/weather/daily.json
参数:
  key: API 私钥
  location: 城市名/拼音/IP/经纬度
  language: zh-Hans
  unit: c
  start: 起始天数 (0=今天, 1=明天, 默认0)
  days: 预报天数 (默认3, 最大3)

返回:每日最高/最低温度、白天/夜间天气现象、风向风力、日出日落

3. 逐时预报(24小时)

GET https://api.seniverse.com/v3/weather/hourly.json
参数:
  key: API 私钥
  location: 城市名/拼音/IP/经纬度
  language: zh-Hans
  unit: c
  hours: 小时数 (默认24)

返回:逐小时温度、天气现象、风力风向、湿度

4. 生活指数

GET https://api.seniverse.com/v3/life/suggestion.json
参数:
  key: API 私钥
  location: 城市名/拼音/IP/经纬度
  language: zh-Hans

返回:穿衣、紫外线、洗车、旅游、运动、感冒等生活建议指数

5. 天气预警(免费版不支持)

GET https://api.seniverse.com/v3/weather/alarm.json
参数:
  key, location, language

注意:天气预警需要付费版 API Key

使用前准备

用户必须先在心知天气官网注册并获取 API Key。 如果用户未提供 API Key,应提醒用户:

> 请先前往 心知天气官网 注册账号,在控制台中获取你的 API 私钥(key)。注册免费,免费版每日可调用天气实况、逐日预报、逐时预报和生活指数接口。

获取 API Key 后,用户可告知 Agent 存储以便后续使用(注意:出于安全考虑,API Key 不应持久化存储到 user 记忆中,仅在本次会话中使用)。

执行流程

场景一:即时天气查询

  1. 确认用户要查询的城市(默认根据用户常用城市或 IP 定位)
  2. 确认用户已有 API Key(如无则提示注册)
  3. 调用对应接口获取天气数据
  4. 格式化输出天气信息

Python 示例代码:

import requests

def query_weather_now(api_key, location="北京", language="zh-Hans", unit="c"):
    """查询天气实况"""
    url = "https://api.seniverse.com/v3/weather/now.json"
    params = {
        "key": api_key,
        "location": location,
        "language": language,
        "unit": unit
    }
    resp = requests.get(url, params=params, timeout=10)
    resp.raise_for_status()
    data = resp.json()
    return data

def query_weather_daily(api_key, location="北京", days=3):
    """查询逐日预报"""
    url = "https://api.seniverse.com/v3/weather/daily.json"
    params = {
        "key": api_key,
        "location": location,
        "language": "zh-Hans",
        "unit": "c",
        "days": days
    }
    resp = requests.get(url, params=params, timeout=10)
    resp.raise_for_status()
    data = resp.json()
    return data

def query_life_suggestion(api_key, location="北京"):
    """查询生活指数"""
    url = "https://api.seniverse.com/v3/life/suggestion.json"
    params = {
        "key": api_key,
        "location": location,
        "language": "zh-Hans"
    }
    resp = requests.get(url, params=params, timeout=10)
    resp.raise_for_status()
    data = resp.json()
    return data

def format_weather_now(data):
    """格式化天气实况为可读文本"""
    try:
        result = data["results"][0]
        loc = result["location"]
        now = result["now"]
        lines = [
            f"📍 {loc['name']},{loc['country']}",
            f"🌤 天气: {now['text']}",
            f"🌡 温度: {now['temperature']}°C",
            f"🤗 体感: {now['feels_like']}°C",
            f"💨 风力: {now['wind_direction']} {now['wind_scale']}级",
            f"💧 湿度: {now['humidity']}%",
            f"👁 能见度: {now['visibility']}km",
            f"📊 更新时间: {now['last_update']}",
        ]
        return "\n".join(lines)
    except (KeyError, IndexError) as e:
        return f"解析天气数据失败: {e}\n原始数据: {data}"

def format_weather_daily(data):
    """格式化逐日预报为可读文本"""
    try:
        result = data["results"][0]
        loc = result["location"]
        lines = [f"📍 {loc['name']} 未来天气预报\n"]
        for day in result["daily"]:
            lines.append(
                f"📅 {day['date']} ({day['week']})\n"
                f"  白天: {day['text_day']} / 夜间: {day['text_night']}\n"
                f"  🌡 {day['high']}°C ~ {day['low']}°C\n"
                f"  💨 {day['wind_direction']} {day['wind_scale']}级\n"
                f"  🌅 日出 {day['sunrise']} / 🌇 日落 {day['sunset']}"
            )
        return "\n".join(lines)
    except (KeyError, IndexError) as e:
        return f"解析天气数据失败: {e}\n原始数据: {data}"

def format_life_suggestion(data):
    """格式化生活指数为可读文本"""
    try:
        result = data["results"][0]
        loc = result["location"]
        lines = [f"📍 {loc['name']} 生活指数建议\n"]
        suggestions = result.get("suggestion", {})
        name_map = {
            "dressing": "👕 穿衣",
            "uv": "☀️ 紫外线",
            "car_washing": "🚗 洗车",
            "travel": "✈️ 旅行",
            "sport": "🏃 运动",
            "flu": "🤒 感冒",
            "comfort": "😊 舒适度",
            "air": "🌬 空气",
            "rain": "🌧 雨伞",
        }
        for key, label in name_map.items():
            if key in suggestions:
                s = suggestions[key]
                lines.append(f"{label}: {s['brief']}")
        return "\n".join(lines)
    except (KeyError, IndexError) as e:
        return f"解析数据失败: {e}\n原始数据: {data}"

场景二:每日天气通知(定时任务)

结合 timer_task 工具,创建每日定时天气推送。

  1. 确认用户的城市和通知时间
  2. 确认用户已有 API Key
  3. 使用 timer_task(action="add") 创建定时任务
  4. 定时任务 prompt 示例(不要包含"定时"等暗示词汇):
查询北京的今日天气实况和未来3天预报,包括生活指数建议,汇总成简洁的天气日报发送给我。

注意: 定时任务的 prompt 必须是纯粹的任务指令,不能包含"每天"、"定时"等词汇。

场景三:多城市对比

用户要求对比多个城市的天气时,分别查询各城市并生成对比表格。

输出格式规范

  • 天气信息应结构化呈现,包含城市、温度、天气现象、风力等关键要素
  • 推荐使用 emoji 增加可读性(但不是必须)
  • 温度统一使用摄氏度(°C)
  • 如数据解析失败,展示原始 JSON 供用户排查

注意事项

  1. API Key 安全: 不应将用户的 API Key 写入持久化记忆(user memory),仅在会话中临时使用
  2. 调用频率: 免费版限制 400次/小时,批量查询时注意控制频率
  3. 城市定位: location 参数支持城市中文名、拼音、城市ID、经纬度坐标、IP地址
  4. 错误处理: API 返回错误时(如 key 无效、超频),应友好提示并建议解决方案
  5. 免费版限制: 天气预警(alarm)接口免费版不可用,如用户需要应提示升级付费版

常见问题

5 问
答案由本站依据条目字段整理
Seniverse Weather怎么安装?

在支持 Skills 的客户端里执行:skillhub install user_b22a52ba/seniverse-weather。安装方式为未标注。装完刷新技能列表或重开客户端。

Seniverse Weather支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

Seniverse Weather权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

Seniverse Weather收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

Seniverse Weather用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 未标注。