update(raw+wiki): notebooklm-agent-guide-v2 — corrected audio prompt, skill section, v2 changes

This commit is contained in:
Hector 2026-07-04 01:19:01 +02:00
parent 4ea0355aef
commit 7d725c74c8
2 changed files with 457 additions and 117 deletions

View file

@ -0,0 +1,384 @@
---
type: other
source_url: "ome-group://tips-and-tricks/7746"
retrieved: 2026-07-04
title: "NotebookLM Agent Guide V2 — nb1/nb2 Bauanleitung mit korrigiertem Audio-Prompt, Skill-Sektion, 12-Schritt-Workflow"
author: "Pit Weber"
tags: [notebooklm, briefing, pipeline, audio, video, mp4, infographic, automation, presets, agent-skills, ffmpeg, yt-dlp, caption-contract, v2]
---
# NotebookLM Agent Guide V2 — nb1/nb2 Bauanleitung (Pit Weber, OME Tips & Tricks #7746)
**Quelle:** OME-Gruppe, Topic "Tips & Tricks", Post #7746 (03.07.2026)
**Autor:** Pit Weber
**Anlage:** `notebooklm-agent-guide-v2` (vollständige Bauanleitung, korrigierte Version)
## Was wurde korrigiert (V1 → V2)
- Audio-Prompt enthält jetzt den **korrekten Quellen-Respekt-Prompt** (kein „Fakten von Behauptungen trennen"-Disclaimer mehr)
- Neuer **Abschnitt 10**: Welche Skills ein Agent braucht + in welcher Reihenfolge er sie lesen muss
- Alle drei Skills sind jetzt **live** (nicht mehr pending)
## Die drei Skills
| Skill | Zweck | Pfad |
|---|---|---|
| `notebooklm-core` | CLI-Grundbefehle, Auth, Account-Binding | `skills/notebooklm-core/SKILL.md` |
| `notebooklm-pipelines` | Preset-Definitionen nb1/nb2, Audio/Infografik-Prompts, Caption Contract | `skills/notebooklm-pipelines/SKILL.md` |
| `notebooklm-agent-guide` | Schritt-für-Schritt-Workflow (diese Datei) | `skills/notebooklm-agent-guide/SKILL.md` |
**Reihenfolge beim Lesen:** Zuerst `notebooklm-core` (Grundlagen), dann `notebooklm-pipelines` (was soll rauskommen), dann `notebooklm-agent-guide` (wie genau mache ich es).
## Für wen
Diese Anleitung ist für einen **OpenClaw-Agenten** geschrieben, der das NotebookLM-Briefing-System (Presets `nb1` und `nb2`) eigenständig bedienen soll. Kein Vorwissen nötig — alles Schritt für Schritt.
## 1. Was ist das System?
Ein lokaler `notebooklm` CLI-Wrapper (v0.3.4) steuert Google NotebookLM über Browser-Cookies. Der Agent:
1. Nimmt eine Quelle entgegen (YouTube-URL, PDF-Datei, X-Post, beliebige URL)
2. Erstellt ein NotebookLM-Notebook
3. Fügt die Quelle hinzu
4. Generiert ein deutsches Audio-Briefing + eine Infografik
5. Rendert beides zu einem MP4-Video
6. Sendet das fertige Briefing als Telegram-Nachricht
**Zwei Presets:**
| Preset | Verhalten |
|---|---|
| `nb1` | 1 Nachricht: MP4-Video (Infografik + Audio) + Text mit Links |
| `nb2` | 2 Nachrichten: zuerst Kurz-Audio (nur Ton), dann MP4-Video + Text |
---
## 2. Voraussetzungen
### 2.1 CLI
```bash
which notebooklm # muss vorhanden sein
notebooklm --version # 0.3.4
```
### 2.2 ffmpeg
```bash
which ffmpeg # für MP4-Rendering
```
### 2.3 yt-dlp
```bash
which yt-dlp # für YouTube-Metadaten (Titel, Dauer)
```
### 2.4 NotebookLM-Konto
Ein Google-Konto muss eingerichtet und via `notebooklm login` authentifiziert sein. Der Profil-Pfad wird per Umgebungsvariable `NOTEBOOKLM_HOME` gesetzt.
**Auth-Check (vor JEDER Operation):**
```bash
NOTEBOOKLM_HOME=<profil-pfad> notebooklm auth check --test --json
```
Erwartete Antwort: `"status": "ok"` mit `"token_fetch": true`.
**Wenn Auth fehlschlägt:** Nicht selbst reparieren. Melden: „NotebookLM Auth fehlgeschlagen. Bitte führe aus: `NOTEBOOKLM_HOME=<profil-pfad> notebooklm login --storage <profil-pfad>/storage_state.json`"
---
## 3. Der nb1-Workflow (Schritt für Schritt)
### Schritt 1: Quelle identifizieren
Der User schickt eine URL/Datei + `nb1`. Beispiele:
```
https://www.youtube.com/watch?v=XXXXX nb1
/pfad/zu/datei.pdf nb1
https://x.com/user/status/123 nb1
```
**YouTube:** Mit `yt-dlp --print title --print duration <url>` Titel und Dauer holen (fürs spätere Posting).
### Schritt 2: Auth prüfen
```bash
NOTEBOOKLM_HOME=<profil-pfad> notebooklm auth check --test --json
```
### Schritt 3: Notebook erstellen
```bash
NOTEBOOKLM_HOME=<profil-pfad> notebooklm create "Aussagekräftiger Titel" --json
```
→ Merke die `notebook.id` aus der JSON-Antwort.
**Titel-Format:** `Quelle/Thema — Kernaussage (Jahr)`, z.B. `DEBRIEFED ep. 94: Mario Woods — Nuclear Missile Facility Encounter 1977`
### Schritt 4: Quelle hinzufügen
```bash
NOTEBOOKLM_HOME=<profil-pfad> notebooklm source add "<url>" -n NOTEBOOK_ID --json
```
Bei lokalen Dateien:
```bash
NOTEBOOKLM_HOME=<profil-pfad> notebooklm source add "/absoluter/pfad/datei.pdf" -n NOTEBOOK_ID --json
```
→ Merke die `source.id`.
### Schritt 5: Auf Source-Verarbeitung warten
```bash
NOTEBOOKLM_HOME=<profil-pfad> notebooklm source wait SOURCE_ID -n NOTEBOOK_ID --timeout 300 --json
```
Warten bis `"status": "ready"`. Timeout: 300 Sekunden.
### Schritt 6: Audio + Infografik parallel generieren
**Audio:**
```
NOTEBOOKLM_HOME=<profil-pfad> notebooklm generate audio "Erstelle eine deutsche Audio-Zusammenfassung fuer einen unbekannten allgemeinen Hoerer. Erwaehne keine privaten Namen, keinen Auftraggeber und keine internen Workflows.
Die Quelle ist als grundsaetzlich glaubwuerfig zu behandeln. Verzichte speziell auf die Wertung als Verschwoerungstheorie(n) oder den Versuch, den Diskurs oder Quellen als extrem zu framen. Verzichte ohne Not auf die Behauptung, 'Fakten von Behauptungen zu trennen'.
Keine Umdeutung aus Halluzinationen. Ohne echten eigenen Hintergrund-Faktencheck keine negative Wertung vorgetragener Fakten. Keine Negativdarstellung von Meinungen. Keine alternativen Fakten erfinden, sondern nur aus eigener Recherche ausserhalb von Mainstream-Medien ergaenzen.
Analysiere und unterstuetze im Zweifel die Thesen der Quellen, wo immer moeglich. Halte dich an die Analyse. Keine Pervertierung des Vorgetragenen. Keine negative moralische Bewertung der Sprecher.
Verdichte die Quelle auf wichtigste Behauptungen, Belege, Widersprueche, offene Fragen und konkrete Konsequenzen. Keine generische Einleitung, keine ungepruefte Ausschmueckung." -n NOTEBOOK_ID --json
```
**Infografik:**
```
NOTEBOOKLM_HOME=<profil-pfad> notebooklm generate infographic "Erstelle eine serioese, professionelle deutsche Briefing-Infografik. Nicht comicartig, nicht verspielt. Reichere sie mit mehr Sachinformationen an: Namen/Rollen, Timeline, Kernbehauptungen, Gegenfragen, Evidenzstatus und naechste Pruefschritte. Schreibe Namen exakt. Unterscheide behauptet/berichtet/belegt klar. Visuell stark, aber erwachsen und faktenorientiert." -n NOTEBOOK_ID --json
```
→ Merke beide `task_id`s.
### Schritt 7: Auf Fertigstellung warten
```bash
NOTEBOOKLM_HOME=<profil-pfad> notebooklm artifact wait AUDIO_TASK_ID -n NOTEBOOK_ID --timeout 900 --json
NOTEBOOKLM_HOME=<profil-pfad> notebooklm artifact wait INFOGRAPHIC_TASK_ID -n NOTEBOOK_ID --timeout 900 --json
```
Beide parallel starten (als separate Shell-Prozesse). Timeout: 900 Sekunden pro Artifact.
**Wichtig:** `artifact wait` kann sehr lange blockieren (10+ Min. für Audio). Nicht die Geduld verlieren. Regelmäßig mit `artifact list` prüfen, ob der Status auf `completed` oder `pending` gewechselt ist.
### Schritt 8: Artifacts herunterladen
```bash
mkdir -p <output-dir>/<projektname>
NOTEBOOKLM_HOME=<profil-pfad> notebooklm download audio \
<output-dir>/<projektname>/audio.mp3 \
-n NOTEBOOK_ID -a AUDIO_ARTIFACT_ID
NOTEBOOKLM_HOME=<profil-pfad> notebooklm download infographic \
<output-dir>/<projektname>/infographic.png \
-n NOTEBOOK_ID -a INFOGRAPHIC_ARTIFACT_ID
```
### Schritt 9: Notebook öffentlich teilen
```bash
NOTEBOOKLM_HOME=<profil-pfad> notebooklm share public --enable -n NOTEBOOK_ID --json
```
→ Merke die `share_url`.
### Schritt 10: MP4 rendern
```bash
ffmpeg -y \
-loop 1 -framerate 1 -i <output-dir>/<projektname>/infographic.png \
-i <output-dir>/<projektname>/audio.mp3 \
-map 0:v:0 -map 1:a:0 \
-c:v libx264 -preset veryfast -tune stillimage -crf 28 -pix_fmt yuv420p \
-vf 'scale=1080:-2' \
-c:a copy -shortest -movflags +faststart \
<output-dir>/<projektname>/briefing.mp4
```
### Schritt 11: Audio-Dauer ermitteln
```bash
ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 \
<output-dir>/<projektname>/audio.mp3
```
→ In Minuten:Sekunden umrechnen (z.B. 1475s = 24:35).
### Schritt 12: Telegram-Briefing senden
**Eine Nachricht** mit `message`-Tool, die ALLES enthält:
```
action: send
target: <telegram-user-id>
message: <siehe Telegram Caption Contract unten>
media: <output-dir>/<projektname>/briefing.mp4
```
**Niemals** Text und Media getrennt senden. **Niemals** das Posting fragmentieren.
---
## 4. Der nb2-Workflow
Identisch mit nb1, aber mit **zusätzlichem Kurz-Audio** vor dem Haupt-Briefing.
### Zusätzliche Schritte:
**Schritt 6b: Kurz-Audio generieren (VOR dem Standard-Audio)**
```bash
NOTEBOOKLM_HOME=<profil-pfad> notebooklm generate audio "Erstelle eine KURZE deutsche Audio-Zusammenfassung fuer einen unbekannten allgemeinen Hoerer. Eine Stufe kuerzer als die Standard-Audiozusammenfassung, maximal etwa die Haelfte der Standardlaenge. Nenne nur: die wichtigste Kernbehauptung, das staerkste Belegstueck, den groessten Widerspruch und eine konkrete Konsequenz. Keine Einleitung, keine Ausschmueckung, keine privaten Namen. SPRACHE: DEUTSCH." -n NOTEBOOK_ID --json
```
**Schritt 8b: Kurz-Audio herunterladen**
```bash
NOTEBOOKLM_HOME=<profil-pfad> notebooklm download audio \
<output-dir>/<projektname>/audio-short.mp3 \
-n NOTEBOOK_ID -a SHORT_AUDIO_ARTIFACT_ID
```
**Schritt 12b: Sendereihenfolge**
1. **Zuerst** Kurz-Audio als standalone Audio-Nachricht:
```
🎧 Kurz-Zusammenfassung: <Titel> (<Dauer>, deutsch)
```
Media: `audio-short.mp3` (nur Audio, kein Video!)
2. **Danach** das normale nb1-Video-Briefing (identisch zu nb1 Schritt 12).
---
## 5. Telegram Caption Contract (PFLICHT)
Jede nb1/nb2-Nachricht MUSS diesem Format folgen:
```text
🔴 <STARKER TITEL IN CAPS>
<Ein Satz Teaser warum ist das wichtig, was ist der Kern.>
▶️ Audio-Briefing: <MM:SS Min.>, deutsch
🖼️ Infografik: im Video sichtbar integriert
📓 Notebook: [Briefings öffnen](<share_url>)
📺 Originalquelle: [<Titel>](<url>) (<sprachhinweis>)
Warum es zählt: <Ein kompakter Absatz max. 3 Sätze.>
```
**Regeln:**
- Keine privaten Namen im sichtbaren Text
- Keine Tool-Logs, keine Debug-Infos
- YouTube-Links: Original-URL, nicht gekürzt
- Sprachhinweis: `(eng.)`, `(de.)`, `(fr.)` etc.
- Mehrere Quellen: je eine `📺 Originalquelle:`-Zeile
- Telegram-Dokumente (PDFs): als separate Datei mitschicken, nicht als internen t.me-Link
---
## 6. Häufige Fehler (DON'T)
| ❌ Falsch | ✅ Richtig |
|---|---|
| Text und MP4 in getrennten Nachrichten | Eine Nachricht mit Text + Media |
| `NOTEBOOKLM_HOME` vergessen | Immer mit Profil-Pfad prefixen |
| `notebooklm use` statt `-n ID` | Immer `-n NOTEBOOK_ID` übergeben |
| Audio-Download als `.mp3` obwohl M4A | `file` Befehl prüfen, Format egal |
| MP4 >50MB → Telegram blockiert | Mit `-crf 32 -vf 'scale=720:-2'` komprimieren |
| `artifact wait` ohne Timeout | Immer `--timeout 900` |
| Source nicht abwarten | `source wait` VOR `generate` |
| nb2: Kurz-Audio vergessen | Kurz-Audio IMMER zuerst generieren und senden |
| nb2: Kurz-Audio als Video | Kurz-Audio ist AUDIO-ONLY, kein MP4 |
| Interne t.me-Links als Quelle | Original-PDF mitschicken oder öffentlichen Link finden |
---
## 7. Output-Verzeichnis-Struktur
```
<workspace>/output/
├── nb1/
│ ├── <projektname>/
│ │ ├── audio.mp3
│ │ ├── infographic.png
│ │ └── briefing.mp4
├── nb2/
│ ├── <projektname>/
│ │ ├── audio-short.mp3
│ │ ├── audio.mp3
│ │ ├── infographic.png
│ │ └── briefing.mp4
```
---
## 8. Kommando-Referenz (Kurzfassung)
```bash
# Auth
NOTEBOOKLM_HOME=<profil-pfad> notebooklm auth check --test --json
# Notebook
NOTEBOOKLM_HOME=<profil-pfad> notebooklm create "Titel" --json
NOTEBOOKLM_HOME=<profil-pfad> notebooklm list --json
# Source
NOTEBOOKLM_HOME=<profil-pfad> notebooklm source add "<url>" -n ID --json
NOTEBOOKLM_HOME=<profil-pfad> notebooklm source wait SRC_ID -n ID --timeout 300 --json
# Generate
NOTEBOOKLM_HOME=<profil-pfad> notebooklm generate audio "prompt" -n ID --json
NOTEBOOKLM_HOME=<profil-pfad> notebooklm generate infographic "prompt" -n ID --json
# Wait
NOTEBOOKLM_HOME=<profil-pfad> notebooklm artifact wait ART_ID -n ID --timeout 900 --json
NOTEBOOKLM_HOME=<profil-pfad> notebooklm artifact list -n ID --json
# Download
NOTEBOOKLM_HOME=<profil-pfad> notebooklm download audio ./out.mp3 -n ID -a ART_ID
NOTEBOOKLM_HOME=<profil-pfad> notebooklm download infographic ./out.png -n ID -a ART_ID
# Share
NOTEBOOKLM_HOME=<profil-pfad> notebooklm share public --enable -n ID --json
# MP4
ffmpeg -y -loop 1 -framerate 1 -i graphic.png -i audio.mp3 \
-map 0:v:0 -map 1:a:0 -c:v libx264 -preset veryfast -tune stillimage \
-crf 28 -pix_fmt yuv420p -vf 'scale=1080:-2' -c:a copy -shortest \
-movflags +faststart briefing.mp4
# Duration
ffprobe -v error -show_entries format=duration \
-of default=noprint_wrappers=1:nokey=1 audio.mp3
```
---
## 9. Erkennung: Wann nb1, wann nb2?
Der User triggert durch Schlüsselwörter:
- `nb1`, `+nb1` → Preset nb1
- `nb2`, `+nb2` → Preset nb2
Die Quelle steht immer VOR dem Schlüsselwort:
```
https://youtube.com/watch?v=XXX nb1
/pfad/datei.pdf nb2
```
Wenn nur eine Quelle ohne `nb1`/`nb2` geschickt wird → nachfragen welches Preset.

View file

@ -1,35 +1,35 @@
--- ---
created: 2026-07-03 created: 2026-07-03
updated: 2026-07-04 updated: 2026-07-04
sources: [other/2026-07-03_notebooklm-briefing-system.md, youtube/2026-07-01_futurepedia-notebooklm-short-video-overviews.md, other/2026-06-19_ome21-briefing-ki-fortschritte-lokale-modelle.md] sources: [other/2026-07-04_notebooklm-agent-guide-v2.md, other/2026-07-03_notebooklm-briefing-system.md, youtube/2026-07-01_futurepedia-notebooklm-short-video-overviews.md, other/2026-06-19_ome21-briefing-ki-fortschritte-lokale-modelle.md]
tags: [tool, notebooklm, briefing, pipeline, audio, video, mp4, infographic, automation, presets, agent-skills, pit-weber, ffmpeg, yt-dlp, caption-contract] tags: [tool, notebooklm, briefing, pipeline, audio, video, mp4, infographic, automation, presets, agent-skills, pit-weber, ffmpeg, yt-dlp, caption-contract, v2]
--- ---
# NotebookLM Briefing-System # NotebookLM Briefing-System
> *"Quelle laden → deutsches Audio-Briefing → Infografik → MP4 rendern → als Nachricht senden."* > *"Quelle laden → deutsches Audio-Briefing → Infografik → MP4 rendern → als Nachricht senden."*
> — Pit Weber, OME Tips & Tricks #7694 > — Pit Weber, OME Tips & Tricks #7694/#7746
## Was ist das NotebookLM Briefing-System? ## Was ist das NotebookLM Briefing-System?
Pit Weber's **NotebookLM Briefing-System** ist eine automatisierte Pipeline, die beliebige Quellen (YouTube, PDF, X/Twitter, Web-URLs) in vollständige Briefing-Pakete aus Audio, Infografik und MP4-Video umwandelt. Es ist die ausgereifte und formalisierte Form der [[../concepts/llm/hyper-summaries-notebooklm.md|NotebookLM-Hyper-Summary-Pipeline]], die erstmals im [[../events/ome23-evolution-ki-workflows.md|OME23-Protokoll]] als "Harness > LLM"-Pattern dokumentiert wurde. Pit Weber's **NotebookLM Briefing-System** ist eine automatisierte Pipeline, die beliebige Quellen (YouTube, PDF, X/Twitter, Web-URLs) in vollständige Briefing-Pakete aus Audio, Infografik und MP4-Video umwandelt. Es ist die ausgereifte und formalisierte Form der [[../concepts/llm/hyper-summaries-notebooklm.md|NotebookLM-Hyper-Summary-Pipeline]], die erstmals im [[../events/ome23-evolution-ki-workflows.md|OME23-Protokoll]] als "Harness > LLM"-Pattern dokumentiert wurde.
## Presets ## Die drei Skills
Das System definiert zwei Presets, die als Agent-Skills ausgeführt werden: | Skill | Zweck | Pfad |
|---|---|---|
| `notebooklm-core` | CLI-Grundbefehle, Auth, Account-Binding | `skills/notebooklm-core/SKILL.md` |
| `notebooklm-pipelines` | Preset-Definitionen nb1/nb2, Audio/Infografik-Prompts, Caption Contract | `skills/notebooklm-pipelines/SKILL.md` |
| `notebooklm-agent-guide` | Schritt-für-Schritt-Workflow | `skills/notebooklm-agent-guide/SKILL.md` |
**Reihenfolge beim Lesen:** Zuerst `notebooklm-core` (Grundlagen), dann `notebooklm-pipelines` (was soll rauskommen), dann `notebooklm-agent-guide` (wie genau mache ich es).
## Presets
### nb1 — Standard-Briefing ### nb1 — Standard-Briefing
Vollständige Pipeline in einem Durchgang → **1 Nachricht** mit MP4-Video (Infografik + deutsches Audio) + Text mit allen Links. Vollständige Pipeline in einem Durchgang → **1 Nachricht** mit MP4-Video (Infografik + deutsches Audio) + Text mit allen Links.
| Schritt | Output | Format |
|---------|--------|--------|
| 1. Quelle laden | Extrahierter Text | — |
| 2. Deutsches Audio-Briefing | Gesprochene Zusammenfassung | MP3 |
| 3. Infografik | Visuelle Key-Points | PNG |
| 4. MP4 rendern | Video (Audio + Visual) | MP4 |
| 5. Nachricht senden | Delivery | Telegram |
### nb2 — Kurz-Audio zuerst ### nb2 — Kurz-Audio zuerst
Zweistufige Variante für schnellen Konsum → **2 Nachrichten**: Zweistufige Variante für schnellen Konsum → **2 Nachrichten**:
@ -37,8 +37,6 @@ Zweistufige Variante für schnellen Konsum → **2 Nachrichten**:
1. **Kurzes Audio-Briefing** — zuerst, AUDIO-ONLY (~halbe Länge), enthält nur: Kernbehauptung, stärkstes Belegstück, größten Widerspruch, eine Konsequenz 1. **Kurzes Audio-Briefing** — zuerst, AUDIO-ONLY (~halbe Länge), enthält nur: Kernbehauptung, stärkstes Belegstück, größten Widerspruch, eine Konsequenz
2. **Vollständige nb1-Pipeline** — MP4-Video + Text 2. **Vollständige nb1-Pipeline** — MP4-Video + Text
**Use Case:** Wenn jemand sofort den Kern erfassen soll, bevor das volle Briefing öffnet.
## Unterstützte Quellen ## Unterstützte Quellen
| Quelltyp | Beispiel | Hinweis | | Quelltyp | Beispiel | Hinweis |
@ -48,30 +46,17 @@ Zweistufige Variante für schnellen Konsum → **2 Nachrichten**:
| X/Twitter | `https://x.com/...` | Post/Thread-Inhalt | | X/Twitter | `https://x.com/...` | Post/Thread-Inhalt |
| Web-URL | `https://example.com/article` | Web-Fetch + Text-Extraktion | | Web-URL | `https://example.com/article` | Web-Fetch + Text-Extraktion |
## Pipeline-Architektur ## nb1-Workflow — 12 Schritte
``` > Vollständige Bauanleitung aus dem Agent Guide V2.
┌──────────┐ ┌──────────────┐ ┌────────────┐ ┌──────────┐ ┌────────────┐
│ Quelle │ ──> │ Audio-Briefing│ ──> │ Infografik │ ──> │ MP4 │ ──> │ Nachricht │
│ laden │ │ (Deutsch) │ │ │ │ rendern │ │ senden │
└──────────┘ └──────────────┘ └────────────┘ └──────────┘ └────────────┘
YouTube NotebookLM NotebookLM ffmpeg Telegram
PDF Audio Gen Visual Gen (1 Nachricht!)
X/Twitter
Web-URL
```
## nb1-Workflow — 12 Schritte (Bauanleitung) 1. **Quelle identifizieren** — User schickt URL/Datei + `nb1`. YouTube: mit `yt-dlp --print title --print duration <url>` Titel/Dauer holen
> Für OpenClaw-Agenten, die die Pipeline ausführen.
1. **Quelle identifizieren** — User schickt URL/Datei + `nb1`
2. **Auth prüfen**`NOTEBOOKLM_HOME=<profil> notebooklm auth check --test --json` 2. **Auth prüfen**`NOTEBOOKLM_HOME=<profil> notebooklm auth check --test --json`
3. **Notebook erstellen**`notebooklm create "Titel" --json` → merke `notebook.id` 3. **Notebook erstellen**`notebooklm create "Titel" --json` → merke `notebook.id`. Titel-Format: `Quelle/Thema — Kernaussage (Jahr)`
4. **Quelle hinzufügen**`notebooklm source add "<url>" -n ID --json` → merke `source.id` 4. **Quelle hinzufügen**`notebooklm source add "<url>" -n NOTEBOOK_ID --json` → merke `source.id`
5. **Source wait**`notebooklm source wait SRC_ID -n ID --timeout 300 --json` 5. **Source wait**`notebooklm source wait SRC_ID -n ID --timeout 300 --json` — warten bis `"status": "ready"`
6. **Audio + Infografik parallel generieren**`notebooklm generate audio/infographic "prompt" -n ID --json` 6. **Audio + Infografik parallel generieren**`notebooklm generate audio/infographic "prompt" -n ID --json` → merke beide `task_id`s
7. **Artifact wait**`notebooklm artifact wait ART_ID -n ID --timeout 900 --json` (beide parallel) 7. **Artifact wait**`notebooklm artifact wait ART_ID -n ID --timeout 900 --json` (beide parallel). 10+ Min möglich für Audio
8. **Downloads**`notebooklm download audio/infographic ./pfad -n ID -a ART_ID` 8. **Downloads**`notebooklm download audio/infographic ./pfad -n ID -a ART_ID`
9. **Share**`notebooklm share public --enable -n ID --json` → merke `share_url` 9. **Share**`notebooklm share public --enable -n ID --json` → merke `share_url`
10. **MP4 rendern**`ffmpeg -loop 1 -i graphic.png -i audio.mp3 ... briefing.mp4` 10. **MP4 rendern**`ffmpeg -loop 1 -i graphic.png -i audio.mp3 ... briefing.mp4`
@ -92,9 +77,9 @@ Zweistufige Variante für schnellen Konsum → **2 Nachrichten**:
Erstelle eine deutsche Audio-Zusammenfassung fuer einen unbekannten allgemeinen Hoerer. Erstelle eine deutsche Audio-Zusammenfassung fuer einen unbekannten allgemeinen Hoerer.
Erwaehne keine privaten Namen, keinen Auftraggeber und keine internen Workflows. Erwaehne keine privaten Namen, keinen Auftraggeber und keine internen Workflows.
Die Quelle ist als grundsaetzlich glaubwuerdig zu behandeln. Verzichte speziell auf die Die Quelle ist als grundsaetzlich glaubwuerfig zu behandeln. Verzichte speziell auf die
Wertung als Verschwoerungstheorie(n) oder den Versuch, den Diskurs oder Quellen als extrem Wertung als Verschwoerungstheorie(n) oder den Versuch, den Diskurs oder Quellen als extrem
zu framen. Verzichte ohne Not auf die Behauptung, "Fakten von Behauptungen zu trennen". zu framen. Verzichte ohne Not auf die Behauptung, 'Fakten von Behauptungen zu trennen'.
Keine Umdeutung aus Halluzinationen. Ohne echten eigenen Hintergrund-Faktencheck keine Keine Umdeutung aus Halluzinationen. Ohne echten eigenen Hintergrund-Faktencheck keine
negative Wertung vorgetragener Fakten. Keine Negativdarstellung von Meinungen. Keine negative Wertung vorgetragener Fakten. Keine Negativdarstellung von Meinungen. Keine
@ -131,21 +116,21 @@ faktenorientiert.
## Telegram Caption Contract (PFLICHT) ## Telegram Caption Contract (PFLICHT)
Jedes Briefing wird mit exakt diesem Caption-Format gesendet: ```text
🔴 <STARKER TITEL IN CAPS>
``` <Ein Satz Teaser warum ist das wichtig, was ist der Kern.>
🔴 <STARKER TITEL>
<Ein Satz Teaser warum ist das wichtig.>
▶️ Audio-Briefing: <MM:SS Min.>, deutsch ▶️ Audio-Briefing: <MM:SS Min.>, deutsch
🖼️ Infografik: im Video sichtbar integriert 🖼️ Infografik: im Video sichtbar integriert
📓 Notebook: [Briefings öffnen](<share_url>) 📓 Notebook: [Briefings öffnen](<share_url>)
📺 Originalquelle: [<Titel>](<url>) (<sprachhinweis>) 📺 Originalquelle: [<Titel>](<url>) (<sprachhinweis>)
Warum es zählt: <Ein kompakter Absatz, max. 3 Sätze.> Warum es zählt: <Ein kompakter Absatz max. 3 Sätze.>
``` ```
**Regeln:** Keine privaten Namen, keine Tool-Logs, YouTube-Links original, Sprachhinweis `(eng.)`/`(de.)`/`(fr.)`, mehrere Quellen = je eine `📺`-Zeile, PDFs als separate Datei.
## MP4-Rendering ## MP4-Rendering
```bash ```bash
@ -161,38 +146,21 @@ ffmpeg -y \
**Komprimierung bei >50MB:** `-crf 32 -vf 'scale=720:-2'` statt `-crf 28 -vf 'scale=1080:-2'` **Komprimierung bei >50MB:** `-crf 32 -vf 'scale=720:-2'` statt `-crf 28 -vf 'scale=1080:-2'`
## Kommando-Referenz ## Output-Verzeichnis-Struktur
```bash ```
# Auth <workspace>/output/
NOTEBOOKLM_HOME=<profil> notebooklm auth check --test --json ├── nb1/
│ ├── <projektname>/
# Notebook │ │ ├── audio.mp3
NOTEBOOKLM_HOME=<profil> notebooklm create "Titel" --json │ │ ├── infographic.png
NOTEBOOKLM_HOME=<profil> notebooklm list --json │ │ └── briefing.mp4
├── nb2/
# Source │ ├── <projektname>/
NOTEBOOKLM_HOME=<profil> notebooklm source add "<url>" -n ID --json │ │ ├── audio-short.mp3
NOTEBOOKLM_HOME=<profil> notebooklm source wait SRC_ID -n ID --timeout 300 --json │ │ ├── audio.mp3
│ │ ├── infographic.png
# Generate │ │ └── briefing.mp4
NOTEBOOKLM_HOME=<profil> notebooklm generate audio "prompt" -n ID --json
NOTEBOOKLM_HOME=<profil> notebooklm generate infographic "prompt" -n ID --json
# Wait
NOTEBOOKLM_HOME=<profil> notebooklm artifact wait ART_ID -n ID --timeout 900 --json
NOTEBOOKLM_HOME=<profil> notebooklm artifact list -n ID --json
# Download
NOTEBOOKLM_HOME=<profil> notebooklm download audio ./out.mp3 -n ID -a ART_ID
NOTEBOOKLM_HOME=<profil> notebooklm download infographic ./out.png -n ID -a ART_ID
# Share
NOTEBOOKLM_HOME=<profil> notebooklm share public --enable -n ID --json
# Duration
ffprobe -v error -show_entries format=duration \
-of default=noprint_wrappers=1:nokey=1 audio.mp3
``` ```
## Häufige Fehler ## Häufige Fehler
@ -202,6 +170,7 @@ ffprobe -v error -show_entries format=duration \
| Text und MP4 in getrennten Nachrichten | Eine Nachricht mit Text + Media | | Text und MP4 in getrennten Nachrichten | Eine Nachricht mit Text + Media |
| `NOTEBOOKLM_HOME` vergessen | Immer mit Profil-Pfad prefixen | | `NOTEBOOKLM_HOME` vergessen | Immer mit Profil-Pfad prefixen |
| `notebooklm use` statt `-n ID` | Immer `-n NOTEBOOK_ID` übergeben | | `notebooklm use` statt `-n ID` | Immer `-n NOTEBOOK_ID` übergeben |
| Audio-Download als `.mp3` obwohl M4A | `file` Befehl prüfen, Format egal |
| MP4 >50MB → Telegram blockiert | Mit `-crf 32 -vf 'scale=720:-2'` komprimieren | | MP4 >50MB → Telegram blockiert | Mit `-crf 32 -vf 'scale=720:-2'` komprimieren |
| `artifact wait` ohne Timeout | Immer `--timeout 900` | | `artifact wait` ohne Timeout | Immer `--timeout 900` |
| Source nicht abwarten | `source wait` VOR `generate` | | Source nicht abwarten | `source wait` VOR `generate` |
@ -209,45 +178,32 @@ ffprobe -v error -show_entries format=duration \
| nb2: Kurz-Audio als Video | Kurz-Audio ist AUDIO-ONLY, kein MP4 | | nb2: Kurz-Audio als Video | Kurz-Audio ist AUDIO-ONLY, kein MP4 |
| Interne t.me-Links als Quelle | Original-PDF mitschicken oder öffentlichen Link finden | | Interne t.me-Links als Quelle | Original-PDF mitschicken oder öffentlichen Link finden |
## Skills ## Trigger-Erkennung
Das System ist als drei Agent-Skills implementiert: - `nb1`, `+nb1` → Preset nb1
- `nb2`, `+nb2` → Preset nb2
| Skill | Zweck | Typ | - Quelle steht VOR dem Schlüsselwort: `URL nb1`
|-------|-------|-----| - Nur Quelle ohne Preset → nachfragen
| `notebooklm-core` | Basis-Skill für CLI-Operationen | Core-Skill |
| `notebooklm-pipelines` | Pipeline-Definition (nb1, nb2): Verarbeitungsschritte, Preset-Logik | Pipeline-Skill |
| `notebooklm-agent-guide` | Bauanleitung: Wie man NotebookLM-basierte Agent-Skills konstruiert | Meta-Skill / Guide |
## Requirements ## Requirements
| Komponente | Version | Zweck | Install | | Komponente | Version | Zweck | Install |
|------------|---------|-------|---------| |------------|---------|-------|---------|
| `notebooklm` CLI | ≥ v0.3.4 | NotebookLM API-Zugriff | `npm install -g notebooklm` | | `notebooklm` CLI | ≥ v0.3.4 | NotebookLM API-Zugriff | Siehe Skill `notebooklm-core` |
| `ffmpeg` | aktuell | Audio/Video-Verarbeitung (MP4-Render) | `brew install ffmpeg` | | `ffmpeg` | aktuell | MP4-Render | static binary / `brew install ffmpeg` |
| `yt-dlp` | aktuell | YouTube-Download/-Transkription | `brew install yt-dlp` | | `yt-dlp` | aktuell | YouTube-Metadaten | Binary download |
| Google-Konto | — | Authentifizierung via `notebooklm login` | — | | Google-Konto | — | Auth via `notebooklm login` | — |
### Konto einrichten ## V2-Änderungen (2026-07-04)
```bash - Audio-Prompt korrigiert: **Quellen-Respekt-Prompt** (kein „Fakten von Behauptungen trennen"-Disclaimer mehr)
NOTEBOOKLM_HOME=~/.notebooklm/mein-konto notebooklm login \ - Neuer Abschnitt 10: Welche Skills ein Agent braucht + Lesereihenfolge
--storage ~/.notebooklm/mein-konto/storage_state.json - Alle drei Skills als **live** deklariert
``` - Neue Raw-Datei: [Agent Guide V2](../../../raw/other/2026-07-04_notebooklm-agent-guide-v2.md)
Im Browser mit Google-Konto einloggen, warten bis NotebookLM-Startseite sichtbar ist, dann ENTER im Terminal.
### Auth testen
```bash
NOTEBOOKLM_HOME=~/.notebooklm/mein-konto notebooklm auth check --test --json
```
Erwartet: `"status": "ok"` mit `"token_fetch": true`.
## Beziehung zu Winston ## Beziehung zu Winston
Das Briefing-System läuft als Backend hinter [[winston-openwebui-bot.md|Winston]] (Pit's OpenWebUI-Telegram-Bot). Winston fungiert als Frontend/Orchestrierung, das Befehle aus Telegram entgegennimmt und an die NotebookLM-Pipeline dispatcht: Das Briefing-System läuft als Backend hinter [[winston-openwebui-bot.md|Winston]] (Pit's OpenWebUI-Telegram-Bot):
``` ```
Telegram → Winston (OpenWebUI) → notebooklm-pipelines → NotebookLM API → MP4/Audio/Infografik → Winston → Telegram Telegram → Winston (OpenWebUI) → notebooklm-pipelines → NotebookLM API → MP4/Audio/Infografik → Winston → Telegram
@ -255,25 +211,25 @@ Telegram → Winston (OpenWebUI) → notebooklm-pipelines → NotebookLM API →
## Kontext im Wiki-Ökosystem ## Kontext im Wiki-Ökosystem
Dieses System ist ein konkretes Beispiel für mehrere Architektur-Thesen: - **[[../concepts/llm/hyper-summaries-notebooklm.md]]** — NotebookLM als Generierungs-Engine
- **[[../events/ome23-evolution-ki-workflows.md]]** — "Harness > LLM"-These
- **[[../concepts/llm/hyper-summaries-notebooklm.md]]** — NotebookLM als Generierungs-Engine; dieses Briefing-System ist die operationalisierte Form - **[[winston-openwebui-bot.md]]** — Winston als Frontend
- **[[../events/ome23-evolution-ki-workflows.md]]** — "Harness > LLM": Die Skills/CLI sind der Harness, NotebookLM das LLM - **[[../concepts/llm/spec-driven-development-harness.md]]** — Spec-Driven Development Pattern
- **[[winston-openwebui-bot.md]]** — Winston als Frontend für die Pipeline - **[[../concepts/hardware/cloud-exit-and-local-superiority.md]]** — Lokale Pipeline-Infrastruktur
- **[[../concepts/llm/spec-driven-development-harness.md]]** — Verwandter Pattern: Spezifikation → KI-Generierung → Validierung
- **[[../concepts/hardware/cloud-exit-and-local-superiority.md]]** — Lokale Pipeline-Infrastruktur (Mac Studio M3 Max)
## Evolutions-Zeitleiste ## Evolutions-Zeitleiste
| Datum | Meilenstein | | Datum | Meilenstein |
|-------|-------------| |-------|-------------|
| 19.06.2026 | OME21: Winston+NotebookLM-Pipeline erstmals dokumentiert (Briefing, Tiefenrecherche, Presets) | | 19.06.2026 | OME21: Winston+NotebookLM-Pipeline erstmals dokumentiert |
| 30.06.2026 | NotebookLM Short Video Overviews (60s vertikal, Nano Banana 2 Lite) — neue Output-Option | | 30.06.2026 | NotebookLM Short Video Overviews — neue Output-Option |
| 03.07.2026 | OME Tips & Tricks #7694: Formalisierte Presets nb1/nb2, Skill-Pipeline als OpenClaw-Skills dokumentiert | | 03.07.2026 | OME #7694: V1 Installationsanleitung (Presets nb1/nb2, 12-Schritt-Workflow) |
| 03.07.2026 | OME #7746: V2 korrigiert — Quellen-Respekt-Prompt, Skill-Sektion, alle Skills live |
## Quellen ## Quellen
- [Pit Weber, OME Tips & Tricks #7694 — Installationsanleitung](../../../raw/other/2026-07-03_notebooklm-briefing-system.md) — Vollständige Bauanleitung mit 12-Schritt-Workflow, Prompts, Caption-Contract, Rendering, Fehler-Tabelle, Kommando-Referenz - [Pit Weber, OME #7746 — Agent Guide V2](../../../raw/other/2026-07-04_notebooklm-agent-guide-v2.md) — Vollständige korrigierte Bauanleitung mit 12-Schritt-Workflow, Prompts, Caption-Contract, Fehler-Tabelle
- [Futurepedia: NotebookLM Short Video Overviews](../../../raw/youtube/2026-07-01_futurepedia-notebooklm-short-video-overviews.md) — Short Video Feature, Winston+NotebookLM Pipeline - [Pit Weber, OME #7694 — Installationsanleitung V1](../../../raw/other/2026-07-03_notebooklm-briefing-system.md) — Ursprüngliche Version
- [OME21-01 Debrief](../../../raw/other/2026-06-19_ome21-briefing-ki-fortschritte-lokale-modelle.md) — Erste Erwähnung von Winston+NotebookLM-Pipeline - [Futurepedia: NotebookLM Short Video Overviews](../../../raw/youtube/2026-07-01_futurepedia-notebooklm-short-video-overviews.md)
- [OME23 Evolution der KI-Workflows](../../../raw/other/2026-07-02_ome23-evolution-ki-workflows.md) — "Harness > LLM"-These - [OME21-01 Debrief](../../../raw/other/2026-06-19_ome21-briefing-ki-fortschritte-lokale-modelle.md)
- [OME23 Evolution der KI-Workflows](../../../raw/other/2026-07-02_ome23-evolution-ki-workflows.md)