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 install2.设置环境变量
export PODCAST_INDEX_KEY="your_key"
export PODCAST_INDEX_SECRET="your_secret"
export ANTHROPIC_API_KEY="your_key" # for AI recommendations3.运行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%发现:来自社区的热门内容和社会证明
运作原理
- 多源候选人聚集
- AI根据您的个人资料生成搜索查询 - 从播客索引中获取趋势剧集 - Reddit上的帖子提到了播客
- 综合评分
每集在6个维度上评分:
- 🎯 AI比赛 (50%):它与你的口味有多契合 - 📈 趋势 (15%):播客指数目前的受欢迎程度 - 💬 社会口碑 (10%):Reddit社区提及 - ⭐ 流行度 (10%):已确立的展会质量 - 🕐 近期性 (10%):偏爱新鲜内容 - ⏱️ 持续时间 (5%):适合您喜欢的剧集长度
- 最终排名
剧集按综合得分排名,按播客提要进行重复数据消除,并返回最佳结果。
调整建议
想调整推荐的工作方式吗?编辑 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服务器之间共享,因此您的评分、收藏夹和个人资料在两个界面上保持同步。
未来的增强功能
- 书籍/电影跨媒体推荐
- 队列/库管理
- 转录提取和语义搜索
