@seclink: 有个哥们把 notebooklm 逆向做成了 api ,可以被 agent调用,最近这个开源项目, 在 github上涨粉挺凶的 ... 有人在闲鱼买 6块钱 一次,多文件生成notbooklm可视图,生成 AI PPT ,背后应该就是调…

X AI KOLs Following 工具

摘要

一个开发者逆向工程了Google NotebookLM,并将其封装为非官方Python API和CLI工具,支持AI代理调用,可用于自动化研究、内容生成等,在GitHub上迅速走红。

有个哥们把 notebooklm 逆向做成了 api ,可以被 agent调用,最近这个开源项目, 在 github上涨粉挺凶的 ... 有人在闲鱼买 6块钱 一次,多文件生成notbooklm可视图,生成 AI PPT ,背后应该就是调用了这个产品 ... https://t.co/H0mXeSdEr6
查看原文
查看缓存全文

缓存时间: 2026/05/19 06:46

有个哥们把 notebooklm 逆向做成了 api ,可以被 agent调用,最近这个开源项目, 在 github上涨粉挺凶的 …

有人在闲鱼买 6块钱 一次,多文件生成notbooklm可视图,生成 AI PPT ,背后应该就是调用了这个产品 …

https://t.co/H0mXeSdEr6


teng-lin/notebooklm-py

Source: https://github.com/teng-lin/notebooklm-py

notebooklm-py

notebooklm-py logo

A Comprehensive NotebookLM 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.

PyPI version Python Version License: MIT Tests

teng-lin%2Fnotebooklm-py | Trendshift

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.

What You Can Build

🤖 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.

Three Ways to Use

MethodBest For
Python APIApplication integration, async workflows, custom pipelines
CLIShell scripts, quick tasks, CI/CD automation
Agent IntegrationClaude Code, Codex, LLM agents, natural language automation

Features

Complete NotebookLM Coverage

CategoryCapabilities
NotebooksCreate, list, rename, delete
SourcesURLs, YouTube, files (PDF, text, Markdown, Word, EPUB, audio, video, images), Google Drive, pasted text; refresh, get guide/fulltext
ChatQuestions, conversation history, custom personas
ResearchWeb and Drive research agents (fast/deep modes) with auto-import
SharingPublic/private links, user permissions (viewer/editor), view level control

Content Generation (All Artifact Types)

TypeOptionsDownload Format
Audio Overview4 formats (deep-dive, brief, critique, debate), 3 lengths, 50+ languagesMP3/MP4
Video Overview3 formats (explainer, brief, cinematic), 9 visual styles, plus a dedicated cinematic-video CLI aliasMP4
Slide DeckDetailed or presenter format, adjustable length; individual slide revisionPDF, PPTX
Infographic3 orientations, 3 detail levelsPNG
QuizConfigurable quantity and difficultyJSON, Markdown, HTML
FlashcardsConfigurable quantity and difficultyJSON, Markdown, HTML
ReportBriefing doc, study guide, blog post, or custom promptMarkdown
Data TableCustom structure via natural languageCSV
Mind MapInteractive hierarchical visualizationJSON

Beyond the Web UI

These features are available via API/CLI but not exposed in NotebookLM’s web interface:

  • Batch downloads - Download all artifacts of a type at once
  • Quiz/Flashcard export - Get structured JSON, Markdown, or HTML (web UI only shows interactive view)
  • Mind map data extraction - Export hierarchical JSON for visualization tools
  • Data table CSV export - Download structured tables as spreadsheets
  • Slide deck as PPTX - Download editable PowerPoint files (web UI only offers PDF)
  • Slide revision - Modify individual slides with natural-language prompts
  • Report template customization - Append extra instructions to built-in format templates
  • Save chat to notes - Save Q&A answers or conversation history as notebook notes
  • Source fulltext access - Retrieve the indexed text content of any source
  • Programmatic sharing - Manage permissions without the UI
  • Multi-account profiles - Switch between Google accounts without re-authenticating
  • Browser cookie import - Reuse cookies from your existing browser session instead of driving Playwright

Installation

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):

pip install "notebooklm-py[browser]"   # core + Playwright
playwright install chromium             # ~170 MB; no progress bar — be patient (30–90 s)
notebooklm login                        # opens browser for Google sign-in
notebooklm auth check --test --json     # verify: expect "status": "ok"

As a library (embedded in your app — no Playwright, no Chromium):

pip install notebooklm-py               # ~10 MB; ship a pre-acquired storage_state.json

If playwright install chromium fails on Linux with TypeError: onExit is not a function, see the Linux workaround. Contributors: see CONTRIBUTING.md.

Quick Start


16-minute session compressed to 30 seconds

CLI

