internet-radio-music-db

SKILL研究检索
研究检索 未标注权限 许可证不明确
安装这个技能

Internet radio music stream database — collect, store, and manage a database of music streams from internet-radio.com. ~150+ streams, 29 genres, auto-population and availability checking with adaptive bitrate-based speed thresholds. Works together with the Internet Radio Music Player skill. For the easiest management experience, use the internet-radio-music-webui plugin.

一句话选型结论

按资料字段整理

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

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

安装

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

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

  2. 2
    拿到技能文件

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

  3. 3
    刷新技能列表

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

  4. 4
    验证是否生效

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

技能档案

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

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
查资料并整理出处

让模型按主题查资料,并把引用来源整理成清单。

网页与文献要点提炼

把长文、论文、网页压成能直接看的要点。

竞品与行业汇总

按关键词汇总竞品动态与行业信息。

选择建议

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

值得选的地方

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

先想清楚的地方

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

更适合

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

不太适合

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

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
internet-radio-music-db当前 未标注权限 未标注 未标注 未标注 有
寻找技能 浏览器控制 GitHub 仓库 3120.0 万 Codex、Claude、Cursor 有
自我改进 Agent 接触敏感数据 ClawHub 市场 1646.4 万 OpenClaw 有
灵魂追踪 联网访问 GitHub 仓库 758.9 万 Codex、Claude、Cursor 有
自我完善 联网访问 ClawHub 市场 682.9 万 OpenClaw 有
微软代工厂 调用外部服务 GitHub 仓库 661.4 万 Codex、Claude、Cursor 有

SKILL.md 全文

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

Internet Radio Music DB — Music Stream Database

Skill for collecting and managing an internet radio stream database.

🌐 WebUI Plugin (Recommended)

The easiest way to manage both playback and the stream database is the internet-radio-music-webui plugin.

The plugin provides an embeddable web panel with:
- Playback controls: Play, Stop, Next, Previous, Resume (auto-resume after stop)
- Mood-based genre selector: Pick from 20+ genres via dropdown
- Stream database management: View stats (genres, languages, efficiency), list streams by genre, check availability, rebuild database — all from the browser
- WebChat integration: Embed directly in webchat with [embed url="http://127.0.0.1:18789/mplayer"]

Install the plugin:

openclaw plugins install "clawhub:internet-radio-music-webui"
openclaw gateway restart

The plugin auto-detects the database scripts (cli.py, show_stats.py, build_db.py, check_availability.py) from this skill. Both this skill AND the internet-radio-music-player skill must be installed for the plugin to work.

Data source

https://www.internet-radio.com/ — the largest internet radio station catalog.

