NotebookLM 研究助手技能
让 Claude Code 直接查询你的 Google NotebookLM,获得仅基于你上传文档、带引用来源的回答,告别复制粘贴和幻觉。
依赖浏览器自动化操作 Google NotebookLM 网页,网页结构变化可能导致脚本失效,文档本身没有给出稳定性相关的说明或测试证据。
需要用户在可见浏览器窗口中手动登录 Google 账号完成授权(不是静默窃取凭据),设计上相对透明;但文档未说明登录态/session 具体持久化存储在哪里、如何清理。
- 登录态持久化的具体存储位置和清理方式未在文档中说明
这个 Skill 能做什么,适合哪些场景?
这是一个 Claude Code 技能,通过 Patchright 浏览器自动化让本地 Claude Code 与 Google NotebookLM 直接对话。每个问题会打开一个新的浏览器会话,从你上传的文档中获取由 Gemini 生成的、带引用的来源答案,然后关闭会话。它还提供笔记本库管理(保存、搜索、激活笔记本链接及元数据)和一次性的持久 Google 认证。它仅支持本地 Claude Code,不支持网页版 UI。
技能通过 python scripts/run.py 封装器运行 Python 脚本:auth_manager.py 打开可见的 Chrome 窗口进行手动 Google 登录并持久化会话状态;notebook_manager.py 将笔记本 URL、名称、描述和主题保存到本地 library.,支持列出、搜索、激活、移除和统计;ask_question.py 打开 Patchright 控制的浏览器会话,在指定的 NotebookLM 笔记本中输入问题,检索基于来源、带引用的 Gemini 回答,并追加一个后续提示("这是你需要的全部吗?"),促使 Claude 提出补充问题。所有数据(认证信息、浏览器 cookie、库)存储在 ~/.claude/skills/notebooklm/data/ 并通过 .gitignore 保护。虚拟环境和 Chrome 在首次运行时自动安装。
- 开发者在本地文档库(如 API 文档、框架手册)上传到 NotebookLM 后,希望 Claude Code 直接查询而非反复读取文件,节省 token 并减少幻觉。
- 维修或技术人员的场景:例如查询 Suzuki GSR 600 维修手册中的制动液型号、机油规格和扭矩值,获得精确的文档内答案。
- 使用 n8n 等自动化平台的用户,希望 Claude 基于自己的笔记本在第一次就生成可用的 workflow,而不是猜测 API。
- 拥有多本笔记本的用户,希望 Claude 根据任务自动选择正确的笔记本(通过带主题标签的库管理)。
- 已有 PleasePrompto/notebooklm-mcp 的用户,想要一个无需 MCP 服务器、克隆即用的 Python 技能替代方案。
这个 Skill 有哪些优点和局限?
- 回答严格来自你上传的文档并附引用,大幅减少幻觉。
- 直接在 CLI 中问答,省去浏览器与编辑器间的复制粘贴。
- 智能库管理:保存、搜索、按主题标签自动选择笔记本。
- 一次性认证后跨会话持久,所有环境隔离在技能目录内,无需全局安装。
- 安装极简,克隆即用,依赖自动安装。
- 仅支持本地 Claude Code,网页版 UI 沙盒无网络访问,完全不可用。
- 无会话持久性:每个问题打开新浏览器,无法引用"上一个答案",且浏览器开销导致每个问题耗时数秒。
- 免费 Google 账户每日约 50 次查询的速率限制。
- 依赖浏览器自动化和类人交互模式规避检测,README 明确不保证 Google 不会检测或封禁,建议使用专用账户。
- 文档须手动上传到 NotebookLM 且笔记本需公开分享;仓库未见测试套件。
如何安装这个 Skill?
在终端执行:
mkdir -p ~/.claude/skillscd ~/.claude/skillsgit clone https://github.com/PleasePrompto/notebooklm-skill notebooklm- 打开 Claude Code 并询问:"What are my skills?"
首次使用时技能自动创建 .venv、安装依赖和 Chrome。注意:仅支持本地 Claude Code;网页版 UI 因沙盒无网络访问而无法运行。仓库未记录其他安装方式。
如何使用这个 Skill?
- 在 Claude Code 中说 "Set up NotebookLM authentication",浏览器窗口会打开,手动登录 Google(认证需可见浏览器,一次性)。
- 在 notebooklm.google.com 创建笔记本并上传文档(PDF、Google Docs、网站、YouTube 等),通过 ⚙️ Share → Anyone with link 复制链接。
- 说 "Add [link] to my NotebookLM library"(Claude 可用 Smart Add 先查询笔记本内容自动生成元数据,或手动提供名称/描述/主题)。
- 直接提问,例如 "What does my React docs say about hooks?",Claude 自动选择笔记本并返回基于来源的答案;若信息不全,Claude 会按提示继续追问后综合回答。