在这里插入图片描述

NotebookLM 出来之后,很多人第一反应是:这东西要是能「编程调用」就爽了。 官方暂时没开放正式 API,但社区已经有人「抠」出了内部接口,封装成了一个可用的 Python SDK 和 CLI,这就是 notebooklm-py

接下来我们就用一篇偏「实战导向」的长文,搞清楚三件事:

  1. notebooklm-py 到底能做什么,适合用在什么场景
  2. 作为开发者,怎么用 Python/CLI/Agent 三种方式接入
  3. 在能力边界、安全性、工程落地上应该注意什么

一、项目概览:一个「非官方」但很能打的 NotebookLM SDK

1.1 项目是什么

notebooklm-py 的定位很直接:Google NotebookLM 的非官方 Python API + CLI 工具集。

  • 仓库地址:https://github.com/teng-lin/notebooklm-py
  • 语言:100% Python,MIT 协议
  • 最新版本:v0.3.2(2 周前发布),持续更新中
  • 安装方式:pip install notebooklm-py,支持额外安装浏览器登录能力 [browser]

它的关键点有三个:

  • 使用的是 Google 未公开的内部接口,完全非官方
  • 接口可能随时变动,所以更适合原型验证、个人项目、研究自动化
  • 在功能上,基本「覆盖 + 超出」了网页版 NotebookLM 能做的事

官方 README 里也明确打了一个大大的 ⚠ 提示:

  • 不隶属于 Google
  • 接口可能会失效
  • 重度使用会触发限流

所以它更像是一块「功能很强,但风险自担」的积木: 能省你大量时间,但不建议直接作为关键生产系统的唯一依赖。


二、核心能力:把 NotebookLM 的所有按钮都变成 API

从 README 的功能表可以看到,notebooklm-py 基本「把网页上能点的东西都做成了接口」,还能多给你一些网页不存在的能力。

2.1 Notebook、数据源、对话、研究、分享:全流程打通

先看它对 NotebookLM 核心对象的覆盖程度:

类别 能力一览
Notebook 创建、列出、重命名、删除
数据源 支持 URL、YouTube、文件(PDF / 文本 / Markdown / Word / 音视频 / 图片)、Google Drive、粘贴文本;刷新、获取指南、获取全文
对话 向 Notebook 提问、查看对话历史、自定义 persona
研究功能 调用 Web / Drive 研究代理,支持「快速 / 深度」模式,并自动导入结果到 notebook
分享 创建公开 / 私有链接,设置用户权限(查看者 / 编辑者),控制访问级别

这些能力意味着,你可以用代码做一件非常常见但以前全靠手动的事:

批量:创建一个 Notebook → 导入一堆论文 / 视频 / 链接 → 跑几轮 Web 研究 → 整理输出为报告 / 思维导图 / 问答 → 导出给团队。

以前你要在浏览器里点半天,现在只需要写几百行脚本就能完全自动化。

2.2 内容生成:把 Studio 里的所有模板都开放出来

NotebookLM 的 Studio 支持各种「产物」生成:音频、视频、幻灯片、信息图、测验、闪卡、报告、表格、思维导图等。

notebooklm-py 直接把这些都做成了 API,并且保留了大量参数选项:

类型 可配置项(部分) 导出格式
音频概览 4 种风格(深度、简要、点评、辩论)、3 种长度、50+ 语言 MP3 / MP4
视频概览 2 种内容格式、9 种视觉风格(经典、白板、卡通、动漫等) MP4
幻灯片 详细版 / 演讲者版、可控页数 PDF
信息图 3 种方向、3 种信息密度 PNG
测验 题量、难度可调 JSON / Markdown / HTML
闪卡 题量、难度可调 JSON / Markdown / HTML
报告 模板(简报、学习指南、博客文)或自定义说明 Markdown
数据表 用自然语言描述字段结构 CSV
思维导图 自动构建层级结构 JSON

对开发者来说,这些能力最直接的用途是:

  • 内容流水线:从原始资料到播客 / 视频 / PPT / 练习题 / 知识卡片,一次性跑完
  • 学习系统:定期把新文档喂进去,自动生成学习包(讲解 + 测验 + 闪卡 + 思维导图)
  • 知识可视化:拿到思维导图的 JSON 后,用你自己的可视化方案渲染

2.3 超出网页端的「隐藏技能」

