notebooklm-py:把 Google NotebookLM 变成 API,还能接入 Claude Code
引子
做跨境电商业态的技术调研,我每天要处理大量竞品信息、市场报告和供应链文档。Google NotebookLM 的 AI 笔记整理能力确实好用——自动摘要、关键信息提取、多文档交叉分析,这些功能比我自己手动整理快得多。
但有个痛点一直没解决:NotebookLM 只有 Web 界面。每周要分析 10 份竞品周报,我得一个个上传文档,手动点击“生成摘要”,再把结果复制到飞书文档里。重复劳动,浪费时间。
直到上周,我在 GitHub 上看到 notebooklm-py 这个项目。它把 NotebookLM 封装成了 Python 库,能通过代码调用所有功能。更关键的是,它还能接入 Claude Code,实现自动化工作流。
notebooklm-py 解决了什么问题
先说 NotebookLM 的痛点。作为一款 AI 笔记工具,它的核心能力是文档理解和知识问答,但有两个硬伤:
-
不能批量处理:一次只能上传一个文档,不支持批量导入。每周分析 10 份报告,就得重复 10 次操作。
-
不能定时自动分析:没有 API,无法设置定时任务。每周五下午,我得手动跑一遍流程。
-
不能集成到现有工作流:团队用飞书协作,分析结果要手动粘贴。无法通过 Webhook 或 API 自动推送到群聊。
notebooklm-py 的定位很明确:NotebookLM 的 Python 封装。它提供了完整的 CRUD 接口和问答功能,让 NotebookLM 从一个封闭工具变成了可编程的 API。
具体来说,它支持:
-
创建笔记本:通过代码创建新的 NotebookLM 笔记本
-
上传文档:支持 PDF、TXT、Markdown 等格式,可以批量上传
-
执行问答:对笔记本中的文档进行 AI 问答,获取摘要、关键信息、对比分析
-
管理笔记本:列出所有笔记本、删除笔记本、获取笔记本详情
适用场景也很清晰:
-
批量文档分析:一次性上传 50 份市场报告,自动生成摘要和关键洞察
-
定时生成报告:配合 cron 或 Airflow,每周自动分析竞品动态
-
知识库引擎:将 NotebookLM 作为知识库后端,集成到飞书机器人、Slack Bot 或内部系统
快速上手:安装与基础配置
安装很简单,一行命令:
pip install notebooklm-py
要求 Python 3.10 以上,实测 3.11 和 3.12 都没问题。
配置需要两步:
-
获取 Google API Key:去 Google Cloud Console 启用 NotebookLM API,创建服务账号并下载 JSON 密钥文件。
-
设置环境变量:将密钥文件路径配置为
GOOGLE_APPLICATION_CREDENTIALS环境变量。
基础操作代码示例:
from notebooklm import NotebookLM
# 初始化客户端
client = NotebookLM()
# 创建笔记本
notebook = client.create_notebook("竞品分析 - 2025年第15周")
# 上传文档
documents = [
"reports/competitor_a_week15.md",
"reports/competitor_b_week15.pdf",
"reports/market_trends_week15.txt"
]
for doc in documents:
notebook.upload_document(doc)
# 执行问答
response = notebook.ask("请总结本周竞品的主要动态,列出3个关键变化")
print(response)
整个流程从手动操作 10 分钟,变成了代码执行 2 秒。
实战:用 Claude Code 调用 notebooklm-py
这才是最有价值的部分。Claude Code 是 Anthropic 推出的 AI 编程助手,能直接执行 Python 代码。把 notebooklm-py 和 Claude Code 结合起来,就能实现真正的自动化工作流。
我每周五下午要处理的任务:分析 10 份竞品周报,生成摘要和关键洞察,然后发送到团队飞书群。
原来手动做需要 2 小时:上传文档 10 分钟,逐个生成摘要 30 分钟,整理对比分析 40 分钟,粘贴到飞书 20 分钟,加上中间等待和调整的时间。
现在用 Claude Code 调用 notebooklm-py,2 分钟自动完成。
具体实现思路:
-
准备脚本:写一个 Python 脚本,用 notebooklm-py 创建笔记本、批量上传文档、执行预设的问答(如“本周竞品有哪些新产品上线?”“价格策略有什么变化?”“供应链动态是什么?”)。
-
接入 Claude Code:在 Claude Code 中运行这个脚本,让它自动执行。Claude Code 能理解脚本逻辑,并在执行过程中根据结果进行判断和调整。
-
自动推送结果:脚本执行完问答后,将结果格式化,通过飞书 Webhook 自动发送到群聊。
关键代码片段:
import os
from notebooklm import NotebookLM
import requests
def weekly_competitor_analysis():
client = NotebookLM()
# 创建本周笔记本
notebook = client.create_notebook(f"竞品分析 - 第{os.environ['WEEK_NUM']}周")
# 批量上传文档
report_dir = "/data/reports/weekly"
for file in os.listdir(report_dir):
if file.endswith((".md", ".pdf", ".txt")):
notebook.upload_document(os.path.join(report_dir, file))
# 执行分析
questions = [
"本周各竞品有哪些新产品或功能上线?",
"价格策略方面有什么变化?",
"供应链和物流方面有哪些动态?",
"市场营销活动有哪些值得关注?"
]
results = {}
for q in questions:
results[q] = notebook.ask(q)
# 格式化结果
report = format_report(results)
# 发送到飞书
webhook_url = os.environ["FEISHU_WEBHOOK"]
requests.post(webhook_url, json={"msg_type": "post", "content": report})
return report
在 Claude Code 中运行:
claude python weekly_competitor_analysis.py
Claude Code 会自动执行脚本,如果遇到错误(比如文档格式不对、API 限流),它会根据错误信息自动重试或调整参数。整个过程不需要人工干预。
实际效果:原来每周五下午 2 小时的重复劳动,现在周五早上到办公室,飞书群里已经躺着自动生成的竞品分析报告。我可以直接基于报告做决策,而不是花时间整理数据。
总结
notebooklm-py 解决了一个很实际的问题:把 Google NotebookLM 从封闭的 Web 工具变成了可编程 API。对于每天处理大量文档的技术团队来说,这意味着:
-
批量处理:不再受限于手动上传,可以一次性分析几十份文档。
-
定时自动化:配合 cron 或 CI/CD,实现周报、月报的自动生成。
-
系统集成:将 NotebookLM 作为知识库引擎,嵌入到飞书、Slack、内部系统等现有工作流中。
Claude Code 的接入更是锦上添花。它让自动化脚本的执行变得智能——不仅能跑代码,还能根据结果做判断和调整。对于跨境电商业态,这种自动化能力直接转化为效率提升:每周节省 2 小时,一年就是 100 小时,足够做很多更有价值的事情。
如果你也在用 NotebookLM 做文档分析,并且有批量处理或自动化的需求,notebooklm-py 值得一试。它不完美(目前只支持 Google 认证,不支持多账号),但对于 80% 的日常场景已经足够用。
搞了十年电商后端开发和架构,目前在维护 taocarts 代购系统,覆盖 1688 代购、多仓库存协同、跨境支付。欢迎交流探讨。
更多推荐


所有评论(0)