360 Secure SkillHub
360 安全技能中心

NotebookLM CLI Cookies

封装 nlm(notebooklm-mcp-cli)命令行,在已上传到 NotebookLM 的笔记本中检索内容并回答问题。先校验 NOTEBOOKLM_MCP_CLI_PATH 与登录状态,列出笔记本后按 id、标题或别名执行 query,返回基于笔记本内容的事实性答案,并说明常见认证错误的处理方式。

lhquangit
lhquangit
热度 64.89
最近更新 2026-05-17 11:49:57
分类:知识依赖:代码执行 / 读写文件 / 第三方 API应用场景:研究 / 摘要总结 / 笔记整理

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add notebooklm-cli-cookies
Metadata
name
notebooklm-cli
description
Search and answer questions over documents already uploaded to NotebookLM using the nlm CLI. Use when users ask to find information, summarize sources, or query a specific NotebookLM notebook.
metadata
{"openclaw":{"requires":{"bins":["nlm"],"env":["NOTEBOOKLM_MCP_CLI_PATH"]}}}
user-invocable
true

NotebookLM CLI

Purpose

Use this skill when the user wants to search or ask questions over content that already exists in NotebookLM notebooks.

This skill assumes:

  • nlm is installed (notebooklm-mcp-cli package).
  • Auth was pre-injected for headless runtime.
  • NOTEBOOKLM_MCP_CLI_PATH points to the auth storage directory.

Hard Rules (avoid wrong tool choices)

When the user mentions any of the following, treat it as a strict request to query NotebookLM:

  • "NotebookLM", "notebooklm"
  • "notebook alias", "alias"
  • a known alias name (for example: tai_lieu_dien, nlm_tai_lieu_dien)

In these cases:

  • Always run nlm via Exec to answer. Do not answer from memory.
  • Do not switch to web search unless the user explicitly asks for web sources.
  • If the answer is not in the notebook, say so (based on the nlm output).

Slash command:

  • If the user invokes this skill via /nlm ... in Telegram, treat the raw text after /nlm as the nlm arguments.
  • Always execute exactly: nlm <args> via Exec, and return the relevant stdout.

Runtime Checks

Before running queries:

  1. Verify auth path is configured:
echo "$NOTEBOOKLM_MCP_CLI_PATH"
  1. Verify login status:
nlm login --check

If auth check fails, stop and ask for auth refresh workflow (do not run browser login in AWS runtime).

Query Workflow

  1. List notebooks:
nlm notebook list --json
  1. Select notebook:
  • If user provided notebook id, use it directly.
  • If user provided title, resolve it to notebook_id from the list output (do not pass raw title into nlm notebook get/source list/query).
  • If user provided alias, use the alias.
  • If ambiguous, ask user to choose one notebook.
  1. Query notebook:
nlm notebook query "<notebook_id_or_alias>" "<user_question>"
  1. Return answer and include which notebook was queried.

Notes:

  • nlm notebook list returns titles for display, but many other commands expect a notebook id (UUID) or an alias. Passing a title like "tài liệu điện" may return null/empty results.
  • If the user will query the same notebook often, create an alias and use it consistently (for example: tai_lieu_dien).

Telegram Prompt Templates (copy/paste)

Prefer one of these formats to reliably trigger this skill:

  1. Force CLI query:
Chạy lệnh: nlm notebook query tai_lieu_dien "giá của A9N61500 là bao nhiêu? Nếu notebook không có thông tin giá thì trả lời: không thấy trong NotebookLM."
  1. Natural language but explicit:
Trong NotebookLM notebook alias tai_lieu_dien: trả lời câu hỏi "giá của A9N61500 là bao nhiêu?". Bắt buộc dùng nlm để truy vấn, không tìm web, không đọc file local.

Output Guidelines

  • Be explicit about notebook identity (title + id when available).
  • If query result is empty or vague, suggest a refined follow-up query.
  • Prefer concise, factual answers grounded in NotebookLM response.

Common Errors

  • Authentication expired / 401 / 403:
    • Check NOTEBOOKLM_MCP_CLI_PATH.
    • Ensure profiles/default/cookies.json and profiles/default/metadata.json exist.
    • Refresh cookies outside AWS (machine with browser), then redeploy secret.
  • nlm: command not found:
    • Install package: pipx install notebooklm-mcp-cli (recommended), or uv tool install notebooklm-mcp-cli.

Command Reference

# List notebooks
nlm notebook list --json

# Query notebook by id or alias
nlm notebook query "<notebook_id_or_alias>" "<question>"

# Check auth status
nlm login --check