当前位置:首页>python>狂揽 14.6k Star!用 Python 操控 Google NotebookLM,还能直接接 Claude Code,这个开源项目做到了 Web UI 做不到的事!

狂揽 14.6k Star!用 Python 操控 Google NotebookLM,还能直接接 Claude Code,这个开源项目做到了 Web UI 做不到的事!

  • 2026-10-11 08:04:37
狂揽 14.6k Star!用 Python 操控 Google NotebookLM,还能直接接 Claude Code,这个开源项目做到了 Web UI 做不到的事!

摘要:notebooklm-py 是 Google NotebookLM 的非官方 Python API,4 个月收获 14K Star。支持 Python、CLI、Agent Skill 三种接入方式,可批量下载 artifact、导出 Quiz JSON、生成可编辑 PPTX 等 Web UI 没有的功能,还能直接接入 Claude Code 实现自然语言驱动。

说实话,Google NotebookLM 出来之后我用了挺长时间——上传 PDF、问问题、生成播客,体验确实不错。但每次想把它嵌进自己的工作流,就卡住了:没有官方 API,所有操作都只能靠鼠标点。

然后我发现了 notebooklm-py 这个项目。

4 个月,14,561 Star,30 位贡献者。这个速度说明开发者群体等这个东西等了很久了。


▌ 它到底是什么

一句话总结就是:Google NotebookLM 的非官方 Python API + CLI + AI Agent Skill,让你可以用代码完整操控 NotebookLM 的所有功能——包括 Web UI 根本没有暴露的那些。

项目地址:github.com/teng-lin/notebooklm-py

先说清楚风险:它用的是 Google 未公开的内部 API,Google 随时可以改掉。项目本身和 Google 没有任何关系,是社区驱动的开源项目。用于原型、研究、个人项目没问题,别拿去跑生产环境的核心业务。

风险说完了,来聊聊为什么值得关注。


▌ 三种用法,按需取用

notebooklm-py 支持三种接入方式,不同场景用不同的:

方式
适合场景
Python API
异步编程,嵌进自己的应用或数据管道
CLI 命令行
Shell 脚本、定时任务、CI 自动化
Agent Skill
直接给 Claude Code / Codex 用,自然语言驱动

我最感兴趣的是第三种——后面细说。


▌ Web UI 里没有的功能,这里都有

这才是这个项目真正的价值所在。NotebookLM 的 Web 界面藏了很多功能没有开放,notebooklm-py 通过 API 把它们全挖出来了:

批量下载:Web UI 每次只能手动下载一个 artifact,这里可以一次性把所有音频、视频、幻灯片批量下载到本地。

Quiz 和 Flashcard 导出:Web UI 里 Quiz 和闪卡只有交互视图,你没法拿到结构化数据。这里可以直接导出 JSON、Markdown 或 HTML——对做学习类应用的人来说这个太有用了。

思维导图 JSON 提取:思维导图的层级数据可以导出为 JSON,然后接进任何可视化工具。

幻灯片导出 PPTX:Web UI 只能导出 PDF,这里支持导出可编辑的 PowerPoint 文件。

单页幻灯片修改:用自然语言 prompt 修改某一页幻灯片的内容,不用重新生成整套。

多账号 Profile:可以在多个 Google 账号之间切换,不用重复登录。

编程方式管理分享权限:批量设置笔记本的查看/编辑权限,对要管理很多 notebook 的场景很有用。

这些不是小功能,是对 NotebookLM 使用方式的根本性扩展。


▌ 内容生成能力一览

除了导出功能,内容生成这块覆盖得相当全:

🎙️ 音频播客:4 种格式(深度探讨 / 简短版 / 评论 / 辩论),3 种时长,支持 50+ 语言输出。想批量生成不同语言的播客?写个循环就行。

🎬 视频:3 种格式,9 种视觉风格,还有专门的 cinematic-video 模式。

📊 幻灯片:详细版和演讲者版,可以导 PDF 或 PPTX。

🧩 信息图表:3 种方向(横/竖/方形),3 种细节程度,导出 PNG。

📝 报告:简报、学习指南、博客文章,或者自定义 prompt 让它按你要求写。