有一块是网页端完全没暴露、但在 API 里非常有价值的能力:

  • 批量下载:同类产物一次性全部打包拉下来
  • 测验 / 闪卡导出:不仅在网页里点点做题,还能拿到结构化 JSON、Markdown、HTML
  • 思维导图 JSON:拿到完整树形结构,方便你做二次可视化或分析
  • 数据表 CSV:和数据分析 / BI 工具直接对接
  • 数据源全文访问:直接拿到 NotebookLM 已索引的文本内容
  • 分享权限编程管理:可以在脚本里批量调整 Notebook 的分享策略

一个很典型的例子:
你做了一个企业内部知识学习系统,想用 NotebookLM 帮你生成测验,但不想所有人都跑到 NotebookLM 网页上做题。
notebooklm-py 可以这样玩:

  • 用 NotebookLM 生成测验 → 导出 JSON
  • 把 JSON 接到你自己的小程序 / Web 前端 → 员工在内部系统里完成答题
  • 回答记录和成绩全走你自己的后端逻辑

这就是「用 NotebookLM 做生成,但交互和数据资产还在自己手里」。


三、三种使用方式:Python API、CLI、Agent 技能

项目作者把使用方式分成了三块,分别对不同人群友好。

  • Python API:写代码,做集成 / 异步流程 / 自定义管线
  • CLI:写脚本、一次性任务、CI 自动化
  • Agent Skills:交给你的 AI 编程助手去调用

3.1 CLI:用命令行走完整流程

3.1.1 安装和登录

安装很简单:

# 基础安装
pip install notebooklm-py

# 第一次登录建议带浏览器支持
pip install "notebooklm-py[browser]"
playwright install chromium

然后登录 NotebookLM 账号(会自动打开浏览器):

notebooklm login

登录信息会持久化存储,后面 CLI 和 Python API 都能复用。

3.1.2 从「建本 → 加料 → 问答 → 生成 → 下载」一条龙

README 给了一个完整的命令行示例,我们拆开看一下:「一个研究 Notebook 的生命周期」:

  1. 创建 Notebook
notebooklm create "My Research"
notebooklm use

这里 use 会选择当前活跃的 Notebook,后续命令默认作用在它上面。

  1. 添加数据源
notebooklm source add "https://en.wikipedia.org/wiki/Artificial_intelligence"
notebooklm source add "./paper.pdf"

一个 URL 一个本地 PDF,很符合真实场景:官方资料 + 论文。

  1. 用资料对话
notebooklm ask "What are the key themes?"

NotebookLM 会基于当前 Notebook 的所有数据源来回答。

  1. 生成各种内容
notebooklm generate audio "make it engaging" --wait
notebooklm generate video --style whiteboard --wait
notebooklm generate quiz --difficulty hard
notebooklm generate flashcards --quantity more
notebooklm generate slide-deck
notebooklm generate infographic --orientation portrait
notebooklm generate mind-map
notebooklm generate data-table "compare key concepts"

这里有几个要点:

  • 大多命令支持附加说明,比如「讲得生动一点」「对比核心概念」
  • --wait 表示阻塞到任务完成(否则需要自己轮询)
  1. 下载产物
notebooklm download audio ./podcast.mp3
notebooklm download video ./overview.mp4
notebooklm download quiz --format markdown ./quiz.md
notebooklm download flashcards --format json ./cards.json
notebooklm download slide-deck ./slides.pdf
notebooklm download mind-map ./mindmap.json
notebooklm download data-table ./data.csv

一条命令一个文件,格式也能选(比如测验 / 闪卡可以是 Markdown/HTML/JSON)。

这一整串组合起来,就是一个最简单的「自动做学习包」的脚本骨架。

3.2 Python API:写自己的自动化流水线

如果你想更细粒度地控制 NotebookLM,或者要集成到服务端 / Job 流水线,就更适合用 Python API。

3.2.1 客户端初始化

典型写法:使用存储中已有的登录信息创建客户端。

import asyncio
from notebooklm import NotebookLMClient

async def main():
    async with await NotebookLMClient.from_storage() as client:
        ...
        
asyncio.run(main())

from_storage() 会复用你之前通过 CLI 登录时保存的凭证,因此建议先跑一遍 notebooklm login

3.2.2 一个简版「自动处理 Notebook」示例

README 提供了一个涵盖创建 Notebook、添加数据源、问答、生成音频 / 测验 / 思维导图、下载结果的示例,我们把逻辑拆一下:

