wowerpoint

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Wowerpoint

Wowerpoint

One doc in, one PDF out. Slide-deck only — videos and podcasts from the same engine are noticeably worse and out of scope; refer the user to the
notebooklm
CLI directly if they want those.
单文档输入,单PDF输出。仅支持幻灯片演示文稿——同一引擎生成的视频和播客效果明显较差,不在本工具范围内;如果用户需要这些内容,请直接引导他们使用
notebooklm
CLI。

Triggers

触发词

  • "Wowerpoint <file>"
  • "Make a slide deck about <file>"
  • "Turn this report into slides"
  • "Kawaii-deck this"
  • "Wowerpoint <文件>"
  • "为<文件>制作幻灯片"
  • "将这份报告转为幻灯片"
  • "生成可爱风格幻灯片"

Setup (one-time per machine)

安装设置(每台机器仅需一次)

If
notebooklm auth check
returns 0 and
command -v jq
resolves, skip.
bash
uv tool install --with playwright --force notebooklm-py
$(uv tool dir)/notebooklm-py/bin/playwright install chromium
jq
is required by the workflow's JSON parsing; install if missing (
brew install jq
on macOS, or your distro's package manager).
Then the user authenticates interactively — do not script. Tell them to type
! notebooklm login
so the OAuth ENTER lands in their terminal.
如果
notebooklm auth check
返回0且
command -v jq
能找到命令,可跳过此步骤。
bash
uv tool install --with playwright --force notebooklm-py
$(uv tool dir)/notebooklm-py/bin/playwright install chromium
工作流的JSON解析需要
jq
;如果未安装,请进行安装(macOS使用
brew install jq
,其他系统使用对应发行版的包管理器)。
之后用户需交互式完成身份验证——请勿编写脚本自动完成。告知用户输入
! notebooklm login
,以便OAuth验证的回车键操作能在他们的终端中执行。

Workflow

工作流程

1. The source doc

1. 源文档

You need exactly one source doc. If it doesn't exist or is too thin to carry a deck, write it first — use mem-search and sequential thinking to make it comprehensive (long-form, narrative, several thousand words is normal). Do not paper over a weak source by adding more sources.
你需要恰好一份源文档。如果文档不存在或内容过于单薄不足以支撑幻灯片,请先撰写文档——使用内存搜索和连贯思维来完善内容(长篇叙事风格,通常几千字是正常的)。不要通过添加更多源文档来掩盖源文档内容不足的问题。

2. Auth pre-flight

2. 身份验证预检

bash
notebooklm auth check 2>&1 | tail -5
Exit 1 with
Run 'notebooklm login' to authenticate.
= halt and tell the user.
bash
notebooklm auth check 2>&1 | tail -5
如果返回退出码1并提示
Run 'notebooklm login' to authenticate.
= 停止操作并告知用户。

3. Create notebook, add the source

3. 创建笔记本,添加源文档

bash
NOTEBOOK_ID=$(notebooklm create "<title>" --json | jq -r .notebook.id)
SOURCE_ID=$(notebooklm source add "<doc-path>" --notebook "$NOTEBOOK_ID" --json | jq -r .source.id)
Title: H1 of the source doc, or its filename stem; append a date for dated work.
JSON envelope keys differ —
create
.notebook.id
,
source add
.source.id
,
generate
.task_id
. Wrong key = empty string = silent downstream failure.
bash
NOTEBOOK_ID=$(notebooklm create "<标题>" --json | jq -r .notebook.id)
SOURCE_ID=$(notebooklm source add "<文档路径>" --notebook "$NOTEBOOK_ID" --json | jq -r .source.id)
标题:使用源文档的一级标题,或文件名的主干部分;如果是时效性工作,可追加日期。
JSON结构的键有所不同——
create
.notebook.id
source add
.source.id
generate
.task_id
。使用错误的键会导致空字符串,进而引发后续环节的静默失败。

4. Spawn the subagent

4. 启动子代理

Generation takes ~10 minutes; never block on it. Use the template below with
run_in_background: true
.
生成过程约需10分钟;切勿在此等待。使用下方模板并设置
run_in_background: true

5. End your turn

5. 结束当前步骤

Print the notebook URL so the user can watch live:
text
https://notebooklm.google.com/notebook/<NOTEBOOK_ID>
The subagent's completion notification fires when the file is on disk.
打印笔记本URL,方便用户实时查看进度:
text
https://notebooklm.google.com/notebook/<NOTEBOOK_ID>
当文件保存到本地磁盘时,子代理会发送完成通知。

Output path

输出路径

Adjacent to the source, parallel filename:
text
<source-dir>/<source-stem>-slides.pdf
If the source isn't somewhere that makes sense as an output location, default to
reports/<stem>-slides.pdf
.
与源文档同级,文件名平行:
text
<源文档目录>/<源文档主干名>-slides.pdf
如果源文档的位置不适合作为输出位置,默认输出到
reports/<主干名>-slides.pdf

The prompt

提示词

One sentence. Default:
text
Use kawaii characters to tell the story of <subject>. Keep it warm and clear.
Replace
<subject>
with a one-phrase description from the source doc's H1 or the user's framing. If the user supplies their own prompt, pass it through verbatim — don't expand it.
一句话。默认提示词:
text
使用可爱风格的角色讲述<主题>的故事。保持内容温暖清晰。
<主题>
替换为源文档一级标题或用户需求中的短语描述。如果用户提供了自定义提示词,请直接原样使用——不要扩展内容。

Subagent template (copy-paste, parameterize)

子代理模板(复制粘贴后替换参数)

text
You're handling NotebookLM slide-deck generation. Work in `<repo-absolute-path>`.

Context:
- The `notebooklm` CLI is installed and authenticated (parent verified with `notebooklm auth check`).
- A notebook and source already exist.

Inputs:
- Notebook ID: `<NOTEBOOK_ID>`
- Source ID: `<SOURCE_ID>`
- Generation prompt: `<PROMPT>`
- Output path: `<OUTPUT_PATH>`

Steps:

1. Wait for source: `notebooklm source wait <SOURCE_ID> -n <NOTEBOOK_ID> --timeout 600`
   Exit 0 = ready, 1 = error, 2 = timeout. On timeout, run `notebooklm source list -n <NOTEBOOK_ID> --json` and report status.

2. Generate: `notebooklm generate slide-deck "<PROMPT>" --format detailed --length default --notebook <NOTEBOOK_ID> --json --retry 2`
   Parse `task_id` from the JSON (key is `task_id` at top level).
   On `GENERATION_FAILED` or "No result found for RPC ID": sleep 300, retry once, then give up.

3. Wait for artifact: `notebooklm artifact wait <task_id> -n <NOTEBOOK_ID> --timeout 1800`

4. Download: `notebooklm download slide-deck <OUTPUT_PATH> -a <task_id> -n <NOTEBOOK_ID>`

5. Verify: `ls -la <OUTPUT_PATH>` confirms the file exists.

Report briefly (under 200 words):
- Final artifact ID
- Time per phase (source wait, generation, render wait, download)
- Output file path + size
- Any retries or warnings
- Exact error message if any step failed

Do NOT poll status manually. The `wait` commands handle backoff.
text
你负责处理NotebookLM幻灯片演示文稿的生成工作。工作目录为`<仓库绝对路径>`。

上下文:
- `notebooklm` CLI已安装并完成身份验证(父代理已通过`notebooklm auth check`验证)。
- 笔记本和源文档已创建完成。

输入参数:
- 笔记本ID:`<NOTEBOOK_ID>`
- 源文档ID:`<SOURCE_ID>`
- 生成提示词:`<PROMPT>`
- 输出路径:`<OUTPUT_PATH>`

步骤:

1. 等待源文档就绪:`notebooklm source wait <SOURCE_ID> -n <NOTEBOOK_ID> --timeout 600`
   退出码0 = 就绪,1 = 错误,2 = 超时。如果超时,执行`notebooklm source list -n <NOTEBOOK_ID> --json`并报告状态。

2. 生成幻灯片:`notebooklm generate slide-deck "<PROMPT>" --format detailed --length default --notebook <NOTEBOOK_ID> --json --retry 2`
   从JSON中解析`task_id`(键为顶层的`task_id`)。
   如果出现`GENERATION_FAILED`或“No result found for RPC ID”:等待300秒后重试一次,若仍失败则放弃。

3. 等待生成产物就绪:`notebooklm artifact wait <task_id> -n <NOTEBOOK_ID> --timeout 1800`

4. 下载产物:`notebooklm download slide-deck <OUTPUT_PATH> -a <task_id> -n <NOTEBOOK_ID>`

5. 验证:执行`ls -la <OUTPUT_PATH>`确认文件已存在。

简要报告(少于200字):
- 最终产物ID
- 各阶段耗时(源文档等待、生成、渲染等待、下载)
- 输出文件路径+大小
- 任何重试操作或警告信息
- 若步骤失败,需提供确切错误信息

请勿手动轮询状态。`wait`命令会自动处理退避逻辑。

Failure modes

失败场景

  • pip: command not found
    — modern macOS doesn't ship pip on PATH. Use
    uv tool install
    .
  • Playwright not installed
    — install
    notebooklm-py
    with
    --with playwright
    , then
    playwright install chromium
    .
  • Run 'notebooklm login' to authenticate
    — only the user can complete OAuth.
  • task_id
    parsed as empty string
    — wrong JSON envelope key.
    generate
    returns
    {"task_id": "..."}
    at top level.
  • Rate-limit (
    GENERATION_FAILED
    or "No result found for RPC ID")
    --retry 2
    handles transients; persistent failure means wait 5–10 minutes or fall back to the web UI.
  • Source upload denied for sensitive docs — confirm before adding sources containing credentials, customer data, or unreleased product info. NotebookLM is a Google service.
  • --length long
    does not exist
    — only
    default|short
    . If the user asks for "long slides," use
    default
    and explain.
  • No
    --style
    flag
    — kawaii lives in the prompt text.
  • pip: command not found
    —— 现代macOS未在PATH中配置pip。请使用
    uv tool install
  • Playwright not installed
    —— 安装
    notebooklm-py
    时添加
    --with playwright
    参数,然后执行
    playwright install chromium
  • Run 'notebooklm login' to authenticate
    —— 只有用户能完成OAuth验证。
  • task_id
    解析为空字符串
    —— 使用了错误的JSON结构键。
    generate
    返回的JSON中
    task_id
    位于顶层。
  • 速率限制(
    GENERATION_FAILED
    或“No result found for RPC ID”)
    ——
    --retry 2
    会处理临时故障;若持续失败,需等待5-10分钟或切换到Web UI。
  • 敏感文档上传被拒绝 —— 在添加包含凭据、客户数据或未发布产品信息的源文档前,请确认内容合规。NotebookLM是Google旗下服务。
  • --length long
    不存在
    —— 仅支持
    default|short
    。如果用户要求“长幻灯片”,请使用
    default
    并向用户说明情况。
  • --style
    参数
    —— 可爱风格需通过提示词实现。

Operational tips

操作技巧

  • Rerun cheaply — once the notebook + source exist, regenerating with a different prompt only repeats generation + download. Reuse
    NOTEBOOK_ID
    and
    SOURCE_ID
    .
  • Web UI fallback — if generation is rate-limited >30 minutes, open the notebook URL, trigger generation in the UI, then
    notebooklm artifact list -n <NOTEBOOK_ID>
    and
    download
    .
  • 低成本重生成 —— 一旦笔记本和源文档已创建,使用不同提示词重新生成仅需重复生成+下载步骤。可复用
    NOTEBOOK_ID
    SOURCE_ID
  • Web UI fallback —— 如果生成操作被速率限制超过30分钟,打开笔记本URL,在UI中触发生成,然后执行
    notebooklm artifact list -n <NOTEBOOK_ID>
    并下载产物。