Token导航 LogoToken导航

Agent Skill · 开发

weather-broadcast(天气预报)

weather-broadcast 用于处理音频、语音、转写和声音素材相关任务,适合在 OpenClaw 中需要整理音频流程、转写内容或生成配音素材时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

weather-broadcast 是开发类 Agent Skill,可用宿主为 OpenClaw,通过ClawHub获取,权限为接触敏感数据;许可证为 MIT-0,第三方扫描已通过,按安装量在开发类的 21,746 个 Skill 里排第 5,234。

总安装 6,690周安装 276GitHub Stars 公开资料未说明下载 2,186核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
MIT-0
版本
1.0.0

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:weather-broadcast(天气预报)
来源仓库:https://github.com/scikkk/weather-broadcast
安装命令:
openclaw skills install weather-broadcast
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install weather-broadcast

这个 Skill 是做什么的

开发类 Skill 面向写代码、改代码和排查问题,一般会读写仓库文件,部分还会执行构建或测试命令。

用于将天气信息转换为语音广播输出。适合需要播报天气的物联网设备或语音助手场景。集成 SenseAudio TTS 技术,支持自然语音合成。需配置音频输出权限和设备兼容性。weather-broadcast 属于开发类 Skill,可作为该场景下的辅助能力补充。建议在本地或受控环境中运行,避免意外外放。

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 OpenClaw;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 openclaw skills install weather-broadcast;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要接触敏感数据,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

weather-broadcast 怎么安装?

在终端执行 openclaw skills install weather-broadcast。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

weather-broadcast 支持哪些 AI 工具?

公开资料标注支持 OpenClaw。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

weather-broadcast 需要什么权限?

权限级别是接触敏感数据。该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

weather-broadcast 是免费的吗?

来源标注的许可证是 MIT-0。本站不代收任何费用,也不托管安装包;能否商用、要不要署名,以许可证原文为准。

weather-broadcast 用的人多吗?

公开数据是累计安装 6,690 次,近一周安装 276 次,下载 2,186 次。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

weather-broadcast 安全吗?

第三方扫描结果为通过,但这只覆盖已知的静态检查项,不能替代自己读一遍源码和安装命令。

值得选的地方和要先想清楚的地方

值得选的地方

  • 专注 OpenClaw 一种宿主,触发方式和使用习惯不用来回切换。
  • 许可证明确为 MIT-0,商用和分发边界好判断。
  • 第三方扫描已通过,常见的高风险行为没有命中。

先想清楚的地方

  • 需要接触敏感数据,装到常用环境前要先评估影响面。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 OpenClaw,想直接扩展它能力的人。
  • 需要处理开发类任务、又不想每次都手写提示词的人。
  • 需要许可证清楚、并且有第三方扫描结果的团队项目。

不太适合

  • 环境里有大量密钥、凭证,不方便给第三方 Skill 读取的人。
  • 需要厂商级技术支持和 SLA 的生产系统。

开发类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
skill-vetter

技能审查员 · OpenClaw

8,779,018986操作浏览器MIT-0通过
ontology

本体论 · OpenClaw

6,636,960576只读MIT-0通过
entra-app-registration

内部应用程序注册 · Codex、Claude

6,631,872764接触敏感数据未明确通过
entra-app-registration

内部应用程序注册 · Codex、Claude

3,757,680201接触敏感数据未明确通过
nano-banana-pro

纳米香蕉专业版 · OpenClaw

3,526,898364接触敏感数据MIT-0有提醒
weather-broadcast

天气预报 · 本页

6,690—接触敏感数据MIT-0通过

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

name
senseaudio-weather-broadcast
description
Fetch weather data and generate a spoken weather broadcast using SenseAudio TTS.
metadata
openclaw
emoji
🌤️
requires
env
bins
primaryEnv
SENSEAUDIO_API_KEY
homepage
https://senseaudio.cn/docs

Weather Broadcast / 天气播报

Fetch real-time weather data and generate a natural-sounding weather broadcast audio using SenseAudio TTS.

获取实时天气数据,并使用 SenseAudio TTS 生成自然流畅的天气播报音频。

Quick Start / 快速开始

1. Get Weather + Generate Broadcast / 获取天气并生成播报

# Set your API key / 设置 API 密钥
export SENSEAUDIO_API_KEY="your_api_key"

# Fetch weather and generate broadcast for Beijing / 获取北京天气并生成播报
CITY="Beijing"
WEATHER=$(curl -s "wttr.in/${CITY}?format=%l:+%c+%t+%h+%w&lang=zh")

# Generate broadcast text / 生成播报文本
BROADCAST_TEXT="天气播报:${WEATHER}。祝您出行愉快!"

# Call SenseAudio TTS / 调用 SenseAudio TTS
curl -X POST https://api.senseaudio.cn/v1/t2a_v2 \
  -H "Authorization: Bearer $SENSEAUDIO_API_KEY" \
  -H "Content-Type: application/json" \
  -d "{
    \"model\": \"SenseAudio-TTS-1.0\",
    \"text\": \"$BROADCAST_TEXT\",
    \"stream\": false,
    \"voice_setting\": {
      \"voice_id\": \"male_0004_a\",
      \"speed\": 0.95
    },
    \"audio_setting\": {
      \"format\": \"mp3\",
      \"sample_rate\": 32000
    }
  }" -o response.json

# Extract and save audio / 提取并保存音频
jq -r '.data.audio' response.json | xxd -r -p > weather_broadcast.mp3

Weather Data Sources / 天气数据源

wttr.in (Primary / 主要)

Free weather service, no API key required. / 免费天气服务,无需 API 密钥。