async with await NotebookLMClient.from_storage() as client:
    # 1. 创建 Notebook
    nb = await client.notebooks.create("Research")

    # 2. 添加 URL 数据源,并等待处理完成
    await client.sources.add_url(nb.id, "https://example.com", wait=True)

    # 3. 基于资料提问
    result = await client.chat.ask(nb.id, "Summarize this")
    print(result.answer)

    # 4. 生成音频讲解
    status = await client.artifacts.generate_audio(
        nb.id,
        instructions="make it fun",
    )
    await client.artifacts.wait_for_completion(nb.id, status.task_id)
    await client.artifacts.download_audio(nb.id, "podcast.mp3")

    # 5. 生成测验并导出 JSON
    status = await client.artifacts.generate_quiz(nb.id)
    await client.artifacts.wait_for_completion(nb.id, status.task_id)
    await client.artifacts.download_quiz(
        nb.id,
        "quiz.json",
        output_format="json",
    )

    # 6. 生成思维导图并导出 JSON
    result = await client.artifacts.generate_mind_map(nb.id)
    await client.artifacts.download_mind_map(nb.id, "mindmap.json")

这里面有几个工程上值得注意的小点:

  • API 设计是 异步 的,用起来比较适合 I/O 密集的批处理场景
  • 生成类操作基本都走「提交任务 → 等待完成 → 下载结果」三段式
  • 产物下载都是显式调用,方便你控制文件命名和存储路径

基于这一套,你很容易拓展出一些更实际的东西:

  • 批量处理多个 Notebook(比如一个项目一个 Notebook)
  • 根据生成的测验 / 思维导图再做一些内部加工
  • 用调度系统(如 Airflow)按天 / 按周自动跑一遍「新资料 → 新内容包」

3.3 Agent Skills:交给 AI 编程助手去调用

还有一类用户是:你常用 Claude Code 这类 AI 编程助手,希望直接对它说「帮我生成一个播客,并且下载下来」。

notebooklm-py 内置了专门的 Agent 技能支持:

  1. 先安装技能
notebooklm skill install
  1. 然后在 Claude Code 里直接用自然语言:
  • 「Create a podcast about quantum computing」
  • 「Download the quiz as markdown」
  • 「/notebooklm generate video」

从开发者视角看,这其实是把 NotebookLM 做成了「二级工具」:

  • 你的人 → Claude / 其它 Agent
  • Claude → notebooklm-py
  • notebooklm-py → NotebookLM

适合用在:你不想自己写太细的脚本,更希望把意图交给 Agent 处理。


四、典型应用场景:从个人研究到小型内容工厂

结合项目给出的能力,我们可以抽象出几类比较典型的应用方式。

4.1 研究自动化:不再手动搬运资料

目标用户:科研人员、分析师、咨询顾问、自媒体作者。

流程可以设计成这样:

  1. 按主题新建 Notebook,例如「GenAI 在医疗行业的应用」
  2. 自动抓取一批公开资料:官方白皮书、论文、新闻、报告 PDF
  3. 调用 Web / Drive 研究代理做补充检索
  4. 自动生成:
    • 深度音频讲解
    • 结构化报告(简报版 / 学习指南)
    • 比较关键概念的数据表
    • 带层级的思维导图
  5. 导出 Markdown / CSV / JSON,接入你自己的写作工具链

notebooklm-py 能帮你的点在于:
你不再需要每次打开 NotebookLM 网站、点击导出、复制粘贴,整个过程都能脚本化。

4.2 教学与培训:自动生产「课程 + 练习 + 闪卡」

目标用户:教育工作者、企业内部培训负责人。

设计思路可以是:

  • 每一个课程 / 模块建一个 Notebook
  • 喂入若干资料:教材章节 PDF、讲义、参考视频、补充阅读链接
  • 用 API 一次性生成:
    • 面向学生的讲解音频 / 视频
    • 课堂 PPT 草稿(幻灯片 PDF)
    • 测验题(JSON,方便导入到你自己的考试系统)
    • 闪卡集合(HTML/Markdown,用于记忆)

对你来说,NotebookLM 的作用从「老师手动用的工具」,升级成了「教学内容流水线里的一个生成模块」。

4.3 企业内知识自动整理:知识库 + 学习包

目标用户:有内部知识库、且需要持续培训员工的企业技术 / HR 团队。

结合 Google Drive / 文档系统,你可以:

  1. 定期把新文档(技术方案、SOP、产品说明)同步到 NotebookLM
  2. 自动生成:
    • 入门学习包(音频 + PPT + 报告)
    • 新员工测验题 + 闪卡
  3. 把导出的文件接入内部门户、学习平台或机器人问答系统

重点是:流程可完全自动触发,比如:

  • 每周扫描一个「新文档」文件夹
  • 有新增就创建 / 更新对应 Notebook
  • 生成更新后的内容包并通知相关员工

