先说一件让我有点后知后觉的事。
用了 Google NotebookLM 大半年,一直有个地方特别烦——生成的播客、思维导图、测验题,在网页里看着挺好,但就是导不出来。想把闪卡整理成自己的文件?没办法。想把生成的 PPT 拿到 PowerPoint 里编辑?也没有选项。数据全锁在谷歌那个界面里,用起来总差点意思。
直到发现了这个叫 notebooklm-py 的开源项目,才知道原来这些都能解锁。今天这篇就手把手带你把它装起来,顺便把那些「隐藏功能」全挖出来用一遍。

它到底是什么
notebooklm-py 是开发者 teng-lin 做的一个非官方 Python 库和命令行工具,通过逆向工程 Google NotebookLM 的内部 API,让你能用代码或者命令行操控 NotebookLM 的所有功能——包括谷歌网页端根本不提供入口的那些。
2026 年 1 月发布,MIT 协议开源,PyPI 上已经有十多个版本迭代,更新非常勤快,目前在 GitHub 热榜上持续冒头。
有一点要讲清楚:这个工具不是「本地部署版 NotebookLM」,它的底层还是用的你的 Google 账号连接谷歌服务器。优势在于把操作流程变成了可以批量执行的命令,同时解锁了网页端锁住的内容导出功能。
网页端不给你用的,它全给你开放了
这是让我最兴奋的部分,把网页端和 notebooklm-py 能力对比一下就知道差距在哪:
另外还能批量下载所有类型的内容、批量导入资源、用脚本自动化整个研究工作流,这些都是网页端完全做不到的。
安装,两条命令搞定
前提条件:电脑上有 Python 3.10 或以上版本。没有的话去 python.org 下载安装,勾选「Add to PATH」选项,其他默认即可。
然后打开终端,依次执行:
pip install "notebooklm-py[browser]"
playwright install chromium
第一行安装主程序和浏览器登录支持,第二行安装用来模拟登录的浏览器组件。
Linux 系统上如果 playwright install chromium 报 TypeError: onExit is not a function 这个错误,是已知问题,去项目 GitHub 的 Troubleshooting 页面有专门的解决方案。
登录 Google 账号
安装完执行一次:
notebooklm login
它会自动打开 Chromium 浏览器,让你登录 Google 账号。登录完成后,认证信息会保存在本地,之后不需要再重复登录,除非 Cookie 过期(大概几周后才会)。
登录完可以验证一下状态:
notebooklm auth check --test
看到 OK 提示就说明认证正常。
基础用法,五步上手
建立一个 Notebook
notebooklm create "我的研究"
创建成功后会返回一个 notebook_id,记下来,后续操作都要用到它。
指定当前操作的 Notebook
notebooklm use <notebook_id>
往里面塞资料
可以加网页链接,可以加本地 PDF,可以同时加多个:
notebooklm source add "https://example.com/article"
notebooklm source add "./report.pdf"
对资料提问
notebooklm ask "这份资料的核心观点是什么?"
它会基于你上传的资料给出回答,不会混入外部知识,每个回答都能追溯到具体来源段落。
生成各种内容
这是最好玩的部分,一条命令能生成的东西相当多:
# 生成一集播客音频
notebooklm generate audio "做得生动有趣" --wait
# 生成测验题(难度:高)
notebooklm generate quiz --difficulty hard
# 生成闪卡
notebooklm generate flashcards --quantity more
# 生成幻灯片
notebooklm generate slide-deck
# 生成思维导图
notebooklm generate mind-map
# 生成信息图(竖版)
notebooklm generate infographic --orientation portrait
--wait 参数是让程序等内容生成完再返回,不加的话命令会立刻返回但内容还在后台生成,需要稍后手动下载。
下载内容,这才是真正解锁的地方
生成完之后,执行下载命令把内容保存到本地:
# 下载音频
notebooklm download audio ./podcast.mp3
# 下载测验题,存成 Markdown
notebooklm download quiz --format markdown ./quiz.md
# 下载闪卡,存成 JSON
notebooklm download flashcards --format json ./cards.json
# 下载幻灯片,存成可编辑的 PPTX
notebooklm download slide-deck ./slides.pptx
# 下载思维导图数据
notebooklm download mind-map ./mindmap.json
尤其是 PPTX 格式的幻灯片和 JSON 格式的闪卡,这两个在网页端完全拿不到,用这个工具才能解锁。
一个实际场景:读完一篇长报告,自动生成学习材料
我的日常用法是这样的:拿到一份 PDF 报告或者几篇文章,用 notebooklm-py 批量导入,然后一次性生成测验题、闪卡和播客。测验题导出成 Markdown 整理进笔记软件,闪卡导出成 JSON 导入 Anki 做间隔复习,播客下载下来当通勤时候的背景音频。
整个流程从上传资料到拿到所有学习材料,不到十分钟,全程命令行,不需要在网页上到处点来点去。
几个需要知道的局限
这个库调用的是谷歌的内部未公开 API,谷歌随时可能更新接口导致部分功能失效。作者会跟进修复,但不保证实时可用性。
上传超过 20MB 的大文件可能会超时,建议提前拆分或者在本地做文字提取再上传。
Twitter/X 的链接谷歌那边有反爬机制,直接加链接可能抓取失败,换成其他来源更稳。
Cookie 每隔几周会过期,需要重新跑一次 notebooklm login 刷新,不是什么大问题,习惯就好。
一句话总结
如果你已经在用 Google NotebookLM,强烈建议装一下 notebooklm-py。它不改变 NotebookLM 的底层能力,只是把所有功能变得可以批量操作,同时把那些一直锁在界面里的内容开了一个导出的口子。
装起来不复杂,两条命令,五分钟搞定。
开源地址:https://github.com/teng-lin/notebooklm-py