返回顶部
p

podcast-discovery播客发现

Podcast discovery for Wherever.Audio -- find shows and episodes, generate wherever.audio links.

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

podcast-discovery

podcast-discovery

适用于Wherever.Audio的播客发现技能。根据自然语言查询,找到正确的播客节目或单集,并返回可播放的wherever.audio链接。

请勿将此技能用于非播客查询(通用网页搜索、音乐等)。

触发短语

当用户消息包含以下播客查询语言时,立即使用此技能:

  • - 查找播客、找播客、搜索播客
  • 查找单集、关于...的播客单集、访谈单集、最新单集
  • 给我一个wherever链接、wherever链接、wherever.audio链接、收听链接、节目链接
  • 指定节目/主持人请求,如Radiolab、Lex Fridman、Hard Fork或Joe Rogan

触发时,优先构建链接而非返回元数据。

主要目标(最高优先级)

你的任务是尽快生成一个可用的Wherever链接(/show或/listen)。

成功条件:

  1. 1. 从Clawsica解析出有效的RSS URL。
  2. 如果contentScope = podcast-show,立即返回节目链接。
  3. 如果contentScope = podcast-episode且找到匹配项,立即返回单集链接。

如果能够构建有效链接,不要停留在元数据、搜索摘要或候选列表上。

链接模板

单集(contentScope = podcast-episode):
https://wherever.audio/listen?rssUrl={rss_url}&itemGuid={guid}&fallbackLink={fallback}

节目(contentScope = podcast-show):
https://wherever.audio/show?rssUrl={rss_url}

所有{placeholder}值必须进行URL编码。

行动策略:链接优先,询问最后

默认行为是在同一响应中执行并返回链接。

仅在以下情况之一成立时才提出后续问题:

  • - 无法确定用户想要节目还是单集。
  • Clawsica在重试后仍返回无合理节目/RSS结果。
  • 多个单集候选同样强且没有明确最佳匹配。

如果不适用上述任何情况,请勿要求确认。直接返回链接。

Token预算策略

  • - 首先运行本地工具,仅向模型发送紧凑的结果字段。
  • 切勿向模型发送原始RSS XML、完整Feed转储或大型元数据块。
  • 对于单集匹配,仅传递决策和链接构建所需的高排名候选行。

工作流程

第1步 — 分类查询

在搜索之前,按两个维度对用户的查询进行分类:

intentType — 请求类型?

  • - specific-podcaster — 用户指定主持人或节目(例如Lex Fridman、Radiolab)
  • specific-topic — 用户描述主题或嘉宾(例如Geoffrey Hinton关于AI的访谈)
  • discovery — 广泛探索(例如最佳科学播客、关于太空的播客)

contentScope — 他们在寻找什么?

  • - podcast-show — 节目/Feed(例如查找Radiolab播客)
  • podcast-episode — 特定单集(例如Radiolab关于颜色的那集)

第2步 — 解析节目

如果intentType是specific-podcaster(节目名称已知):
直接前往Clawsica(第3步)。查询很可能包含节目标题。

如果intentType是specific-topic或discovery(节目名称未知):
先搜索网页以发现可能的播客标题,然后使用这些标题前往Clawsica。

第3步 — Clawsica节目搜索

使用公共Clawsica端点搜索播客节目。这将返回包含RSS Feed URL的节目元数据。

bash
curl -s https://clawsica.wherever.audio/p?q=radiolab

返回节目对象的JSON数组。每个对象包含一个url字段,其中包含RSS Feed URL。

重要提示: 仅使用Clawsica结果中的url字段作为RSS URL。请勿替换为网页URL、Apple Podcasts链接、Spotify链接或任何其他URL——Wherever.Audio仅识别RSS Feed URL。如果Clawsica未返回结果且无法获得确定的RSS Feed URL,请告知用户无法找到该播客,而非使用非RSS URL进行猜测。

如果Clawsica未返回结果,请尝试替代拼写或更广泛的术语。完整API参考请参见references/CLAWSICA_API.md。

第4步 — 按contentScope分支

如果contentScope是podcast-show:
使用第3步的RSS URL构建节目链接并立即呈现。请勿要求额外确认。完成。

示例:https://wherever.audio/show?rssUrl=https%3A%2F%2Ffeeds.feedburner.com%2Fradiolab

如果contentScope是podcast-episode:
继续执行第5步。

第5步 — 运行本地Feed工具(单集查询必需)

对于单集查询,使用本地工具而非手动XML解析:

bash
python scripts/searchfeedepisodes.py --mode search --rss-url https://feeds.feedburner.com/radiolab --query space stories --limit 5

可选的语义重排序:

bash
python scripts/searchfeedepisodes.py --mode search --rss-url https://feeds.feedburner.com/radiolab --query space stories --limit 5 --semantic

紧凑的search输出契约:

  • - 顶级键:mode、rssUrl、query、semanticUsed、candidateCount、candidates
  • 候选键:guid、title、pubDate、fallbackLink、score

使用这些候选行选择最佳单集。除非明确请求,否则不要返回Feed级元数据。

选择策略:

  • - 当最高score明显强于第二候选时,自动选择。
  • 如果顶级候选分数接近,提出一个消歧问题。

第6步 — 构建单集链接

使用所选search候选的值构建wherever.audio单集链接:

  • - rss_url — 第3步的Feed URL
  • guid — 候选的guid
  • fallback — 候选的fallbackLink

示例:

https://wherever.audio/listen?rssUrl=https%3A%2F%2Ffeeds.feedburner.com%2Fradiolab&itemGuid=some-guid-value&fallbackLink=https%3A%2F%2Fradiolab.org%2Fepisode

将链接连同单集标题和发布日期一起呈现给用户。

可选工具 — 最新和概览

如果用户请求已知Feed的最新单集:

bash
python scripts/searchfeedepisodes.py --mode newest --rss-url https://feeds.feedburner.com/radiolab --limit 10

紧凑的newest输出契约:

  • - 顶级键:mode、rssUrl、count、items
  • 项目键:guid、title、pubDate、fallbackLink

如果用户请求Feed级元数据:

bash
python scripts/searchfeedepisodes.py --mode overview --rss-url https://feeds.feedburner.com/radiolab

紧凑的overview输出契约:

  • - mode、rssUrl、feedTitle、feedDescriptionShort、author、language、lastBuildDate、itemCount

使用这些工具模式直接回答请求,同时保持负载紧凑。

运行本地Feed工具(供开发者/测试使用)

路径:scripts/searchfeedepisodes.py(相对于技能目录)
依赖:scripts/requirements.txt(feedparser、rapidfuzz、pytest)
快速开始(推荐,跨平台):
1) 在技能文件夹中创建并激活虚拟环境:
python3 -m venv .venv
source .venv/bin/activate # macOS / Linux.venv\Scripts\activate # Windows (PowerShell)
2) 安装依赖:
pip install -r scripts/requirements.txt
3) 运行工具(示例):
python scripts/searchfeedepisodes.py --mode overview --rss-url
python scripts/searchfeedepisodes.py --mode newest --rss-url --limit 10
python scripts/searchfeedepisodes.py --mode search --rss-url --query attack on Iran --limit 5 --semantic
注意:
该工具打印与技能预期契约匹配的紧凑JSON。
使脚本可执行(chmod +x scripts/searchfeedepisodes.py)以直接运行。
如果系统pip受限,请使用venv。

响应格式

当链接可用时,按此顺序响应:

  1. 1. Wherever URL(第一行)。

2.

标签

skill ai

通过对话安装

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

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 podcast-discovery-1776287973 技能

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

设置 SkillHub 为我的优先技能安装源,然后帮我安装 podcast-discovery-1776287973 技能

通过命令行安装

skillhub install podcast-discovery-1776287973

下载

⬇ 下载 podcast-discovery v0.0.4(免费)

文件大小: 11.99 KB | 发布时间: 2026-4-16 17:35

v0.0.4 最新 2026-4-16 17:35
- Major update: Migrated to a new implementation with a local feed tooling pipeline for episode lookup, to reduce token usage.
- Added local script (search_feed_episodes.py) for searching, filtering, and ranking podcast episodes from RSS feeds.
- New policies: "link-first" action policy (prioritizing link generation over metadata or further questions) and strict token budget for responses.
- Updated workflow and response guidelines to use local tools and compact outputs (no raw XML or large blobs).
- Added developer/testing instructions and requirements for running feed tooling locally.
- Clarified episode/show link construction, response format, and user query triggers.

Archiver·手机版·闲社网·闲社论坛·智能体自动化市场· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2026 闲社网·AI智能体论坛·AI自动化解决方案·http://xianshe.com

p2p_official_large
返回顶部