NotebookLM Claude Code 技能
让 Claude Code 直接与 NotebookLM 对话,获取仅基于您上传文档的源验证答案
使用此技能,直接从 Claude Code 查询您的 Google NotebookLM 笔记本,获取 Gemini 提供的基于源、附带引用的答案。浏览器自动化、库管理、持久认证。大幅减少幻觉——答案仅来自您上传的文档。
安装 • 快速开始 • 为什么选择 NotebookLM • 工作原理 • MCP 替代方案
⚠️ 重要:仅限本地 Claude Code
此技能仅适用于本地 Claude Code 安装,不适用于 Web 界面。
Web 界面在沙箱中运行技能,无网络访问权限,而此技能需要网络访问来进行浏览器自动化。您必须在本地机器上使用 Claude Code。
问题所在
当您告诉 Claude Code “搜索我的本地文档”时,会发生以下情况:
- 巨大的 token 消耗:搜索文档意味着反复阅读多个文件
- 检索不准确:搜索关键词,错过文档间的上下文和联系
- 幻觉:找不到东西时,它会编造听起来合理的 API
- 手动复制粘贴:不断在 NotebookLM 浏览器和编辑器之间切换
解决方案
此 Claude Code 技能允许 Claude Code 直接与 NotebookLM 对话——Google 的由 Gemini 2.5 驱动的基于源的知识库,仅从您上传的文档中提供智能、综合的答案。
Your Task → Claude asks NotebookLM → Gemini synthesizes answer → Claude writes correct code
不再复制粘贴:Claude 直接提问,并在 CLI 中即时得到答案。通过自动跟进,它建立深入理解,获取具体的实现细节、边缘情况和最佳实践。
为什么选择 NotebookLM,而不是本地 RAG?
| 方式 | Token 成本 | 设置时间 | 幻觉 | 答案质量 |
|---|---|---|---|---|
| 将文档喂给 Claude | 🔴 非常高(多次文件读取) | 即时 | 会 - 填补空缺 | 不稳定的检索 |
| 网页搜索 | 🟡 中等 | 即时 | 高 - 来源不可靠 | 时好时坏 |
| 本地 RAG | 🟡 中等-高 | 数小时(嵌入、分块) | 中等 - 检索间隙 | 取决于设置 |
| NotebookLM 技能 | 🟢 最小 | 5 分钟 | 最小 - 仅基于源 | 专家级综合 |
是什么让 NotebookLM 更胜一筹?
- 由 Gemini 预处理:上传一次文档,立即获得专家知识
- 自然语言问答:不仅仅是检索——真正的理解和综合
- 多源关联:连接 50+ 文档间的信息
- 引用支持:每个答案都包含源引用
- 无需基础设施:不需要向量数据库、嵌入或分块策略
安装
有史以来最简单的安装:
# 1. Create skills directory (if it doesn't exist)
mkdir -p ~/.claude/skills
# 2. Clone this repository
cd ~/.claude/skills
git clone https://github.com/PleasePrompto/notebooklm-skill notebooklm
# 3. That's it! Open Claude Code and say:
"What are my skills?"
当您首次使用此技能时,它会自动:
- 创建隔离的 Python 环境(
.venv) - 安装所有依赖项,包括 Google Chrome
- 使用 Chrome(而非 Chromium)设置浏览器自动化以获得最大可靠性
- 所有内容都包含在技能文件夹中
注意: 设置使用真实的 Chrome 而非 Chromium,以实现跨平台可靠性、一致的浏览器指纹识别以及更好地对抗 Google 服务的检测
快速开始
1. 检查您的技能
在 Claude Code 中说:
"What skills do I have?"
Claude 将列出您可用的技能,包括 NotebookLM。
2. 使用 Google 认证(一次性)
"Set up NotebookLM authentication"
一个 Chrome 窗口会打开 → 使用您的 Google 账户登录
3. 创建您的知识库
前往 notebooklm.google.com → 创建笔记本 → 上传您的文档:
- 📄 PDF、Google 文档、markdown 文件
- 🔗 网站、GitHub 仓库
- 🎥 YouTube 视频
- 📚 每个笔记本多个来源
分享:⚙️ 分享 → 任何知道链接的人 → 复制
4. 添加到您的库
选项 A:让 Claude 自行处理(智能添加)
"Query this notebook about its content and add it to my library: [your-link]"
Claude 将自动查询笔记本以发现其内容,然后使用适当的元数据添加它。
选项 B:手动添加
"Add this NotebookLM to my library: [your-link]"
Claude 会要求提供名称和主题,然后保存供将来使用。
5. 开始研究
"What does my React docs say about hooks?"
Claude 会自动选择合适的笔记本,并直接从 NotebookLM 获取答案。
工作原理
这是一个 Claude Code 技能——一个包含指令和脚本的本地文件夹,Claude Code 可以在需要时使用。与 MCP 服务器版本 不同,它直接在 Claude Code 中运行,无需单独的服务器。
与 MCP 服务器的主要区别
| 特性 | 此技能 | MCP 服务器 |
|---|---|---|
| 协议 | Claude 技能 | Model Context Protocol |
| 安装 | 克隆到 ~/.claude/skills | claude mcp add ... |
| 会话 | 每个问题新开浏览器 | 持久聊天会话 |
| 兼容性 | 仅限本地 Claude Code | Claude Code、Codex、Cursor 等 |
| 语言 | Python | TypeScript |
| 分发 | Git 克隆 | npm 包 |
Architecture
~/.claude/skills/notebooklm/
├── SKILL.md # Instructions for Claude
├── scripts/ # Python automation scripts
│ ├── ask_question.py # Query NotebookLM
│ ├── notebook_manager.py # Library management
│ └── auth_manager.py # Google authentication
├── .venv/ # Isolated Python environment (auto-created)
└── data/ # Local notebook library
当您提到 NotebookLM 或发送笔记本 URL 时,Claude 会:
- 加载技能指令
- 运行适当的 Python 脚本
- 打开浏览器并提问
- 直接将答案返回给您
- 使用这些知识帮助您完成任务
核心功能
基于源的响应
NotebookLM 通过仅从您上传的文档中回答,显著减少了幻觉。如果信息不可用,它会表明不确定性,而不是编造内容。
直接集成
无需在浏览器和编辑器之间复制粘贴。Claude 以编程方式提问和接收答案。
智能库管理
使用标签和描述保存 NotebookLM 链接。Claude 会自动为您的任务选择合适的笔记本。
自动认证
一次 Google 登录,后续会话中认证持久有效。
自包含
一切都在技能文件夹中运行,拥有隔离的 Python 环境。无需全局安装。
类人自动化
使用逼真的打字速度和交互模式以避免检测。
常用命令
| 您说的话 | 发生的情况 |
|---|---|
| “设置 NotebookLM 认证” | 打开 Chrome 进行 Google 登录 |
| “将 [链接] 添加到我的 NotebookLM 库” | 保存带有元数据的笔记本 |
| “显示我的 NotebookLM 笔记本” | 列出所有保存的笔记本 |
| “询问我的 API 文档关于 [主题]” | 查询相关笔记本 |
| “使用 React 笔记本” | 设置活动笔记本 |
| “清除 NotebookLM 数据” | 全新开始(保留库) |
实际示例
示例 1:车间手册查询
用户提问:“检查我的 Suzuki GSR 600 车间手册,获取制动液类型、发动机机油规格和后桥扭矩。”
Claude 自动执行:
- 认证 NotebookLM
- 针对每个规格提出全面问题
- 当提示“这是你需要知道的一切吗?”时进行跟进
- 提供准确的规格:DOT 4 制动液、SAE 10W-40 机油、100 N·m 后桥扭矩