📋 数据表格:用自然语言描述你要的表格结构,导出 CSV。

这些组合起来,基本上可以实现"丢进一批文档,自动产出一套学习资料包"的流水线。


▌ 接 Claude Code 用是什么体验

这是我觉得最有意思的用法。

装好 skill 之后,你可以直接在 Claude Code 里说"帮我在 NotebookLM 里创建一个关于 XX 的笔记本,添加这几个 URL,然后生成一个播客"——Claude Code 会调用 notebooklm-py 的 skill 完成整个流程,不用你手写一行代码。

安装 skill 只需要一行:

notebooklm skill install# 或者通过 npxnpx skills add teng-lin/notebooklm-py

或者让Claude Code 自己进行安装,命令如下:

帮我安装这个Github开源Skill,开源地址:https://github.com/teng-lin/notebooklm-py

Claude Code 就会自行思考,你只需要点YES即可,简直不要太爽!

两种方式都会直接把 skill 安装到 ~/.claude/skills/notebooklm,Claude Code 下次启动就能识别。

如果你想要在当前项目中安装,那么只需要指定路径就行。


▌ 快速上手

CLI 用户 / Agent 用法,带浏览器登录:

# 安装(包含 Playwright)pip install "notebooklm-py[browser]"playwright install chromium  # 约 170MB,耐心等 30-90 秒# 登录(会打开浏览器)notebooklm loginnotebooklm auth check --test --json  # 验证是否成功

登录成功后,日常操作长这样:

# 创建笔记本,添加来源notebooklm create "我的研究项目"notebooklm use <notebook_id>notebooklm source add "https://example.com/paper"notebooklm source add "./local-doc.pdf"# 和资料聊天notebooklm ask "这份资料的核心观点是什么?"# 生成内容notebooklm generate audio "做成辩论风格" --waitnotebooklm generate quiz --difficulty hardnotebooklm generate slide-deck# 下载notebooklm download audio ./podcast.mp3notebooklm download quiz --format json ./quiz.json

Python API 用法(异步):

import asynciofrom notebooklm import NotebookLMClientasyncdefmain():asyncwithawait NotebookLMClient.from_storage() as client:        nb = await client.notebooks.create("研究笔记本")await client.sources.add_url(nb.id, "https://example.com", wait=True)        result = await client.chat.ask(nb.id, "总结一下主要内容")        print(result.answer)# 生成播客并下载        status = await client.artifacts.generate_audio(nb.id, instructions="轻松有趣的风格")await client.artifacts.wait_for_completion(nb.id, status.task_id)await client.artifacts.download_audio(nb.id, "podcast.mp3")asyncio.run(main())

纯库模式(不需要浏览器,适合嵌进服务器应用):

pip install notebooklm-py  # 只有约 10MB# 需要提前准备好 storage_state.json(认证状态文件)

▌ 我的看法

4 个月 14K Star 不是靠营销来的,是因为填了一个真实的空缺:NotebookLM 的产品体验很好,但它的封闭性让想做二次开发的开发者无从下手。

notebooklm-py 把这个限制打开了。

如果你有以下需求之一,这个项目值得认真看一看:

  • 想批量处理文档、自动生成学习材料
  • 想把 NotebookLM 接进自己的工具链或 AI Agent
  • 想导出 Web UI 里看不到的结构化数据(Quiz JSON、思维导图等)
  • 想用 Claude Code 自然语言驱动 NotebookLM 的全部功能

唯一需要心里有数的是:这是非官方 API,Google 随时可以改接口。用于正式产品之前做好降级方案,或者至少别把核心流程完全押在上面。

项目目前在活跃维护中(最近一次更新是 2026-05-21),有 issue 也响应得快,社区氛围不错。

如果你试了,欢迎在评论区聊聊你的用法——特别是 Agent 集成那块,我相信有很多有意思的玩法我还没想到。

GitHub:github.com/teng-lin/notebooklm-py

我是顾北,关注我,获取更多好玩有趣的开源仓库!

谢谢你阅读我的文章~

我们下期再见!

PS:本文部分内容由AI辅助创作

最新文章

随机文章