teng-lin/notebooklm-py

Unofficial Python API and agentic skill for Google NotebookLM. 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.

GitHub에서 열기 ↗ agentic-skillapiclaudeclaude-skillsgoogle-notebooklmnotebooklmnotebooklm-apinotebooklm-skillopenclaw-skillspodcast-generatorpythonpython-apisdkskills
17,506
GitHub 스타
2,373
포크
Python
언어
MIT
라이선스
2026.07.09
최근 푸시
2026.05.28
별표한 날

AI 분석

설치 난이도: 보통
큐레이터 노트
NotebookLM을 프로그래매틱하게 제어해야 하는 연구 자동화, 콘텐츠 생성, AI 에이전트 통합 프로젝트에 매우 적합합니다. 특히 웹 UI에서 불가능한 일괄 작업이나 다양한 형식 내보내기가 필요한 경우 유용합니다.

강점

  • 웹 UI에서 제공하지 않는 일괄 다운로드, 다양한 형식 내보내기 등 고급 기능을 API/CLI로 제공합니다.
  • Python API, CLI, MCP 서버, REST 서버, 에이전트 통합 등 다양한 사용 방법을 지원합니다.
  • NotebookLM의 거의 모든 기능을 포괄하며, 연구 자동화, 콘텐츠 생성, 다운로드/내보내기를 완전히 제어할 수 있습니다.

약점

  • 비공식 라이브러리이므로 Google API 변경 시 기능이 중단될 위험이 있습니다.
  • 문서화되지 않은 API에 의존하므로 장기적인 안정성을 보장할 수 없습니다.
  • 속도 제한이 적용될 수 있어 대규모 사용 시 제약이 있을 수 있습니다.

주의사항

  • Google과 공식적으로 제휴되지 않은 커뮤니티 프로젝트이므로 사용에 따른 책임은 본인에게 있습니다.
  • API가 예고 없이 변경될 수 있으므로 프로덕션 환경보다는 프로토타입, 연구, 개인 프로젝트에 적합합니다.
  • 과도한 사용 시 속도 제한이 발생할 수 있으므로 주의해야 합니다.

시작 가이드

  • 설치 가이드(docs/installation.md)를 참조하여 `uv tool` 또는 `pipx`로 CLI를 설치하고 로그인을 완료하세요.
  • CLI 참조(docs/cli-reference.md)와 Python API 문서(docs/python-api.md)를 읽고 기본 사용법을 익히세요.
  • 레시피 섹션의 예제(예: 연구 오프로드, 지식 베이스 구축)를 따라해보며 실제 워크플로우를 구축해보세요.

README 한국어 번역

이 번역은 AI가 원문 README를 옮긴 것입니다. 원문이 항상 우선합니다.

notebooklm-py

<p align="left"> <img src="https://raw.githubusercontent.com/teng-lin/notebooklm-py/main/notebooklm-py.png" alt="notebooklm-py 로고" width="128"> </p>

포괄적인 NotebookLM 스킬 및 비공식 Python API. Python, CLI, Claude Code, Codex, OpenClaw와 같은 AI 에이전트를 통해 NotebookLM의 모든 기능(웹 UI에서 제공하지 않는 기능 포함)에 대한 완전한 프로그래매틱 액세스를 제공합니다.

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

소스 및 개발: <https://github.com/teng-lin/notebooklm-py>

⚠️ 비공식 라이브러리 - 사용에 따른 책임은 본인에게 있습니다.

>

이 라이브러리는 문서화되지 않은 Google API를 사용하며, 이는 예고 없이 변경될 수 있습니다.

>

- Google과 관련 없음 - 커뮤니티 프로젝트입니다.

- API가 중단될 수 있음 - Google은 내부 엔드포인트를 언제든지 변경할 수 있습니다.

- 속도 제한 적용 - 과도한 사용 시 제한될 수 있습니다.

>

프로토타입, 연구 및 개인 프로젝트에 가장 적합합니다. 디버깅 팁은 문제 해결을 참조하세요.

만들 수 있는 것

🤖 AI 에이전트 도구 - NotebookLM을 Claude Code, Codex 및 기타 LLM 에이전트에 통합합니다. GitHub용 루트 NotebookLM 스킬과 npx skills add 검색, Claude Code 및 .agents 스킬 디렉토리를 위한 로컬 notebooklm skill install 지원, 그리고 AGENTS.md의 저장소 수준 Codex 가이드가 함께 제공됩니다.

