用途
NotebookLM CLI 封装工具是一个 Python 脚本封装层,用于在命令行中操作 NotebookLM。它通过 python3 {baseDir}/scripts/notebooklm.py <command> [args...] 的形式调用,底层由 notebooklm-py 提供支持,适用于认证、笔记本管理、对话、来源、笔记、分享等场景。
主要能力
- 认证与状态:login、status 等命令。
- 笔记本管理:list、use <notebook_id>、clear 等。
- 对话问答:ask "..." --notebook <notebook_id>。
- 来源管理:source list、source get、source add(URL/文本)、source add-research、source wait。
- 笔记:note list 等。
- 生成与下载:generate slide-deck、artifact wait、download slide-deck。
- 研究:research wait。
使用方式
前置条件:
- python3 可用。
- 已安装 notebooklm-py(CLI 二进制:notebooklm)。
- 已完成 NotebookLM 登录认证。
快速开始示例:
python3 {baseDir}/scripts/notebooklm.py login
python3 {baseDir}/scripts/notebooklm.py list
python3 {baseDir}/scripts/notebooklm.py use <notebook_id>
python3 {baseDir}/scripts/notebooklm.py status
python3 {baseDir}/scripts/notebooklm.py ask "Summarize the key takeaways" --notebook <notebook_id>
输出建议:在支持的命令中优先使用 --json 以获得机器可读输出。长时等待由原生命令处理,例如 source wait、artifact wait、research wait。
子代理委派(防阻塞)
问题:source wait、artifact wait、research wait、generate slide-deck、source add-research 等操作可能耗时数分钟,在主会话中运行会阻塞对话。
策略:对于预计超过 30 秒的操作,通过 sessions_spawn 委派给子代理。主会话先确认用户请求,再派生子代理执行长任务;子代理执行并等待完成后回报,主会话保持响应,子代理完成后自动通知。
建议委派的操作:
- login、status、list、use、clear:不委派(快,<5s)。
- ask(对话):不委派(通常约 10s)。
- source list、source get、note list:不委派(快速读取)。
- source add(URL/文本):可选(提交快,但后续 source wait 慢)。
- source add-research:委派(深度研究可能 2-5 分钟)。
- source wait:委派(轮询等待,时长不可预测)。
- generate slide-deck + artifact wait:委派(生成 1-5 分钟)。
- research wait:委派(可能数分钟)。
- download slide-deck:可选(通常快,大文件可能慢)。
- 多步工作流(加来源 → 等待 → 生成 → 等待 → 下载):委派(复合长任务)。
派生示例:
sessions_spawn:
task: |
You are a NotebookLM task runner. Execute the following NotebookLM operations
and report results when done.
Notebook ID: <notebook_id>
Commands to run (in order):
1. <command 1>
2. <command 2>
...
Use the CLI wrapper: python3 ~/.openclaw/skills/notebooklm-Invoke/scripts/notebooklm.py
Prefer --json output where supported.
If any step fails, report the error and stop.
When complete, summarize what was accomplished and any output files created.
mode: run
label: notebooklm-<short-description>
生成幻灯片示例:
sessions_spawn:
task: |
NotebookLM task: Generate a slide deck from notebook.
Steps:
1. python3 ~/.openclaw/skills/notebooklm-Invoke/scripts/notebooklm.py generate slide-deck "Create a comprehensive slide deck" --notebook <id>
2. python3 ~/.openclaw/skills/notebooklm-Invoke/scripts/notebooklm.py artifact wait <artifact_id> --notebook <id> --timeout 600 --json
3. python3 ~/.openclaw/skills/notebooklm-Invoke/scripts/notebooklm.py download slide-deck ./output.pptx --notebook <id> --latest --format pptx
Report: artifact details, file path, any errors.
mode: run
label: notebooklm-slide-deck
添加研究来源示例:
sessions_spawn:
task: |
NotebookLM task: Add deep research source.
Steps:
1. python3 ~/.openclaw/skills/notebooklm-Invoke/scripts/notebooklm.py source add-research "碳足迹最新研究进展" --mode deep --notebook <id>
2. python3 ~/.openclaw/skills/notebooklm-Invoke/scripts/notebooklm.py research wait --notebook <id> --timeout 600
3. python3 ~/.openclaw/skills/notebooklm-Invoke/scripts/notebooklm.py source list --notebook <id> --json
Report: research status, new sources added, any errors.
mode: run
label: notebooklm-research
使用准则
- 派生前始终告知用户正在委派后台任务。
- 使用 mode: run(一次性),无需持久会话。
- 使用描述性标签,如 notebooklm-slide-deck、notebooklm-research-carbon,便于追踪。
- 在任务中包含全部上下文——子代理没有对话历史。
- 错误处理:指示子代理清晰报告错误,以便转达。
- 文件路径:输出文件使用绝对路径,便于主会话找到。
- 复合工作流:将相关步骤(加 → 等待 → 生成 → 等待 → 下载)打包到单个子代理任务,而非派生多个。
PPT 生成策略
- 单个生成的幻灯片最多 15 页。
- 若用户需求超过 15 页,拆分为多个幻灯片(如 Part 1/2/3)分别生成。
- 生成后尽可能提供可下载的 .pptx 输出:
download slide-deck ... --format pptx。
参考
- README.md(安装、要求、故障排查)
- QUICKSTART_CN.md(中文快速上手)
- references/cli-commands.md
限制
- 需预先安装 notebooklm-py 并完成 NotebookLM 登录认证。
- 部分操作耗时较长,需通过子代理委派以避免阻塞。
- 其他未在资料中说明的功能、收费、价格、平台或效果暂未提供。