teng-lin/notebooklm-py · 上手攻略

  • 仓库:teng-lin/notebooklm-py
  • 链接:https://github.com/teng-lin/notebooklm-py
  • 分类:非官方 API / Agent 工具 / 知识管理
  • 作者:spark
  • 更新:2026-08-06

是什么

notebooklm-py 是一套针对 Google NotebookLM(2026 年 7 月改名为 Gemini Notebook,下文统称 NotebookLM)的非官方 Python 客户端 + CLI + Agent 技能包。它把 NotebookLM 的"Notebook 创建 → 来源导入 → 问答 → 多媒体产物生成 → 导出"整条链路以代码形态暴露出来,并且主动补齐了 Web UI 不提供的能力:批量下载、多格式导出 quiz/flashcard、思维导图 JSON 抽取、研究自动化(Deep Research、Drive 搜索自动导入)等。仓库以 MIT 发布,自带一份可被 npx skills add 发现的根 SKILL.md、本地 notebooklm skill install(Claude Code / .agents 目录)以及仓库级 AGENTS.md(Codex 引导),所以"作为 AI 代理的工具"和"作为 SDK 库"是同一份代码。

解决什么问题

NotebookLM 的卖点是"基于你给的来源做带引用的 Gemini 推理",但 Web UI 是交互式的,不能批量化、不能集成到 CI / Agent 循环里。notebooklm-py 直击三类痛点:

  1. Agent 编排:让 Claude Code / Codex / OpenClaw 等代理把 NotebookLM 当作"零 token 的合成 + 记忆层"——分析走 Google 端,token 只花在最后的润色。
  2. 批量化与可复现:一次性喂几十份 URL/PDF/YouTube/Drive 文档,跑 Deep Research 模式(source add-research "topic" --mode deep),结果可脚本化导出。
  3. 产物导出:Audio Overview(播客)、视频、幻灯片、quiz、flashcard、思维导图、study guide 等可一键落盘为 MP3/MP4/PDF/PNG/CSV/JSON/Markdown,部分类型支持批量。

快速安装

环境:Python 3.10 – 3.14(README badge 范围)、联网(要走 Google 内部端点)、以及一个能登入 NotebookLM 的 Google 账号(认证 cookie 通过 CLI 的 login 写入本地,不要把 cookie 提交进仓库)。

python -m pip install --upgrade notebooklm-py
notebooklm --help                # CLI 已就绪
notebooklm login                 # 一次性认证,按提示把 auth 凭据落到本地
notebooklm whoami                # 验证当前登录态

⚠️ 由于使用了 Google 未公开 API,端点随时可能变更;以 pip install --upgrade 跟最新版本是降低炸点的最稳做法。

核心用法

CLI 与 Python API 两套入口等价,下面都给到一段最小可跑:

CLI(创建 → 加源 → 问答 → 生成播客 → 导出):

notebooklm notebook create --title "AI infra weekly"
notebooklm source add-research "small LLM serving on consumer GPUs" --mode deep
notebooklm ask "summarize the key inference optimizations" --save-as-note
notebooklm generate audio-overview --length default
notebooklm download --all --out ./artifacts

Python SDK(同流程,11 行):

from notebooklm import NotebookLMClient

client = NotebookLMClient()  # 默认读取 notebooklm login 写入的凭据
nb = client.notebooks.create(title="AI infra weekly")
nb.sources.add_research("small LLM serving on consumer GPUs", mode="deep")
notes = nb.chat("summarize the key inference optimizations", save_as_note=True)
nb.generate.audio_overview(length="default")
nb.download.all(out="./artifacts")  # 一键拿全部产物(含 quiz/flashcard JSON、mind map JSON)

Agent 集成:

npx skills add teng-lin/notebooklm-py          # 通用 skill 发现
# 或 Claude Code / .agents 目录:
notebooklm skill install
# 之后在 Claude Code 里可直接 /notebooklm 触发完整工作流

典型适用场景

  • 把 NotebookLM 当外部 RAG:把内部文档/RFC/历史工单灌进一个 Notebook,让 Agent 用 ask 拿到带引用的答案,避开自建向量库。
  • 跨会话持久记忆:维护一个"Master Brain" Notebook,每次 session 结束用 note create / ask --save-as-note 追加总结,下次 session 开头 ask 召回。
  • 知识蒸馏成 SKILL:用 source add-research --mode deep 或批量加载文档,把 NotebookLM 的归纳结果 bake 进一份 SKILL.md,一次性产出可 git 版本化的领域技能。
  • 批量化内容生产:一份源 → 一键产播客 + 视频 + slide deck + quiz + flashcard,多渠道分发。
  • 个人笔记/日记挖掘:把日常笔记全部丢进去,做跨年模式检索,引用回到具体条目。

坑与注意

  • 未公开 API 风险:Google 任何时间改端点都可能炸;README 明确写"Not affiliated with Google",别拿它做生产关键链路。故障排查路径见 docs/troubleshooting.md
  • 认证 cookie 是核心资产notebooklm login 凭据默认落到本地,切勿提交进仓库。换机器/重置需要重新登录。
  • 限流:重度使用会被 Google 端节流;做批处理请加退避并分散到多个 Notebook。
  • 2026 年 7 月品牌切换:NotebookLM → Gemini Notebook,老链接 301 到新域,库本身不需要改;本机访问如果走公司代理,注意 Gemini 域名白名单。
  • CLI vs Python 的特性并不完全对称:一些高级导出(比如 mind map JSON、quiz 多格式)在 Web UI 没有,但脚本里可以;用之前建议查 docs/cli-reference.md / docs/mcp-guide.md
  • 不要把 Deep Research 当"无成本"add-research --mode deep 是 Google 端的高开销操作,单次可能要花数分钟并消耗配额,先用小源集试。
  • 复现性声明:本攻略基于仓库 main 分支、commit 614d6288ab51e508c41c7bea481729c50d14d309(2026-08 HEAD),版本号、API 形态以 PyPI 最新发布为准;未在本地端到端跑通命令,凭 README + PyPI 描述复述。

与同类对比

维度 teng-lin/notebooklm-py NotebookLM Web UI 官方 Gemini API + 自建向量库
入口 Python + CLI + Agent skill 仅浏览器 自建管线
产物覆盖 音频/视频/slide/quiz/flashcard/mindmap 全套 同上但不能批量、不能导出 mindmap JSON 自己拼
引用与可信 Google 端内置引用 + 来源 自己实现 grounding
工程门槛 pip 装 + 登录即可 选模型/切片/嵌入/检索/重排全套
维护风险 高(依赖 Google 未公开 API) 官方 中(自己控)
适用 自动化 / Agent / 批处理 一次性使用 严格自托管 + 大规模

一句话推荐结论

如果你已经在用 NotebookLM 做事实/知识工作,把它装上、把 notebooklm skill install 跑一下,就等于给 Claude Code / Codex / OpenClaw 配了一块"零 token、零基建、带引用"的接地记忆层——前提是你接受"非官方库 + 未公开 API"这一道工程风险。

原始 commit/PR 链接 + commit SHA: - 仓库 HEAD:https://github.com/teng-lin/notebooklm-py/commit/614d6288ab51e508c41c7bea481729c50d14d309614d6288) - PyPI:https://pypi.org/project/notebooklm-py/ - 仓库 SKILL(Agent 集成入口):https://github.com/teng-lin/notebooklm-py/blob/main/SKILL.md - 官方改名说明:https://blog.google/innovation-and-ai/products/gemini-notebook/notebooklm-gemini-notebook/