$npx -y skills add azuma520/youtube-to-notebooklm --skill anything-to-notebooklmUpload content to Google NotebookLM and generate podcasts, slides, mind maps, quizzes, reports, videos, and more. Also browse, search, and query existing notebooks. Supports URLs (web, YouTube), local files (PDF, DOCX, PPTX, XLSX, EPUB, Markdown, images, audio, CSV, JSON, ZIP), A
| 1 | # 多源內容 → NotebookLM 處理器 |
| 2 | |
| 3 | 從多種來源取得內容,上傳到 NotebookLM 生成各類成品;或瀏覽、查詢、提問既有 notebook。 |
| 4 | |
| 5 | 依賴:`notebooklm-py`(CLI v0.3.3+)、`markitdown`(僅限 PPTX/XLSX/EPUB 轉換)。首次使用須 `notebooklm login`。 |
| 6 | |
| 7 | ## Decision Tree |
| 8 | |
| 9 | ``` |
| 10 | 用戶請求 |
| 11 | ├── 想找/瀏覽/查詢/下載既有 notebook 或成品? |
| 12 | │ └── Workflow B:瀏覽 → 閱讀 → 提問 |
| 13 | ├── 有內容要上傳 / 要生成新東西? |
| 14 | │ └── Workflow A:上傳 → 生成 → 下載 |
| 15 | └── 不確定 → 詢問用戶 |
| 16 | ``` |
| 17 | |
| 18 | --- |
| 19 | |
| 20 | ## Workflow A:上傳 → 生成 → 下載 |
| 21 | |
| 22 | ### Step 1:識別內容源 |
| 23 | |
| 24 | | 輸入特徵 | 處理方式 | |
| 25 | |---------|---------| |
| 26 | | YouTube URL | `source add "URL"` → `source wait <id>` | |
| 27 | | 網頁 URL | `source add "URL"` → `source wait <id>` | |
| 28 | | Google Drive 文件 | `source add-drive <file_id> "title"` | |
| 29 | | 本地 `.pdf/.docx/.md/.csv/.txt` | `source add "filepath"` → `source wait <id>` | |
| 30 | | 本地 `.pptx/.xlsx/.epub` | `markitdown "file" -o "$TEMP/converted.md"` → `source add` | |
| 31 | | 本地圖片/音訊 | `source add "filepath"` → `source wait <id>`(自動 OCR/轉錄)| |
| 32 | | 純關鍵詞 | `source add-research "query"`(見下方) | |
| 33 | |
| 34 | ### Step 2:建立 notebook + 添加來源 |
| 35 | |
| 36 | ```bash |
| 37 | notebooklm create "筆記本標題" |
| 38 | notebooklm source add "來源" # 上傳來源 |
| 39 | notebooklm source wait <source_id> # 等待處理完成 |
| 40 | ``` |
| 41 | |
| 42 | - 一個 notebook 最多 50 個 source,全部 `source wait` 完再生成 |
| 43 | - **上傳前確認**:告知用戶即將建立的 notebook 名稱,確認後再執行 |
| 44 | |
| 45 | ### Step 3:生成 |
| 46 | |
| 47 | **預設行為是非阻塞**(除 mind-map 外)。互動場景加 `--wait` 等待完成。 |
| 48 | |
| 49 | | 用戶意圖 | 指令 | |
| 50 | |---------|------| |
| 51 | | 播客/音頻 | `generate audio --wait` | |
| 52 | | PPT/簡報 | `generate slide-deck --wait` | |
| 53 | | 思維導圖 | `generate mind-map`(同步,自動等待) | |
| 54 | | Quiz/出題 | `generate quiz --wait` | |
| 55 | | 報告/總結 | `generate report --wait` | |
| 56 | | 視頻 | `generate video --wait` | |
| 57 | | 信息圖 | `generate infographic --wait` | |
| 58 | | 閃卡 | `generate flashcards --wait` | |
| 59 | | 數據表 | `generate data-table "description" --wait` | |
| 60 | |
| 61 | 用戶沒指定生成什麼 → 只上傳不生成,等後續指令。 |
| 62 | |
| 63 | 各類型的 format/style/length 參數 → 見 [references/generate-options.md](references/generate-options.md)。 |
| 64 | |
| 65 | ### Step 4:下載 |
| 66 | |
| 67 | ```bash |
| 68 | notebooklm download <type> ./output.<ext> |
| 69 | ``` |
| 70 | |
| 71 | 常用選項:`--latest`(最新成品)、`--format <fmt>`(輸出格式)、`--all`(全部下載)。 |
| 72 | |
| 73 | 完整下載選項 → 見 [references/generate-options.md](references/generate-options.md)。 |
| 74 | |
| 75 | ### AI 研究搜尋 |
| 76 | |
| 77 | 用戶給的是純關鍵詞時,用 NotebookLM 內建研究功能: |
| 78 | |
| 79 | ```bash |
| 80 | notebooklm source add-research "query" --mode deep --from web --import-all |
| 81 | notebooklm research wait # 等待研究完成 |
| 82 | ``` |
| 83 | |
| 84 | - `--mode fast`(快速)/ `deep`(深度) |
| 85 | - `--from web`(網路)/ `drive`(Google Drive) |
| 86 | |
| 87 | --- |
| 88 | |
| 89 | ## Workflow B:瀏覽 → 閱讀 → 提問 |
| 90 | |
| 91 | ### 瀏覽與切換 |
| 92 | |
| 93 | ```bash |
| 94 | notebooklm list # 列出所有 notebook |
| 95 | notebooklm use <id> # 切換(支援部分 ID 匹配) |
| 96 | notebooklm status # 當前上下文 |
| 97 | notebooklm rename "新名稱" # 重新命名 |
| 98 | ``` |
| 99 | |
| 100 | ### 來源管理 |
| 101 | |
| 102 | ```bash |
| 103 | notebooklm source list # 來源清單 |
| 104 | notebooklm source fulltext <id> # 完整索引文本 |
| 105 | notebooklm source guide <id> # AI 摘要 |
| 106 | ``` |
| 107 | |
| 108 | ### 提問與對話 |
| 109 | |
| 110 | ```bash |
| 111 | notebooklm ask "問題" # 對整個 notebook 提問 |
| 112 | notebooklm ask "問題" -s <source_id> # 指定來源提問 |
| 113 | notebooklm ask "問題" -c <conversation_id> # 繼續既有對話 |
| 114 | notebooklm ask "問題" --save-as-note --note-title "標題" # 答案存為筆記 |
| 115 | ``` |
| 116 | |
| 117 | ### 歷史與成品 |
| 118 | |
| 119 | ```bash |
| 120 | notebooklm history # 對話紀錄 |
| 121 | notebooklm summary # notebook 摘要 |
| 122 | notebooklm artifact list # 已生成成品清單 |
| 123 | notebooklm note list # 筆記清單 |
| 124 | ``` |
| 125 | |
| 126 | ### 分享 |
| 127 | |
| 128 | ```bash |
| 129 | notebooklm share public --enable # 公開分享 |
| 130 | notebooklm share add user@email.com # 邀請特定用戶 |
| 131 | ``` |
| 132 | |
| 133 | --- |
| 134 | |
| 135 | ## NEVER List |
| 136 | |
| 137 | - **NEVER** use `source add --wait` — this flag does not exist. Use `source wait <id>` instead |
| 138 | - **NEVER** assume `generate` blocks — it is async by default (except mind-map). Add `--wait` for interactive use |
| 139 | - **NEVER** use `--style retro` — the correct value is `retro-print` |
| 140 | - **NEVER** use 1-based slide index — `revise-slide --slide 0` = first slide (zero-based) |
| 141 | - **NEVER** create a notebook without confirming the name with the user first |
| 142 | - **NEVER** assume audio downloads are `.wav` — the actual format is `.mp4` container |
| 143 | - **NEVER** poll artifact status in the main conversation for extended periods — use a subagent or inform the user of estimated wait time |
| 144 | |
| 145 | --- |
| 146 | |
| 147 | ## 整合銜接 |
| 148 | |
| 149 | - **yt-search**:YouTube URL 直接 `source add`;已有字幕文字檔也可直接 `source add` |
| 150 | - **marki |