LLM - Google NotebookLM Skill 介绍与实战
文章摘要: NotebookLM-py 是一个非官方的 Python SDK 和 CLI 工具,通过逆向工程 Google NotebookLM 的内部接口,为开发者提供了编程调用 NotebookLM 的能力。该工具支持创建和管理 Notebook、导入多种数据源(URL、PDF、音视频等)、对话交互、研究功能自动化,以及生成音频、视频、幻灯片等多种内容格式。其核心优势在于将网页端的操作完全 A
文章目录

NotebookLM 出来之后,很多人第一反应是:这东西要是能「编程调用」就爽了。 官方暂时没开放正式 API,但社区已经有人「抠」出了内部接口,封装成了一个可用的 Python SDK 和 CLI,这就是 notebooklm-py。
接下来我们就用一篇偏「实战导向」的长文,搞清楚三件事:
notebooklm-py到底能做什么,适合用在什么场景- 作为开发者,怎么用 Python/CLI/Agent 三种方式接入
- 在能力边界、安全性、工程落地上应该注意什么
一、项目概览:一个「非官方」但很能打的 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 |
| 幻灯片 | 详细版 / 演讲者版、可控页数 | |
| 信息图 | 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 的生命周期」:
- 创建 Notebook
notebooklm create "My Research"
notebooklm use
这里 use 会选择当前活跃的 Notebook,后续命令默认作用在它上面。
- 添加数据源
notebooklm source add "https://en.wikipedia.org/wiki/Artificial_intelligence"
notebooklm source add "./paper.pdf"
一个 URL 一个本地 PDF,很符合真实场景:官方资料 + 论文。
- 用资料对话
notebooklm ask "What are the key themes?"
NotebookLM 会基于当前 Notebook 的所有数据源来回答。
- 生成各种内容
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表示阻塞到任务完成(否则需要自己轮询)
- 下载产物
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 技能支持:
- 先安装技能
notebooklm skill install
- 然后在 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 研究自动化:不再手动搬运资料
目标用户:科研人员、分析师、咨询顾问、自媒体作者。
流程可以设计成这样:
- 按主题新建 Notebook,例如「GenAI 在医疗行业的应用」
- 自动抓取一批公开资料:官方白皮书、论文、新闻、报告 PDF
- 调用 Web / Drive 研究代理做补充检索
- 自动生成:
- 深度音频讲解
- 结构化报告(简报版 / 学习指南)
- 比较关键概念的数据表
- 带层级的思维导图
- 导出 Markdown / CSV / JSON,接入你自己的写作工具链
notebooklm-py 能帮你的点在于:
你不再需要每次打开 NotebookLM 网站、点击导出、复制粘贴,整个过程都能脚本化。
4.2 教学与培训:自动生产「课程 + 练习 + 闪卡」
目标用户:教育工作者、企业内部培训负责人。
设计思路可以是:
- 每一个课程 / 模块建一个 Notebook
- 喂入若干资料:教材章节 PDF、讲义、参考视频、补充阅读链接
- 用 API 一次性生成:
- 面向学生的讲解音频 / 视频
- 课堂 PPT 草稿(幻灯片 PDF)
- 测验题(JSON,方便导入到你自己的考试系统)
- 闪卡集合(HTML/Markdown,用于记忆)
对你来说,NotebookLM 的作用从「老师手动用的工具」,升级成了「教学内容流水线里的一个生成模块」。
4.3 企业内知识自动整理:知识库 + 学习包
目标用户:有内部知识库、且需要持续培训员工的企业技术 / HR 团队。
结合 Google Drive / 文档系统,你可以:
- 定期把新文档(技术方案、SOP、产品说明)同步到 NotebookLM
- 自动生成:
- 入门学习包(音频 + PPT + 报告)
- 新员工测验题 + 闪卡
- 把导出的文件接入内部门户、学习平台或机器人问答系统
重点是:流程可完全自动触发,比如:
- 每周扫描一个「新文档」文件夹
- 有新增就创建 / 更新对应 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.10 和 3.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 这种工具,是未来「个人知识工厂」的标配。

更多推荐

所有评论(0)