Skip to content

docs(portals): NotebookLM portal template + operator guide#15

Merged
bahadirarda merged 1 commit into
mainfrom
chore/notebooklm-portal-template
May 6, 2026
Merged

docs(portals): NotebookLM portal template + operator guide#15
bahadirarda merged 1 commit into
mainfrom
chore/notebooklm-portal-template

Conversation

@bahadirarda
Copy link
Copy Markdown
Contributor

Summary

Phase 1 of NotebookLM integration. Ships NotebookLM as a portal-target under ADR-018's vocabulary, reusing the obscura CDP pool resolved in ADR-017. No new Go code, no parallel Patchright Chromium stack, no new MCP source.

Setup paths — all already live in v0.22.155

  1. clawtool portal add notebooklm — interactive wizard (recommended default). Opens Chrome, watches login, captures cookies via CDP, prompts for three selectors + response-done predicate, writes both config.toml and the secrets.toml cookie scope.
  2. clawtool portal record notebooklm --url <notebook-url> — semi-automated. Drives obscura via CDP, captures cookies plus heuristic selectors, writes to ~/.config/clawtool/portals/notebooklm.toml.
  3. Manual TOML templatedocs/portals/notebooklm.toml.tmpl for advanced cases (committing config to a shared location, importing pre-existing cookies).

What's covered

Chat / Q&A with citation-backed answers via the existing portal flow. Predicate types match the schema in internal/portal/ask.go (selector_exists / selector_visible / eval_truthy).

What's NOT covered (Phase 2 territory if a real workflow needs it)

  • Audio Overview generation (multi-step async — generate_audio → poll get_audio_statusdownload_audio)
  • Multi-source ingestion (programmatic file / URL / YouTube / Drive upload)
  • Multi-notebook library management

A future ADR can wrap an upstream NotebookLM MCP server (PleasePrompto's notebooklm-mcp v2.0.0 was smoke-tested as the cleanest candidate) for the audio/ingestion path with a consent_required = true catalog flag if that need surfaces.

Files

  • docs/portals/notebooklm.toml.tmpl (55 lines) — TOML template + cookie scope shape
  • docs/portals/notebooklm.md (133 lines) — operator guide with three setup paths, maintenance, troubleshooting

Validation status

Check State
Predicate types match internal/portal/ask.go schema
clawtool portal add / clawtool portal record live in v0.22.155
Upstream NotebookLM MCP smoke test (rejected path) ✅ — boots via npx, MCP handshake, get_health, hidden Patchright prereq surfaced
End-to-end portal flow against real notebook ❌ — obscura not on PATH on dev host; needs operator-side cookies

Real validation: operator runs clawtool portal add notebooklm against their NotebookLM cookies. Selector / cookie corrections (if NotebookLM ships UI changes) land via follow-up PR.

Wiki context

ADR-035 lives in wiki/decisions/ (gitignored local knowledge base). The portal-first rationale: ADR-018's closing example list explicitly named NotebookLM as a portal-target candidate, and ADR-017's resolved obscura pool already provides the CDP primitive that upstream MCP servers reach for via parallel Patchright stacks.

Hygiene note

This commit ran via bash git commit because the mcp__clawtool__Commit MCP tool was unavailable in the dispatching session (daemon socket dropped earlier). Pre-commit rules.toml gates do not match this changeset (no Go, no internal/cli/**, no commands/*.md).

Phase 1 of NotebookLM integration per ADR-035 (wiki). NotebookLM
ships as a portal-target under ADR-018's vocabulary, reusing the
obscura CDP pool resolved in ADR-017 — no parallel Patchright
Chromium stack, no new Go code.

- docs/portals/notebooklm.toml.tmpl: TOML template for the legacy
  / advanced path (manual config + cookie scope).
- docs/portals/notebooklm.md: operator guide with three setup
  paths (clawtool portal add wizard / clawtool portal record /
  manual template), maintenance, troubleshooting.

Verified against v0.22.155 binary: clawtool portal add <name> and
clawtool portal record <name> are both live; predicate types
match internal/portal/ask.go (selector_exists, selector_visible,
eval_truthy). Live end-to-end flow not exercised on this host
(operator-side cookie material required for that step).

Note on commit hygiene: this ran via bash git commit because the
mcp__clawtool__Commit MCP tool was unavailable in this session
(daemon socket dropped). Pre-commit rules.toml gates do not
trigger on this changeset (no Go files touched, no internal/cli
or commands paths).
@bahadirarda bahadirarda merged commit ae446d5 into main May 6, 2026
5 checks passed
@bahadirarda bahadirarda deleted the chore/notebooklm-portal-template branch May 6, 2026 23:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant