Communitygithub.com

播客研究技能

跨平台AI Agent技能,支持播客搜索、本地Whisper转录与观点分析。

播客研究技能 是什么?

本技能为跨平台AI Agent(如Claude Code、Cursor、Codex等)提供完整的播客研究工作流:从搜索、下载、本地Whisper转录到观点分析报告生成。用户无需提供API密钥即可完成主要流程,仅在明确同意下才使用OpenAI。技能内置依赖检查脚本,确保MLX(Apple Silicon)或faster-whisper后端自动选择。生成的报告严格区分直接引用(来自转录)与辅助证据(来自描述/网络),并自动处理RSS或YouTube下载失败的回退。支持macOS/Linux(python3)和Windows(py -3)路径。

兼容平台~Claude Code✓Codex CLI~Cursor
npx skills add winnieAI123/podcast-research-skill

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

播客研究

使用安装时使用的同一个Python解释器来运行捆绑脚本。在 macOS/Linux 上,优先使用 python3;在 Windows 上,优先使用 py -3。如果用户在安装时使用了其他启动器,请继续使用该启动器。主要工作流程不需要 API 密钥。

预检

将此文件所在目录解析为 SKILL_DIR。在机器上执行第一个任务之前,请先运行:

python3 "$SKILL_DIR/scripts/check_setup.py" --skill-dir "$SKILL_DIR"

当所有必需检查显示 PASS 时再继续。WARN 行是可选的回退项。如果某项必需检查失败,请阅读 references/setup.md,修复报告中的问题,然后重新运行检查。

保持至少 5 GB 可用磁盘空间;建议 8 GB。初始本地 Whisper 模型下载约为 0.5–1.6 GB,下载的音频还需要额外的空间。

工作流程

1. 搜索

当英文查询能提高覆盖率时选择使用英文查询,同时保留用户想要的主题。

python3 "$SKILL_DIR/scripts/search_podcasts.py" \
  --topic "TOPIC" \
  --days-back 30 \
  --max 10 \
  --output-dir "WORK_DIR"

使用用户批准的工作目录。该脚本会创建 episodes.json。

2. 让用户选择剧集

显示带编号的结果,包括标题、节目名称、日期、时长和描述。询问用户要分析哪些剧集。除非用户已经请求所有结果,否则不要下载每个结果。

3. 下载

python3 "$SKILL_DIR/scripts/audio_downloader.py" \
  --episodes-json "WORK_DIR/episodes.json" \
  --select "1,3,5" \
  --output-dir "WORK_DIR"

脚本优先尝试 RSS,其次是 YouTube。YouTube 提取需要 FFmpeg。它会写入 episodes_with_audio.json,并将失败标记为 unavailable。

4. 转录

python3 "$SKILL_DIR/scripts/transcriber.py" \
  --audio-dir "WORK_DIR" \
  --model turbo \
  --language auto

后端会自动选择:Apple Silicon 上使用 MLX,其他平台上使用 faster-whisper。在较慢的仅 CPU 机器上使用 --model small。仅当用户明确接受 OpenAI API 要求和费用时,才使用 --model api。

5. 基于来源进行忠实分析

阅读每个选定剧集的转录和 episodes_with_audio.json。将描述和网络摘要视为次要证据,切勿将其视为转录。如果音频不可用,仅在可用时使用剧集描述和网络搜索,将证据标记为次要证据,并且不要将重构的文本作为直接引用呈现。

将简洁的 Markdown 报告写入 WORK_DIR/[topic]_podcast_report.md:

# [主题] 播客观点简报

**研究日期**:YYYY-MM-DD | **来源**:Apple Podcasts/RSS | **范围**:N 个剧集

## 一句话结论

用 2–3 句话陈述主要观点和最重要的分歧。

## 观点概览

| 演讲者或组织 | 立场 | 核心观点 | 原话引用 | 剧集 |
|---|---|---|---|---|

## 主要分歧

仅列出 2–3 个真正的分歧。将每个立场归因于一个具名的剧集和演讲者(当转录使演讲者明确时)。

## 剧集摘要

### [节目名称]:[剧集标题]
**嘉宾**:... | **日期**:... | **时长**:...

1. 三到五个基于来源的要点。

不要捏造演讲者身份、引用、日期或立场。当转录未确定某句话是谁说的时,将其归因于该剧集,而不是猜测。

6. 交付

显示 Markdown 报告并链接工作文件。仅在用户要求时才创建 Word:

python3 "$SKILL_DIR/scripts/md_to_docx.py" \
  "WORK_DIR/[topic]_podcast_report.md" \
  "WORK_DIR/[topic]_podcast_report.docx"

在 Windows 上,将 python3 替换为 py -3 并使用 Windows 路径。不要翻译 Python 脚本本身。

完成标准

只有满足以下条件任务才算完成:

  1. 搜索范围和所选剧集均已说明。
  2. 每个下载的剧集都有转录或明确标记为不可用。
  3. 直接引用来自转录;次要摘要已标记。
  4. 报告区分了共识与分歧,并将主张归因于剧集。
  5. 报告和支持元数据已保存到工作目录。

回退方案

  • 无搜索结果:使用更清晰的英文查询或更宽的日期范围重试一次。
  • RSS 失败:在安装 FFmpeg 的情况下允许使用捆绑的 YouTube 回退。
  • 两种音频路径都失败:使用描述和可用的网络证据,标记局限性,并省略直接引用。
  • 转录对于上下文来说太长:按顺序分块摘要,保留剧集归属,然后比较分块摘要。
  • 本地转录不可用:阅读 references/setup.md;仅在有明确用户批准和已配置密钥的情况下使用 OpenAI。

相关技能