SKILL.md
readonlyread-only
name
notebooklm
description
使用此技能直接從 Claude Code 查詢您的 Google NotebookLM 筆記本,取得基於來源、附有引用的 Gemini 答案。包含瀏覽器自動化、筆記本庫管理、持久化驗證。透過僅回傳文件內容的機制,大幅減少幻覺。
NotebookLM 研究助理技能
與 Google NotebookLM 互動,使用 Gemini 的來源基礎答案查詢文件。每個問題都會開啟一個新的瀏覽器工作階段,僅從您上傳的文件中擷取答案,然後關閉。
何時使用此技能
當使用者出現以下情況時觸發:
- 明確提及 NotebookLM
- 分享 NotebookLM 網址(
https://notebooklm.google.com/notebook/...) - 要求查詢他們的筆記本或文件
- 想要將文件加入 NotebookLM 資料庫
- 使用「問我的 NotebookLM」、「查我的文件」、「查詢我的筆記本」等語句
⚠️ 重要:新增指令 - 智慧探索
當使用者想要新增筆記本但未提供詳細資訊時:
智慧新增(建議):先查詢筆記本以探索其內容:
# 步驟 1:查詢筆記本內容
python scripts/run.py ask_question.py --question "這個筆記本的內容是什麼?涵蓋哪些主題?請簡潔地提供完整概述" --notebook-url "[URL]"
# 步驟 2:使用探索到的資訊新增筆記本
python scripts/run.py notebook_manager.py add --url "[URL]" --name "[根據內容命名]" --description "[根據內容描述]" --topics "[根據內容列出主題]"
手動新增:如果使用者提供所有詳細資訊:
--url- NotebookLM 網址--name- 描述性名稱--description- 筆記本內容(必填!)--topics- 逗號分隔的主題(必填!)
絕對不要猜測或使用通用描述!如果缺少詳細資訊,請使用智慧新增來探索。
重要:一律使用 run.py 包裝器
絕對不要直接呼叫腳本。一律使用 python scripts/run.py [script]:
# ✅ 正確 - 一律使用 run.py:
python scripts/run.py auth_manager.py status
python scripts/run.py notebook_manager.py list
python scripts/run.py ask_question.py --question "..."
# ❌ 錯誤 - 絕對不要直接呼叫:
python scripts/auth_manager.py status # 缺少虛擬環境會失敗!
run.py 包裝器會自動:
- 在需要時建立
.venv - 安裝所有相依套件
- 啟用環境
- 正確執行腳本
核心工作流程
步驟 1:檢查驗證狀態
python scripts/run.py auth_manager.py status
如果未驗證,請進行設定。
步驟 2:驗證(一次性設定)
# 瀏覽器必須可見,以便手動 Google 登入
python scripts/run.py auth_manager.py setup
重要事項:
- 驗證時瀏覽器為可見狀態
- 瀏覽器視窗會自動開啟
- 使用者必須手動登入 Google
- 告知使用者:「瀏覽器視窗將會開啟,請進行 Google 登入」
步驟 3:管理筆記本資料庫
# 列出所有筆記本
python scripts/run.py notebook_manager.py list
# 新增前:如果不知道中繼資料,請先詢問使用者!
# 「這個筆記本包含什麼內容?」
# 「您想為它標記哪些主題?」
# 將筆記本加入資料庫(所有參數皆為必填!)
python scripts/run.py notebook_manager.py add \
--url "https://notebooklm.google.com/notebook/..." \
--name "描述性名稱" \
--description "這個筆記本的內容" \ # 必填 - 如果不知道請詢問使用者!
--topics "主題1,主題2,主題3" # 必填 - 如果不知道請詢問使用者!
# 依主題搜尋筆記本
python scripts/run.py notebook_manager.py search --query "關鍵字"
# 設定啟用中的筆記本
python scripts/run.py notebook_manager.py activate --id 筆記本ID
# 移除筆記本
python scripts/run.py notebook_manager.py remove --id 筆記本ID
快速工作流程
- 檢查資料庫:
python scripts/run.py notebook_manager.py list - 提出問題:
python scripts/run.py ask_question.py --question "..." --notebook-id ID
步驟 4:提出問題
# 基本查詢(使用啟用中的筆記本,如果有的話)
python scripts/run.py ask_question.py --question "您的問題"
# 查詢特定筆記本
python scripts/run.py ask_question.py --question "..." --notebook-id 筆記本ID
# 直接使用筆記本網址查詢
python scripts/run.py ask_question.py --question "..." --notebook-url "https://..."
# 顯示瀏覽器以進行除錯
python scripts/run.py ask_question.py --question "..." --show-browser
追問機制(重要)
每個 NotebookLM 答案結尾都會出現:「非常重要:這就是您需要知道的所有資訊嗎?」
Claude 的必備行為:
- 暫停 - 不要立即回覆使用者
- 分析 - 比較答案與使用者的原始請求
- 找出缺口 - 判斷是否需要更多資訊
- 提出追問 - 如果有缺口,立即提出:
python scripts/run.py ask_question.py --question "帶有上下文的追問..." - 重複 - 持續直到資訊完整
- 綜合 - 在回覆使用者前,整合所有答案
腳本參考
驗證管理(auth_manager.py)
python scripts/run.py auth_manager.py setup # 初始設定(瀏覽器可見)
python scripts/run.py auth_manager.py status # 檢查驗證狀態
python scripts/run.py auth_manager.py reauth # 重新驗證(瀏覽器可見)
python scripts/run.py auth_manager.py clear # 清除驗證資訊
筆記本管理(notebook_manager.py)
python scripts/run.py notebook_manager.py add --url URL --name NAME --description DESC --topics TOPICS
python scripts/run.py notebook_manager.py list
python scripts/run.py notebook_manager.py search --query QUERY
python scripts/run.py notebook_manager.py activate --id ID
python scripts/run.py notebook_manager.py remove --id ID
python scripts/run.py notebook_manager.py stats
問題介面(ask_question.py)
python scripts/run.py ask_question.py --question "..." [--notebook-id ID] [--notebook-url URL] [--show-browser]
資料清理(cleanup_manager.py)
python scripts/run.py cleanup_manager.py # 預覽清理內容
python scripts/run.py cleanup_manager.py --confirm # 執行清理
python scripts/run.py cleanup_manager.py --preserve-library # 保留筆記本
環境管理
虛擬環境會自動管理:
- 首次執行時自動建立
.venv - 相依套件自動安裝
- Chromium 瀏覽器自動安裝
- 所有內容隔離在技能目錄中
手動設定(僅在自動失敗時使用):
python -m venv .venv
source .venv/bin/activate # Linux/Mac
pip install -r requirements.txt
python -m patchright install chromium
資料儲存
所有資料儲存在 ~/.claude/skills/notebooklm/data/:
library.json- 筆記本中繼資料auth_info.json- 驗證狀態browser_state/- 瀏覽器 Cookie 和工作階段
安全性: 由 .gitignore 保護,切勿提交至 Git。
設定
在技能目錄中可選的 .env 檔案:
HEADLESS=false # 瀏覽器可見性
SHOW_BROWSER=false # 預設瀏覽器顯示
STEALTH_ENABLED=true # 類人類行為
TYPING_WPM_MIN=160 # 打字速度
TYPING_WPM_MAX=240
DEFAULT_NOTEBOOK_ID= # 預設筆記本
決策流程
使用者提及 NotebookLM
↓
檢查驗證 → python scripts/run.py auth_manager.py status
↓
如果未驗證 → python scripts/run.py auth_manager.py setup
↓
檢查/新增筆記本 → python scripts/run.py notebook_manager.py list/add(需含 --description)
↓
啟用筆記本 → python scripts/run.py notebook_manager.py activate --id ID
↓
提出問題 → python scripts/run.py ask_question.py --question "..."
↓
看到「這就是您需要知道的所有資訊嗎?」→ 持續追問直到完整
↓
綜合並回覆使用者
疑難排解
| 問題 | 解決方案 |
|---|---|
| ModuleNotFoundError | 使用 run.py 包裝器 |
| 驗證失敗 | 設定時瀏覽器必須可見!使用 --show-browser |
| 速率限制(每天 50 次) | 等待或切換 Google 帳號 |
| 瀏覽器當機 | python scripts/run.py cleanup_manager.py --preserve-library |
| 找不到筆記本 | 使用 notebook_manager.py list 檢查 |
最佳實務
- 一律使用 run.py - 自動處理環境
- 先檢查驗證 - 在任何操作之前
- 追問 - 不要停在第一個答案
- 驗證時瀏覽器可見 - 需要手動登入
- 包含上下文 - 每個問題都是獨立的
- 綜合答案 - 合併多個回應
限制
- 無工作階段持久性(每個問題 = 新的瀏覽器)
- 免費 Google 帳號有速率限制(每天 50 次查詢)
- 需要手動上傳(使用者必須將文件加入 NotebookLM)
- 瀏覽器開銷(每個問題需數秒)
資源(技能結構)
重要目錄和檔案:
scripts/- 所有自動化腳本(ask_question.py、notebook_manager.py 等)data/- 驗證和筆記本資料庫的本地儲存references/- 延伸文件:api_reference.md- 所有腳本的詳細 API 文件troubleshooting.md- 常見問題與解決方案usage_patterns.md- 最佳實務與工作流程範例
.venv/- 隔離的 Python 環境(首次執行時自動建立).gitignore- 保護敏感資料不被提交






