经 AI Skill Hub 精选评估,notebooklm-py AI工具 获评「推荐使用」。在 GitHub 上收获超过 13.4k 颗 Star,这款AI工具在功能完整性、社区活跃度和易用性方面表现出色,AI 评分 7.8 分,适合有一定技术背景的用户使用。
Google NotebookLM的非官方Python API和Claude智能代理技能,支持完整编程化操作。适合需要自动化处理笔记、文档分析和知识管理的开发者及研究人员使用。
notebooklm-py AI工具 是一款基于 Python 开发的开源工具,专注于 Claude技能、NotebookLM、Python API 等核心功能。作为 GitHub 开源项目,它拥有活跃的社区支持和持续的版本迭代,代码完全透明可审计,支持本地部署以保护数据隐私。无论是个人使用还是集成到企业工作流,都能提供稳定可靠的解决方案。
Google NotebookLM的非官方Python API和Claude智能代理技能,支持完整编程化操作。适合需要自动化处理笔记、文档分析和知识管理的开发者及研究人员使用。
notebooklm-py AI工具 是一款基于 Python 开发的开源工具,专注于 Claude技能、NotebookLM、Python API 等核心功能。作为 GitHub 开源项目,它拥有活跃的社区支持和持续的版本迭代,代码完全透明可审计,支持本地部署以保护数据隐私。无论是个人使用还是集成到企业工作流,都能提供稳定可靠的解决方案。
# 方式一:pip 安装(推荐)
pip install notebooklm-py
# 方式二:虚拟环境安装(推荐生产环境)
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install notebooklm-py
# 方式三:从源码安装(获取最新功能)
git clone https://github.com/teng-lin/notebooklm-py
cd notebooklm-py
pip install -e .
# 验证安装
python -c "import notebooklm_py; print('安装成功')"
# 命令行使用
notebooklm-py --help
# 基本用法
notebooklm-py input_file -o output_file
# Python 代码中调用
import notebooklm_py
# 示例
result = notebooklm_py.process("input")
print(result)
# notebooklm-py 配置文件示例(config.yml) app: name: "notebooklm-py" debug: false log_level: "INFO" # 运行时指定配置文件 notebooklm-py --config config.yml # 或通过环境变量配置 export NOTEBOOKLM_PY_API_KEY="your-key" export NOTEBOOKLM_PY_OUTPUT_DIR="./output"
<p align="left"> <img src="https://raw.githubusercontent.com/teng-lin/notebooklm-py/main/notebooklm-py.png" alt="notebooklm-py logo" width="128"> </p>
A Comprehensive Google Gemini Notebook Skill & Unofficial Python API. Full programmatic access to NotebookLM's features—including capabilities the web UI doesn't expose—via Python, CLI, and AI agents like Claude Code, Codex, and OpenClaw.
Note (July 2026): Google rebranded NotebookLM to Gemini Notebook. It remains the same standalone product (now also reachable inside the Gemini app), existing links redirect automatically, and this library drives the same underlying service and works unchanged. The package keeps the notebooklm-py name.
<p> <a href="https://trendshift.io/repositories/19116" target="_blank"><img src="https://trendshift.io/api/badge/repositories/19116" alt="teng-lin%2Fnotebooklm-py | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/></a> </p>
Source & Development: <https://github.com/teng-lin/notebooklm-py>
⚠️ Unofficial Library - Use at Your Own Risk This library uses undocumented Google APIs that can change without notice. - Not affiliated with Google - This is a community project - APIs may break - Google can change internal endpoints anytime - Rate limits apply - Heavy usage may be throttled Best for prototypes, research, and personal projects. See Troubleshooting for debugging tips.
🤖 AI Agent Tools - Integrate NotebookLM into Claude Code, Codex, and other LLM agents. Ships with a root NotebookLM skill for GitHub and npx skills add discovery, local notebooklm skill install support for Claude Code and .agents skill directories, and repo-level Codex guidance in AGENTS.md.
📚 Research Automation - Bulk-import sources (URLs, PDFs, YouTube, Google Drive), run web/Drive research queries with auto-import, and extract insights programmatically. Build repeatable research pipelines.
🎙️ Content Generation - Generate Audio Overviews (podcasts), videos, slide decks, quizzes, flashcards, infographics, data tables, mind maps, and study guides. Full control over formats, styles, and output.
📥 Downloads & Export - Download all generated artifacts locally (MP3, MP4, PDF, PNG, CSV, JSON, Markdown). Export to Google Docs/Sheets. Features the web UI doesn't offer: batch downloads, quiz/flashcard export in multiple formats, mind map JSON extraction.
The full install guide — six personas (agent, end-user, library, headless, contributor, power-user), optional extras matrix, platform notes — lives in docs/installation.md.
Quickest start (CLI users and AI agents) — install the CLI with uv tool (recommended) or pipx:
uv tool install "notebooklm-py[browser]" # or: pipx install "notebooklm-py[browser]"
notebooklm login # first run auto-downloads Chromium (~170 MB), then Google sign-in
notebooklm auth check --test --json # verify: expect "status": "ok"
Why uv tool / pipx? They install the CLI into its own isolated environment and put notebooklm on your PATH — no dependency clashes with other tools, a one-line upgrade (uv tool upgrade notebooklm-py) or uninstall, and, crucially, they work on modern macOS (Homebrew Python) and Debian/Ubuntu where a system-wide pip install is blocked with error: externally-managed-environment (PEP 668). No uv yet? curl -LsSf https://astral.sh/uv/install.sh | sh (or brew install uv / winget install astral-sh.uv).
Prefer plain pip? It works the same inside a virtualenv (and directly on Windows, where Python isn't externally-managed):
python3 -m venv .venv && source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install "notebooklm-py[browser]"
As a library (embedded in your app — no Playwright, no Chromium):
uv add notebooklm-py # or, inside a virtualenv: pip install notebooklm-py
If playwright install chromium fails on Linux with TypeError: onExit is not a function, see the Linux workaround. Contributors: see CONTRIBUTING.md.
Option 1 — CLI install:
notebooklm skill install
Installs the skill into ~/.claude/skills/notebooklm and ~/.agents/skills/notebooklm.
Option 2 — npx install (via the open skills ecosystem):
npx skills add teng-lin/notebooklm-py
Fetches the canonical SKILL.md directly from GitHub.
NotebookLM is a grounded engine: Gemini does the heavy reading and answers from your sources with citations. The winning pattern is to let it do the expensive analysis while your agent (Claude Code, Codex, …) orchestrates and handles the final mile — using NotebookLM as a zero-token synthesis + memory layer an agent drives in a loop, and pulling structured artifacts out in bulk and in richer, scriptable formats. Recipes people build on top of this library, grouped by what they use NotebookLM as:
Spend fewer tokens — let NotebookLM do the expensive thinking:
create → source add → ask); the reasoning happens server-side. In the wild: a four-workflow guide to stop Claude Code burning tokens on NotebookLM.source add-research "your topic" --mode deep) or load a doc corpus, let NotebookLM's Gemini condense it, and bake the result into a SKILL.md your agent loads at startup — build once, reuse with zero runtime tokens or network calls, git-versioned and immune to UI drift. A packaged domain expert without hand-curating sources. (Dumping raw docs into a skill flattens the hierarchy; NotebookLM condensing first is what makes it work.)Give your agent memory — persistent, grounded recall:
note create / ask --save-as-note), and a line in your CLAUDE.md queries it (ask) at the start of the next session. Storage and recall live on Google's infrastructure.ask) so an agent answers from your code with citations rather than plausible-sounding guesses — a zero-infra alternative to standing up your own vector DB and embedding pipeline. In the wild: turning a notebook into the source-grounded "project brain" a coding agent consults before it writes code.ask for cited answers across your own history — surfacing long-term patterns a keyword search can't (e.g. a weekly summary synthesized from 282 daily notes, every claim linked back to the entry it came from). In the wild: chatting with a year of daily notes as a cited knowledge base.Turn your sources into answers & artifacts — cited responses, generated media, and exports:
ask --json for source-grounded, cited answers for support, on-call, or internal Q&A. Or have an agent point it at an entire fast-moving tool's docs — more than the agent can hold in context — as a troubleshooting oracle it queries the moment it hits an error. In the wild: OpenClaw drove the library to scrape all 524 pages of docs.openclaw.ai, dedupe the duplicate translations, and audit it down to 269 clean sources (missing/extra/duplicate = 0).generate audio (podcast), generate video, generate slide-deck, plus a generate report blog draft, generate quiz, and generate flashcards — fan a single notebook out across channels.download <type> / download <type> --all). The programmatic "get data out" half of the library, not just "put sources in."[[wikilinks]]. Pair with a podcast overview for an audio digest of your notes. In the wild: "Claude Code + NotebookLM + Obsidian = GOD MODE".Run it unattended, at scale, or on the go — scheduled, headless, and remote:
generate report --format briefing-doc --wait, then download report) as an automated runbook.auth refresh --quiet (cron/launchd/systemd) with generate audio to publish a fresh personalized briefing to a podcast feed on a schedule.These combine ordinary library primitives — see the CLI Reference and Python API. The agent-side glue (skills, scheduling, vault layout) lives in your own setup, not this package. Per-notebook source counts depend on your Google account tier — split across notebooks if you hit a cap.
New here? Start with a walkthrough: Claude Code + NotebookLM = CHEAT CODE (video) · 5 demos + 50 use cases, with prompts.
<p align="center"> <a href="https://asciinema.org/a/767284" target="_blank"><img src="https://asciinema.org/a/767284.svg" width="600" /></a> <br> <em>16-minute session compressed to 30 seconds</em> </p>
The default backend is the established Web (batchexecute) transport. This release also provides an opt-in Android backend that uses NotebookLM's mobile gRPC service and bearer authentication. Select it for the CLI with --backend android (or NOTEBOOKLM_BACKEND=android), or for the Python API with NotebookLMClient.from_storage(backend="android") / `NotebookLMClient(..., backend="android")`.
Install the Android runtime explicitly; it is intentionally not included in the all extra:
pip install "notebooklm-py[android,browser]"
notebooklm login --master-token --account you@example.com
notebooklm --backend android list --json
Android reads master_token.json from the selected profile and mints short-lived mobile bearer tokens as needed, so typed namespace calls do not depend on a browser-cookie session, Web build labels, or Web RPC IDs. All eleven public namespaces are available without falling back to the Web transport. Because the durable master token is a powerful full-account credential, use a dedicated account and protect the profile carefully. See the Android backend guide for setup and protocol details.
import asyncio
from notebooklm import NotebookLMClient, MindMapKind
async def main():
async with NotebookLMClient.from_storage() as client:
# Create notebook and add sources
nb = await client.notebooks.create("Research")
await client.sources.add_url(nb.id, "https://example.com", wait=True)
# Chat with your sources
result = await client.chat.ask(nb.id, "Summarize this")
print(result.answer)
# Generate content (podcast, video, quiz, etc.)
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.m4a")
# Generate quiz and download as 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")
# Generate a mind map via the unified client.mind_maps API (issue #1256) —
# two kinds: the newer MindMapKind.INTERACTIVE studio map (shown; polled to
# completion by default) or MindMapKind.NOTE_BACKED JSON. Both export via:
mm = await client.mind_maps.generate(nb.id, kind=MindMapKind.INTERACTIVE)
await client.artifacts.download_mind_map(nb.id, "mindmap.json", mm.id)
asyncio.run(main())
高热度开源项目,填补NotebookLM自动化空白。作为Claude技能具有创新价值,但作为非官方方案存在合规和稳定性隐患,建议生产环境谨慎部署。
AI Skill Hub 为第三方内容聚合平台,本页面信息基于公开数据整理,不对工具功能和质量作任何法律背书。
建议在沙箱或测试环境中充分验证后,再部署至生产环境,并做好必要的安全评估。
✅ MIT 协议 — 最宽松的开源协议之一,可自由商用、修改、分发,仅需保留版权声明。
AI Skill Hub 点评:notebooklm-py AI工具 的核心功能完整,质量良好。对于AI爱好者来说,这是一个值得纳入个人工具库的选择。建议先在非生产环境试用,再逐步推广。
| 原始名称 | notebooklm-py |
| 原始描述 | 开源Claude技能:Unofficial Python API and agentic skill for Google NotebookLM. Full programmatic。⭐13.4k · Python |
| Topics | Claude技能NotebookLMPython API智能代理文档处理 |
| GitHub | https://github.com/teng-lin/notebooklm-py |
| License | MIT |
| 语言 | Python |
收录时间:2026-05-17 · 更新时间:2026-05-19 · License:MIT · AI Skill Hub 不对第三方内容的准确性作法律背书。