ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

notebooklm-py源新鲜度检查实战:--exit-on-stale让过期资料无所遁形

notebooklm-py源新鲜度检查实战:--exit-on-stale让过期资料无所遁形 notebooklm-py源新鲜度检查实战--exit-on-stale让过期资料无所遁形【免费下载链接】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原 NotebookLMPython API 与命令行工具让你通过 Python、CLI 和 AI Agent 完整调用 NotebookLM 的功能。本文将实战讲解它的源新鲜度检查能力如何用notebooklm source stale命令探测 URL / Google Drive 资料是否过期并用--exit-on-stale标志把过期→自动刷新写成一行简洁的 Shell 脚本让过期资料在自动化流程中无所遁形。为什么需要 NotebookLM 源新鲜度检查如果你把网页、论文或 Drive 文件导入 NotebookLM 做研究笔记这些资料会随时间过期网页改版、文档更新、结论失效。手动逐个打开检查既费时又容易遗漏。notebooklm-py 把 NotebookLM 内部的新鲜度判断能力开放成了命令行source stale ID—— 一条命令判断某个 URL/Drive 资料是否需要刷新source refresh ID—— 判断为过期时再触发重新抓取。两者组合就是一个可放进定时任务cron / launchd / systemd的资料保鲜流水线。快速上手一条命令判断资料是否过期先确认登录状态然后运行notebooklm source stale SOURCE_ID -n NOTEBOOK_ID输出只有两种结果见src/notebooklm/cli/_source_render.py输出含义✓ Source is fresh绿色资料是新鲜的无需处理⚠ Source is stale黄色资料已过期建议运行source refresh更新加上--json则返回结构化结果方便程序判断{source_id: src_abc, notebook_id: nb_123, stale: true, fresh: false}命令底层调用的是check_freshness方法走 NotebookLM 官方的CHECK_SOURCE_FRESHNESS内部接口判定逻辑与网页端完全一致。核心技巧--exit-on-stale 反转退出码Shell 脚本里最顺手的写法是if 命令; then 动作; fi——命令成功退出码 0就执行动作。--exit-on-stale正是为这个习惯设计的反转谓词标志退出码默认行为不加标志加--exit-on-stale0检查成功无论新鲜或过期资料过期需要刷新1发生错误认证、网络等资料新鲜这样一来过期则刷新只需三行完整语义见 docs/cli-exit-codes.mdif notebooklm source stale --exit-on-stale $SRC_ID; then notebooklm source refresh $SRC_ID fi这与test、grep -q等 Unix 经典命令的谓词约定一致退出码 0 表示判断为真脚本读起来非常自然。两种脚本风格的取舍默认风格推荐新脚本退出码只表达成功/出错新鲜与否交给--json输出里的stale/fresh字段判断。成功与判定解耦语义最清晰--exit-on-stale风格适合老脚本平滑迁移或追求最短的 Shell 控制流。标志定义见source_cmd.py。⚠️两个避坑提醒退出码 1 的歧义加--exit-on-stale后资料新鲜和认证/网络错误都会返回 1无法从退出码区分。无人值守的脚本建议先跑notebooklm auth check --test验证登录或改用 JSON 字段分支。set -e脚本注意资料新鲜时退出码为 1会让set -e直接中断脚本。把判断放进if语句即可规避if内的非零退出不会触发 errexit。相关文件导航想深入原理或二次开发可以从这几个入口读起退出码规范全文docs/cli-exit-codes.mdCLI 命令参考docs/cli-reference.md命令实现src/notebooklm/cli/source_cmd.py渲染与退出码策略src/notebooklm/cli/_source_render.py应用层执行逻辑src/notebooklm/_app/source_content.py客户端新鲜度接口src/notebooklm/_sources.py总结notebooklm-py 的source stale命令把资料是否过期变成了一个可编程的信号默认模式适合新脚本按 JSON 字段分支--exit-on-stale则让经典的if … ; then refresh; fi一行式写法继续可用。配合定时任务你的 NotebookLM 资料库就能始终保持最新——过期资料再也无处遁形。【免费下载链接】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),仅供参考
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进