notebooklm-py 是一个面向 Google NotebookLM 的非官方 Python SDK、命令行工具和 AI Agent 技能包。它通过逆向 NotebookLM 的内部 RPC 接口,把网页端的能力(创建笔记本、导入资料、对话问答、生成播客/视频/测验/思维导图等)暴露成可编程的 Python API 和 CLI 命令,并打包成可被 Claude Code、Codex 等 Agent 直接调用的技能。需要明确:项目自身在 README 顶部就用醒目警告标注「非官方库,风险自负」——它依赖 Google 未公开的内部接口,与 Google 无任何关联,接口可能随时变动或被限流,作者建议仅用于原型、研究和个人项目。使用前应自行评估是否符合 Google 服务条款。
来源:README.md(顶部 Unofficial 警告框、What You Can Build 段落) 查看 GitHub 仓库 →NotebookLM 是 Google 近期热度很高的研究/学习工具,但网页端没有开放 API,无法批量化、脚本化或接入 Agent。notebooklm-py 填补了这一空缺:它不仅复刻了网页端的全部功能,还提供了网页端没有的能力(批量下载、测验/闪卡导出为 JSON/Markdown、思维导图 JSON 提取、幻灯片导出为 PPTX)。同时它顺应了 2026 年「AI Agent 技能化」的趋势——通过 SKILL.md 和 npx skills add / notebooklm skill install 可被 Claude Code、Codex 等直接装载。截至数据采集,仓库约 14,845 stars。
来源:README.md(Beyond the Web UI、Agent Setup 段落);GitHub 仓库元数据(stars=14845)同一套能力以 Python 异步 API、CLI 命令行、以及 AI Agent 技能三种形态提供,分别面向应用集成、Shell/CI 脚本和自然语言自动化。
来源:README.md(Three Ways to Use 表格)笔记本增删改查、多类型资料源导入(URL、YouTube、PDF/文本/Markdown/Word/EPUB/音视频/图片、Google Drive、粘贴文本)、对话问答与历史、Web/Drive 研究 Agent(快速/深度模式)、分享与权限管理。
来源:README.md(Features → Complete NotebookLM Coverage 表格)音频概览(4 种格式、3 种长度、50+ 语言)、视频概览、幻灯片、信息图、测验、闪卡、报告、数据表、思维导图,均可配置格式/风格/长度并下载为对应文件。
来源:README.md(Content Generation 表格)批量下载同类生成物、测验/闪卡导出为结构化 JSON/Markdown/HTML、思维导图导出层级 JSON、数据表导出 CSV、幻灯片导出可编辑 PPTX、单页幻灯片改写、多账号配置切换、复用浏览器现有 Cookie 等。
来源:README.md(Beyond the Web UI 段落)仓库根目录提供 SKILL.md,可通过 notebooklm skill install 装入 ~/.claude/skills 与 ~/.agents/skills,或用 npx skills add teng-lin/notebooklm-py 拉取;另提供 AGENTS.md 作为 Codex 指引。
来源:README.md(Agent Setup 段落);git tree(SKILL.md、AGENTS.md)核心是一个分层的异步客户端。源码集中在 src/notebooklm/ 下,按职责拆分为多个私有模块:认证与 Cookie 生命周期(_auth/ 目录,含 cookies、refresh、keepalive、session 等)、RPC 执行(_rpc_executor、_authed_transport)、以及一组中间件(_middleware_chain 串联 retry、semaphore、metrics、tracing、auth_refresh 等)。功能域各自独立成模块:笔记本(_notebooks)、资料源(_sources 相关)、对话(_chat、_chat_notes)、研究(_research)、各类生成物(_artifacts、_artifact_generation、_artifact_polling、_artifact_downloads)、思维导图(_mind_map)等。公开 API 通过 NotebookLMClient 暴露,按 client.notebooks / client.sources / client.chat / client.artifacts 等命名空间组织。项目带有 13 篇架构决策记录(docs/adr/),说明其在分层、能力协议、认证写穿、幂等性等方面有明确的设计约束。
来源:git tree(src/notebooklm/ 模块列表、docs/adr/ 目录);README.md(Python API 示例);docs/architecture.md(引用)中心为项目本体,内环 = 核心功能模块,外环 = 关键技术依赖;按 deep.json 中的 core_features 与 tech_stack.key_deps 自动生成
httpx(HTTP/RPC 传输)Playwright(浏览器登录与 Cookie 获取,可选 [brow…Chromium适合需要把 NotebookLM 纳入自动化流程的场景:研究自动化(批量导入 URL/PDF/YouTube/Drive 资料,跑研究查询并自动入库,构建可重复的研究流水线);内容批量生产(程序化生成播客、视频、幻灯片、测验、闪卡等并按需导出多种格式);接入 AI Agent(让 Claude Code、Codex 等通过自然语言驱动 NotebookLM);以及 CI/CD 或定时任务里的脚本化调用。鉴于其非官方性质和接口不稳定风险,更适合原型、研究和个人项目,不建议直接用于对稳定性要求高的生产关键路径。
来源:README.md(What You Can Build、Unofficial 警告框)最新发布为 v0.4.1(2026-05-11)。该版本以补丁形式发布,但主体工作是认证/Cookie 稳定性的系统性修复——核心问题是持续使用下 Cookie 可能悄悄失效。修复方案是在请求 notebooklm.google.com 之前先向 accounts.google.com/RotateCookies 发起轮转,驱动 __Secure-1PSIDTS/3PSIDTS 刷新,并针对并发场景加了按事件循环/存储路径的异步锁、跨进程文件锁等多层去抖。新增能力包括 notebooklm auth refresh 一次性保活命令(可由 launchd/systemd/cron 调度)、客户端可选的后台周期性保活任务(keepalive= 参数)、以及认证过期时通过 NOTEBOOKLM_REFRESH_CMD 自动刷新重试。这些新增项均向后兼容。
来源:GitHub releases/latest(v0.4.1 release notes,Added/Fixed 段落)notebooklm-py 是目前对 Google NotebookLM 做编程化封装中较为完整、工程化也较扎实的一个开源项目,对想把 NotebookLM 接入研究流水线或 AI Agent 的开发者很有参考价值。但它的根本约束在于「非官方」——能力建立在 Google 未公开接口之上,稳定性不由作者掌控,且存在服务条款与限流方面的不确定性。把它定位为研究和原型工具是恰当的;若要用于较正式的场景,需要对接口变动、认证失效和合规风险做好预案。
来源:综合 README.md 警告框、release notes 稳定性修复记录、git tree 工程结构