☰
notebooklm-py集合管理指南:跨Notebook组织资料的新能力实战
2026/10/3 17:52:22 网站建设 项目流程

notebooklm-py集合管理指南:跨Notebook组织资料的新能力实战

【免费下载链接】notebooklm-pyUnofficial Python API and agentic skill for Google Gemini Notebook. Full programmatic access to NotebookLM's features—including capabilities the web UI doesn't expose—via Python, CLI, and AI agents like Claude Code, Codex, and OpenClaw.项目地址: https://gitcode.com/GitHub_Trending/no/notebooklm-py

NotebookLM 里的 notebook 越建越多,找不到、理不清?notebooklm-py 这个 Google Gemini Notebook(原 NotebookLM)的非官方 Python API 新加入了集合(Collection)管理能力:你可以像创建"播放列表"一样,把整个 notebook 分门别类地归入命名集合,实现跨 notebook 的资料组织。本文用 CLI 和 Python 两种方式带你 10 分钟上手。

什么是 NotebookLM 集合?和 Label 有什么区别

集合(Collection)是账号级别的分组:它把"整个 notebook"归到一起,类似音乐 App 的播放列表,一个 notebook 可以同时属于多个集合,集合本身不带父级 notebook。

它容易和Label(标签)混淆,两者定位完全不同:

对比项Collection 集合Label 标签
作用层级账号级,跨 notebooknotebook 内,管理 source
分组对象整个 notebook单个资料源
是否需指定 notebook不需要需要-n/--notebook
典型场景"Q3 调研"归拢 8 个 notebook把一个 notebook 里的资料按主题打标

数据模型定义在 src/notebooklm/_types/collections.py,Collection就四个字段:id、name、emoji、notebook_ids——简单直接,多对多关系,成员 notebook 不持有反向引用。

快速上手:集合管理的 7 个 CLI 命令

notebooklm-py 通过notebooklm collection <cmd>分组命令管理集合,完整列表见 docs/cli-reference.md:

命令作用示例
list列出账号下所有集合notebooklm collection list
notebooks查看某集合的成员 notebooknotebooklm collection notebooks "Research Q3"
create创建新集合notebooklm collection create "Research Q3"
rename重命名集合notebooklm collection rename "Research Q3" "Research Q4"
add往集合加入 notebook(支持一次加多个)notebooklm collection add "Research Q3" nb123 nb456
remove把 notebook 移出集合notebooklm collection remove "Research Q3" nb123
delete删除集合(需-y确认)notebooklm collection delete "Research Q3" -y

三个新手友好细节值得留意:

  • <id|name>复合参数:几乎所有命令都接受集合 ID、ID 前缀或精确名称,名称重名会列出候选让你消歧,不用去翻 ID。
  • remove ≠ 删除:remove只是把 notebook 移出该集合,notebook 本身安然无恙,还留在其他集合里。
  • delete 只删分组:delete永远不碰成员 notebook,且需要-y显式确认。

命令实现位于 src/notebooklm/cli/collection_cmd.py,业务逻辑与传输解耦在 src/notebooklm/_app/collections.py,支持--json输出便于脚本化。

实战:用 Python API 批量整理笔记本

对脚本化场景,client.collections(CollectionsAPI)提供更细粒度的控制,API 全表见 docs/python-api.md:

方法说明
list()列出全部集合(含成员)
get(id)/get_or_none(id)按 ID 取集合,缺失时抛异常或返回None
notebooks(id)展开成Notebook对象列表
create(name)创建空集合
rename(id, name)重命名(保留原 emoji)
add_notebooks(id, ids)追加成员,已有的不会被覆盖
remove_notebooks(id, ids)仅取消归属,不删 notebook
delete(ids)批量删除集合,幂等

一个典型的整理流程(参考 tests/e2e/test_collections.py 的真实用例):

from notebooklm import Collection # 建一个"季度调研"集合,把 3 个 notebook 归进去 research = await client.collections.create("Research Q3") await client.collections.add_notebooks(research.id, [nb1, nb2, nb3]) # 季度结束:改名归档,而不是删除 await client.collections.rename(research.id, "Archive Q3")

注意delete是幂等的(对不存在的目标直接返回None),批量清理很安全;而add_notebooks/remove_notebooks对每个 ID 各发一次 RPC,不跨 ID 原子,大批量操作时建议在finally里兜底删除集合,这也是官方 E2E 测试的清理纪律。

常见问题与最佳实践

  • 集合和标签要一起用吗?要。Label 管"notebook 内资料怎么分主题",Collection 管"notebook 之间怎么归类",两层组合起来就是完整的资料体系。
  • 可以嵌套或共享集合吗?目前服务端不支持嵌套,也不支持集合级共享;需要协作时用 docs/python-api.md 里介绍的 notebook 级 Sharing 能力。
  • 删了集合,notebook 会丢吗?不会。三层操作(remove / delete / 批量 delete)都不触碰成员 notebook,只有notebook delete才会删 notebook 本身。
  • 想验证线上行为?集合的线格式曾出现过"静默无效"的坑并已在 PR #2009 中修正,回归测试见 tests/e2e/test_collections.py,可对照了解创建、成员增删、删除幂等性的预期行为。

小结

notebooklm-py 的集合管理让你第一次可以用代码给 NotebookLM 做账号级的资料架构:CLI 的 7 个命令覆盖日常整理,CollectionsAPI支撑批量与自动化。从collection create到add_notebooks,几分钟就能把散落各处的 notebook 收成清晰的"播放列表",配合 Label 与 Sharing,跨 notebook 组织资料从此有章可循。更多用法请查阅 docs/cli-reference.md 与 README.md。

【免费下载链接】notebooklm-pyUnofficial Python API and agentic skill for Google Gemini Notebook. Full programmatic access to NotebookLM's features—including capabilities the web UI doesn't expose—via Python, CLI, and AI agents like Claude Code, Codex, and OpenClaw.项目地址: https://gitcode.com/GitHub_Trending/no/notebooklm-py

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询