📚 연구 자동화 - 소스(URL, PDF, YouTube, Google Drive)를 대량으로 가져오고, 웹/Drive 연구 쿼리를 자동 가져오기로 실행하며, 프로그래매틱 방식으로 인사이트를 추출합니다. 반복 가능한 연구 파이프라인을 구축하세요.

🎙️ 콘텐츠 생성 - 오디오 개요(팟캐스트), 비디오, 슬라이드 데크, 퀴즈, 플래시카드, 인포그래픽, 데이터 테이블, 마인드 맵 및 학습 가이드를 생성합니다. 형식, 스타일 및 출력을 완전히 제어할 수 있습니다.

📥 다운로드 및 내보내기 - 생성된 모든 아티팩트를 로컬로 다운로드합니다(MP3, MP4, PDF, PNG, CSV, JSON, Markdown). Google Docs/Sheets로 내보냅니다. 웹 UI에서 제공하지 않는 기능: 일괄 다운로드, 여러 형식의 퀴즈/플래시카드 내보내기, 마인드 맵 JSON 추출.

사용 사례 및 레시피

NotebookLM은 근거 기반 엔진입니다. Gemini가 많은 읽기를 수행하고 사용자의 소스에서 인용과 함께 답변합니다. 가장 효과적인 패턴은 Gemini가 비용이 많이 드는 분석을 수행하고, 에이전트(Claude Code, Codex 등)가 오케스트레이션 및 최종 단계를 처리하도록 하는 것입니다. 이 라이브러리 위에 구축된 레시피:

  • 🪙 제로 토큰 연구 오프로드 — 30개의 문서를 노트북에 넣고, Gemini가 무거운 분석을 수행하도록 한 후, 에이전트가 최종 다듬기에만 토큰을 사용하도록 합니다. 에이전트는 오케스트레이션만 수행합니다(createsource addask). 추론은 서버 측에서 발생합니다.
  • 🧠 웹 연구 → 전문가 에이전트 — 심층 연구 (source add-research)를 실행하여 웹을 스캔해 소스가 포함된 보고서를 만든 다음, 해당 보고서를 재사용 가능한 Claude 스킬로 추출합니다. 소스를 직접 선별하지 않고도 패키지화된 도메인 전문가를 얻을 수 있습니다.
  • 💾 영구적인 세션 간 메모리 — "마스터 브레인" 노트북을 유지합니다. 마무리 단계에서 각 세션의 결정 사항과 수정 사항을 노트로 추가하고(note create / ask --save-as-note), CLAUDE.md의 한 줄이 다음 세션 시작 시 이를 쿼리합니다(ask). 저장 및 검색은 Google 인프라에서 이루어집니다.
  • 🕸️ Obsidian / 지식 그래프 동기화 — 볼트 루트에서 CLI를 실행하여 다운로드된 아티팩트(보고서, 마인드 맵 JSON, 대본)가 지식 그래프에 파일로 저장되도록 합니다. 이 라이브러리 위에 구축된 커뮤니티 스킬은 NotebookLM의 인용 마커를 Obsidian [[wikilinks]]로 변환하기도 합니다. 팟캐스트 개요와 함께 사용하면 노트의 오디오 다이제스트를 얻을 수 있습니다.
  • 🔁 다중 형식 콘텐츠 재활용 — 하나의 소스 세트로 모든 형식을 생성합니다: generate audio (팟캐스트), generate video, generate slide-deck, generate report 블로그 초안, generate quiz, generate flashcards — 단일 노트북을 여러 채널로 확장합니다.
  • 📞 근거 기반 지식 베이스 (RAG) — 제품 문서, FAQ, RFC, 과거 티켓을 로드한 다음, ask --json을 사용하여 지원, 온콜 또는 내부 Q&A를 위한 소스 기반의 인용된 답변을 얻습니다.
  • 🧩 코딩 에이전트를 위한 근거 기반 메모리 — MCP 서버(또는 일반 ask)를 통해 내부 문서/RFC/아키텍처 노트북을 노출하여 에이전트가 그럴듯한 추측 대신 사용자의 코드에서 인용과 함께 답변하도록 합니다. 자체 벡터 DB 및 임베딩 파이프라인을 구축하는 대신 제로 인프라 대안을 제공합니다.
  • 🚨 인시던트 런북 생성기 — 알림 발생 시 관련 문서의 노트북을 생성하고, 대상 진단 질문을 한 후, 브리핑 문서 보고서(generate report --format briefing-doc)를 자동화된 런북으로 내보냅니다.
  • 📚 커리큘럼 / 학습 세트 빌더 — 강의 계획서 또는 개발자 로드맵을 스크래핑하고, 주제별로 하나의 노트북을 만든 후(속도 제한을 피하기 위해 의도적으로 속도 조절), 각각에 대해 팟캐스트, 퀴즈, 플래시카드를 대량 생성합니다.
  • 📰 예약된 오디오 브리핑auth refresh --quiet (cron/launchd/systemd)와 generate audio를 결합하여 일정에 따라 새로운 개인화된 브리핑을 팟캐스트 피드에 게시합니다.