How database population works

  1. Parallel station collection — 10 threads simultaneously (one per genre), parsing up to MAX_PAGES pages per genre (/stations/{genre}/), stopping on empty page. With the default MAX_PAGES = 10 this yields ~2700+ stations across 29 genres (~150+ after dedup and filtering). Adjust MAX_PAGES to control search depth.
  2. Playlist extraction — extracts .pls playlist link from each station
  3. URL resolution — forms a direct stream URL from the playlist (http://server:port/stream)
  4. Adaptive speed check — parallel check of all new streams (60 workers), 4-second download. Threshold is per-stream based on bitrate
  5. Saving — data saved to state.json

Adaptive speed threshold

Each stream has a bitrate (kbps) stored in the database. The minimum speed threshold is:

threshold_KBps = max(5.0, min((bitrate_kbps / 8) * 0.75, 50.0))
Stream bitrate Nominal speed Threshold (75%) Effective min
320 kbps 40 KB/s 30 KB/s 30 KB/s
256 kbps 32 KB/s 24 KB/s 24 KB/s
192 kbps 24 KB/s 18 KB/s 18 KB/s
128 kbps 16 KB/s 12 KB/s 12 KB/s
64 kbps 8 KB/s 6 KB/s 6 KB/s
32 kbps 4 KB/s 3 KB/s 5 KB/s (floor)
unknown — — 5 KB/s (floor)

This means a 64k stream only needs 6 KB/s to pass, while a 320k stream needs 30 KB/s.

Availability checking

  • Parallel check of all streams (120 workers)
  • Uses the same adaptive threshold (shared check_stream.py module)
  • Streams with failed_checks >= 3 are automatically removed
  • Extra fields stored: check_speed_bps, check_threshold_kbs, check_bytes_received

Stream record format

{
  "url": "http://server:8000/stream",
  "name": "Station Name",
  "genre": "rock",
  "language": "en",
  "bitrate": 128,
  "available": true,
  "source": "internet-radio.com",
  "added_at": "2026-05-23T18:00:00+00:00",
  "last_checked": "2026-05-23T19:00:00+00:00",
  "last_speed_bps": 12288,
  "failed_checks": 0
}

Files

File Purpose
scripts/check_stream.py Shared module — adaptive speed check logic
scripts/build_db.py Database population (imports from check_stream.py)
scripts/check_availability.py Availability check (imports from check_stream.py)
scripts/cli.py Stream management (list/add/remove/export)
scripts/show_stats.py Statistics (genres, languages, speed, efficiency)
state.json Stream database (not included in publication)

Commands

# Populate database (parallel, 29 genres, ~1000+ streams)
python ~/.openclaw/skills/internet-radio-music-db/scripts/build_db.py

# Check availability (120 workers, adaptive thresholds)
python ~/.openclaw/skills/internet-radio-music-db/scripts/check_availability.py

# Full statistics
python ~/.openclaw/skills/internet-radio-music-db/scripts/show_stats.py

# Genre breakdown
python ~/.openclaw/skills/internet-radio-music-db/scripts/show_stats.py --genres

# Language distribution
python ~/.openclaw/skills/internet-radio-music-db/scripts/show_stats.py --lang

# Speed distribution
python ~/.openclaw/skills/internet-radio-music-db/scripts/show_stats.py --speed

# Top-10 fastest
python ~/.openclaw/skills/internet-radio-music-db/scripts/show_stats.py --top-speed 10

# Efficiency report (actual speed vs bitrate)
python ~/.openclaw/skills/internet-radio-music-db/scripts/show_stats.py --effective

# List streams by genre
python ~/.openclaw/skills/internet-radio-music-db/scripts/cli.py list rock

# Add/remove streams
python ~/.openclaw/skills/internet-radio-music-db/scripts/cli.py add <url> <name> <genre> [lang]
python ~/.openclaw/skills/internet-radio-music-db/scripts/cli.py remove <url>

# Export database
python ~/.openclaw/skills/internet-radio-music-db/scripts/cli.py export backup.json

Cron tasks

  • Database population — every 4 hours: 0 */4 * * *
  • Availability check — every 4h offset 30min: 30 */4 * * *
openclaw cron add --name "DB Population" --schedule "0 */4 * * *" --tz "Europe/Samara" \
  --message "Run: python ~/.openclaw/skills/internet-radio-music-db/scripts/build_db.py"

openclaw cron add --name "Availability Check" --schedule "30 */4 * * *" --tz "Europe/Samara" \
  --message "Run: python ~/.openclaw/skills/internet-radio-music-db/scripts/check_availability.py"

Features

  • Adaptive speed thresholds — each stream's minimum speed is based on its bitrate
  • Shared check_stream.py module for identical criteria in population and checking
  • Slow streams marked available: false, failed_checks counter incremented
  • Streams with failed_checks >= 3 auto-removed
  • Language detection by station name keywords
  • ~29 genres, MAX_PAGES per genre (default 10, configurable in build_db.py). Default settings yield ~150+ unique streams per cycle; increase MAX_PAGES for broader coverage
  • No duplicate URLs

Changelog

v2.6.0 (2026-05-29)

  • Added information about the internet-radio-music-webui plugin — the easiest way to manage playback and stream database
  • Plugin provides web panel with playback controls, mood selector, and DB management (stats, list, check, rebuild)
  • Both this skill and internet-radio-music-player are required for the plugin to work

v2.5.1 (2026-05-27)

  • Fixed description: renamed MAX_PAGE to MAX_PAGES for clarity
  • Updated docs: station count now correctly reflects ~150+ streams with default settings
  • Clarified MAX_PAGES is configurable in build_db.py for deeper/faster scans

v2.5.0 (2026-05-27)

  • Adaptive speed thresholds — replaced hardcoded 20 KB/s with bitrate-based formula
  • New shared module check_stream.py used by both build_db.py and check_availability.py
  • 320k stream needs 30 KB/s, 128k needs 12 KB/s, 64k needs 6 KB/s, unknown uses 5 KB/s floor
  • Efficiency report — new --effective flag shows actual vs nominal bitrate speed
  • Renamed check_stream() to probe_stream() in build_db.py
  • Updated docs with threshold table

v2.4.0 (2026-05-27)

  • Full English translation of all scripts and documentation
  • Added .clawhubignore

v2.2.0 (2026-05-27)

  • Fixed duplicate URL bug in build_db.py — added seen_urls set
  • Set MAX_PAGES = 10

v2.1.0 (2026-05-27)

  • Increased page limit from 6 to 10
  • Synchronized speed criteria between build and check scripts
  • Removed legacy scripts (check_all.py, ambient_boost.py)

v2.0.0

  • Initial release

常见问题

5 问
答案由本站依据条目字段整理
internet-radio-music-db怎么安装?

在支持 Skills 的客户端里执行:skillhub install user_15292d5a/yjkj-internet-radio-music-db。安装方式为未标注。装完刷新技能列表或重开客户端。

internet-radio-music-db支持哪些客户端?

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

internet-radio-music-db权限高吗,安全吗?

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

internet-radio-music-db收费吗?

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

internet-radio-music-db用什么许可证?

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

热门专题

按场景挑技能
全部专题 →

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