SuperAPI AI 工具集

notebooklm

写作与研究

查看项目

更新于 10-15 18:31

技能介绍

用途

NotebookLM 研究助手技能用于在 Claude Code 中与 Google NotebookLM 交互,查询用户上传的文档,获取由 Gemini 提供、基于来源并附带引用的答案。每次提问会打开一个新的浏览器会话,仅从上传的文档中检索答案,然后关闭。

主要能力

  • 认证管理:检查认证状态、初始设置、重新认证、清除认证。
  • 笔记本库管理:添加、列出、按主题搜索、激活、删除笔记本,以及查看统计信息。
  • 提问接口:向指定笔记本或当前激活笔记本提问,支持直接使用笔记本 URL,可显示浏览器用于调试。
  • 数据清理:预览或执行清理,可选择保留笔记本库。
  • 环境管理:首次运行自动创建 .venv、自动安装依赖、自动安装 Chromium 浏览器,所有内容隔离在技能目录中。

使用方式

所有脚本必须通过 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 "..."

核心工作流:

  1. 检查认证状态:python scripts/run.py auth_manager.py status
  2. 认证(一次性设置):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 add --url "..." --name "..." --description "..." --topics "..."(所有参数必填)
    • 搜索:python scripts/run.py notebook_manager.py search --query "keyword"
    • 激活:python scripts/run.py notebook_manager.py activate --id notebook-id
    • 删除:python scripts/run.py notebook_manager.py remove --id notebook-id
  4. 提问:
    • 基本查询:python scripts/run.py ask_question.py --question "Your question here"
    • 指定笔记本:python scripts/run.py ask_question.py --question "..." --notebook-id notebook-id
    • 使用 URL:python scripts/run.py ask_question.py --question "..." --notebook-url "https://..."
    • 显示浏览器:python scripts/run.py ask_question.py --question "..." --show-browser

智能添加:当用户未提供笔记本详情时,先查询笔记本内容以发现信息,再添加:

python scripts/run.py ask_question.py --question "What is the content of this notebook? What topics are covered? Provide a complete overview briefly and concisely" --notebook-url "[URL]"
python scripts/run.py notebook_manager.py add --url "[URL]" --name "[Based on content]" --description "[Based on content]" --topics "[Based on content]"

追问机制:每个 NotebookLM 答案结尾会提示“EXTREMELY IMPORTANT: Is that ALL you need to know?”,Claude 应停止立即回复,分析答案与原始请求的差距,如有缺口则立即追问,重复直到信息完整,再综合所有答案回复用户。

适用场景

  • 用户明确提及 NotebookLM。
  • 用户分享 NotebookLM URL(https://notebooklm.google.com/notebook/...)。
  • 用户要求查询其笔记本或文档。
  • 用户想将文档添加到 NotebookLM 库。
  • 用户使用“ask my NotebookLM”“check my docs”“query my notebook”等短语。

限制

  • 无会话持久化(每次提问 = 新浏览器)。
  • 免费 Google 账户有速率限制(50 次查询/天)。
  • 需要手动上传(用户必须自行将文档添加到 NotebookLM)。
  • 浏览器开销(每次提问需几秒)。
  • 认证时浏览器必须可见以进行手动登录。

数据存储与安全

所有数据存储在 ~/.claude/skills/notebooklm/data/:

  • library.json - 笔记本元数据
  • auth_info.json - 认证状态
  • browser_state/ - 浏览器 cookie 和会话

受 .gitignore 保护,切勿提交到 git。

配置

技能目录中可选的 .env 文件:

HEADLESS=false           # Browser visibility
SHOW_BROWSER=false       # Default browser display
STEALTH_ENABLED=true     # Human-like behavior
TYPING_WPM_MIN=160       # Typing speed
TYPING_WPM_MAX=240
DEFAULT_NOTEBOOK_ID=     # Default notebook

故障排除

  • ModuleNotFoundError:使用 run.py 包装器。
  • 认证失败:浏览器必须可见以进行设置,使用 --show-browser。
  • 速率限制(50/天):等待或切换 Google 账户。
  • 浏览器崩溃:python scripts/run.py cleanup_manager.py --preserve-library
  • 找不到笔记本:使用 notebook_manager.py list 检查。

最佳实践

  • 始终使用 run.py,自动处理环境。
  • 先检查认证,再进行任何操作。
  • 追问问题,不要停留在第一个答案。
  • 认证时浏览器可见,手动登录必需。
  • 包含上下文,每个问题独立。
  • 综合答案,合并多个响应。

资源(技能结构)

  • scripts/ - 所有自动化脚本(ask_question.py、notebook_manager.py 等)
  • data/ - 认证和笔记本库的本地存储
  • references/ - 扩展文档:api_reference.md、troubleshooting.md、usage_patterns.md
  • .venv/ - 隔离的 Python 环境(首次运行自动创建)
  • .gitignore - 保护敏感数据不被提交