播客发现工具

Pod-Discover是一款AI驱动的播客发现工具,提供基于用户喜好的个性化推荐,支持通过网页应用和MCP服务器进行浏览和对话式发现。

  • by brhannan
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 brhannan/pod-discover

使用说明

Pod探索

基于人工智能的推荐的剧集级播客发现。包括一个用于浏览和策划的网络应用程序,以及一个用于与克劳德进行对话发现的MCP服务器。

特性

  • 搜索与发现:按关键字、人物搜索剧集,或发现随机剧集
  • AI建议:克劳德分析你的品味档案、最喜欢的播客和评分历史,找出你会喜欢的剧集,并对每一场比赛进行解释
  • 最喜欢的播客:你喜欢的心播客;推荐者将它们用作信号
  • 口味简介:曲目偏好(深度、格式、主题、持续时间)
  • 消耗日志:为剧集评分(1-5颗星),以建立你的收听历史
  • 两个接口:用于浏览/策划的Web应用程序,用于Claude Desktop中会话发现的MCP服务器

建筑

┌─────────────────┐     ┌──────────────┐
│   Web Frontend  │     │ Claude       │
│   (React/Vite)  │     │ Desktop      │
└────────┬────────┘     └──────┬───────┘
         │                     │
    ┌────▼─────┐        ┌──────▼──────┐
    │ FastAPI  │        │ MCP Server  │
    │ Backend  │        │ (stdio)     │
    └────┬─────┘        └──────┬──────┘
         │                     │
         └──────────┬──────────┘
                    │
         ┌──────────┼──────────┐
         │          │          │
    Podcast    Claude API   SQLite
    Index API  (Haiku)     (shared DB)

先决条件

设置

1.安装依赖项

cd pod-discover
uv sync
cd web && npm install

2.设置环境变量

export PODCAST_INDEX_KEY="your_key"
export PODCAST_INDEX_SECRET="your_secret"
export ANTHROPIC_API_KEY="your_key"       # for AI recommendations

3.运行web应用程序

启动后端和前端:

# Terminal 1: Backend API
uv run uvicorn pod_discover.api:app --host 127.0.0.1 --port 8000

# Terminal 2: Frontend
cd web && npm run dev

打开http://localhost:5173

4.(可选)配置克劳德桌面MCP

增添 ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "pod-discover": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/pod-discover", "src/pod_discover/server.py"],
      "env": {
        "PODCAST_INDEX_KEY": "your_key",
        "PODCAST_INDEX_SECRET": "your_secret"
      }
    }
  }
}

网络应用

发现选项卡

  • 搜索:按关键字查找剧集
  • 给我个惊喜:随机剧集发现
  • 推荐给我:基于您的个人资料、收藏夹和历史记录的人工智能推荐
  • 心形按钮:喜欢播客以改进未来的推荐
  • 星级评定:给剧集1-5颗星

“历史记录”选项卡

  • 查看所有带有时间戳的分级剧集

外形标签

  • 设置首选深度(休闲/中等/深潜)
  • 选择格式偏好(叙事、访谈、圆桌会议、独奏)
  • 设置持续时间范围
  • 使用加权标签管理主题兴趣
  • 查看和管理喜爱的播客

MCP服务器工具

搜索与发现

  • search_episodes -按关键字/主题搜索
  • get_episode -获取特定剧集的详细信息
  • get_podcast_episodes -列出播客中的剧集
  • search_by_person -查找以特定人物为特色的剧集
  • discover_random -偶然发现的随机事件

口味简介

  • get_taste_profile / update_taste_profile -管理首选项
  • log_feedback -用笔记对一集(1-5)进行评分
  • get_history -查看收听历史记录

推荐算法

Pod Discover使用 混合推荐系统 它结合了:

  • 70%个性化:对你的口味、喜好和收听历史进行人工智能分析
  • 30%发现:来自社区的热门内容和社会证明

运作原理

  1. 多源候选人聚集

    • AI根据您的个人资料生成搜索查询
    • 从播客索引中获取趋势剧集
    • Reddit上的帖子提到了播客
  2. 综合评分 每集在6个维度上评分:

    • 🎯 AI比赛 (50%):它与你的口味有多契合
    • 📈 趋势 (15%):播客指数目前的受欢迎程度
    • 💬 社会口碑 (10%):Reddit社区提及
    • ⭐ 流行度 (10%):已确立的展会质量
    • 🕐 近期性 (10%):偏爱新鲜内容
    • ⏱️ 持续时间 (5%):适合您喜欢的剧集长度
  3. 最终排名 剧集按综合得分排名,按播客提要进行重复数据消除,并返回最佳结果。

调整建议

想调整推荐的工作方式吗?编辑 src/pod_discover/config.py:

class RecommendationWeights:
    AI_MATCH = 0.50      # Increase for more personalization
    TRENDING = 0.15      # Increase for more discovery
    SOCIAL_BUZZ = 0.10   # Increase for community favorites
    # ...

权重之和必须为1.0。更改后重新启动服务器。

缓存

  • 建议:缓存1小时(更新个人资料/收藏夹时无效)
  • 趋势数据:每4小时刷新一次
  • Reddit提到:每6小时刷新一次

测试

uv run pytest -v

数据存储

所有数据都存储在本地 ~/.pod-discover/pod_discover.db (SQLite)。此数据库在web应用程序和MCP服务器之间共享,因此您的评分、收藏夹和个人资料在两个界面上保持同步。

未来的增强功能

  • 书籍/电影跨媒体推荐
  • 队列/库管理
  • 转录提取和语义搜索