ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

notebooklm-py调试秘籍:RPC日志、DEBUG开关与日志关联ID实战

notebooklm-py调试秘籍:RPC日志、DEBUG开关与日志关联ID实战 notebooklm-py调试秘籍RPC日志、DEBUG开关与日志关联ID实战【免费下载链接】notebooklm-pyUnofficial Python API and agentic skill for Google Gemini Notebook. Full programmatic access to NotebookLMs features—including capabilities the web UI doesnt expose—via Python, CLI, and AI agents like Claude Code, Codex, and OpenClaw.项目地址: https://gitcode.com/GitHub_Trending/no/notebooklm-pynotebooklm-py是 Google Gemini Notebook原 NotebookLM的非官方 Python API 与 AI Agent 技能包让你用 Python、CLI 和 Claude Code 等智能体完整驱动 NotebookLM 的笔记本、来源、对话与内容生成。当自动化脚本报错或 RPC 调用返回None时调试日志就是最好的排障工具。本文带你用 3 个环境变量开关 1 个日志关联 ID快速定位 notebooklm-py 调试过程中的 RPC 问题。一、3 个 DEBUG 开关速查表notebooklm-py 的调试能力全部由环境变量控制开箱即用、无需改代码环境变量默认值作用NOTEBOOKLM_LOG_LEVELWARNING设置日志级别DEBUG/INFO/WARNING/ERRORNOTEBOOKLM_DEBUG_RPC未设置设为1开启 DEBUG 级可看到服务器返回的RPC IDNOTEBOOKLM_DEBUG未设置设为1保留完整原始响应体默认只截断显示前 80 字符完整环境变量参考docs/configuration.md二、最快配置方法用 NOTEBOOKLM_LOG_LEVEL 切换日志级别日志级别决定你能看到多少细节。日常排查推荐按「INFO → DEBUG」逐级加深# 1) INFO显示关键操作适合脚本自动化 NOTEBOOKLM_LOG_LEVELINFO notebooklm source add https://example.com # 14:23:45 INFO [notebooklm._sources] Adding URL source: https://example.com # 2) DEBUG显示每一次 RPC 调用与耗时专治 API 疑难杂症 NOTEBOOKLM_LOG_LEVELDEBUG notebooklm list # 14:23:45 DEBUG [notebooklm._core] RPC LIST_NOTEBOOKS starting # 14:23:46 DEBUG [notebooklm._core] RPC LIST_NOTEBOOKS completed in 0.842s为什么 DEBUG 级最有价值每一行都带有RPC 方法名 耗时你可以立刻判断是请求没发出去还是服务端响应慢。在 Python 代码中使用也很简单——只需在导入前设置环境变量import os os.environ[NOTEBOOKLM_LOG_LEVEL] DEBUG from notebooklm import NotebookLMClient # 之后所有操作都会输出 DEBUG 日志日志配置逻辑实现在 src/notebooklm/_logging.py官方说明见 docs/troubleshooting.md 的Debugging Tips章节。三、RPC 日志实战用 NOTEBOOKLM_DEBUG_RPC 核对 RPC IDnotebooklm-py 与 Google 服务之间走的是batchexecuteRPC 协议——每个功能对应一个6 字符 RPC ID如wXbhsf参数是位置敏感的嵌套数组。ID 对不上、参数结构不符是最常见的静默失败根源。开启 RPC 调试开关后库会把期望 ID与服务端实际返回 ID打印出来NOTEBOOKLM_DEBUG_RPC1 notebooklm 你的命令DEBUG: Looking for RPC ID: Ljjv0c DEBUG: Found RPC IDs in response: [Ljjv0c]两行一致 → 协议正常不一致 → 说明 Google 侧方法 ID 已变更这时可以翻出协议文档自查参数结构再提交 issue协议概念与抓包方法docs/rpc-development.md全部 RPC 方法与参数位置参考docs/rpc-reference.md四、深挖原始响应NOTEBOOKLM_DEBUG1 显示完整响应体RPC 出错时异常对象RPCError.raw_response默认只保留前 80 字符预览防刷屏 防泄露很多细节被...吞掉了。# 报错时想看完整原始响应加这个开关 NOTEBOOKLM_DEBUG1 NOTEBOOKLM_LOG_LEVELDEBUG notebooklm ask 问题 --notebook id⚠️ 安全说明即使命令开了NOTEBOOKLM_DEBUG1库也会先用脱敏引擎清掉 CSRF 令牌、会话 Cookie 等凭据片段再展示完整响应体日志可以放心贴给他人看。五、日志关联 ID一个 [req] 前缀串起整条调用链并发脚本里日志交错分不清哪条日志属于哪次请求notebooklm-py 内置了日志关联 IDcorrelation id机制每次 RPC 调用时传输层会自动为当前任务生成一个 8 位十六进制 ID见 src/notebooklm/_web/transport/executor.py该作用域内的所有日志行都会自动加上[reqxxxxxxxx]前缀例如14:30:01 DEBUG [reqa1b2c3d4] [notebooklm._core] RPC LIST_NOTEBOOKS starting 14:30:02 DEBUG [reqa1b2c3d4] [notebooklm._core] RPC LIST_NOTEBOOKS completed in 0.842s在自己的代码里也可以用公开的correlation_id()上下文管理器把一段业务逻辑手动挂到同一个 ID 下从 src/notebooklm/init.py 导出from notebooklm import correlation_id with correlation_id(): # 自动生成 8 位 ID也可传入自定义 ID result await client.notebooks.list() # 块内所有 notebooklm 日志都会带上同一 [req...] 前缀排查并发竞态、超时重试类问题时直接按req值过滤日志瞬间理清一次调用的完整生命周期。六、隐藏福利日志自动脱敏贴 issue 不慌库对每一条日志包括第三方httpx/urllib3的 DEBUG 输出都会执行凭据脱敏at、SNlM0eCSRF 令牌、SAPISID等会话 Cookie、Bearer令牌统一替换为***。也就是说✅ 开着 DEBUG 抓全量日志 → 直接贴到 issue 或群里求助不会泄露 Google 登录凭据。脱敏实现src/notebooklm/_logging.py 中的RedactingFilter/scrub_secrets。七、排障路线图遇到问题照这个顺序走NOTEBOOKLM_LOG_LEVELINFO跑一遍命令 → 确认是哪一步操作失败升级为DEBUG→ 看是哪条 RPC 方法失败、耗时多少加NOTEBOOKLM_DEBUG_RPC1→ 核对 RPC ID 是否漂移再加NOTEBOOKLM_DEBUG1→ 查看完整原始响应体细节按[req...]关联 ID 过滤日志 → 锁定单次调用全链路仍无法解决 → 带上以上日志对照 docs/troubleshooting.md 提交 issue八、核心文件索引想了解看这里日志级别与开关完整说明docs/troubleshooting.mdRPC 协议、抓包与调试docs/rpc-development.mdRPC 方法与参数速查docs/rpc-reference.md日志、脱敏与关联 ID 源码src/notebooklm/_logging.pyRPC 调用自动打标 reqidsrc/notebooklm/_web/transport/executor.py一句话总结日常排查用NOTEBOOKLM_LOG_LEVELDEBUG起步怀疑协议问题加NOTEBOOKLM_DEBUG_RPC1要看原始报文再加NOTEBOOKLM_DEBUG1并发场景按[req]前缀过滤——三步掌握 notebooklm-py 调试全流程。【免费下载链接】notebooklm-pyUnofficial Python API and agentic skill for Google Gemini Notebook. Full programmatic access to NotebookLMs features—including capabilities the web UI doesnt expose—via Python, CLI, and AI agents like Claude Code, Codex, and OpenClaw.项目地址: https://gitcode.com/GitHub_Trending/no/notebooklm-py创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表