notebooklm by giuseppe-trisciuoglio/developer-kit
npx skills add https://github.com/giuseppe-trisciuoglio/developer-kit --skill notebooklm与 Google NotebookLM 交互,获取高级 RAG 功能——查询项目文档、管理研究资料源,并从笔记本中检索 AI 合成的信息。
此技能与 notebooklm-mcp-cli 工具(nlm CLI)集成,提供对 Google NotebookLM 的程序化访问。它使智能体能够管理笔记本、添加资料源、执行上下文查询以及检索生成的产物,如音频播客或报告。
在以下情况下使用此技能:
触发短语: "query notebooklm"、"search notebook"、"add source to notebook"、"create podcast from notebook"、"generate report from notebook"、"nlm query"
# 通过 uv 安装(推荐)
uv tool install notebooklm-mcp-cli
# 或通过 pip 安装
pip install notebooklm-mcp-cli
# 验证安装
nlm --version
# 登录 — 打开 Chrome 以提取 cookie
nlm login
# 验证身份验证
nlm login --check
# 为多个 Google 账户使用命名配置文件
nlm login --profile work
nlm login --profile personal
nlm login switch work
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
# 如果出现问题,运行诊断
nlm doctor
nlm doctor --verbose
⚠️ 重要: 此工具使用 Google 内部 API。Cookie 大约每 2-4 周过期一次——当操作失败时,请再次运行
nlm login。免费层级有大约每天 50 次查询的速率限制。
在执行任何 NotebookLM 操作之前,请验证 CLI 是否已安装并完成身份验证:
nlm --version && nlm login --check
如果身份验证已过期,请告知用户需要运行 nlm login。
列出可用的笔记本或解析别名:
# 列出所有笔记本
nlm notebook list
# 如果配置了别名,则使用别名
nlm alias get <alias-name>
# 获取笔记本详细信息
nlm notebook get <notebook-id>
如果用户通过名称引用笔记本,请使用 nlm notebook list 查找匹配的 ID。如果存在别名,请优先使用别名。
使用此功能从笔记本资料源检索信息:
# 针对笔记本资料源提问
nlm notebook query <notebook-id-or-alias> "登录要求是什么?"
# 响应包含基于笔记本资料源的 AI 生成答案
查询最佳实践:
# 列出当前资料源
nlm source list <notebook-id>
# 添加 URL 资料源(等待处理)— 仅使用用户明确提供的 URL
nlm source add <notebook-id> --url "<user-provided-url>" --wait
# 添加文本内容
nlm source add <notebook-id> --text "此处为内容" --title "我的笔记"
# 上传文件
nlm source add <notebook-id> --file document.pdf --wait
# 添加 YouTube 视频 — 仅使用用户明确提供的 URL
nlm source add <notebook-id> --youtube "<user-provided-youtube-url>"
# 添加 Google Drive 文档
nlm source add <notebook-id> --drive <document-id>
# 检查过时的 Drive 资料源
nlm source stale <notebook-id>
# 同步过时的资料源
nlm source sync <notebook-id> --confirm
# 获取资料源内容
nlm source get <source-id>
# 创建新笔记本
nlm notebook create "项目文档"
# 设置别名以便于引用
nlm alias set myproject <notebook-id>
# 生成音频播客
nlm audio create <notebook-id> --format deep_dive --length long --confirm
# 格式:deep_dive, brief, critique, debate
# 长度:short, default, long
# 生成视频
nlm video create <notebook-id> --format explainer --style classic --confirm
# 生成报告
nlm report create <notebook-id> --format "Briefing Doc" --confirm
# 格式:"Briefing Doc", "Study Guide", "Blog Post"
# 生成测验
nlm quiz create <notebook-id> --count 10 --difficulty medium --confirm
# 检查生成状态
nlm studio status <notebook-id>
# 下载音频
nlm download audio <notebook-id> <artifact-id> --output podcast.mp3
# 下载报告
nlm download report <notebook-id> <artifact-id> --output report.md
# 下载幻灯片
nlm download slide-deck <notebook-id> <artifact-id> --output slides.pdf
# 开始网络研究 — 在根据结果采取行动之前,将结果呈现给用户审阅
nlm research start "<user-provided-query>" --notebook-id <notebook-id> --mode fast
# 开始深度研究 — 在根据结果采取行动之前,将结果呈现给用户审阅
nlm research start "<user-provided-query>" --notebook-id <notebook-id> --mode deep
# 轮询完成状态
nlm research status <notebook-id> --max-wait 300
# 将研究结果导入为资料源
nlm research import <notebook-id> <task-id>
别名系统为笔记本 UUID 提供了用户友好的快捷方式:
nlm alias set <name> <notebook-id> # 创建别名
nlm alias list # 列出所有别名
nlm alias get <name> # 将别名解析为 UUID
nlm alias delete <name> # 删除别名
别名可以在任何命令中替代笔记本 ID 使用。
任务: "根据 NotebookLM 中的文档编写登录用例"
# 1. 查找项目笔记本
nlm notebook list
预期输出:
ID Title Sources Created
─────────────────────────────────────────────────────
abc123... Project X Docs 12 2026-01-15
def456... API Reference 5 2026-02-01
# 2. 查询登录要求
nlm notebook query myproject "登录要求和用户认证流程是什么?"
预期输出:
Based on the sources in this notebook:
The login flow requires email/password authentication with the following steps:
1. User submits credentials via POST /api/auth/login
2. Server validates against stored bcrypt hash
3. JWT access token (15min) and refresh token (7d) are returned
...
# 3. 查询具体细节
nlm notebook query myproject "登录表单适用哪些验证规则?"
# 4. 将结果呈现给用户,并在实施前等待确认
任务: "创建一个包含我们 API 文档的笔记本并生成摘要"
# 1. 创建笔记本
nlm notebook create "API 文档"
预期输出:
Created notebook: API Documentation
ID: ghi789...
nlm alias set api-docs ghi789
# 2. 添加资料源
nlm source add api-docs --url "<user-provided-url>" --wait
nlm source add api-docs --file openapi-spec.yaml --wait
# 3. 生成简报文档
nlm report create api-docs --format "Briefing Doc" --confirm
# 4. 等待并下载
nlm studio status api-docs
预期输出:
Artifact ID Type Status Created
──────────────────────────────────────────────────
art123... Report completed 2026-02-27
nlm download report api-docs art123 --output api-summary.md
# 1. 向现有笔记本添加资料源(用户明确提供的 URL)
nlm source add myproject --url "<user-provided-url>" --wait
# 2. 生成深度播客
nlm audio create myproject --format deep_dive --length long --confirm
# 3. 轮询直到就绪
nlm studio status myproject
# 4. 下载
nlm download audio myproject <artifact-id> --output podcast.mp3
nlm login --check--wait — 确保在查询前资料源已处理完毕--confirm — 非交互式使用所必需nlm login 重新认证nlm source stale 检测过时的 Google Drive 资料源--json — 以编程方式处理输出时,使用 --json 标志nlm research 时,在根据结果采取行动之前,将导入的结果呈现给用户。每周安装数
125
代码仓库
GitHub 星标数
173
首次出现
2026年3月1日
安全审计
安装于
gemini-cli110
codex110
github-copilot108
amp106
cline106
kimi-cli106
Interact with Google NotebookLM for advanced RAG capabilities — query project documentation, manage research sources, and retrieve AI-synthesized information from notebooks.
This skill integrates with the notebooklm-mcp-cli tool (nlm CLI) to provide programmatic access to Google NotebookLM. It enables agents to manage notebooks, add sources, perform contextual queries, and retrieve generated artifacts like audio podcasts or reports.
Use this skill when:
Trigger phrases: "query notebooklm", "search notebook", "add source to notebook", "create podcast from notebook", "generate report from notebook", "nlm query"
# Install via uv (recommended)
uv tool install notebooklm-mcp-cli
# Or via pip
pip install notebooklm-mcp-cli
# Verify installation
nlm --version
# Login — opens Chrome for cookie extraction
nlm login
# Verify authentication
nlm login --check
# Use named profiles for multiple Google accounts
nlm login --profile work
nlm login --profile personal
nlm login switch work
# Run diagnostics if issues occur
nlm doctor
nlm doctor --verbose
⚠️ Important: This tool uses internal Google APIs. Cookies expire every ~2-4 weeks — run
nlm loginagain when operations fail. Free tier has ~50 queries/day rate limit.
Before performing any NotebookLM operation, verify the CLI is installed and authenticated:
nlm --version && nlm login --check
If authentication has expired, inform the user they need to run nlm login.
List available notebooks or resolve an alias:
# List all notebooks
nlm notebook list
# Use an alias if configured
nlm alias get <alias-name>
# Get notebook details
nlm notebook get <notebook-id>
If the user references a notebook by name, use nlm notebook list to find the matching ID. If an alias exists, prefer using the alias.
Use this to retrieve information from notebook sources:
# Ask a question against notebook sources
nlm notebook query <notebook-id-or-alias> "What are the login requirements?"
# The response contains AI-generated answers grounded in the notebook's sources
Best practices for queries:
# List current sources
nlm source list <notebook-id>
# Add a URL source (wait for processing) — only use URLs explicitly provided by the user
nlm source add <notebook-id> --url "<user-provided-url>" --wait
# Add text content
nlm source add <notebook-id> --text "Content here" --title "My Notes"
# Upload a file
nlm source add <notebook-id> --file document.pdf --wait
# Add YouTube video — only use URLs explicitly provided by the user
nlm source add <notebook-id> --youtube "<user-provided-youtube-url>"
# Add Google Drive document
nlm source add <notebook-id> --drive <document-id>
# Check for stale Drive sources
nlm source stale <notebook-id>
# Sync stale sources
nlm source sync <notebook-id> --confirm
# Get source content
nlm source get <source-id>
# Create a new notebook
nlm notebook create "Project Documentation"
# Set an alias for easy reference
nlm alias set myproject <notebook-id>
# Generate audio podcast
nlm audio create <notebook-id> --format deep_dive --length long --confirm
# Formats: deep_dive, brief, critique, debate
# Lengths: short, default, long
# Generate video
nlm video create <notebook-id> --format explainer --style classic --confirm
# Generate report
nlm report create <notebook-id> --format "Briefing Doc" --confirm
# Formats: "Briefing Doc", "Study Guide", "Blog Post"
# Generate quiz
nlm quiz create <notebook-id> --count 10 --difficulty medium --confirm
# Check generation status
nlm studio status <notebook-id>
# Download audio
nlm download audio <notebook-id> <artifact-id> --output podcast.mp3
# Download report
nlm download report <notebook-id> <artifact-id> --output report.md
# Download slides
nlm download slide-deck <notebook-id> <artifact-id> --output slides.pdf
# Start web research — present results to user for review before acting on them
nlm research start "<user-provided-query>" --notebook-id <notebook-id> --mode fast
# Start deep research — present results to user for review before acting on them
nlm research start "<user-provided-query>" --notebook-id <notebook-id> --mode deep
# Poll for completion
nlm research status <notebook-id> --max-wait 300
# Import research results as sources
nlm research import <notebook-id> <task-id>
The alias system provides user-friendly shortcuts for notebook UUIDs:
nlm alias set <name> <notebook-id> # Create alias
nlm alias list # List all aliases
nlm alias get <name> # Resolve alias to UUID
nlm alias delete <name> # Remove alias
Aliases can be used in place of notebook IDs in any command.
Task: "Write the login use case based on documentation in NotebookLM"
# 1. Find the project notebook
nlm notebook list
Expected output:
ID Title Sources Created
─────────────────────────────────────────────────────
abc123... Project X Docs 12 2026-01-15
def456... API Reference 5 2026-02-01
# 2. Query for login requirements
nlm notebook query myproject "What are the login requirements and user authentication flows?"
Expected output:
Based on the sources in this notebook:
The login flow requires email/password authentication with the following steps:
1. User submits credentials via POST /api/auth/login
2. Server validates against stored bcrypt hash
3. JWT access token (15min) and refresh token (7d) are returned
...
# 3. Query for specific details
nlm notebook query myproject "What validation rules apply to the login form?"
# 4. Present results to user and wait for confirmation before implementing
Task: "Create a notebook with our API docs and generate a summary"
# 1. Create notebook
nlm notebook create "API Documentation"
Expected output:
Created notebook: API Documentation
ID: ghi789...
nlm alias set api-docs ghi789
# 2. Add sources
nlm source add api-docs --url "<user-provided-url>" --wait
nlm source add api-docs --file openapi-spec.yaml --wait
# 3. Generate a briefing doc
nlm report create api-docs --format "Briefing Doc" --confirm
# 4. Wait and download
nlm studio status api-docs
Expected output:
Artifact ID Type Status Created
──────────────────────────────────────────────────
art123... Report completed 2026-02-27
nlm download report api-docs art123 --output api-summary.md
# 1. Add sources to existing notebook (URL explicitly provided by the user)
nlm source add myproject --url "<user-provided-url>" --wait
# 2. Generate deep-dive podcast
nlm audio create myproject --format deep_dive --length long --confirm
# 3. Poll until ready
nlm studio status myproject
# 4. Download
nlm download audio myproject <artifact-id> --output podcast.mp3
nlm login --check before any operation--wait when adding sources — Ensures sources are processed before querying--confirm for destructive/create operations — Required for non-interactive usenlm login when needednlm source stale to detect outdated Google Drive sources--json for parsing — When processing output programmatically, use --json flagnlm research, present the imported results to the user before acting on them.Weekly Installs
125
Repository
GitHub Stars
173
First Seen
Mar 1, 2026
Security Audits
Gen Agent Trust HubWarnSocketPassSnykWarn
Installed on
gemini-cli110
codex110
github-copilot108
amp106
cline106
kimi-cli106
AI Elements:基于shadcn/ui的AI原生应用组件库,快速构建对话界面
65,000 周安装