notebooklm-py 在这里更像是一个「智能文档加工器」。


五、注意事项:非官方 API 的边界与工程实践

能力很强,但坑也要提前说清楚。

5.1 兼容性与稳定性

项目自己写得很直白:

  • 使用的是 Google 未公开的内部接口
  • Google 随时可能调整路径 / 协议 / 风控策略
  • 大量并发调用可能触发限流、甚至账号风控

官方文档里有专门的「API Stability」说明,建议你在用之前至少扫一眼:

  • 哪些能力相对稳定
  • 哪些功能是在「试验性」阶段
  • 版本号策略和变更说明

实际工程中比较稳妥的做法是:

  • notebooklm-py 封装在你自己的一层服务里,不要在各个业务散落使用
  • 在关键调用前后加重试和错误分类处理
  • 跟随 CHANGELOG 和 Release 节奏做版本管理

5.2 安全与合规

项目提供了专门的 Security 文档,说明了它如何处理凭证和安全问题。

你在企业内部使用时,最好注意:

  • 不要把登录用的 Cookie / Token 直接硬编码到代码仓库
  • 生产环境可以考虑用专门的服务账号 / 限权账号
  • 对日志做脱敏(避免把完整请求 / 响应内容打到日志里)

尤其是在接入敏感数据(如内部文档、客户信息)时,要清楚:

  • NotebookLM 本身是云端服务,你需要遵守企业的合规要求
  • notebooklm-py 只是调用方式的变化,不会改变底层数据流向

5.3 不要盲目上生产

综合项目给出的风险提示,一个比较务实的态度是:

  • 凡是 用户体验敏感 的前台功能,用 notebooklm-py 做辅助,保留手工兜底方案
  • 凡是 内部效率工具 / 非关键流程,可以大胆一些
  • 关键核心业务的自动化,最好设计成「可回滚到人肉操作」的模式

换句话说:
把它当成一个非常好用的「外挂」,而不是「基建」。


六、实战建议:如果你现在就想试着用起来

最后,我们给一个简单的「分层落地路线」,方便你按阶段尝试。

6.1 第一阶段:个人层面的「自动做学习包」

目标:先服务好你自己。

  • 步骤 1:用 CLI 跑通「建本 → 加料 → 问答 → 生成 → 下载」的流程
  • 步骤 2:写一个简单的 shell / Python 脚本,把你最近在看的几篇论文 / 文档做成播客 + PPT + 测验
  • 步骤 3:把测验 / 闪卡导出的 JSON,接到一个简单的前端小页面里做练习

这阶段重点是熟悉命令和参数,理解 NotebookLM 能帮你做什么、做得怎么样。

6.2 第二阶段:项目 / 团队级自动化

目标:把它变成你团队的「文档加工器」。

  • 选一个相对独立的项目,例如「某产品的内部培训资料」
  • 约定一个资料存放的文件夹(本地 / Drive)
  • 写一个定时任务:
    • 检测文件变更
    • 自动同步到 Notebook
    • 生成一整套内容(报告 + 幻灯片 + 测验 + 闪卡)
  • 把产物放到一个统一的地方(Git 仓库、内网盘、学习平台)

这一步你会开始关注版本、错误处理、以及生成质量的稳定性。

6.3 第三阶段:和 Agent 体系打通

目标:你只负责提需求,Agent 负责调 notebooklm-py 干活。

  • 如果你在用 Claude Code,可以直接安装它的技能,然后:
    • 让 Claude 根据你的命令自动选 Notebook、生成指定内容、下载到某个路径
    • notebooklm-py 变成 Agent 的一个「工具插件」
  • 如果你有自己的多 Agent 系统,也可以参考文档里「RPC Development / RPC Reference」,按同样思路把 NotebookLM 抽象成一个工具节点

这一步的核心价值是:
你不再需要记每一个 CLI 命令 / API 调用,只要告诉 Agent 你的意图,让它自己规划调用顺序。


实操

借助cc安装 notebooklm skill

 
❯ 帮我安装这个Claude skill 地址是 https://github.com/teng-lin/notebooklm-py 

⏺ 我来帮你安装这个 Claude skill。首先让我获取这个仓库的信息。

⏺ fetch - fetch (MCP)(url: "https://github.com/teng-lin/notebooklm-py", max_length: 10000)
  ⎿  Error: Command '['node', 'ExtractArticle.js', '-i', '/var/folders/3n/gbt3p39s5pdc4l55js62gxnm0000gn/T/readabilipyy5u5yqal', '-o', 
     '/var/folders/3n/gbt3p39s5pdc4l55js62gxnm0000gn/T/readabilipyy5u5yqal.json']' returned non-zero exit status 1.