이러한 레시피는 일반 라이브러리 기본 요소를 결합합니다. 자세한 내용은 CLI 참조 및 Python API를 참조하세요. 에이전트 측 접착 코드(스킬, 스케줄링, 볼트 레이아웃)는 이 패키지가 아닌 사용자 설정에 있습니다.

실제 사례: "Claude Code + NotebookLM = CHEAT CODE" · "…+ Obsidian = GOD MODE" · Claude Code에 "환각하지 않는 두뇌" 부여 · roadmap.sh에서 학습 노트북 자동 구축 · 터미널에서 완전히 구동되는 브라우저 없는 YouTube→노트북→인용 답변 파이프라인.

사용 방법

방법 가장 적합한 경우
Python API 애플리케이션 통합, 비동기 워크플로우, 사용자 정의 파이프라인
CLI 셸 스크립트, 빠른 작업, CI/CD 자동화
MCP 서버 Claude Desktop/Code, Cursor, Windsurf 및 기타 MCP 클라이언트에 NotebookLM 도구 노출
REST 서버 호출당 CLI 프로세스를 생성하지 않고 보호된 HTTP 경로를 통한 로컬 자동화
에이전트 통합 Claude Code, Codex, LLM 에이전트, 자연어 자동화

기능

완전한 NotebookLM 지원

카테고리 기능
노트북 생성, 목록, 이름 변경, 삭제
소스 URL, YouTube, 파일(PDF, 텍스트, Markdown, Word, EPUB, 오디오, 비디오, 이미지), Google Drive, 붙여넣은 텍스트; 새로고침, 가이드/전체 텍스트 가져오기
채팅 질문, 대화 기록, 사용자 정의 페르소나
노트 생성, 목록, 이름 변경, 삭제, 채팅 답변 저장, 대화 기록 저장
소스 레이블 AI 생성 또는 수동 주제 레이블; 소스 멤버십 추가/제거; 레이블별 소스 필터링
연구 웹 및 Drive 연구 에이전트(빠름/심층 모드) 자동 가져오기 포함
공유 공개/비공개 링크, 사용자 권한(뷰어/편집자), 보기 수준 제어

콘텐츠 생성 (모든 아티팩트 유형)

유형 옵션 다운로드 형식
오디오 개요 4가지 형식(심층 분석, 요약, 비평, 토론), 3가지 길이, 50개 이상 언어 MP3/MP4
비디오 개요 3가지 형식(설명, 요약, 시네마틱), 9가지 시각적 스타일, 전용 cinematic-video CLI 별칭 포함 MP4
슬라이드 데크 상세 또는 발표자 형식, 조정 가능한 길이; 개별 슬라이드 수정 PDF, PPTX
인포그래픽 3가지 방향, 3가지 세부 수준 PNG
퀴즈 구성 가능한 수량 및 난이도 JSON, Markdown, HTML
플래시카드 구성 가능한 수량 및 난이도 JSON, Markdown, HTML
보고서 브리핑 문서, 학습 가이드, 블로그 게시물 또는 사용자 정의 프롬프트 Markdown
데이터 테이블 자연어를 통한 사용자 정의 구조 CSV
마인드 맵 계층적 노드 트리 — 두 가지 종류: 노트 기반 JSON 또는 최신 대화형 스튜디오 맵 (--kind / MindMapKind) JSON

웹 UI를 넘어서는 기능

