使用此技能直接从Claude Code查询Google NotebookLM笔记本,获取基于来源、有引用支持的Gemini答案。包含浏览器自动化、库管理和持久认证功能,通过仅文档响应大幅减少AI幻觉。
NotebookLM 研究助理 Skill. 与 Google NotebookLM 交互, 以双子座源源代码的答案查询文档.是一项面向实际任务的技能,主要用于Elective 打开一个新的浏览器会话, 检索 ans。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。
执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
与 Google NotebookLM 交互,利用 Gemini 的源依据(source-grounded)答案查询文档。每次提问均开启一个全新的浏览器会话,答案严格限定于您上传的文档内容,并在查询完成后自动关闭浏览器。
当用户出现以下任一情况时触发:
https://notebooklm.google.com/notebook/...)当用户希望添加笔记本但未提供必要元数据时:
智能添加(推荐):先对笔记本发起查询,以自动识别其内容:
# 步骤 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 URL--name — 描述性名称--description — 笔记本所含内容(必需!)--topics — 逗号分隔的主题列表(必需!)切勿猜测或使用泛化描述! 若任一必要字段缺失,请务必采用“智能添加”方式先行发现内容。
禁止直接调用脚本,必须始终通过 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 目录python scripts/run.py auth_manager.py status
若未认证,则进入初始化设置流程。
# 浏览器必须可见,以便进行人工 Google 登录 python scripts/run.py auth_manager.py setup
重要说明:
# 列出所有已注册笔记本 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 "topic1,topic2,topic3" # 必需 — 若未知请主动询问用户! # 按主题搜索笔记本 python scripts/run.py notebook_manager.py search --query "关键词" # 设定当前活跃笔记本 python scripts/run.py notebook_manager.py activate --id notebook-id # 移除笔记本 python scripts/run.py notebook_manager.py remove --id notebook-id
python scripts/run.py notebook_manager.py listpython scripts/run.py ask_question.py --question "..." --notebook-id ID# 基础查询(若已设定活跃笔记本,则默认使用该笔记本) python scripts/run.py ask_question.py --question "您的问题" # 查询指定笔记本 python scripts/run.py ask_question.py --question "..." --notebook-id notebook-id # 直接通过 NotebookLM URL 查询 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 目录仅当自动配置失败时,才需手动设置:
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= # 默认笔记本 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 包装器执行 |
| 认证失败 | setup 过程中浏览器必须可见!可加 --show-browser 参数 |
| 达到调用频率限制(50 次/天) | 等待重置或切换 Google 账户 |
| 浏览器崩溃 | python scripts/run.py cleanup_manager.py --preserve-library |
| 找不到笔记本 | 使用 notebook_manager.py list 命令确认 |
关键目录与文件:
scripts/ — 所有自动化脚本(ask_question.py、notebook_manager.py 等)data/ — 本地存储,保存认证信息与笔记本库references/ — 扩展文档:api_reference.md — 所有脚本的详细 API 文档troubleshooting.md — 常见问题及解决方案usage_patterns.md — 最佳实践与典型工作流示例.venv/ — 隔离的 Python 虚拟环境(首次运行自动创建).gitignore — 防止敏感数据意外提交至 Git相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 134.1万人学习
共49课时 | 82.5万人学习
最新文章