⏺ fetch - fetch (MCP)(url: "https://raw.githubusercontent.com/teng-lin/notebooklm-py/main/README.md", max_length: 10000)
  ⎿  Content type text/plain; charset=utf-8 cannot be simplified to markdown, but here is the raw content:                                                                                                  
     Contents of https://raw.githubusercontent.com/teng-lin/notebooklm-py/main/README.md:
     # notebooklm-py
     … +218 lines (ctrl+o to expand)
  ⎿  Running PostToolUse hooks… (1/2 done)

⏺ 这是一个 Google NotebookLM 的 Python API 工具,支持 Claude Code skills。让我查看一下如何安装这个 skill。

⏺ fetch - fetch (MCP)(max_length: 15000, url: "https://raw.githubusercontent.com/teng-lin/notebooklm-py/main/docs/cli-reference.md")
  ⎿  Content type text/plain; charset=utf-8 cannot be simplified to markdown, but here is the raw content:                                                                                                  
     Contents of https://raw.githubusercontent.com/teng-lin/notebooklm-py/main/docs/cli-reference.md:
     # CLI Reference
     … +359 lines (ctrl+o to expand)
  ⎿  Running PostToolUse hooks… (1/2 done)

⏺ 我找到了安装方法。根据文档,安装这个 Claude skill 需要两步:

  1. 首先安装 notebooklm-py Python 包
  2. 然后运行 notebooklm skill install 命令

  让我帮你执行这些步骤:

⏺ Bash(pip install "notebooklm-py[browser]")
  ⎿  Error: Exit code 127
     (eval):1: command not found: pip

⏺ Bash(pip3 install "notebooklm-py[browser]")
  ⎿  Defaulting to user installation because normal site-packages is not writeable
     Collecting notebooklm-py[browser]
       Downloading notebooklm_py-0.1.1-py3-none-any.whl.metadata (7.9 kB)
     … +67 lines (ctrl+o to expand)
  ⎿  Running PostToolUse hooks… (1/2 done)

⏺ 包安装成功了。现在让我安装 Playwright 浏览器并安装 Claude skill:

⏺ Bash(/Users/artisan/Library/Python/3.9/bin/playwright install chromium) timeout: 3m 0s
  ⎿  Downloading Chrome for Testing 145.0.7632.6 (playwright chromium v1208) from https://cdn.playwright.dev/chrome-for-testing-public/145.0.7632.6/mac-arm64/chrome-mac-arm64.zip
     |                                                                                |   0% of 162.3 MiB
     |■■■■■■■■                                                                        |  10% of 162.3 MiB
     … +30 lines (ctrl+o to expand)
  ⎿  Running PostToolUse hooks… (1/2 done)

