引子

做跨境电商业态的技术调研,我每天要处理大量竞品信息、市场报告和供应链文档。Google NotebookLM 的 AI 笔记整理能力确实好用——自动摘要、关键信息提取、多文档交叉分析,这些功能比我自己手动整理快得多。

但有个痛点一直没解决:NotebookLM 只有 Web 界面。每周要分析 10 份竞品周报,我得一个个上传文档,手动点击“生成摘要”,再把结果复制到飞书文档里。重复劳动,浪费时间。

直到上周,我在 GitHub 上看到 notebooklm-py 这个项目。它把 NotebookLM 封装成了 Python 库,能通过代码调用所有功能。更关键的是,它还能接入 Claude Code,实现自动化工作流。

notebooklm-py 解决了什么问题

先说 NotebookLM 的痛点。作为一款 AI 笔记工具,它的核心能力是文档理解和知识问答,但有两个硬伤:

  1. 不能批量处理:一次只能上传一个文档,不支持批量导入。每周分析 10 份报告,就得重复 10 次操作。

  2. 不能定时自动分析:没有 API,无法设置定时任务。每周五下午,我得手动跑一遍流程。

  3. 不能集成到现有工作流:团队用飞书协作,分析结果要手动粘贴。无法通过 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 都没问题。

配置需要两步:

  1. 获取 Google API Key:去 Google Cloud Console 启用 NotebookLM API,创建服务账号并下载 JSON 密钥文件。

  2. 设置环境变量:将密钥文件路径配置为 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 分钟自动完成。

具体实现思路:

  1. 准备脚本:写一个 Python 脚本,用 notebooklm-py 创建笔记本、批量上传文档、执行预设的问答(如“本周竞品有哪些新产品上线?”“价格策略有什么变化?”“供应链动态是什么?”)。

  2. 接入 Claude Code:在 Claude Code 中运行这个脚本,让它自动执行。Claude Code 能理解脚本逻辑,并在执行过程中根据结果进行判断和调整。

  3. 自动推送结果:脚本执行完问答后,将结果格式化,通过飞书 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。对于每天处理大量文档的技术团队来说,这意味着:

  1. 批量处理:不再受限于手动上传,可以一次性分析几十份文档。

  2. 定时自动化:配合 cron 或 CI/CD,实现周报、月报的自动生成。

  3. 系统集成:将 NotebookLM 作为知识库引擎,嵌入到飞书、Slack、内部系统等现有工作流中。

Claude Code 的接入更是锦上添花。它让自动化脚本的执行变得智能——不仅能跑代码,还能根据结果做判断和调整。对于跨境电商业态,这种自动化能力直接转化为效率提升:每周节省 2 小时,一年就是 100 小时,足够做很多更有价值的事情。

如果你也在用 NotebookLM 做文档分析,并且有批量处理或自动化的需求,notebooklm-py 值得一试。它不完美(目前只支持 Google 认证,不支持多账号),但对于 80% 的日常场景已经足够用。


搞了十年电商后端开发和架构,目前在维护 taocarts 代购系统,覆盖 1688 代购、多仓库存协同、跨境支付。欢迎交流探讨。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