← 返回 Skills 市场
art-ps

Agent Radio

作者 Artem Pisarev · GitHub ↗ · v0.1.1 · MIT-0
cross-platform ✓ 安全检测通过
195
总下载
0
收藏
0
当前安装
2
版本数
在 OpenClaw 中安装
/install agent-radio
功能描述
Control internet radio playback with stream/ station search, favorites, volume, pause/resume, stop, next, and show current playback using mpv or ffplay.
使用说明 (SKILL.md)

Agent Radio Skill

Internet radio player for OpenClaw with station search, favorites, volume control, and playback management.

When to Use

Use when user wants to:

  • Play an internet radio stream by URL
  • Search for stations by name from the live Radio Browser directory
  • Play a random built-in station when no target is provided
  • Manage favorite stations (add, remove, list)
  • Control volume, pause/resume, stop, skip to next
  • Check what is currently playing
  • Have a persistent radio experience across sessions

Tools

This skill provides the following CLI commands in scripts/:

play \x3Curl|station_name> [volume]

Play a stream by URL or by name from favorites or the built-in list.

If no target is provided, the skill chooses a random station from stations.json. Optional volume is 0-100 and defaults to the saved setting.

Examples:

  • play https://stream.zeno.fm/0r0xa792kwzuv
  • play BBC Radio 1
  • play "Jazz 24 (KNKX)" 60

stop

Stop playback immediately.

pause

Pause or resume the current playback process.

next

Skip to the next favorite station in a cycle.

volume [level]

Show the current volume or set a new default volume from 0-100.

Examples:

  • volume
  • volume 75

now

Show the current station URL, volume, PID, and playback status.

favorite add \x3Cname> \x3Curl>

Add a station to favorites.

favorite remove \x3Cname>

Remove a station from favorites.

list

List all favorite and built-in stations.

find \x3Cquery> [number]

Search the Radio Browser directory. When number is provided, play that result immediately.

Examples:

  • find jazz
  • find "lofi hip hop" 1

Configuration

Preferences are stored in: {baseDir}/preferences.json

{
  "last_station": "",
  "volume": 80,
  "favorites": [
    {"name": "BBC Radio 1", "url": "http://..."},
    {"name": "Jazz 24 (KNKX)", "url": "https://..."}
  ],
  "audio_device": "auto",
  "current_pid": null,
  "paused": false
}

Audio device auto-detection:

  • macOS: coreaudio/BuiltInSpeakerDevice
  • Linux: alsa/default
  • Windows: directsound/default

Override locations when needed:

  • AGENT_RADIO_BASE_DIR
  • AGENT_RADIO_PREF_FILE
  • AGENT_RADIO_STATIONS_FILE

Implementation Notes

  • Primary player: mpv --no-video --audio-device=\x3Cdevice> --volume=\x3Cvol> --cache=yes \x3Curl>
  • Fallback player: ffplay -nodisp -autoexit \x3Curl>
  • Playback runs in the background and stores PID plus paused state in preferences.
  • On play, any existing playback is stopped before starting the next stream.
  • Station lookup is case-insensitive across favorites and built-in stations.
  • next cycles favorite URLs instead of depending on station-name matching.

Error Handling

  • If both mpv and ffplay are missing, return install guidance.
  • If dependencies like jq or curl are missing, fail early with a clear message.
  • If a stored PID is stale, clear it automatically.
  • If station search returns no matches, explain how to retry with another query or a direct URL.

Examples for Users

/radio play https://stream.zeno.fm/0r0xa792kwzuv
/radio play "BBC Radio 1"
/radio volume 70
/radio now
/radio find jazz
/radio find "lofi hip hop" 1
/radio favorite add "Lounge Jazz" https://jazz.stream
/radio list
/radio next
/radio stop

Future Enhancements

  • Built-in station directory with genres and countries
  • Recording streams to file
  • Equalizer presets
  • Web interface control

安全使用建议
This skill is internally consistent with its stated purpose, but check these points before installing: 1) The script needs jq and curl at runtime (and mpv or ffplay) — ensure those are present or available via your package manager. 2) The skill persists a preferences.json and can be pointed (via AGENT_RADIO_BASE_DIR / AGENT_RADIO_PREF_FILE) at a different directory — if you change those, avoid system or sensitive directories. 3) The skill will spawn background mpv/ffplay processes that connect to remote stream URLs (including ones returned by the Radio Browser lookup); consider network/privacy policies if you run untrusted streams. 4) If you want extra assurance, inspect scripts/radio.sh locally and run it manually in a safe environment before allowing autonomous agent invocation.
功能分析
Type: OpenClaw Skill Name: agent-radio Version: 0.1.1 The agent-radio skill is a legitimate utility for playing internet radio streams using mpv or ffplay. It features station searching via the Radio Browser API (radio-browser.info), favorites management, and persistent volume/playback settings stored in a local JSON file. The shell script (scripts/radio.sh) is well-structured, using jq for safe JSON parsing and implementing proper validation for URLs and volume levels to prevent common injection attacks.
能力评估
Purpose & Capability
Name/description match the shipped code: scripts/radio.sh implements station search, play/stop/pause/next, favorites, and persistent preferences. The built-in stations and Radio Browser lookup align with the stated purpose.
Instruction Scope
Runtime instructions and the script stay within the radio player domain (reading/writing a preferences file, calling mpv/ffplay, and querying the Radio Browser API). The skill persists state to a preferences.json and accepts environment-variable overrides for base/prefs/stations paths (documented), which is expected for this kind of tool.
Install Mechanism
The registry lists no install spec (instruction-only), and SKILL.md provides optional brew install hints for mpv/ffmpeg. Nothing in the package pulls arbitrary code from unknown URLs or performs disk installs; installation guidance is limited to common package managers.
Credentials
The script requires jq and curl at runtime (and mpv or ffplay). SKILL.md/metadata declare mpv/ffplay (and brew formulas) but do not declare jq/curl as required binaries — a minor mismatch. No credentials or external secret access are requested.
Persistence & Privilege
always is false, the skill only writes its own preferences file and does not modify other skills or system-wide agent settings. It does spawn background player processes (mpv/ffplay) which is expected.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install agent-radio
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /agent-radio 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v0.1.1
Version 1.1.1 - Updated version number in SKILL.md from 1.1.0 to 1.1.1. - No functional or documentation changes beyond version bump.
v0.1.0
agent-radio 1.1.0 adds flexible internet radio playback, search, and favorites management with persistent settings. - Play streams by URL or station name, with automatic fallback to built-in/random stations. - Search the Radio Browser directory and play results instantly. - Add, remove, list, and cycle through favorite stations. - Full playback controls: volume, pause/resume, stop, next, and status query. - Audio output auto-detection, mpv player primary with ffplay fallback. - All settings and playback state persist between sessions for continuity.
元数据
Slug agent-radio
版本 0.1.1
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 2
常见问题

Agent Radio 是什么?

Control internet radio playback with stream/ station search, favorites, volume, pause/resume, stop, next, and show current playback using mpv or ffplay. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 195 次。

如何安装 Agent Radio?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install agent-radio」即可一键安装,无需额外配置。

Agent Radio 是免费的吗?

是的,Agent Radio 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Agent Radio 支持哪些平台?

Agent Radio 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Agent Radio?

由 Artem Pisarev(@art-ps)开发并维护,当前版本 v0.1.1。

💬 留言讨论