返回顶部
n

notebooklm-content-creationNotebookLM内容创建

Create and monitor NotebookLM Studio content — Audio Overview, Video Overview, Infographics, and Slides — via the notebooklm-mcp-cli. Use when user wants to generate a podcast, video, infographic, or slide deck from a NotebookLM notebook. Triggers on: create audio, create video, create infographic, create slides, generate podcast from notebook, make a video overview, notebooklm studio create, download notebook audio, notebooklm content creation. Requires notebooklm-mcp-cli installed and authenti

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.0
安全检测
已通过
121
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

notebooklm-content-creation

NotebookLM 内容创作

创建 NotebookLM Studio 内容(音频概览、视频概览、信息图、幻灯片),并使用后台轮询循环监控直至完成。

需要:

  • - 已安装 notebooklm-mcp-cli:uv tool install notebooklm-mcp-cli
  • 已认证:nlm login(已在服务器上完成)



Studio 类型


类型命令格式时长
音频概览nlm audio createdeepdive, brief, critique, debateshort, default, long
视频概览
nlm studio create --type video | deepdive, brief, critique, debate | short, default, long |
| 信息图 | nlm studio create --type infographic | (默认) | — |
| 幻灯片 | nlm studio create --type slides | deep_dive | — |


工作流程

步骤 1 — 选择笔记本

列出所有笔记本:
bash
nlm notebook list

解析 JSON 输出中的 id 和 title。与用户的关键词进行匹配(不区分大小写的子字符串匹配)。如果匹配到多个,则用数字列出选项。

如果没有匹配的笔记本:

  • - 询问用户:未找到匹配 [关键词] 的笔记本。创建新笔记本还是向现有笔记本添加更多来源?
  • 如果用户确认创建新笔记本:使用 nlm notebook create <名称> 创建
  • 然后添加来源:nlm source add --url --wait

步骤 2 — 检查现有制品

在创建新内容之前,检查笔记本是否已有生成的制品:
bash
nlm studio status

如果存在 status: completed 的制品,向用户展示并询问:

此笔记本已有已完成的内容。下载现有[类型]还是生成新内容?

  • - 下载现有:直接进入下载步骤
  • 生成新内容:继续步骤 3

步骤 3 — 起飞前确认(一条消息,所有参数)

一次性询问所有参数。使用用户当前会话语言编写。

正在从[笔记本名称]创建[音频/视频/信息图/幻灯片]概览

请确认:

① 内容类型:[音频概览 / 视频概览 / 信息图 / 幻灯片]
② 格式:[deepdive / brief](默认:deepdive)
③ 时长:[short / default / long](默认:default)— 信息图/幻灯片不适用
④ 语言:[BCP-47 代码,例如 en, zh-CN](默认:笔记本检测到的语言或 en)
⑤ 输出路径:[路径](默认:~/ObsidianVault/Default/NotebookLM/<笔记本名称>/)

回复任何更改,或回复ok使用默认值继续。

步骤 4 — 创建内容

基于用户确认的参数:

音频或视频:
bash
nlm [audio|studio] create --[format] --[length] --language --confirm

捕获返回的制品 ID

信息图或幻灯片:
bash
nlm studio create --type [infographic|slides] --confirm

捕获返回的制品 ID

步骤 5 — 设置任务目录

按照轮询最佳实践模式创建临时目录:

/tmp/notebooklm-studio/
<清理后的笔记本名称>/
task.json ← 完整任务元数据
progress.json ← 轮询次数、制品 ID、最后状态
poll.log ← 每次轮询尝试
error.log ← 错误
done.flag ← 成功时创建
<输出文件> ← 下载的制品

写入 task.json:
json
{
notebook_id: ,
notebook_name: <名称>,
artifact_id: ,
studio_type: audio,
output_path: ~/ObsidianVault/Default/NotebookLM/<笔记本名称>/<输出文件名>,
pollintervalseconds: 300,
max_polls: 8,
created_at:
}

步骤 6 — 通知用户并启动后台轮询

通知用户(使用当前会话语言):

内容生成已开始。我将在后台监控,并在准备就绪时通知您(通常需要 2-5 分钟)。每 5 分钟轮询一次,最长 40 分钟。

在后台启动轮询脚本:
bash
cd /tmp/notebooklm-studio/<任务目录>/
nohup bash /tmp/notebooklm-studio/poll.sh > /dev/null 2>&1 &

步骤 7 — 轮询脚本

将此脚本写入 <任务目录>/poll.sh:

bash
#!/bin/bash
set -euo pipefail

TASK_DIR=/tmp/notebooklm-studio/<任务目录>
cd $TASK_DIR

[[ -f done.flag ]] && echo 已完成。 && exit 0

POLLCOUNT=$(grep pollcount progress.json 2>/dev/null | sed s/[^0-9]//g) || POLL_COUNT=0
MAX_POLLS=8
INTERVAL=300

log() { echo [$(date +%Y-%m-%d %H:%M:%S)] $* | tee -a poll.log; }

while true; do
POLLCOUNT=$((POLLCOUNT + 1))

if [[ $POLLCOUNT -gt $MAXPOLLS ]]; then
log 在 $MAX_POLLS 次轮询后超时
echo 超时 >> error.log
exit 1
fi

log [轮询 $POLLCOUNT/$MAXPOLLS] 检查状态...
RESULT=$(nlm studio status $(grep notebook_id task.json | sed s/.: \([^]\)./\1/) 2>&1) || true
echo $RESULT >> poll.log

# 检查我们的制品是否已完成
ARTIFACTSTATUS=$(echo $RESULT | grep -A5 \id\: \$(grep artifactid task.json | sed s/.: \([^]\)./\1/)\ | grep status | sed s/.: \([^]\)./\1/ | head -1)
log 制品状态:$ARTIFACT_STATUS

if [[ $ARTIFACT_STATUS == completed ]]; then
log 已完成。正在下载...
OUTPUTPATH=$(grep outputpath task.json | sed s/.: \([^]\)./\1/)
nlm download audio $(grep notebookid task.json | sed s/.: \([^]\)./\1/) --id $(grep artifactid task.json | sed s/.: \([^]\)./\1/) -o $OUTPUT_PATH >> poll.log 2>&1 || true
if [[ -s $OUTPUT_PATH ]]; then
log 已下载:$OUTPUTPATH ($(du -h $OUTPUTPATH | cut -f1))
touch done.flag
else
log 下载的文件为空
echo 输出为空 >> error.log
fi
exit 0
fi

if [[ $ARTIFACT_STATUS == failed ]]; then
log 生成失败
echo 失败 >> error.log
exit 1
fi

# 保存进度
sed -i s/\pollcount\: [0-9]*/\pollcount\: $POLL_COUNT/ progress.json
log 仍在进行中。等待 ${INTERVAL} 秒...
sleep $INTERVAL
done

初始化 progress.json:
json
{
poll_count: 0,
lastpollat: null,
lastpollresult: null
}

步骤 8 — 完成

当轮询退出时(成功或失败):

成功时:

  • - 验证文件存在且有内容
  • 如果尚未在确认的输出路径,将文件移动到该路径
  • 使用当前会话语言通知用户:

> ✅ [内容类型] 已就绪!\n\n笔记本:[名称]\n保存至:[路径]\n大小:[大小]\n轮询次数:[N](约 [X] 分钟)
  • - 保留临时文件夹供手动检查

失败/超时时:

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 notebooklm-content-creation-1776014723 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 notebooklm-content-creation-1776014723 技能

通过命令行安装

skillhub install notebooklm-content-creation-1776014723

下载

⬇ 下载 notebooklm-content-creation v1.0.0(免费)

文件大小: 3.85 KB | 发布时间: 2026-4-13 11:13

v1.0.0 最新 2026-4-13 11:13
Initial release: create and monitor NotebookLM Studio content (Audio Overview, Video Overview, Infographics, Slides) via nlm CLI. Includes notebook matching, existing artifact detection, pre-flight confirmation, background polling, and auto-download to ObsidianVault.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部