Blog NotebookLM – Quellengestützte Recherche aus Ihren Dokumenten
Durchsuchen Sie Google NotebookLM-Notebooks direkt von Claude Code nach quellengestützten Antworten von Gemini. Jede Frage öffnet eine automatisierte Browsersitzung, ruft die Antwort ausschließlich aus Ihren hochgeladenen Dokumenten ab und schließt die Sitzung. Antworten sind von Stufe 1 (eigene Primärquellen des Benutzers) – kein Halluzinationsrisiko.
Kurzreferenz
| Befehl | Funktion |
|---|---|
/blog notebooklm ask <Frage> | Ein Notebook nach quellengestützten Antworten durchsuchen |
/blog notebooklm discover <URL> | Notizbuchinhalte vor dem Katalogisieren intelligent erkennen |
/blog notebooklm library list | Alle Notebooks in der Bibliothek auflisten |
/blog notebooklm library add <URL> | Ein Notebook zur Bibliothek hinzufügen |
/blog notebooklm library search <Suchanfrage> | Notebooks nach Stichwort durchsuchen |
/blog notebooklm library remove <ID> | Ein Notebook aus der Bibliothek entfernen |
/blog notebooklm setup | Einmalige Google-Authentifizierung (Browser sichtbar) |
/blog notebooklm status | Authentifizierungsstatus prüfen |
/blog notebooklm cleanup | Browser-Zustand bereinigen (Bibliothek bleibt erhalten) |
Voraussetzungen
- Google-Konto mit NotebookLM-Zugang
- Python 3.11+ (venv wird automatisch von
run.pyverwaltet) - Google Chrome (wird bei der ersten Ausführung automatisch über Patchright installiert)
- Einmalige Authentifizierungseinrichtung (interaktives Google-Login im sichtbaren Browser)
Immer den run.py-Wrapper verwenden
NIEMALS Skripte direkt aufrufen. IMMER python3 scripts/run.py [Skript] verwenden:
# RICHTIG:
python3 scripts/run.py auth_manager.py status
python3 scripts/run.py ask_question.py --question "..."
# FALSCH – schlägt ohne venv fehl:
python3 scripts/auth_manager.py status
Der run.py-Wrapper erstellt automatisch .venv, installiert Abhängigkeiten, richtet Chrome ein und führt das Zielskript aus.
Authentifizierungsprüfung (Gate-Muster)
Führen Sie vor jeder Abfrage eine Authentifizierungsprüfung durch:
python3 scripts/run.py auth_manager.py status
- Wenn authentifiziert: mit der Abfrage fortfahren
- Wenn nicht authentifiziert: Benutzer informieren und zur Einrichtung führen:
„NotebookLM erfordert Google-Login. Führen Sie
/blog notebooklm setupaus, um sich zu authentifizieren.“ - Bei internem Aufruf (von blog-write oder blog-researcher): stillschweigend ohne Fehler zurückkehren, wenn nicht authentifiziert. Den Schreibworkflow niemals blockieren.
Einrichtungsworkflow
Für /blog notebooklm setup:
# Öffnet einen sichtbaren Browser für das manuelle Google-Login (einmalig)
python3 scripts/run.py auth_manager.py setup
Sagen Sie dem Benutzer: „Ein Browserfenster wird geöffnet. Bitte loggen Sie sich in Ihr Google-Konto ein.“ Die Authentifizierung bleibt über einen hybriden Ansatz (Browserprofil + Cookie-Injektion) erhalten.
Weitere Authentifizierungsbefehle:
python3 scripts/run.py auth_manager.py status # Authentifizierung prüfen
python3 scripts/run.py auth_manager.py reauth # Erneut authentifizieren
python3 scripts/run.py auth_manager.py clear # Alle Authentifizierungsdaten löschen
Abfrageworkflow
Für /blog notebooklm ask <Frage>:
Schritt 1: Authentifizierung prüfen
Authentifizierungsprüfung ausführen (siehe Gate-Muster oben). Wenn nicht authentifiziert, zur Einrichtung führen.
Schritt 2: Notizbuch ermitteln
Bestimmen, welches Notizbuch abgefragt werden soll:
- Wenn
--notebook-urlangegeben: direkt verwenden - Wenn
--notebook-idangegeben: in der Bibliothek nachschlagen - Wenn keines angegeben: aktives Notizbuch aus der Bibliothek verwenden
- Wenn kein aktives Notizbuch vorhanden: Bibliothek anzeigen und Benutzer bitten, eines auszuwählen
Schritt 3: Frage stellen
# Einfache Abfrage (verwendet aktives Notizbuch)
python3 scripts/run.py ask_question.py --question "Ihre Frage hier"
# Bestimmtes Notizbuch nach ID abfragen
python3 scripts/run.py ask_question.py --question "..." --notebook-id notizbuch-id
# Direkt nach URL abfragen
python3 scripts/run.py ask_question.py --question "..." --notebook-url "https://..."
# JSON-Ausgabe (für interne/programmatische Verwendung)
python3 scripts/run.py ask_question.py --question "..." --json
# Browser für Debugging anzeigen
python3 scripts/run.py ask_question.py --question "..." --show-browser
Schritt 4: Analysieren und Nachfassen
Jede Antwort endet mit einer Aufforderung zum Nachfassen. Erforderliches Verhalten:
- STOPP – nicht sofort auf den Benutzer antworten
- ANALYSIEREN – die Antwort mit der ursprünglichen Anfrage des Benutzers vergleichen
- LÜCKEN IDENTIFIZIEREN – feststellen, ob weitere Informationen benötigt werden
- NACHRAGEN – wenn Lücken vorhanden sind, sofort eine Folgefrage stellen
- WIEDERHOLEN – fortfahren, bis die Informationen vollständig sind
- SYNTHETISIEREN – alle Antworten kombinieren, bevor dem Benutzer geantwortet wird
Workflow zur intelligenten Erkennung
Für /blog notebooklm discover <URL>:
Wenn ein Notizbuch ohne Kenntnis seines Inhalts hinzugefügt wird, fragen Sie es zuerst ab:
# Schritt 1: Inhalt erkennen
python3 scripts/run.py ask_question.py \
--question "Was ist der Inhalt dieses Notizbuchs? Welche Themen werden behandelt? Geben Sie eine kurze, prägnante Gesamtübersicht" \
--notebook-url "<URL>"
# Schritt 2: Mit erkannten Metadaten hinzufügen
python3 scripts/run.py notebook_manager.py add \
--url "<URL>" \
--name "<Basierend auf Inhalt>" \
--description "<Basierend auf Inhalt>" \
--topics "<Extrahierte Themen>"
NIEMALS raten oder generische Beschreibungen verwenden. Immer erkennen oder den Benutzer fragen.
Bibliotheksverwaltung
# Alle Notebooks auflisten
python3 scripts/run.py notebook_manager.py list
# Notizbuch hinzufügen (alle Parameter erforderlich – erkennen oder Benutzer fragen!)
python3 scripts/run.py notebook_manager.py add \
--url "https://notebooklm.google.com/notebook/..." \
--name "Beschreibender Name" \
--description "Was dieses Notizbuch enthält" \
--topics "thema1,thema2,thema3"
# Nach Stichwort suchen
python3 scripts/run.py notebook_manager.py search --query "Stichwort"
# Aktives Notizbuch festlegen
python3 scripts/run.py notebook_manager.py activate --id notizbuch-id
# Notizbuch entfernen
python3 scripts/run.py notebook_manager.py remove --id notizbuch-id
# Bibliotheksstatistiken
python3 scripts/run.py notebook_manager.py stats
Interne API (für blog-write / blog-researcher)
Wenn sie als Task-Subagent von blog-write oder blog-researcher aufgerufen wird:
Eingabe (durch die aufrufende Fertigkeit bereitgestellt):
question: Zur Blog-Thematik relevante Recherchefragenotebook_idodernotebook_url: Welches Notizbuch abgefragt werden sollcontext: „internal“ (signalisiert den eleganten Fallback-Modus)
Prozess:
- Authentifizierungsstatus prüfen – wenn nicht authentifiziert, stillschweigend leeres Ergebnis zurückgeben
- Das Notizbuch mit der Recherchefrage abfragen
- Strukturierte Antwort parsen und zurückgeben
Ausgabe (an die aufrufende Fertigkeit zurückgegeben):
### NotebookLM-Recherche
- **Quelle:** [Notizbuchname]
- **Frage:** [Was gefragt wurde]
- **Antwort:** [Quellengestützte Antwort aus den Dokumenten des Benutzers]
- **Quellqualität:** Stufe 1 (vom Benutzer hochgeladene Primärdokumente)
Eleganter Fallback: Wenn die Authentifizierung fehlt oder die Abfrage fehlschlägt, sofort ohne Fehler zurückkehren. Der aufrufende Workflow wird mit WebSearch-basierter Recherche fortgesetzt. blog-write oder blog-rewrite niemals blockieren, weil NotebookLM nicht verfügbar ist.
Datenspeicherung
Alle Daten werden innerhalb des Fertigkeitsverzeichnisses gespeichert:
scripts/data/library.json– Notizbuch-Metadaten und Bibliothekscripts/data/auth_info.json– Authentifizierungsstatusscripts/data/browser_state/– Chrome-Profil mit Cookies
Sicherheit: Alle Datenverzeichnisse sind in .gitignore eingetragen. Authentifizierungs- oder Browserzustand niemals committen.
Fehlerbehandlung
| Fehler | Behebung |
|---|---|
| Nicht authentifiziert | /blog notebooklm setup ausführen |
| ModuleNotFoundError | Immer den run.py-Wrapper verwenden |
| Browserabsturz | cleanup_manager.py --confirm --preserve-library, dann erneut authentifizieren |
| Ratenlimit (50/Tag) | Bis Mitternacht PST warten oder Google-Konto wechseln |
| Notizbuch nicht gefunden | Mit notebook_manager.py list prüfen |
| Abfrage-Timeout (120s) | Mit einfacherer Frage oder --show-browser zum Debuggen wiederholen |
| MCP nicht verfügbar (intern) | Stillschweigend zurückkehren – Schreibworkflow verwendet WebSearch |
Einschränkungen
- Keine Sitzungspersistenz (jede Frage = neue Browsersitzung)
- Ratenlimits für kostenlose Google-Konten (50 Abfragen/Tag)
- Manueller Upload erforderlich (Benutzer muss Dokumente zur NotebookLM-Weboberfläche hinzufügen)
- Browser-Overhead (einige Sekunden pro Frage für Start und Abbau)
- Nur lokaler Claude Code (nicht in der Weboberfläche verfügbar)
Referenzdokumentation
Nicht alle auf einmal laden – nur bei Bedarf laden:
references/commands.md– Vollständige CLI-Befehle, Parameter und Workflow-Musterreferences/troubleshooting.md– Fehlerlösungen, Wiederherstellungsverfahren, Debugging