SuperAPI AI 工具集

pp-weather-goat

通用与其它

查看项目

更新于 10-15 14:30

技能介绍

Weather GOAT 是 Printing Press 系列中的一个天气命令行技能,用于驱动 weather-goat-pp-cli 二进制程序。它把天气查询从“看数据”推进到“做决策”,尤其适合作为每日晨间简报或出行前的判断依据。

用途

该技能适用于用户询问天气、预报、温度、降雨、风暴、强天气预警、空气质量、花粉、紫外线,或希望根据当前天气获得活动建议的场景。它也能回答“今天相对这个季节是否正常”这类对比问题。需要注意的是,它不适合需要超本地或商业级气象数据的场景(应使用 Tomorrow.io、ECMWF 等付费服务),也不适用于美国以外的强天气预警,因为 NWS 仅覆盖美国。

主要能力

活动判定是其核心差异点。go walk|bike|hike|commute|drive [location] 会针对具体活动给出 GO / CAUTION / STOP 判定及理由,每种活动有各自的阈值:walk 提供雨伞、外套、防晒、分层穿衣等准备建议;bike 针对风速、降雨、AQI、结冰阈值调优;hike 关注雷电、失温风险、高海拔紫外线;commute 对比早出与晚归的天气(时间感知);drive 关注能见度、结冰、阵风与 NWS 警告。

强天气情报方面,alerts [location] 返回当前 NWS 警告(龙卷风、风暴、洪水、高温),输出结构化并包含严重程度与区域多边形;watch [location] 在强天气期间每 60 秒轮询 NWS,实时打印新增或更新的警报。

上下文与对比方面,normal [location] 将今日高低温与降水同历史同期平均值对比,判断是否异常;compare <location1> <location2> [...] 提供两个及以上地点的并排预报,便于旅行规划;morning-brief(或配置了 home 位置后无参数运行)一次返回当前天气、今日预报与当前 NWS 警报。

空气、紫外线与花粉方面,breathe [location] 给出 AQI、花粉、紫外线及运动建议;air-quality [location] 提供含 PM2.5、臭氧等的详细 AQI;weather_codes 是 Open-Meteo 天气代码映射参考,便于处理 --json 输出。

使用方式

前置条件是安装 CLI。可通过 Printing Press 安装器安装:npx -y @mvanhorn/printing-press-library install weather-goat --cli-only,默认二进制位于 macOS/Linux 的 $HOME/.local/bin 或 Windows 的 %LOCALAPPDATA%\Programs\PrintingPress\bin。安装后用 weather-goat-pp-cli --version 验证,并确保安装目录在 $PATH 中。若 npx 安装失败(无 Node、离线等),可回退到 Go 直接安装(需 Go 1.26.6 或更新):go install github.com/mvanhorn/printing-press-library/library/other/weather-goat/cmd/weather-goat-pp-cli@latest。若 --version 报“command not found”,说明运行时看不到二进制目录,验证成功前不要继续执行技能命令。

常用命令包括:weather-goat-pp-cli(晨间简报,需先 config set-location 或传入位置)、forecast [location]、alerts [location]、history [location]、go <activity> [location]、breathe [location]、air-quality [location]、normal [location]、compare <loc1> <loc2>、watch [location]、config set-location <place>、geocoding <name>、doctor。

认证方面无需任何认证,Open-Meteo 免费且不限量,NWS 为美国公共数据免费。auth 命令仅为一致性存在,实际为空操作。可选配置包括 WEATHER_GOAT_CONFIG 覆盖配置文件路径,home 位置通过 config set-location 持久化到 ~/.config/weather-goat-pp-cli/config.toml。

Agent 模式:任意命令加 --agent 会展开为 --json --compact --no-input --no-color --yes。forecast 可配合 --forecast-days N,--no-cache 可绕过 15 分钟 GET 缓存。--select 接受点分路径深入嵌套响应,数组按元素遍历,用于把庞大负载收窄到所需字段。

退出码:0 成功,2 用法错误,3 位置未找到(地理编码失败),5 API 错误(Open-Meteo 或 NWS 问题),7 被限流(极少见,Open-Meteo 不限量)。

MCP 服务器:go install github.com/mvanhorn/printing-press-library/library/other/weather-goat/cmd/weather-goat-pp-mcp@latest,然后 claude mcp add weather-goat-pp-mcp -- weather-goat-pp-mcp。

参数解析规则:空、help 或 --help 运行 weather-goat-pp-cli --help;install 安装 CLI,install mcp 安装 MCP;活动类查询走 go <activity> [location] --agent;强天气类查询走 alerts [location] --agent;对比类查询走 compare <loc1> <loc2> --agent;其他情况走 forecast [location](若未传位置且已配置 home,则走晨间简报)。

Agent 工作流特性:命名配置(profile save/list/show/delete)可持久化一组标志并复用,标志优先级为显式标志 > 环境变量 > 配置 > 默认值;--deliver 可将输出路由到文件或 webhook,文件写入为原子操作(临时文件加重命名),webhook 以 application/json 或 --compact 时的 application/x-ndjson 发送 POST,未知协议会返回结构化拒绝并列出支持集合;feedback 用于记录 CLI 使用反馈,默认仅本地,追加到 ~/.weather-goat-pp-cli/feedback.jsonl,当设置 WEATHER_GOAT_FEEDBACK_ENDPOINT 且传入 --send 或 WEATHER_GOAT_FEEDBACK_AUTO_SEND=true 时也会非阻塞地上报。

适用场景

适合日常天气查询、晨间简报、活动出行决策(骑行、徒步、通勤、驾车)、美国境内强天气预警与监控、空气质量与花粉紫外线关注、旅行目的地对比、历史同期异常判断等。

限制

强天气预警仅限美国(NWS 覆盖范围);不适合超本地或商业级气象需求;需要先安装并验证 CLI 可用;部分功能依赖已配置的 home 位置。