SuperAPI AI 工具集

classical-887

通用与其它

查看项目

更新于 10-16 02:24

技能介绍

Classical 887 是一个面向 WRHV 88.7 FM(Classical WMHT)古典音乐电台的查询与管理工具。WRHV 88.7 FM 位于纽约州 Poughkeepsie,是 WMHT-FM 89.1(Schenectady)的同步转播电台。该工具通过 NPR Composer API 获取电台的实时与历史播放列表数据,并提供多平台收听链接。

用途

该工具主要用于:查询 88.7 电台当前正在播放的曲目;获取最近播放的曲目并附带再次收听的链接;构建 Markdown 格式的播放列表报告;查找在电台听到的特定曲目;根据电台曲目创建 Spotify 播放列表;重命名 Spotify 播放列表;审计已拥有的 Spotify 播放列表(列出、搜索、排序);清理累积的 Spotify 播放列表(安全批量删除);在清理前将播放列表曲目数据导出为 JSON;查看播放列表操作历史。

主要能力

数据查询方面,工具支持查看当前播放(--now,默认模式)、最近 N 首曲目(--recent N,范围 1–100)、指定日期(--date YYYY-MM-DD)、指定时间段(--period,可选 today、yesterday、week、month),并可按作曲家、曲目或演奏者进行搜索过滤(--search QUERY)。输出可包含作曲家、曲目、演奏者、时长以及 YouTube、Spotify、Apple Music、IMSLP、IDAGIO、Internet Archive、Musopen 七个平台的收听链接。使用 --verbose 可显示专辑、厂牌、目录编号及全部演奏者等完整信息;使用 --json 可输出原始 JSON;使用 --markdown [FILE] 可生成带可点击链接的 Markdown 报告,默认文件名为 classical-playlist.md,报告包含当前播放头部、带七个平台链接的最近曲目表格以及作曲家索引。结果可按时间(最新优先)、时长(最长优先)或作曲家(A–Z)排序(--sort FIELD)。

Spotify 集成方面(可选),工具支持根据电台曲目创建或追加 Spotify 播放列表(--spotify-playlist [NAME],默认播放列表名为 Classical 88.7 FM);重命名播放列表(--spotify-rename NEW_NAME),并可同时设置新描述(--spotify-description DESC);审计所有已拥有的播放列表(--spotify-audit),可结合 --search 和 --sort 使用;按 glob 模式清理播放列表(--spotify-cleanup PATTERN),默认仅预览,需加 --confirm 才执行删除,并可用 --max N 设置每次调用最多删除的播放列表数量;导出匹配的播放列表曲目为 JSON 文件(--spotify-export [DIR]);查看播放列表操作日志的 Markdown 报告(--spotify-log-report)。

使用方式

前置条件:需要 Python requests 包(uv pip install --system requests)。无需 API 密钥,使用 NPR 公开的 Composer API。Spotify 集成为可选,需要 spotipy 包(uv pip install --system spotipy)以及 Spotify 开发者应用凭据。

常用命令示例:

当前正在播放(默认)

python3 ~/.claude/skills/classical-887/scripts/classical_887.py

最近 10 首曲目

python3 ~/.claude/skills/classical-887/scripts/classical_887.py --recent 10

今天的完整播放列表

python3 ~/.claude/skills/classical-887/scripts/classical_887.py --period today

上周的 Markdown 报告

python3 ~/.claude/skills/classical-887/scripts/classical_887.py --period week --markdown ~/Desktop/classical-week.md

指定日期

python3 ~/.claude/skills/classical-887/scripts/classical_887.py --date 2026-02-14

在日期范围内搜索作曲家

python3 ~/.claude/skills/classical-887/scripts/classical_887.py --period week --search bach

根据今天的曲目创建 Spotify 播放列表

python3 ~/.claude/skills/classical-887/scripts/classical_887.py --period today --spotify-playlist

审计所有已拥有的 Spotify 播放列表

python3 ~/.claude/skills/classical-887/scripts/classical_887.py --spotify-audit

清理预览(不删除)

python3 ~/.claude/skills/classical-887/scripts/classical_887.py --spotify-cleanup "Rediscover*"

执行清理并设置安全上限

python3 ~/.claude/skills/classical-887/scripts/classical_887.py --spotify-cleanup "Rediscover*" --confirm --max 10

Spotify 凭据可通过 --spotify-client-id 和 --spotify-client-secret 参数传入,或使用环境变量 SPOTIFY_CLIENT_ID 和 SPOTIFY_CLIENT_SECRET。

播放列表日志

每次 --spotify-playlist 操作会自动向 ~/.claude/skills/classical-887/playlist-log.jsonl 追加一条 JSONL 记录。每条记录包含:日期与操作(created/appended)、播放列表名称与 Spotify URL、已添加曲目(作曲家、曲目、演奏者、时长、Spotify URI)、未在 Spotify 找到的曲目、总计数量(匹配/未匹配)。日志为仅追加文件,可用标准 jq 命令查询,例如统计操作总数、列出所有播放列表名称、汇总匹配曲目总数等。

数据来源与回退

数据来自 NPR Composer API(api.composer.nprstations.org/v1/widget/),该 API 为 classicalwmht.org/playlist 的 WMHT 播放列表组件提供支持。完整 API 文档见 references/api-reference.md。若 NPR Composer API 不可用,可直接抓取播放列表页面:firecrawl scrape "https://classicalwmht.org/playlist" --only-main-content。

参考文档

references/api-reference.md 包含 NPR Composer API 的端点、请求/响应模式与字段参考;references/spotify-setup.md 包含 Spotify 开发者应用设置、OAuth、环境变量与开发模式说明。

适用场景与限制

该工具适用于古典音乐爱好者、电台听众以及需要整理电台播放记录的用户,尤其适合希望将电台曲目同步到 Spotify 播放列表或生成收听报告的场景。限制方面:Spotify 功能需要额外的开发者凭据与 OAuth 配置;清理操作默认仅预览,需显式确认;数据依赖 NPR Composer API 的可用性;工具本身不提供音频播放,仅提供外部平台链接。