이러한 기능은 API/CLI를 통해 사용할 수 있지만 NotebookLM의 웹 인터페이스에서는 노출되지 않습니다:

  • 일괄 다운로드 - 한 번에 한 유형의 모든 아티팩트 다운로드
  • 퀴즈/플래시카드 내보내기 - 구조화된 JSON, Markdown 또는 HTML 가져오기(웹 UI는 대화형 보기만 제공)
  • 마인드 맵 데이터 추출 - 시각화 도구를 위한 계층적 JSON 내보내기
  • 데이터 테이블 CSV 내보내기 - 구조화된 테이블을 스프레드시트로 다운로드
  • PPTX 형식의 슬라이드 데크 - 편집 가능한 PowerPoint 파일 다운로드(웹 UI는 PDF만 제공)
  • 슬라이드 수정 - 자연어 프롬프트로 개별 슬라이드 수정
  • 보고서 템플릿 사용자 정의 - 내장 형식 템플릿에 추가 지침 추가
  • 채팅을 노트로 저장 - Q&A 답변 또는 대화 기록을 노트북 노트로 저장
  • 소스 전체 텍스트 액세스 - 모든 소스의 인덱싱된 텍스트 콘텐츠 검색
  • 프로그래매틱 공유 - UI 없이 권한 관리
  • 다중 계정 프로필 - 재인증 없이 Google 계정 간 전환
  • 브라우저 쿠키 가져오기 - Playwright를 실행하는 대신 기존 브라우저 세션의 쿠키 재사용

설치

전체 설치 가이드(6가지 사용자 유형(에이전트, 최종 사용자, 라이브러리, 헤드리스, 기여자, 고급 사용자), 선택적 확장 매트릭스, 플랫폼 참고 사항)는 docs/installation.md에 있습니다.

가장 빠른 시작 (CLI 사용자 및 AI 에이전트) — uv tool (권장) 또는 pipx로 CLI 설치:

uv tool install "notebooklm-py[browser]"   # 또는: pipx install "notebooklm-py[browser]"
notebooklm login                           # 첫 실행 시 Chromium 자동 다운로드 (~170 MB), 이후 Google 로그인
notebooklm auth check --test --json        # 확인: "status": "ok" 예상

uv tool / pipx인가? 자체 격리된 환경에 CLI를 설치하고 notebooklmPATH에 추가합니다. 다른 도구와의 종속성 충돌이 없고, 한 줄 업그레이드(uv tool upgrade notebooklm-py) 또는 제거가 가능하며, 결정적으로 최신 macOS(Homebrew Python) 및 Debian/Ubuntu에서 시스템 전체 pip installerror: externally-managed-environment (PEP 668)로 차단되는 경우에도 작동합니다. uv가 아직 없나요? curl -LsSf https://astral.sh/uv/install.sh | sh (또는 brew install uv / winget install astral-sh.uv).

일반 pip를 선호하시나요? 가상 환경 내에서 동일하게 작동합니다(Windows에서는 Python이 외부 관리되지 않으므로 직접 작동):

python3 -m venv.venv && source.venv/bin/activate   # Windows:.venv\Scripts\activate
pip install "notebooklm-py[browser]"

라이브러리로 사용 (앱에 포함 — Playwright, Chromium 불필요):

uv add notebooklm-py                    # 또는 가상 환경 내: pip install notebooklm-py

Linux에서 playwright install chromiumTypeError: onExit is not a function 오류로 실패하면 Linux 해결 방법을 참조하세요. 기여자: CONTRIBUTING.md를 참조하세요.

빠른 시작

<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분 세션을 30초로 압축</em> </p>

CLI

# 1. 인증 (브라우저 열림)
notebooklm login
# 또는 Microsoft Edge 사용 (SSO에 Edge가 필요한 조직용)
# notebooklm login --browser msedge
# 또는 이미 로그인된 브라우저 세션의 쿠키 재사용
# notebooklm login --browser-cookies chrome
# notebooklm login --browser-cookies 'chrome::Profile 1'  # 하나의 Chromium 프로필
# (--profile과 결합하여 특정 프로필 채우기;
#  여러 Google 계정이 로그인된 경우 auth inspect 후 --account / --all-accounts 사용)

# 2. 노트북 생성 및 소스 추가
notebo

[...생략...]

원본 저장소: teng-lin/notebooklm-py

라이선스: MIT

게재 제외를 원하시면 삭제 요청을 보내주세요.