返回顶部
c

claw-radio爪式电台操作

Operate a radio station. Teaches you how to be an AI radio host and work with the claw radio cli.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.1
安全检测
已通过
212
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

claw-radio

安装

使用 Brew 安装命令行电台工具

bash
brew install vossenwout/tap/claw-radio-cli

使用 Brew 安装命令行电台依赖

bash
brew install tmux mpv yt-dlp ffmpeg docker colima

Colima 为 macOS 上的 Docker 提供本地容器运行时。

在启动 Colima 或 SearxNG 之前,首先检查它们是否已经在运行。如果现有实例运行正常,不要启动第二个实例。

检查 Colima:

bash
colima status

如果 Colima 未运行,启动它:

bash
colima start

SearxNG(claw-radio search 必需)

claw-radio search 需要 SearxNG 允许 JSON 输出(format=json)。默认的容器配置通常只允许 html,这会导致 JSON 请求返回 403 Forbidden。

1) 检查 SearxNG 是否可用

bash
docker ps --filter name=searxng

预检:必须返回 JSON(不是 HTML / 403)

curl -fsS http://localhost:8888/search?q=test&format=json | head -c 1 | grep {

2) 如果 SearxNG 未运行或 JSON 预检失败:引导持久配置

引导一次(从容器的镜像生成一个有效的完整 settings.yml):

bash

先启动一次,不挂载卷,让容器生成有效的 settings.yml


docker rm -f searxng 2>/dev/null || true
docker run -d --name searxng -p 127.0.0.1:8888:8080 searxng/searxng:latest

将生成的配置复制到持久位置

mkdir -p ~/.openclaw/searxng docker cp searxng:/etc/searxng/settings.yml ~/.openclaw/searxng/settings.yml

修补 search.formats 以包含 JSON(+ 可选的 rss):

bash
python3 - < from pathlib import Path
import re

p = Path.home()/.openclaw/searxng/settings.yml
t = p.read_text()

m = re.search(r(?ms)^search:\n(.*?)(^server:), t)
assert m, 无法在 settings.yml 中找到 search: 块

sb = t[m.start():m.end()]
sb2 = re.sub(
r(?ms)^ formats:\n(?:\s-\s.*\n)+,
formats:\n - html\n - json\n - rss\n,
sb
)

if sb2 == sb:
sb2 = sb.replace(\n\nserver:, \n formats:\n - html\n - json\n - rss\n\nserver:)

p.withsuffix(.yml.bak).writetext(t)
p.write_text(t[:m.start()] + sb2 + t[m.end():])
print(已修补 search.formats 以包含 json)
PY

使用挂载的配置重新创建容器:

bash
docker rm -f searxng
docker run -d \
--name searxng \
-p 127.0.0.1:8888:8080 \
-v ~/.openclaw/searxng:/etc/searxng \
searxng/searxng:latest

重新运行 JSON 预检:

bash
curl -fsS http://localhost:8888/search?q=test&format=json | head -c 1 | grep {

claw-radio 默认期望 SearxNG 在 http://localhost:8888 运行。如果运行在不同的地址,请更新配置中的 search.searxng_url。

需要持久会话

claw-radio start 应在持久的终端会话中运行。如果启动它的终端退出,播放可能会停止。

对于 AI 代理:

  1. 1. 在一个持久的 tmux 会话中运行电台。
  2. 将所有 claw-radio 命令发送到同一个 tmux 会话。
  3. 使用 tmux capture-pane 读取输出。
  4. 不要从多个终端并行控制电台。

严格的代理规则

代理必须遵循最简单的控制流程并保持耐心。

必需的行为:

  1. 1. 创建一个 tmux 会话。
  2. 构建播放列表。
  3. 使用 say 排队开场闲聊。
  4. 精确发送一次 start。
  5. 等待直到窗格显示 radio started。
  6. 然后重复这个精确循环:
- 发送一次 poll --timeout 30s - 从 tmux 窗格读取最新的提示 - 在同一个 tmux 会话中执行精确匹配的一个 claw-radio 命令 - 然后再次轮询
  1. 7. 只有当提示明确报告 event=engine_stopped 时,才再次发送 start。

角色规则:

  • - 代理应从用户请求的电台氛围推断并创造电台主持人角色。
  • 不要要求用户想出主持人角色。
  • 只有在请求的电台氛围本身不清楚时才询问后续问题。