⏺ Bash(/Users/artisan/Library/Python/3.9/bin/notebooklm skill install)
  ⎿  Error: Exit code 1
     Traceback (most recent call last):
       File "/Users/artisan/Library/Python/3.9/bin/notebooklm", line 3, in <module>
         from notebooklm.notebooklm_cli import main
       File "/Users/artisan/Library/Python/3.9/lib/python/site-packages/notebooklm/notebooklm_cli.py", line 34, in <module>
         from .cli import (
       File "/Users/artisan/Library/Python/3.9/lib/python/site-packages/notebooklm/cli/__init__.py", line 19, in <module>
         from .source import source
       File "/Users/artisan/Library/Python/3.9/lib/python/site-packages/notebooklm/cli/source.py", line 23, in <module>
         from .helpers import (
     … +3 lines (ctrl+o to see all)

⏺ 这个包需要 Python 3.10+,但你的系统默认是 Python 3.9。让我检查一下是否有更高版本的 Python:

⏺ Bash(which python3.10 python3.11 python3.12 python3.13 2>/dev/null || brew list | grep python)
  ⎿  /opt/homebrew/bin/python3.10 
     python3.11 not found
     python3.12 not found
     … +3 lines (ctrl+o to expand)
  ⎿  Running PostToolUse hooks… (1/2 done)

⏺ 你有 Python 3.103.13。让我用 Python 3.13 重新安装:

⏺ Bash(/opt/homebrew/bin/python3.13 -m pip install "notebooklm-py[browser]")
  ⎿  Error: Exit code 1
     error: externally-managed-environment

     × This environment is externally managed
     ╰─> To install Python packages system-wide, try brew install
         xyz, where xyz is the package you are trying to
         install.
         
         If you wish to install a Python library that isn't in Homebrew,
         use a virtual environment:
     … +24 lines (ctrl+o to see all)

⏺ 让我使用 pipx 来安装:

⏺ Bash(which pipx || brew install pipx)
  ⎿  pipx not found                                                                                              
     ==> Fetching downloads for: pipx
     ==> Installing dependencies for pipx: ca-certificates, openssl@3, readline, sqlite, xz, zstd and python@3.14
     … +202 lines (ctrl+o to expand)
  ⎿  Running PostToolUse hooks… (1/2 done)

⏺ Bash(pipx install "notebooklm-py[browser]")
  ⎿    installed package notebooklm-py 0.3.2, installed using Python 3.14.3
       These apps are now globally available
         - notebooklm
     … +5 lines (ctrl+o to expand)
  ⎿  Running PostToolUse hooks… (1/2 done)

⏺ Bash(notebooklm skill install)
  ⎿  Installed NotebookLM skill to /Users/artisan/.claude/skills/notebooklm/SKILL.md
       Version: 0.3.2
     … +2 lines (ctrl+o to expand)
  ⎿  Running PostToolUse hooks… (1/2 done)

⏺ 安装成功了。让我验证一下安装状态:

⏺ Bash(notebooklm skill status)
  ⎿  Installed at /Users/artisan/.claude/skills/notebooklm/SKILL.md
       Skill version: 0.3.2
       CLI version:   0.3.2
  ⎿  Running PostToolUse hooks… (1/2 done)

⏺ NotebookLM skill 已成功安装。以下是安装总结:

  已完成的步骤:
  1. 使用 pipx 安装了 notebooklm-py[browser] v0.3.2
  2. 安装了 Playwright Chromium 浏览器
  3. 安装了 Claude Code skill 到 ~/.claude/skills/notebooklm/SKILL.md

  使用方法:
  - 在 Claude Code 中使用 /notebooklm 命令
  - 或者用自然语言,比如 "create a podcast about X"

  首次使用前需要登录 Google:
  notebooklm login

  这会打开浏览器让你登录 Google 账号来授权访问 NotebookLM。

notebooklm login首次登录

首次登陆 ,执行 notebooklm login 会自动打开浏览器,输入自己的账号

artisan@ % notebooklm login
Opening browser for Google login...
Using persistent profile: /Users/artisan/.notebooklm/browser_profile

Instructions:
1. Complete the Google login in the browser window
2. Wait until you see the NotebookLM homepage
3. Press ENTER here to save and close

[Press ENTER when logged in] 

Authentication saved to: /Users/artisan/.notebooklm/storage_state.json

安装状态验证

回到cc中,验证下状态

❯ notebooklm  list 

⏺ Bash(notebooklm list)
  ⎿                                     Notebooks                                    
     ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━┓
     ┃ ID                         ┃ Title                     ┃ Owner  ┃ Created    ┃
     … +30 lines (ctrl+o to expand)
  ⎿  Running PostToolUse hooks… (1/2 done)

⏺ 登录成功!你的 NotebookLM 账号已经认证,可以看到你有 13 个笔记本。

  现在你可以使用 NotebookLM 的所有功能了,比如:
  - 创建新笔记本:notebooklm create "标题"
  - 添加资料来源:notebooklm source add "URL或文件"
  - 生成播客:notebooklm generate audio
  - 提问:notebooklm ask "问题"

  需要我帮你做什么操作吗?
❯ 这个notebooklm的skill是全局的吗? 

⏺ 是的,这个 skill 是全局安装的。

  它被安装到了 ~/.claude/skills/notebooklm/SKILL.md,这个目录是 Claude Code 的全局 skills 目录,所以在任何项目中都可以使用 /notebooklm 命令或相关功能。

  你可以验证:

  notebooklm skill status

  会显示:
  Installed at /Users/artisan/.claude/skills/notebooklm/SKILL.md
    Skill version: 0.3.2
    CLI version:   0.3.2

  这意味着无论你在哪个项目目录下使用 Claude Code,都可以直接使用 NotebookLM 功能。

如何使用 notebooklm 这个skill

❯ 如何使用 notebooklm 这个skill 

⏺ NotebookLM 是一个可以让你通过命令行操作 Google NotebookLM 的工具。以下是主要使用方式:

  基本流程

  1. 首次使用需要登录认证:
  notebooklm login          # 会打开浏览器进行 Google OAuth 登录
  notebooklm list           # 验证登录是否成功

  2. 创建笔记本并添加资料:
  notebooklm create "我的研究"              # 创建笔记本
  notebooklm source add "https://..."       # 添加网页
  notebooklm source add ./document.pdf      # 添加本地文件
  notebooklm source add "https://youtube.com/..."  # 添加 YouTube 视频

  3. 与资料对话:
  notebooklm ask "总结一下主要内容"
  notebooklm ask "这篇文章的核心观点是什么?"

  4. 生成内容(需要确认):
  notebooklm generate audio "用轻松的方式讲解"   # 生成播客
  notebooklm generate video "简要说明概念"       # 生成视频
  notebooklm generate quiz                       # 生成测验
  notebooklm generate flashcards                 # 生成闪卡

  5. 下载生成的内容:
  notebooklm download audio ./podcast.mp3
  notebooklm download video ./video.mp4
  notebooklm download quiz ./quiz.md --format markdown

  常用场景
  ┌──────────┬────────────────────────────────────────────────┐
  │   场景   │                      说明                      │
  ├──────────┼────────────────────────────────────────────────┤
  │ 研究总结 │ 添加多个 URL/文档,让 AI 帮你总结和分析        │
  ├──────────┼────────────────────────────────────────────────┤
  │ 生成播客 │ 把资料转成两人对话风格的音频                   │
  ├──────────┼────────────────────────────────────────────────┤
  │ 学习辅助 │ 生成测验和闪卡帮助记忆                         │
  ├──────────┼────────────────────────────────────────────────┤
  │ 深度研究 │ 用 source add-research "主题" 自动搜索网络资料 │
  └──────────┴────────────────────────────────────────────────┘
  设置中文输出

  notebooklm language set zh_Hans   # 设置为简体中文

  需要我帮你执行具体操作吗?比如检查认证状态或创建一个新笔记本?

使用

 ❯ 请调用notebooklm为这个工程生成一个PPT,用于介绍技术实现,详细一些 

⏺ 我来为这个 UOM 项目创建一个 NotebookLM 笔记本并生成技术介绍 PPT。首先让我收集项目的关键技术文档。

⏺ Explore(Explore UOM codebase structure)
  ⎿  Done (37 tool uses · 66.3k tokens · 4m 54s)                                                                                                                                                            
  ⎿  Running PostToolUse hooks… (1/2 done)

⏺ 我已经收集了项目的详细技术信息。现在让我创建一个 NotebookLM 笔记本,添加这些技术文档作为来源,然后生成 PPT。

⏺ Bash(notebooklm create "UOM 统一运维管理平台 - 技术架构介绍")
  ⎿  Created notebook: 7d8c9378-a0c5-4579-91af-c6047bd13b82 - UOM 统一运维管理平台 -
     技术架构介绍
  ⎿  Running PostToolUse hooks… (1/2 done)

⏺ Bash(notebooklm use 7d8c9378-a0c5-4579-91af-c6047bd13b82)
  ⎿  ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━┳━━━━━━━━━━━━┓
     ┃ ID                         ┃ Title                      ┃ Owner ┃ Created    ┃
     ┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━╇━━━━━━━━━━━━┩
     … +3 lines (ctrl+o to expand)
  ⎿  Running PostToolUse hooks… (1/2 done)

⏺ 现在我需要创建一份详细的技术文档作为 NotebookLM 的来源。让我先把技术概要写入一个临时文件,然后上传到 NotebookLM。

⏺ Write(/tmp/uom-tech-overview.md)
  ⎿  Wrote 505 lines to ../../../../tmp/uom-tech-overview.md                                                                                                                     
     # UOM 统一运维管理平台 - 技术架构文档
     ## 一、项目概述
     **项目名称**: UOM (Unify Online Management) - 统一在线运维中心
     **版本**: 2.8.12
     **架构模式**: 两层分布式架构(Server + Agent)
     **定位**: 企业级统一运维管理平台,支持集群管理、节点运维、应用部署和生命周期管理
     UOM 是一个功能完整的 DevOps 运维管理平台,采用 Java + Vue 技术栈开发,通过 Server-Agent 两层架构实现对分布式服务器集群的统一管理。系统支持节点监控、应用部署、脚本执行、SSH
     远程终端、告警通知等企业级运维功能。
     … +495 lines (ctrl+o to expand)
  ⎿  Running PostToolUse hooks… (1/2 done)

⏺ Bash(notebooklm source add /tmp/uom-tech-overview.md) timeout: 1m 0s
  ⎿  Added source: b567aee7-0ac0-4e04-b1c2-511161c6e4c6
  ⎿  Running PostToolUse hooks… (1/2 done)

⏺ Bash(notebooklm source add /Volumes/artisan/code/uom2026/CLAUDE.md) timeout: 1m 0s
  ⎿  Added source: 2ca9f3c8-22a5-476e-8ddc-7a6babd20531
  ⎿  Running PostToolUse hooks… (1/2 done)

⏺ Bash(notebooklm source list)
  ⎿                  Sources in 7d8c9378-a0c5-4579-91af-c6047bd13b82                 
     ┏━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━┓
     ┃ ID               ┃ Title            ┃ Type        ┃ Created         ┃ Status ┃
     … +6 lines (ctrl+o to expand)
  ⎿  Running PostToolUse hooks… (1/2 done)

⏺ 来源已准备就绪。现在让我设置中文语言并生成详细的 PPT。

⏺ Bash(notebooklm language set zh_Hans)
  ⎿  ⚠️  This is a GLOBAL setting that affects all notebooks.

     Language set to: zh_Hans (中文(简体))
     (synced to server)
  ⎿  Running PostToolUse hooks… (1/2 done)

⏺ 现在生成详细的 Slide Deck(PPT)。这是一个长时间运行的操作,需要你确认是否继续。
                                                                                        
⏺ User answered Claude's questions:
  ⎿  · 是否开始生成 UOM 技术架构介绍 PPT?生成过程可能需要 5-15 分钟。 → 开始生成 (推荐)
  ⎿  Running PostToolUse hooks… (1/2 done)

⏺ Bash(notebooklm generate slide-deck "请生成一份详细的 UOM 统一运维管理平台技术架构介绍 PPT,包含以下内容:
      1. 项目概述和定位…)
  ⎿  {                                                   
       "task_id": "d4c19bff-a416-467f-ac03-bddf6bd9114f",
       "status": "pending"
     }
  ⎿  Running PostToolUse hooks… (1/2 done)

⏺ PPT 生成任务已启动。我会在后台监控生成进度,完成后自动下载。

⏺ Task(Wait for PPT and download)
  ⎿  Backgrounded agent (↓ to manage · ctrl+o to expand)
  ⎿  Running PostToolUse hooks… (1/2 done)

⏺ PPT 正在后台生成中,任务 ID: d4c19bff-a416-467f-ac03-bddf6bd9114f

  后台代理正在等待生成完成,完成后会自动下载到 /Volumes/artisan/code/uom2026/UOM技术架构介绍.pdf。

  生成过程通常需要 5-15 分钟。你可以继续做其他事情,我会在完成后通知你。

  要查看进度,可以运行:
  notebooklm artifact list
 ❯ notebooklm artifact list 

⏺ Bash(notebooklm artifact list)
  ⎿                 Artifacts in 7d8c9378-a0c5-4579-91af-c6047bd13b82                
     ┏━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┓
     ┃ ID            ┃ Title          ┃ Type          ┃ Created       ┃ Status      ┃
     … +5 lines (ctrl+o to expand)
  ⎿  Running PostToolUse hooks… (1/2 done)

⏺ PPT 仍在生成中(状态: in_progress)。后台代理正在等待完成,完成后会自动下载。

  通常 Slide Deck 生成需要 5-15 分钟,请稍候。

✻ Cogitated for 34s

⏺ Agent "Wait for PPT and download" completed

⏺ PPT 生成完成并已下载!

  文件信息:
  - 路径: /Volumes/artisan/code/uom2026/UOM技术架构介绍.pdf
  - 大小: 约 22.9 MB
  - 页数: 17 页
  - 标题: UOM Unified Operations Platform Technical Deep Dive

  你可以直接打开这个 PDF 文件查看技术架构介绍 PPT。

结语:NotebookLM 的「程序化控制台」

用一句话来概括 notebooklm-py

它把 NotebookLM 变成了一个可以脚本化、自动化、接入 Agent 的「可编程知识工作台」。

如果你已经在用 NotebookLM 做研究、写作或教学,这个项目会极大拓展它在你工作流里的位置:
从「一个网页工具」,变成「内容 / 知识流水线中的一环」。

当然,也要记住它的前提标签:非官方、接口可能变动、适合原型和内部自动化

建议你可以先从一个最简单的小目标入手,比如:

把你最近看的三篇技术博客 + 两篇论文,做成一套「通勤路上听的播客 + 下班后刷的练习题」。

写完这个脚本,你大概率就会明白:
为什么很多人说,像 notebooklm-py 这种工具,是未来「个人知识工厂」的标配。

在这里插入图片描述

Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