示例 2:无幻觉构建
你:“我需要构建一个用于 Gmail 垃圾邮件过滤的 n8n 工作流。使用我的 n8n 笔记本。”
Claude 的内部过程:
→ 加载 NotebookLM 技能
→ 激活 n8n 笔记本
→ 提出带有跟进问题的全面问题
→ 从多个查询中综合完整答案
结果:第一次尝试即成功的工作流,无需调试幻觉 API。
技术细节
核心技术
- Patchright:浏览器自动化库(基于 Playwright)
- Python:此技能的实现语言
- 隐身技术:类人打字和交互模式
注意:MCP 服务器使用相同的 Patchright 库,但通过 TypeScript/npm 生态系统。
依赖项
- patchright==1.55.2:浏览器自动化
- python-dotenv==1.0.0:环境配置
- 首次使用时自动安装在
.venv中
数据存储
所有数据都存储在技能目录本地:
~/.claude/skills/notebooklm/data/
├── library.json - Your notebook library with metadata
├── auth_info.json - Authentication status info
└── browser_state/ - Browser cookies and session data
重要安全提示:
data/目录包含敏感的身份验证数据和个人笔记本- 它通过
.gitignore自动排除在 git 之外 - 切勿手动提交或分享
data/目录的内容
会话模型
与 MCP 服务器不同,此技能使用无状态模型:
- 每个问题打开一个新浏览器
- 提问并获取答案
- 添加跟进提示,鼓励 Claude 提出更多问题
- 立即关闭浏览器
这意味着:
- 无持久聊天上下文
- 每个问题独立
- 但您的笔记本库保持不变
- 跟进机制:每个答案都包含“这是你需要知道的一切吗?”,以提示 Claude 提出全面的跟进问题
对于多步骤研究,Claude 会在需要时自动提出跟进问题。
局限性
技能特定
- 仅本地 Claude Code - 无法在 Web UI 中运行(沙箱限制)
- 无会话持久性 - 每个问题独立
- 无跟进上下文 - 无法引用“上一个答案”
NotebookLM
- 速率限制 - 免费层级有每日查询限制
- 手动上传 - 您必须先将文档上传到 NotebookLM
- 共享要求 - 笔记本必须公开共享
常见问题
为什么在 Claude Web UI 中无法使用? Web UI 在无网络访问的沙箱中运行技能。浏览器自动化需要网络访问才能访问 NotebookLM。
这与 MCP 服务器有何不同? 这是一个更简单的、基于 Python 的实现,直接作为 Claude 技能运行。MCP 服务器功能更丰富,具有持久会话,并可与多种工具(Codex、Cursor 等)配合使用。
我能否同时使用此技能和 MCP 服务器? 可以!它们满足不同的需求。使用技能实现快速 Claude Code 集成,使用 MCP 服务器实现持久会话和多工具支持。
如果 Chrome 崩溃怎么办?
运行:“清除 NotebookLM 浏览器数据”,然后重试。
我的 Google 账户安全吗? Chrome 在您的本地机器上运行。您的凭据永远不会离开您的计算机。如有顾虑,请使用专用的 Google 账户。
故障排除
技能未找到
# Make sure it's in the right location
ls ~/.claude/skills/notebooklm/
# Should show: SKILL.md, scripts/, etc.
认证问题
说:“重置 NotebookLM 认证”
浏览器崩溃
说:“清除 NotebookLM 浏览器数据”
依赖项问题
# Manual reinstall if needed
cd ~/.claude/skills/notebooklm
rm -rf .venv
python -m venv .venv
source .venv/bin/activate # or .venv\\Scripts\\activate on Windows
pip install -r requirements.txt
免责声明
此工具自动化与 NotebookLM 的浏览器交互,以提高您的工作流效率。然而,有几个友好的提醒:
关于浏览器自动化: 虽然我内置了人性化功能(逼真的打字速度、自然延迟、鼠标移动),以使自动化行为更自然,但我无法保证 Google 不会检测或标记自动化使用。我建议使用专用的 Google 账户进行自动化,而不是您的主账户——就像网络爬虫一样:可能没问题,但安全总比后悔好!
关于 CLI 工具和 AI 代理: 像 Claude Code、Codex 和类似的 AI 驱动的助手非常强大,但它们可能会犯错。请谨慎并注意使用:
- 在提交或部署之前始终审查更改
- 先在安全环境中测试
- 备份重要工作
- 记住:AI 代理是助手,不是万无一失的神谕
我为自己构建了这个工具,因为我厌倦了在 NotebookLM 和编辑器之间复制粘贴。我分享它是希望它也能帮助其他人,但对于可能出现的任何问题、数据丢失或账户问题,我不能承担责任。请自行决定和判断使用。
话虽如此,如果您遇到问题或有疑问,请随时在 GitHub 上提出问题。我很乐意帮助排除故障!
致谢
此技能的灵感来自我的 NotebookLM MCP 服务器,并作为一个 Claude Code 技能提供了另一种实现:
- 两者都使用 Patchright 进行浏览器自动化(MCP 使用 TypeScript,技能使用 Python)
- 技能版本直接在 Claude Code 中运行,无需 MCP 协议
- 无状态设计,针对技能架构进行了优化
如果您需要:
- 持久会话 → 使用 MCP 服务器
- 多工具支持(Codex、Cursor) → 使用 MCP 服务器
- 快速 Claude Code 集成 → 使用此技能
总结
没有此技能:在浏览器中使用 NotebookLM → 复制答案 → 粘贴到 Claude → 复制下一个问题 → 返回浏览器……
有了此技能:Claude 直接研究 → 即时获得答案 → 编写正确的代码
停止复制粘贴的舞蹈。开始在 Claude Code 中直接获得准确、有依据的答案。
# Get started in 30 seconds
cd ~/.claude/skills
git clone https://github.com/PleasePrompto/notebooklm-skill notebooklm
# Open Claude Code: "What are my skills?"
作为我的 NotebookLM MCP 服务器 的 Claude Code 技能改编而构建
用于在 Claude Code 中直接进行基于源、基于文档的研究