升级规则:

  • - 如果发生意外情况或工具似乎损坏,停止并告知用户。
  • 除非此技能明确说明,否则不要使用额外的脚本、重试、重启或替代工作流进行即兴操作。
  • 说明你运行了什么,你期望什么,以及实际发生了什么。

禁止的行为:

  • - 不要使用 Python、shell 循环、nohup、后台任务、辅助脚本或外部控制器进程来运行电台。
  • 不要创建自动轮询守护进程或自动化包装器。
  • 不要发出推测性的恢复操作。
  • 不要仅仅因为还没有发生任何事情就重启电台。
  • 不要将等待视为失败。
  • 不要优化掉手动轮询-读取-响应循环。

如果轮询返回 timeout 或 buffering,这是正常的。除了再次轮询外,什么也不要做。

推荐的会话名称:

bash
tmux new-session -d -s claw-radio -c $PWD

如果 claw-radio 作为本地二进制文件可用,例如 ./claw-radio,建议在会话中的所有命令中一致地使用该确切路径。

你做什么?

  1. 1. 询问用户你应该播放什么样的电台。用户可以自由定义。例如,他可能想要一个专注于单一艺术家的电台,某种氛围,甚至完全不同的东西。然而,在继续之前,重要的是你理解用户想要什么,所以可能在你继续之前问用户多个问题。
  2. 为你自己作为电台主持人想出一个角色/角色。不要要求用户为你创造角色,除非他们明确要求。这需要是一个《侠盗猎车手》风格的夸张电台主持人,与电台相匹配。例如,对于 techno 电台,你可以是一个同性恋德国人,对于乡村电台,可以是一个酒精牛仔。你可以自由定义你认为合适的角色。
  3. 操作 claw-radio 命令行工具来搜索歌曲,将它们添加到播放列表,在歌曲之间排队闲聊,并制作一个电台节目。

如何操作 claw-radio 命令行界面?

搜索歌曲

使用 claw radio search 方法搜索歌曲,这样你就不完全依赖自己的领域知识。
这将返回一个歌曲和艺术家名称的列表,你可以用来构建播放列表。建议使用搜索命令来增加播放列表的多样性。
重要提示:claw-radio search 需要 SearxNG 已经在运行并且可以通过配置的 search.searxng_url 访问。
你可以通过使用 --mode 标志使用以下搜索模式。

  • - raw:精确查询文本(最适合精确/调试)
  • artist-top:艺术家的热门歌曲
  • artist-year:艺术家+年份定位
  • chart-year:榜单/年份发现
  • genre-top:广泛流派发现

常见模式:

bash
claw-radio search Billboard Year-End Hot 100 2009 --mode chart-year
claw-radio search Miley Cyrus --mode artist-top
claw-radio search best synthpop songs --mode genre-top
claw-radio search Katy Perry tracklist site:musicbrainz.org --mode raw

构建播放列表

电台通过自动播放你使用以下命令构建的播放列表来工作。在搜索并找到合适的歌曲后,你可以使用以下命令来管理播放列表。

尝试目标大约 25-50 首歌曲。同一艺术家最多可以有 3 首歌曲,并且不要连续排队。

  • - playlist add 将歌曲追加到即将播放的队列。
  • 队列是可消耗的:歌曲在开始播放时被移除。
  • playlist view 仅显示仍即将播放的歌曲。
  • playlist reset 仅清除即将播放的歌曲。
  • stop 结束会话并完全重置电台状态/缓存。

播放列表负载格式:

  • - JSON 字符串数组
  • 每个项目的首选格式:Artist - Title

示例:

bash
claw-radio playlist add [
Kendrick

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 claw-radio-1776115774 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 claw-radio-1776115774 技能

通过命令行安装

skillhub install claw-radio-1776115774

下载

⬇ 下载 claw-radio v1.0.1(免费)

文件大小: 6.42 KB | 发布时间: 2026-4-15 12:07

v1.0.1 最新 2026-4-15 12:07
- Added detailed SearxNG setup instructions, including persistent configuration and patching to enable JSON output required by `claw-radio search`.
- Included preflight steps to check SearxNG's availability and correct output format.
- Clarified the SearxNG container run and configuration process.
- No functional or workflow changes to the rest of the skill.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部