NotebookLM Zotero Import
Importiert lokale Anhänge einer Zotero-Sammlung in NotebookLM mit deterministischer Benennung, wiederholungssicherem Verhalten und standardmäßiger PDF-Filterung.
Verwende das gebündelte Skript anstatt den Workflow manuell neu zu implementieren.
Voraussetzungen
Überprüfe diese Bedingungen vor dem Import:
nlmist installiert und imPATH- Zotero-Daten existieren lokal, normalerweise unter
~/Zotero/zotero.sqliteund~/Zotero/storage
Die Authentifizierung muss im normalen Gebrauch nicht manuell vorab geprüft werden. Das Skript führt immer zuerst nlm login --check aus und startet nlm login automatisch, wenn die Sitzung fehlt oder abgelaufen ist.
Workflow
- Führe den Importer mit
uv runaus.
uv run ~/.codex/skills/notebooklm-zotero-import/scripts/import_zotero_to_notebooklm.py \
--collection "Limit Order Book" \
--notebook-base "LOB_TTT"
- Lass das Skript den gesamten Workflow durchführen:
- Überprüfen des
nlm-Login-Status und Ausführen vonnlm loginbei Bedarf - Öffnen der Zotero-SQLite-Datenbank im schreibgeschützten, unveränderlichen Modus
- Auflösen der Sammlung nach exaktem Namen
- Durchlaufen von Unterkollektionen
- Optionales Einschränken der Zotero-Elemente durch normalisierten Titelsubstring mit
--title-match - Auflösen jedes Anhangs zur echten Datei im Zotero-Speicher
- Behalten nur der von NotebookLM unterstützten lokalen Upload-Erweiterungen; standardmäßig
pdf - Aufteilen der Uploads in Notebook-Shards mit maximal 50 Dateien
- Wiederverwenden eines vorhandenen gleichnamigen Notebooks, wenn es eindeutig ist
- Überspringen von Dateien, die bereits im Ziel-Notebook vorhanden sind, basierend auf normalisierten Titeln und Dateinamen
- Hochladen fehlender Dateien mit
nlm source add --file ... --wait
Das Skript scheitert frühzeitig bei Erweiterungen, die nicht in der offiziellen Liste der lokalen Upload-Formate von NotebookLM enthalten sind. Stand 21. April 2026 umfasst diese Liste:
- Dokumente:
pdf,docx,txt,md,csv,pptx,epub - Bilder:
avif,bmp,gif,heic,heif,ico,jp2,jpe,jpeg,jpg,png,tif,tiff,webp - Audio und Medien:
3g2,3gp,aac,aif,aifc,aiff,amr,au,avi,cda,m4a,mid,mp3,mp4,mpeg,ogg,opus,ra,ram,snd,wav,wma
Erweiterungen außerhalb dieser Menge, wie mlx, werden lokal vor dem Upload abgelehnt.
- Lies die abschließende Zusammenfassung für:
- bearbeitete Notebooks
- hochgeladene Dateien
- als bereits vorhanden übersprungene Dateien
- Fehler, falls vorhanden
Namensregeln
- Verwende den Basisnamen unverändert, wenn die Sammlung in ein Notebook passt.
- Verwende Suffixe
_01,_02, ..., wenn die Sammlung mehrere Notebooks benötigt. - Verwende ein vorhandenes Notebook nur dann wieder, wenn genau ein Notebook den Ziel-Titel hat.
- Scheitere, anstatt zu raten, wenn der Zotero-Sammlungsname mehrdeutig ist oder mehrere Notebooks denselben Titel haben.
Häufige Befehle
Alle Standard-PDF-Übereinstimmungen einer Sammlung importieren:
uv run ~/.codex/skills/notebooklm-zotero-import/scripts/import_zotero_to_notebooklm.py \
--collection "Limit Order Book" \
--notebook-base "LOB_TTT"
Ein bestimmtes Papier als PDF aus einer Sammlung importieren:
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"
Ein bestimmtes Element als PDF und einen weiteren unterstützten Anhangstyp importieren:
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"
Wenn du ein nicht unterstütztes lokales Format wie mlx anforderst, stoppt das Skript sofort mit einer klaren Validierungsfehlermeldung.
Ein nicht-standardmäßiges NotebookLM-Profil verwenden:
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
Lokale Zotero-Pfade überschreiben:
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
Ressourcen
scripts/import_zotero_to_notebooklm.py: End-to-End-Importerreferences/workflow.md: Verhaltensdetails, Abgleichsregeln und Fehlerbedingungen