notebooklm-source-grounded-qalisted
Install: claude install-skill findscripter/everything-skills
## 何时使用
当你需要从**已上传到 Google NotebookLM 的文档**里拿到「只基于这些源、Gemini 不掺自己常识」的可溯源答案时使用。典型触发:
- 用户提到 NotebookLM��或贴出 `https://notebooklm.google.com/notebook/...` 链接。
- 用户说「问我的笔记本 / 查我的文档 / 在我那个 notebook 里查一下」。
- 用户想把某份文档登记进笔记本库以便后续问答。
核心特点:每次提问 = 开一个全新浏览器会话 → 仅从指定笔记本检索 → 取答案 → 关闭。无会话持久化,每个问题相互独立,因此**每问都要自带上下文**。
**不该用于:**
- 开放网络检索、需要模型常识或最新外部信息的问题 —— 用联网搜索类技能,NotebookLM 只读你给它的源。
- 资料尚未上传到 NotebookLM —— 上传是手动前置动作,本技能不替你把任意文件灌进去。
- 无法弹出可见浏览器手动完成 Google 登录的环境(纯 headless 服务器无人值守首次鉴权会卡住)。
- 免费账号已触及 50 次/天 限额时,应等待或换号,而非反复重试。
## 步骤
所有脚本**必须经 `run.py` 包装器调用**,它会自动建 `.venv`、装依赖、装 Chromium、激活环境再执行。直接调脚本会因缺 venv 报 `ModuleNotFoundError`。
```
1. 查鉴权状态
python scripts/run.py auth_manager.py status
未鉴权 → 进 2;已鉴权 → 进 3。
2. 一次性鉴权(浏览器可见,用户手动登录 Google)
python scripts/run.py auth_manager.py setup
先告知用户:「会弹出一个浏览器窗口,请手动登录 Google」。窗口可见是硬要求。
3. 管理笔记本库
列出: python scripts/run.py notebook_manager.py list
设激活: python scripts/run.py notebook_manager.py activate --id <ID>
登记新笔记本见下方「智能登记」。
4. 提问(不带 id 用激活笔记本)
python scripts/run.py ask_question.py --question "带完整上下文的问题"
指定笔记本:--notebook-id <ID> 或 --notebook-url "https://..."
调试看过程:--show-browser
5. 处理追问信号(关键)
每条答案结尾会出现 "Is that ALL you need to know?"。
STOP → 比对答案与原始诉求 → 若有缺口,立刻再发一次带上下文的 ask_question
→ 重复直至信息齐全 → 综合所有答案再回复用户。不要停在第一条答案。
```
**智能登记笔记本(缺细节时首选,禁止瞎猜描述):**
```bash
# 先问笔记本「你装了什么」,再据答案登记
python scripts/run.py ask_question.py --question "What is the content of this notebook? What topics are covered? Provide