将Overcast收听历史转化为可操作的洞察。同步剧集、字幕和章节到SQLite,利用LLM分析提炼洞见。
播客- intel. 将您的超编历史收听到结构化的知识库, 然后从最近的事件中浮出洞来是一项面向实际任务的技能,主要用于把它们与您当前的工作和兴趣联系起来;构建在其中。
从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
将你的 Overcast 听力历史转化为结构化的知识库,进而从近期播客节目中提炼洞察,并将其与你当前的工作和兴趣建立关联。
基于 Harold Martin 开发的三个工具构建:
uv tool install overcast-to-sqlite uv tool install podcast-transcript-convert
overcast-to-sqlite auth # 登录 Overcast 并将认证 Cookie 保存至 ./auth.json # 不会保存你的密码,仅保存会话 Cookie
请将 auth.json 存放在稳定路径下(例如:~/.overcast/auth.json):
mkdir -p ~/.overcast mv auth.json ~/.overcast/auth.json
overcast-to-sqlite all -a ~/.overcast/auth.json ~/.overcast/overcast.db -v
该命令按顺序执行 save → extend → transcripts → chapters 四个阶段。 首次运行会为所有已订阅的 RSS 源下载 XML 数据,可能需要数分钟。 默认情况下,转录文本将保存至 ~/.overcast/archive/transcripts/ 目录。
运行以下命令以拉取最新的收听活动:
overcast-to-sqlite all -a ~/.overcast/auth.json ~/.overcast/overcast.db
如需更快更新(跳过 RSS 源 XML 的重复下载),可执行:
overcast-to-sqlite save -a ~/.overcast/auth.json ~/.overcast/overcast.db overcast-to-sqlite transcripts -a ~/.overcast/auth.json ~/.overcast/overcast.db
仅获取已加星标(starred)节目的转录文本:
overcast-to-sqlite transcripts -s -a ~/.overcast/auth.json ~/.overcast/overcast.db
建议的定时任务调度方案:每天执行一次
overcast-to-sqlite all,例如设为凌晨 4 点(早于任何依赖此数据的晨间摘要任务)。macOS 上使用 launchd,Linux 上使用 cron。
对 ~/.overcast/overcast.db 数据库执行如下 SQL 查询:
SELECT
e.title,
f.title AS podcast,
e.overcastUrl,
e.userRecommendedDate,
e.transcriptDownloadPath,
e.progress,
e.played
FROM episodes e
JOIN feeds f ON e.feedId = f.overcastId
WHERE (e.played = 1 OR e.progress > 300)
AND e.userUpdatedDate >= datetime('now', '-1 day')
ORDER BY
e.userRecommendedDate DESC,
e.userUpdatedDate DESC;
SELECT e.title, f.title AS podcast, e.overcastUrl, e.userRecommendedDate, e.transcriptDownloadPath FROM episodes_starred e JOIN feeds f ON e.feedId = f.overcastId WHERE e.transcriptDownloadPath IS NOT NULL ORDER BY e.userRecommendedDate DESC LIMIT 20;
SELECT c.content, e.title, f.title AS podcast, c.time FROM chapters_fts JOIN chapters c ON chapters_fts.rowid = c.rowid JOIN episodes e ON c.enclosureUrl = e.enclosureUrl JOIN feeds f ON e.feedId = f.overcastId WHERE chapters_fts MATCH 'your search term' ORDER BY rank;
转录文本以多种格式存储(SRT、WebVTT、HTML、JSON)。 使用 podcast-transcript-convert 将其标准化为 PodcastIndex JSON 格式:
transcript2json ~/.overcast/archive/transcripts/ ~/.overcast/archive/transcripts-json/
若需将转录文本作为纯文本供 LLM 分析,请解析 JSON 文件:
python3 -c "
import json, sys
data = json.load(open(sys.argv[1]))
for seg in data.get('segments', []):
print(seg.get('speaker', ''), seg.get('body', ''))
" ~/.overcast/archive/transcripts-json/episode.json
当被要求分析近期收听记录时,请遵循以下流程:
在终端中使用上述“过去 24 小时”SQL 查询语句,针对 ~/.overcast/overcast.db 执行。
userRecommendedDate 字段非空的节目即为已加星标节目,应给予更深入的分析。
对每个具有 transcriptDownloadPath 字段的节目:
对于无转录文本的节目,可使用 episodes_extended.description 中的节目简介进行替代分析。
向用户询问其当前正在从事的工作与关注方向,或从上下文中提取相关信息。 对每个节目,识别以下内容:
分析深度由用户调用该能力时指定。默认输出结构如下:
[Starred] 节目标题 — 播客名称 摘要:2–3 句概述本集核心内容 关键洞察:最具可操作性或最富启发性的观点 关联点:该内容如何与用户当前工作产生联系 后续行动:值得进一步研读的论文、人物、工具或待探索的问题
[Played] 节目标题 — 播客名称 一句话摘要 + 值得突出呈现的亮点观点
overcast-to-sqlite stats ~/.overcast/overcast.db
输出内容包括:已播放总集数、累计收听时长、已加星标集数、按收听时长排序的 Top 播客列表。
overcast-to-sqlite search "reinforcement learning" ~/.overcast/overcast.db overcast-to-sqlite search "agentic" ~/.overcast/overcast.db -l 5
在节目标题、RSS 源描述以及章节内容(FTS5 全文索引)中进行跨字段搜索。
默认数据库路径:~/.overcast/overcast.db 默认转录文本归档路径:~/.overcast/archive/transcripts/ 默认认证文件路径:~/.overcast/auth.json
所有路径均可通过 CLI 参数覆盖。完整参数列表请参阅 overcast-to-sqlite --help。
overcast-to-sqlite auth 重新生成。-s 标志。相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.3万人学习
共49课时 | 82.7万人学习
最新文章