# 1. Authenticate (opens browser)
notebooklm login
# Or use Microsoft Edge (for orgs that require Edge for SSO)
# notebooklm login --browser msedge
# Or reuse cookies from an already-logged-in browser session
# notebooklm login --browser-cookies chrome
# notebooklm login --browser-cookies 'chrome::Profile 1'  # one Chromium profile
# (combine with --profile to populate a specific profile;
#  use --account / --all-accounts after auth inspect when several
#  Google accounts are signed in)

# 2. Create a notebook and add sources
notebooklm create "My Research"
notebooklm use <notebook_id>
notebooklm source add "https://en.wikipedia.org/wiki/Artificial_intelligence"
notebooklm source add "./paper.pdf"

# 3. Chat with your sources
notebooklm ask "What are the key themes?"
notebooklm ask --prompt-file ./long_question.txt  # Read question from file

# 4. Generate content (use --prompt-file for long prompts)
notebooklm generate audio "make it engaging" --wait
notebooklm generate video --style whiteboard --wait
notebooklm generate cinematic-video "documentary-style summary" --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"

# 5. Download artifacts
notebooklm download audio ./podcast.mp3
notebooklm download video ./overview.mp4
notebooklm download cinematic-video ./documentary.mp4
notebooklm download quiz --format markdown ./quiz.md
notebooklm download flashcards --format json ./cards.json
notebooklm download slide-deck ./slides.pdf
notebooklm download infographic ./infographic.png
notebooklm download mind-map ./mindmap.json
notebooklm download data-table ./data.csv

Other useful CLI commands:

notebooklm auth check --test         # Diagnose auth/cookie issues
notebooklm auth refresh --quiet      # One-shot cookie keepalive (for cron / launchd / systemd)
notebooklm auth refresh --browser-cookies chrome  # Re-extract and repair account routing
notebooklm auth inspect --browser 'chrome::Profile 1'  # Preview one Chromium profile
notebooklm agent show codex          # Print bundled Codex instructions
notebooklm agent show claude         # Print bundled Claude Code skill template
notebooklm language list             # List supported output languages
notebooklm metadata --json           # Export notebook metadata and sources
notebooklm share status              # Inspect sharing state
notebooklm source add-research "AI"  # Start web research and import sources
notebooklm skill status              # Check local agent skill installation
notebooklm profile list              # List all Google account profiles
notebooklm profile switch work       # Switch active account profile

Use --prompt-file PATH with ask, prompt-based generate commands, and source add-research when the text is too long for the shell command line. This reads prompt/query text from a file and is separate from source add ./file.pdf, which still uploads that file as a NotebookLM source.

Python API

import asyncio
from notebooklm import NotebookLMClient

async def main():
    async with await 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.mp3")

        # 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 mind map and export
        result = await client.artifacts.generate_mind_map(nb.id)
        await client.artifacts.download_mind_map(nb.id, "mindmap.json")

asyncio.run(main())

Agent Setup

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.

Documentation

For Contributors

Platform Support

PlatformStatusNotes
macOS✅ TestedPrimary development platform
Linux✅ TestedFully supported
Windows✅ TestedTested in CI

Star History

Star History Chart

License

MIT License. See LICENSE for details.

相似文章

@NFTCPS: 我今天真被一个开源项目狠狠干醒了。14.5k stars,直接把NotebookLM从“能用”拉到“能打”,而且是流水线级别。网页版那套我早就烦透了:传PDF等、生成音频等、下载还等,时间全喂给进度条了。你要是想批量做内容,基本等于自虐。…

X AI KOLs Timeline

notebooklm-py 是一个开源项目,提供 NotebookLM 的 Python API 和 CLI,支持批量处理、多格式导出和 AI 代理集成,大幅提升内容创作效率。

teng-lin/notebooklm-py

GitHub Trending (daily)

一个全面的非官方Python API和CLI,为Google NotebookLM提供编程访问,涵盖源管理、内容生成和代理集成等功能。

lfnovo/open-notebook

GitHub Trending (daily)

Google NotebookLM 的开源实现,具备更高的灵活性和更多功能,允许用户自行托管和定制笔记本 AI 体验。

@seclink: 最近这个开源工具挺火的。 看起来像是 钉钉悟空 、 字节 aily的开源版本。 你可以基于它来实现自己的agent 并且接入到上述的 即时通讯平台之中。 有的哥们基于这个改吧改吧,就能给投资人演示,拿到了不小规模的估值 。 让投资人记忆深…

X AI KOLs Following

CowAgent 是一个基于大模型的开源 AI 助理框架,支持自主任务规划、长期记忆、知识库、多模型切换和多渠道接入(微信、飞书、钉钉等),可快速构建和部署个性化 AI agent。