بازگشت به وبلاگ →

۱۴٫۶k ستاره: کنترل Google NotebookLM با Python و اتصال Claude Code

  • notebooklm ai
  • notebooklm tutorial
  • notebooklm
  • notebooklm رسمی

رابط وب Google NotebookLM برای استفاده گاه‌به‌گاه مناسب است، اما وقتی به pipeline تحقیق، اسکریپت shell یا workflow عامل هوش مصنوعی نیاز دارید، به دیوار می‌خورید: بیشتر کارها با کلیک در UI انجام می‌شود و کار دسته‌ای خسته‌کننده می‌شود.

notebooklm-py در GitHub ( ۱۴٫۶k+ ستاره تا مه ۲۰۲۶) این شکاف را پر می‌کند — لایه Python روی NotebookLM که به Claude Code و عوامل مشابه هم وصل می‌شود.

کنترل NotebookLM با Python

رابط وب NotebookLM کجا متوقف می‌شود

NotebookLM امکان آپلود PDF، URL و لینک YouTube، سپس چت و تولید پادکست، اسلاید، quiz و غیره را می‌دهد. notebooklm tutorial را جستجو کنید راهنمای شروع پیدا می‌کنید — اما UI رسمی محدودیت‌های روشنی دارد:

  • واردات و دانلود دسته‌ای یعنی یک کلیک برای هر مورد
  • Quiz و فلش‌کارت فقط تعاملی — بدون خروجی JSON یا Markdown
  • نقشه ذهنی و جدول داده در مرورگر داده ساخت‌یافته نشان نمی‌دهند
  • اتصال بومی به Claude Code، Codex یا عوامل کدنویسی دیگر نیست

برای یادداشت گاه‌به‌گاه وب کافی است. برای pipeline، jobهای CI یا «۲۰ مقاله بخوان و quiz بساز» به API برنامه‌نویسی نیاز دارید.

notebooklm-py چیست؟

notebooklm-py SDK و CLI غیررسمی Python است که جامعه نگه‌داری می‌کند (مجوز MIT). با مهندسی معکوس RPC داخلی Google تقریباً همه قابلیت‌های NotebookLM و امکاناتی که وب هرگز نداشت را در اختیار می‌گذارد.

سلب مسئولیت: وابسته به Google نیست. از APIهای مستندنشده استفاده می‌کند که ممکن است خراب شوند. برای پروژه‌های شخصی، تحقیق و نمونه اولیه مناسب است.

سه روش استفاده

روشبهترین برای
Python APIیکپارچه‌سازی اپ، pipelineهای async، اسکریپت سفارشی
CLIاسکریپت shell، کارهای سریع، CI/CD
یکپارچه‌سازی عاملClaude Code، Codex، OpenClaw، خودکارسازی زبان طبیعی

آنچه رابط وب ندارد

قابلیتآنچه دریافت می‌کنید
دانلود دسته‌ایهمه artifactهای یک نوع یکجا (MP3، MP4، PDF، PNG و غیره)
خروجی quiz / فلش‌کارتJSON، Markdown، HTML — نه فقط نمای تعاملی
JSON نقشه ذهنیداده سلسله‌مراتبی برای D3، ECharts یا ابزارهای دیگر
CSV جدول دادهخروجی آماده صفحه‌گسترده
PPTX اسلایدPowerPoint قابل ویرایش، نه فقط PDF
بازبینی یک اسلایدتغییر یک اسلاید با prompt زبان طبیعی
ذخیره چت در یادداشتنگه‌داشت Q&A یا مکالمات کامل در notebook
متن کامل منبعدسترسی برنامه‌نویسی به متن منبع ایندکس‌شده
پروفایل چندحسابیتعویض حساب Google بدون ورود مجدد
واردات cookie مرورگراستفاده مجدد از session ورود شده

پوشش تولید گسترده است: خلاصه صوتی (۴ قالب، ۵۰+ زبان)، ویدیو (شامل cinematic)، اینفوگرافیک، گزارش، quiz، فلش‌کارت، نقشه ذهنی و جدول داده — اغلب با کنترل دقیق‌تر از وب‌سایت.

نصب سریع

کاربران CLI (شامل عامل‌ها):

pip install "notebooklm-py[browser]"
playwright install chromium
notebooklm login
notebooklm auth check --test --json

فقط کتابخانه (با storage_state.json از قبل، بدون Chromium):

pip install notebooklm-py

جزئیات کامل در installation.md پروژه.

Walkthrough CLI: از notebook تا دانلود پادکست

notebooklm create "AI Research"
notebooklm use <notebook_id>
notebooklm source add "https://en.wikipedia.org/wiki/Artificial_intelligence"
notebooklm source add "./paper.pdf"
notebooklm ask "What are the key themes?"
notebooklm generate audio "make it engaging" --wait
notebooklm download audio ./podcast.mp3
notebooklm generate quiz --difficulty hard
notebooklm download quiz --format markdown ./quiz.md

برای promptهای طولانی که از حد shell فراتر می‌روند --prompt-file استفاده کنید.

مثال Python API

import asyncio
from notebooklm import NotebookLMClient

async def main():
    async with await NotebookLMClient.from_storage() as client:
        nb = await client.notebooks.create("Research")
        await client.sources.add_url(nb.id, "https://example.com", wait=True)
        result = await client.chat.ask(nb.id, "Summarize this")
        print(result.answer)
        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")

asyncio.run(main())

طراحی async در workflowهای asyncio بزرگ‌تر به‌خوبی جا می‌گیرد.

یکپارچه‌سازی Claude Code

مخزن شامل Agent Skill است. دو مسیر نصب:

# گزینه ۱: نصب CLI در Claude Code / پوشه .agents
notebooklm skill install

# گزینه ۲: اکوسیستم skills
npx skills add teng-lin/notebooklm-py

پس از راه‌اندازی می‌توانید به Claude Code بگویید: «این PDF را به NotebookLM اضافه کن، quiz سخت بساز و Markdown export کن» — عامل CLI notebooklm را اجرا می‌کند به‌جای کلیک دستی در مرورگر.

برای توسعه‌دهندگانی که workflow notebooklm ai می‌سازند و همه قابلیت‌های تولید notebooklm رسمی را می‌خواهند، امروز روان‌ترین مسیر همین است.

نمی‌خواهید محیط محلی راه بیندازید؟

Playwright، cookie و تغییر API برای همه نیست. اگر می‌خواهید بدون نصب روی آپلود → پرسش → تولید تمرکز کنید، تجربه آنلاین NotebookLM ما را امتحان کنید:

شروع استفاده از NotebookLM


جمع‌بندی

notebooklm-py NotebookLM را از ابزار وب فقط-کلیک به موتور دانش scriptable و آماده عامل تبدیل می‌کند. ۱۴٫۶k ستاره تقاضای واقعی را نشان می‌دهد: پژوهشگران export دسته‌ای quiz، سازندگان تولید پادکست در pipeline، توسعه‌دهندگان import و دانلود از Claude Code با یک جمله.

وب را برای استفاده روزمره سبک نگه دارید؛ وقتی automation و export لازم است که مرورگر هرگز نداد، Python + CLI + عامل‌ها را بردارید.

پروژه: github.com/teng-lin/notebooklm-py