NotebookLM AI 플러그인
License: MIT
Claude Code
Artifacts
TypeScript
<img src="https://raw.githubusercontent.com/proyecto26/sherlock-ai-plugin/main/images/claude-mascot-jumping-animated.svg" width="150">
구글 NotebookLM의 전체 경험을 Claude Code, OpenClaw 및 셸 명령을 실행하는 모든 다른 AI 에이전트에게 가져오세요. 노트북 AI와 채팅하고, 9가지 유형의 아티팩트를 생성하며, 소스(URL, YouTube, 파일)를 관리하고, 빠르고 깊은 웹 리서치를 실행하며, 노트를 관리하세요. 단지 Claude에게 요청하기만 하면 됩니다.
빠른 시작 (Quick Start)
설치 (Installation)
표준 (Standards)
이 플러그인은 Agent Plugins v1.0.0 패키징 표준(루트의 plugin.json 파일 사용, 공식 스키마로 검증)을 따르며, 그 기능은 Agent Skills 사양(skills/notebooklm/SKILL.md)을 따릅니다. 또한 Claude Code에 네이티브하게 설치할 수 있도록 Claude Code 매니페스트 파일들(.claude-plugin/plugin.json, .claude-plugin/marketplace.json)도 함께 제공합니다. 두 개의 매니페스트 세트는 공존하는데, 포터블 클라이언트는 루트의 plugin.json을 읽고, Claude Code는 .claude-plugin/ 디렉토리를 읽습니다.
옵션 1: CLI 설치 (권장)
npx skills를 사용하여 스킬을 직접 설치하세요:
npx skills add proyecto26/notebooklm-ai-plugin
...
이 명령어는 자동으로 .claude/skills/ 디렉토리에 설치됩니다.
옵션 2: Claude Code 플러그인
Claude Code의 내장 플러그인 시스템을 통해 설치하세요:
/plugin marketplace add proyecto26/notebooklm-ai-plugin
...
옵션 3: 클론 및 복사
저장소(repo)를 클론하고 스킬 폴더를 복사하세요:
git clone https://github.com/proyecto26/notebooklm-ai-plugin.git
cp -r notebooklm-ai-plugin/skills/* .claude/skills/
옵션 4: Git Submodule
쉬운 업데이트를 위해 서브모듈로 추가하세요:
git submodule add https://github.com/proyecto26/notebooklm-ai-plugin.git .claude/notebooklm-ai-plugin
그리고 .claude/notebooklm-ai-plugin/skills/에서 스킬을 참조합니다.
옵션 5: 포크 및 사용자 지정 (Fork and Customize)
- 이 리포지토리를 포크(Fork)합니다.
- 특정 요구 사항에 맞게 스킬을 사용자 지정합니다.
- 포크한 내용을 프로젝트로 클론(Clone)합니다.
인증 (Authentication)
이 스킬을 처음 사용하는 경우, Google 로그인을 위해 Chrome이 열립니다. 쿠키는 이후 실행을 위해 캐시됩니다. Claude에게 다음과 같이 알려주기만 하면 됩니다:
"Log me into NotebookLM"
첫 번째 아티팩트 생성 (Generate Your First Artifact)
인증을 완료한 후에는 원하는 것만 설명하면 됩니다:
"Add this notebook https://notebook.google.com/notebook/YOUR_ID and generate a study guide from it"
그게 전부입니다. 스킬이 인증, 노트북 관리, 아티팩트 생성, 폴링(polling), 다운로드 등 모든 것을 처리합니다.
기능 (Features)
Notebook AI와 채팅하기 (Chat with Notebook AI)
질문하고 인용된 출처 기반의 답변을 얻으세요. 이는 NotebookLM 웹 UI에서 사용하던 것과 동일한 AI 채팅 경험이며, 이제 터미널에서도 사용할 수 있습니다.
9가지 아티팩트 유형 (9 Artifact Types)
| 유형 | 출력 | 설명 |
|---|
| Slide Deck | PDF / PPTX | 노트북 출처를 요약한 프레젠테이션 슬라이드 |
| ... | | |
출처 관리 (Source Management)
Claude Code에서 노트북 출처를 직접 추가하고 관리할 수 있습니다. 브라우저로 전환할 필요가 없습니다.
- URL / 웹사이트: 모든 웹 페이지를 출처로 추가합니다.
- YouTube: 비디오 스크립트를 출처로 추가합니다.
- 파일 업로드: PDF, TXT, MD, DOCX, CSV, EPUB, 이미지, 오디오, 비디오
- 붙여넣은 텍스트: 사용자 지정 제목과 함께 텍스트 콘텐츠를 추가합니다.
- 목록 보기 / 삭제: 기존 출처를 보고 관리할 수 있습니다.
빠르고 심층적인 리서치 (Fast & Deep Research)
노트북에 직접 피드되는 웹 리서치를 실행합니다:
- 빠른 검색 (Fast Research): 신속한 웹 검색으로 몇 초 만에 관련 출처를 찾습니다.
- 심층 검색 (Deep Research): 전체 마크다운 보고서와 함께 포괄적인 분석을 제공합니다.
- 자동 가져오기 (Auto-Import): 발견된 출처를 노트북에 자동으로 추가합니다.
노트 관리 (Notes Management)
노트북 내에서 노트를 프로그래밍 방식으로 생성, 업데이트 및 삭제할 수 있습니다.
사용 예시
Claude에게 필요한 내용을 설명하기만 하면 됩니다. 스킬이 자동으로 작동합니다:
"내 NotebookLM 노트북의 주요 발견 사항은 무엇인가요?"
노트북 AI와 채팅하며 출처 기반 답변과 인용문을 반환합니다.
"이 YouTube 비디오를 내 노트북에 추가해 줘: https://youtube.com/watch?v=..."
해당 비디오 스크립트를 활성 노트북의 소스로 추가합니다.
"내 연구 논문 paper.pdf를 노트북에 업로드하고 학습 가이드를 생성해 줘"
파일을 업로드한 후, 학습 가이드 형식으로 마크다운 보고서를 생성합니다.
"'AI 에이전트 프레임워크 2026'에 대한 심층 리서치를 실행하고 결과를 가져와 줘"
심층 웹 리서치를 시작하고 완료를 기다린 후, 소스를 노트북에 가져옵니다.
"기계 학습에 관한 내 NotebookLM 노트북에서 슬라이드 덱을 생성해 줘"
노트북의 소스들을 바탕으로 PDF/PPTX 프레젠테이션을 만듭니다.
"내 연구 논문들에 대한 심층 오디오 개요를 만들어 줘"
장편 팟캐스트 스타일의 M4A 오디오 토론을 생성합니다.
"주요 발견 사항을 강조하는 인포그래픽 초상을 만들어 줘"
세로 방향의 PNG 인포그래픽을 제작합니다.
"주요 내용을 요약하여 '핵심 시사점'이라는 이름의 노트를 만들어 줘"
지정된 내용으로 노트북에 새 노트를 생성합니다.
설정 (Configuration)
환경 변수 (Environment Variables)
| 변수 | 설명 |
|---|
NOTEBOOKLM_DATA_DIR | 데이터 디렉토리 재정의 |
| ... | |
사용량 제한 (Rate Limits)
NotebookLM 무료 등급 제한 사항:
| 리소스 | 제한 횟수 |
|---|
| 오디오/비디오 개요 | 일일 3회 |
| ... | |
프로젝트 구조 (Project Structure)
notebooklm-ai-plugin/
├── .claude-plugin/
│ ├── plugin.json # 플러그인 매니페스트
...
전체 CLI 명령어 및 스크립트 사용 세부 정보는 skills/notebooklm/SKILL.md를 참조하십시오.
아키텍처 (Architecture)
graph TB
subgraph "Claude Code"
A["사용자 프롬프트"] --> B["NotebookLM 스킬"]
...
하이브리드 방식(Hybrid approach): Chrome DevTools Protocol (CDP)이 Google 인증을 한 번 처리하고, 이후 모든 작업은 직접적인 batchexecute RPC 호출을 사용합니다. 따라서 아티팩트 생성 시 브라우저 오버헤드가 없습니다.
작동 방식 (How It Works)
sequenceDiagram
participant U as User
participant C as Claude Code
...
batchexecute RPC 프로토콜
이 플러그인은 Google의 내부 batchexecute 프로토콜을 통해 NotebookLM과 통신합니다. 이는 Google 웹 앱 전반에 걸쳐 사용되는 시스템입니다. 각 작업은 난독화된 RPC 메서드 ID에 매핑됩니다:
| 작업 (Operation) | RPC ID |
|---|
| 목록 가져오기 (List Notebooks) | wXbhsf |
| ... | |
Mind Map을 제외한 모든 9가지 아티팩트 유형은 서로 다른 타입 코드를 가진 통합된 CREATE_ARTIFACT RPC를 사용합니다. 이 플러그인은 응답 파싱, 오류 감지 및 anti-XSSI 응답 형식을 자동으로 처리합니다.
쿠키 관리 (Cookie Management)
쿠키는 플랫폼 인식적인 위치에 저장됩니다:
| 플랫폼 (Platform) | 경로 (Path) |
|---|
| Windows | %APPDATA%/notebooklm-ai/cookies.json |
| ... | |
이 플러그인은 Chrome DevTools Protocol을 통해 모든 Google 도메인 쿠키(30개 이상)를 캡처합니다. 이는 Google의 비활성 로그인 확인(passive login check)이 표준 인증 세트를 넘어선 쿠키까지 검증하기 때문에 필수적입니다.
알려진 제한 사항 (Known Limitations)
- 오디오/비디오/슬라이드 다운로드: 이러한 스트리밍 미디어 유형은 NotebookLM 서버에서 성공적으로 생성되지만, 자동 다운로드는 브라우저 수준의 쿠키 처리가 필요합니다. 플러그인은 수동 브라우저 다운로드를 위한 아티팩트 URL을 반환합니다. 정적 미디어(인포그래픽, 보고서)는 자동으로 다운로드됩니다.
- 데이터 테이블: 유형 9 아티팩트의 매개변수 구조는 여전히 리버스 엔지니어링(reverse-engineering) 중입니다.
- 호스트: 이 스킬은
notebook.google.com을 대상으로 하며, notebook.google.com과 notebooklm.google.com 두 가지 노트북 URL을 모두 허용합니다. 호스트를 재정의하려면 NOTEBOOKLM_BASE_URL을 설정하세요.
- RPC 메서드 ID/페이로드: Google은 언제든지 이를 변경할 수 있습니다. 와이어 모양(wire shapes)은 단위 테스트(
cd skills/notebooklm && npx -y bun test tests/unit)와 라이브 테스트(npx -y bun test tests/live.test.ts)를 통해 고정됩니다. "method ID may have changed" 또는 INVALID_ARGUMENT 오류로 호출이 실패하면, scripts/rpc-types.ts를 notebooklm-py 및 notebooklm-sdk 프로젝트와 비교하세요.
🌟 Star History
Star History Chart
이 프로젝트는 무료 오픈 소스입니다. 스폰서는 이 프로젝트가 유지되고 성장하는 데 도움을 줍니다.
스폰서 되기 | 후원 프로그램
🤝 기여(Contribution)
이 저장소에 기여할 때는, 변경하고자 하는 내용을 먼저 이슈(issue), 이메일 또는 기타 방법을 통해 이 저장소의 소유자들과 논의한 후 작업을 진행해 주세요.
기여는 오픈 소스 커뮤니티를 배우고, 영감을 얻고, 창조하는 놀라운 장소로 만드는 원동력입니다. 여러분이 하는 모든 기여는 대단히 감사합니다 ❤️.
어떻게 이 프로젝트에 기여할 수 있는지에 대한 자세한 내용은 기여 가이드를 참고하세요.
⚖️ 라이선스(License)
이 저장소는 MIT License 하에서 이용 가능합니다.
👍 크레딧(Credits)
즐거운 분위기의 코딩 (Happy Vibe Coding) 💯
제작: Proyecto 26 - 작은 기여로 세상을 변화시키세요.
한 손으로도 위대한 일을 해낼 수 있지만, 많은 힘을 합치면 우주 너머까지 갈 수 있습니다! 🌌
함께하면 더 많이 하고, 함께일수록 더 위대합니다. ❤️ <img width="150px" src="https://avatars0.githubusercontent.com/u/28855608?s=200&v=4" align="right">