# Quick one-liner / 快速查询
curl -s "wttr.in/Shanghai?format=3"
# Output: Shanghai: ⛅️ +18°C

# Detailed format / 详细格式
curl -s "wttr.in/Shanghai?format=%l:+%c+%t+%h+%w"
# Output: Shanghai: ⛅️ +18°C 65% ↙12km/h

# Chinese output / 中文输出
curl -s "wttr.in/上海?lang=zh&format=3"

Format codes / 格式代码:

  • %c condition / 天气状况
  • %t temperature / 温度
  • %h humidity / 湿度
  • %w wind / 风速
  • %l location / 地点
  • %m moon phase / 月相

Options / 选项:

  • ?lang=zh Chinese / 中文
  • ?m metric / 公制
  • ?1 today only / 仅今天
  • ?0 current only / 仅当前

Open-Meteo (Fallback / 备用)

Free JSON API for programmatic use. / 免费 JSON API,适合程序化使用。

# Get coordinates first, then query / 先获取坐标,再查询
# Beijing: 39.9, 116.4
curl -s "https://api.open-meteo.com/v1/forecast?latitude=39.9&longitude=116.4&current_weather=true"

Complete Python Example / 完整 Python 示例

import requests
import os

SENSEAUDIO_API_KEY = os.environ.get("SENSEAUDIO_API_KEY")
TTS_URL = "https://api.senseaudio.cn/v1/t2a_v2"

def get_weather(city: str, lang: str = "zh") -> str:
    """Fetch weather from wttr.in / 从 wttr.in 获取天气"""
    url = f"https://wttr.in/{city}?format=%l:+%c+%t+%h+%w&lang={lang}"
    resp = requests.get(url, timeout=10)
    return resp.text.strip()

def generate_broadcast_text(weather: str, lang: str = "zh") -> str:
    """Generate broadcast script / 生成播报文本"""
    if lang == "zh":
        return f"天气播报:{weather}。<break time=300>请根据天气情况合理安排出行,祝您生活愉快!"
    else:
        return f"Weather report: {weather}. <break time=300>Please plan your day accordingly. Have a great day!"

def text_to_speech(text: str, output_file: str = "weather_broadcast.mp3", voice_id: str = "male_0004_a"):
    """Convert text to speech using SenseAudio TTS / 使用 SenseAudio TTS 转换文本为语音"""
    headers = {
        "Authorization": f"Bearer {SENSEAUDIO_API_KEY}",
        "Content-Type": "application/json"
    }
    payload = {
        "model": "SenseAudio-TTS-1.0",
        "text": text,
        "stream": False,
        "voice_setting": {
            "voice_id": voice_id,
            "speed": 0.95,
            "vol": 1.0,
            "pitch": 0
        },
        "audio_setting": {
            "format": "mp3",
            "sample_rate": 32000
        }
    }

    resp = requests.post(TTS_URL, json=payload, headers=headers, timeout=30)
    result = resp.json()

    if result.get("data") and result["data"].get("audio"):
        audio_bytes = bytes.fromhex(result["data"]["audio"])
        with open(output_file, "wb") as f:
            f.write(audio_bytes)
        print(f"Audio saved: {output_file}")
        print(f"Duration: {result['extra_info']['audio_length']}ms")
        return output_file
    else:
        raise Exception(f"TTS failed: {result.get('base_resp', {}).get('status_msg', 'Unknown error')}")

def weather_broadcast(city: str, output_file: str = "weather_broadcast.mp3", lang: str = "zh"):
    """Main function: fetch weather and generate broadcast / 主函数:获取天气并生成播报"""
    print(f"Fetching weather for {city}...")
    weather = get_weather(city, lang)
    print(f"Weather: {weather}")

    broadcast_text = generate_broadcast_text(weather, lang)
    print(f"Broadcast text: {broadcast_text}")

    print("Generating audio...")
    return text_to_speech(broadcast_text, output_file)

if __name__ == "__main__":
    # Example usage / 示例用法
    weather_broadcast("Beijing", "beijing_weather.mp3", "zh")
    # weather_broadcast("London", "london_weather.mp3", "en")

Voice Options / 音色选项

Voice IDDescription / 描述Style / 风格
male_0004_aWarm male / 温暖男声News anchor / 新闻主播
female_0001_aSweet female / 甜美女声Friendly / 亲切

See SenseAudio Voice List for all available voices.

查看 SenseAudio 音色列表 获取所有可用音色。

TTS Parameters / TTS 参数

Parameter / 参数Type / 类型Default / 默认Range / 范围Description / 描述
speedfloat1.00.5-2.0Speech rate / 语速
volfloat1.00-10Volume / 音量
pitchint0-12 to 12Pitch adjustment / 音调

Audio Output / 音频输出

Format / 格式Sample Rate / 采样率Use Case / 适用场景
mp332000General use / 通用
wav48000High quality / 高品质
pcm16000IoT devices / 物联网设备

Tips / 提示

  1. Use <break time=500> to add pauses in broadcast / 使用 <break time=500> 在播报中添加停顿
  2. Set speed: 0.95 for clearer broadcast / 设置 speed: 0.95 使播报更清晰
  3. URL-encode city names with spaces: New+York / 城市名有空格时需 URL 编码
  4. Use ?lang=zh for Chinese weather descriptions / 使用 ?lang=zh 获取中文天气描述

Error Handling / 错误处理

try:
    weather_broadcast("Beijing")
except requests.exceptions.Timeout:
    print("Request timeout, please retry")
except Exception as e:
    print(f"Error: {e}")

Related / 相关资源

平台分布

OpenClaw

80.46%
按下载量换算1,759

安全审计

VirusTotal

通过

ClawScan

通过

Static analysis

通过

权限和风险

接触敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills