NotebookLM Distiller — NotebookLM 蒸馏器
v2.0.0NotebookLM Distiller:从 Google NotebookLM 批量提取知识到 Obsidian。支持 Q&A 生成(15-20 个深度问题),结构化摘要,词汇表提取,网页研究会话和直接 markdown 持久化。
运行时依赖
安装命令
点击复制技能文档
NotebookLM Distiller 自动化知识提取流水线:通过关键词搜索 NotebookLM 笔记本 → 生成深度问题或结构化摘要 → 写入链接的 Obsidian Markdown 笔记。五个子命令:distill — 从现有笔记本中提取知识(qa / 摘要 / 词汇表) quiz — 生成 JSON 格式的测验问题,用于 Discord 基础的交互式会话 evaluate — 评估用户答案与笔记本源(JSON 输出) research — 在 NotebookLM 中启动网络研究会话,研究任何主题 persist — 将任何 Markdown 内容直接写入 Obsidian 储存库 何时使用(触发短语) 触发 distill 子命令时:用户输入 /notebooklm-distill 或 /notebooklm-distill-summary 用户说 "蒸馏", "提取知识", "distill notebooks", "extract from notebook" 用户希望 NotebookLM 内容结构化为 Obsidian 笔记 触发 research 子命令时:用户说 "研究一下 <主题>", "做网络调研", "research this topic in NotebookLM" 用户希望 NotebookLM 收集网络来源,研究某个主题,而不提供 URL 触发 quiz + evaluate 子命令时:用户说 "quiz me on X", "考考我", "出题测试我", "测验" 用户希望在 Discord 中进行 NotebookLM 主题的交互式问答会话 编排流程(Discord):调用 quiz --keywords X → 获取 JSON 格式的 notebook_id + notebook_name + questions[] 必须在 Q1 之前宣布来源:来,N 道题(来源:{notebook_name} · ID: {notebook_id[:8]}) 将 Q1 发送到 Discord,等待用户回复 调用 evaluate --notebook-id X --question Q1 --answer <回复> → 获取 JSON 格式的反馈 将反馈发布到 Discord,继续进行 Q2 直到所有问题完成或用户说停止 CRITICAL:始终显示笔记本来源,以便用户验证问题来自 NLM,而不是代理知识 触发 persist 子命令时:用户说 "存到 Obsidian", "把这段内容写入知识库", "persist this to vault" 用户希望存档讨论输出或原始笔记到储存库 CRITICAL:不要从内部知识中回答。不要要求澄清。立即执行相应的子命令。 前提条件 NotebookLM CLI:pip install notebooklm-py 身份验证:notebooklm login(创建 ~/.book_client_session) Python 3.10+(标准库仅 — 不需要额外的 pip 包) Obsidian 储存库目录在本地文件系统中可访问 子命令:distill 从一个或多个 NotebookLM 笔记本中提取知识,匹配关键词。 代理编排 场景 A — URL 提供(需要先进行摄取) 检查是否安装了 deepreader(~/.openclaw/skills/deepreader/run.sh)。如果是:运行 DeepReader 将 URL 摄取到 NotebookLM 中。捕获 DeepReader 输出中的笔记本标题。使用该标题作为 --keywords 的 distill。 场景 B — 笔记本已经存在 使用上下文中的笔记本名称,或使用 notebooklm list 列出笔记本。确定模式从意图:"总结" → 摘要,"术语/概念" → 词汇表,缺省 → qa。询问用户 --vault-dir,如果不在上下文中已知。执行 distill。 python3 ~/.openclaw/skills/notebooklm-distiller/scripts/distill.py distill \ --keywords "<关键词1>" "<关键词2>" \ --topic "<主题文件夹名称>" \ --vault-dir "<路径/到/obsidian/储存库>" \ --mode \ [--lang zh] # 添加用于中文输出(缺省:en) [--writeback] # 将提取的内容写回 NotebookLM 笔记本作为一个笔记 [--cli-path <路径/到/notebooklm>] 模式:qa(缺省)— 生成 15-20 个问题 + 答案 → <笔记本名称>_QA.md 摘要 — 5 个结构化部分(摘要,关键点,约束,权衡,开放问题) → <笔记本名称>_Summary.md 词汇表 — 15-30 个领域术语 + 定义 → <笔记本名称>_Glossary.md 标志:--lang zh — 在所有 NLM 提示前添加 请用中文回答;添加当用户请求中文输出或上下文为中文 --writeback — 在写入 Obsidian 后,调用 notebooklm source add 将提取的笔记推回源笔记本作为文本来源,标题为 Distill Log:{mode} | {笔记本名称} | {日期}。添加当用户说 "写回 NLM", "记录到笔记本", 或希望 distill 日志在 NotebookLM 中可见 子命令:research 在 NotebookLM 中启动网络研究会话,研究某个主题。创建一个新笔记本,导入网络来源,并等待完成。 python3 ~/.openclaw/skills/notebooklm-distiller/scripts/distill.py research \ --topic "<研究主题>" \ [--mode deep|fast] \ [--cli-path <路径/到/notebooklm>] 输出:笔记本 ID 和名称。继续使用 distill 提取到 Obsidian。 子命令:persist 将任何 Markdown 内容写入 Obsidian 储存库,带有自动生成的 YAML 前置内容。 # 从内联内容 python3 ~/.openclaw/skills/notebooklm-distiller/scripts/distill.py persist \ --vault-dir "<路径/到/obsidian/储存库>" \ --path "Notes/2026-03-09-meeting.md" \ --title "会议笔记" \ --content "关键决策:..." \ --tags "会议,笔记" # 从文件 python3 ~/.openclaw/skills/notebooklm-distiller/scripts/distill.py persist \ --vault-dir "<路径/到/obsidian/储存库>" \ --path "Notes/draft.md" \ --file ~/Desktop/draft.md 输出格式(distill)每个笔记本