NotebookLM Zotero 가져오기
Zotero 컬렉션의 로컬 첨부 파일을 NotebookLM으로 가져옵니다. 결정론적 이름 지정, 재실행 안전 동작 및 기본 PDF 필터링을 제공합니다.
워크플로우를 인라인으로 다시 구현하지 말고 번들된 스크립트를 사용하세요.
전제 조건
가져오기 전에 다음 사항을 확인하세요:
nlm이 설치되어 있고PATH에 있어야 합니다.- Zotero 데이터가 로컬에 존재해야 합니다. 일반적으로
~/Zotero/zotero.sqlite및~/Zotero/storage에 위치합니다.
일반 사용 시 인증을 수동으로 미리 확인하지 마세요. 스크립트는 항상 먼저 nlm login --check를 실행하고, 세션이 없거나 만료된 경우 자동으로 nlm login을 실행합니다.
워크플로우
uv run으로 가져오기 도구를 실행합니다.
uv run ~/.codex/skills/notebooklm-zotero-import/scripts/import_zotero_to_notebooklm.py \
--collection "Limit Order Book" \
--notebook-base "LOB_TTT"
- 스크립트가 전체 워크플로우를 수행하도록 합니다:
nlm로그인 상태 확인 및 필요 시nlm login실행- Zotero SQLite를 읽기 전용 불변 모드로 열기
- 정확한 이름으로 컬렉션 찾기
- 하위 컬렉션 탐색
--title-match로 정규화된 제목 부분 문자열을 기준으로 Zotero 항목 선택적 좁히기- 각 첨부 파일을 Zotero 스토리지의 실제 파일로 확인
- NotebookLM이 지원하는 로컬 업로드 확장자만 유지; 기본값
pdf - 업로드를 최대 50개 파일의 노트북 샤드로 분할
- 같은 이름의 기존 노트북이 하나만 존재하면 재사용
- 정규화된 제목 및 파일 이름을 기준으로 대상 노트북에 이미 있는 파일 건너뛰기
nlm source add --file ... --wait를 통해 누락된 파일 업로드
스크립트는 NotebookLM의 공식 로컬 업로드 목록에 없는 확장자에 대해 즉시 실패합니다. 2026년 4월 21일 기준 해당 목록은 다음과 같습니다:
- 문서:
pdf,docx,txt,md,csv,pptx,epub - 이미지:
avif,bmp,gif,heic,heif,ico,jp2,jpe,jpeg,jpg,png,tif,tiff,webp - 오디오 및 미디어:
3g2,3gp,aac,aif,aifc,aiff,amr,au,avi,cda,m4a,mid,mp3,mp4,mpeg,ogg,opus,ra,ram,snd,wav,wma
이 세트 외부의 확장자(예: mlx)는 업로드 전에 로컬에서 거부됩니다.
- 최종 요약에서 다음 내용을 확인합니다:
- 사용된 노트북
- 업로드된 파일
- 이미 존재하여 건너뛴 파일
- 실패한 경우
이름 지정 규칙
- 컬렉션이 하나의 노트북에 들어갈 때는 기본 이름을 그대로 사용합니다.
- 컬렉션에 여러 노트북이 필요할 때는
_01,_02, ... 접미사를 사용합니다. - 대상 제목과 정확히 일치하는 노트북이 하나만 있을 때만 기존 노트북을 재사용합니다.
- Zotero 컬렉션 이름이 모호하거나 여러 노트북이 같은 제목을 공유하는 경우 추측하지 않고 실패합니다.
일반 명령어
컬렉션에서 기본 PDF 일치 항목 모두 가져오기:
uv run ~/.codex/skills/notebooklm-zotero-import/scripts/import_zotero_to_notebooklm.py \
--collection "Limit Order Book" \
--notebook-base "LOB_TTT"
컬렉션에서 특정 논문 PDF 가져오기:
uv run ~/.codex/skills/notebooklm-zotero-import/scripts/import_zotero_to_notebooklm.py \
--collection "Limit Order Book" \
--title-match "LiT: limit order book transformer" \
--notebook-base "LOB_TTT_single"
컬렉션에서 특정 항목의 PDF 및 기타 지원 첨부 유형 가져오기:
uv run ~/.codex/skills/notebooklm-zotero-import/scripts/import_zotero_to_notebooklm.py \
--collection "SGN.300" \
--title-match "Homework_4" \
--extension pdf \
--extension md \
--notebook-base "SGN300_hw4"
mlx와 같은 지원되지 않는 로컬 형식을 요청하면 스크립트가 명확한 검증 오류와 함께 즉시 중단됩니다.
기본이 아닌 NotebookLM 프로필 사용:
uv run ~/.codex/skills/notebooklm-zotero-import/scripts/import_zotero_to_notebooklm.py \
--collection "Limit Order Book" \
--title-match "DeepLOB" \
--notebook-base "LOB_TTT_deeplob" \
--profile default
로컬 Zotero 경로 재정의:
uv run ~/.codex/skills/notebooklm-zotero-import/scripts/import_zotero_to_notebooklm.py \
--collection "Limit Order Book" \
--notebook-base "LOB_TTT" \
--zotero-db ~/Zotero/zotero.sqlite \
--zotero-storage ~/Zotero/storage
리소스
scripts/import_zotero_to_notebooklm.py: 종단 간 가져오기 도구references/workflow.md: 동작 세부 정보, 일치 규칙 및 실패 조건