Commit Graph

7 Commits

Author SHA1 Message Date
Deheng Huang 13fec86ea1 feat(notebooks): associate notebooks with accounts
- Add account_index and account_email fields on add
- list_notebooks_for_account() filters by account
- list_all_notebooks_grouped() groups by account
- CLI: --all-accounts flag for list command

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-28 23:07:02 +08:00
Deheng Huang 624ca7bfd4 fix(library): normalize Unicode smart quotes in notebook IDs
Notebook names containing smart quotes (', ', ", ") from NotebookLM
could not be activated/removed when user typed ASCII equivalents.

- Add _normalize_id() helper for Unicode normalization
- Apply normalization in add_notebook, select_notebook, remove_notebook
- Handle: smart quotes, en/em dashes, ellipsis
- Backward compatible: stored IDs unchanged, input normalized for matching

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-27 10:22:26 +08:00
Deheng Huang d9ca72ee08 feat(artifacts): add slide deck and infographic generation
- Add generate_slide_deck() and generate_infographic() to notebooklm_wrapper.py
- Add download_slide_deck() and download_infographic() methods
- Add generate-slides and generate-infographic CLI commands to artifact_manager.py
- Update SKILL.md with correct command routing and new options documentation
- Support slide formats: DETAILED_DECK, PRESENTER_SLIDES
- Support infographic orientations: LANDSCAPE, PORTRAIT, SQUARE
- Support detail levels: CONCISE, STANDARD, DETAILED

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-25 22:50:01 +08:00
Deheng Huang 048b9b9f46 feat(notebook): intelligent URL vs notebook ID detection
The --url argument now auto-detects input type:
- Full URL (https://...): Used as-is
- Partial URL (notebooklm.google.com/...): Adds https://
- Notebook ID (abc123...): Converts to full URL

Users can now simply pass either format to --url without thinking.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-25 20:16:16 +08:00
Deheng Huang bced4209d6 feat(notebook): support both URL and notebook ID for add command
Update /nblm add to accept either:
- --url: Full NotebookLM URL
- --notebook-id: Just the notebook ID (auto-converts to URL)

Updated files:
- scripts/notebook_manager.py: Add --notebook-id argument, auto-generate URL
- SKILL.md: Update command documentation
- CLAUDE.md: Update command examples

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-25 20:16:16 +08:00
PleasePrompto 0942e849f5 feat: v1.3.0 - Modular Architecture, Timeout Fix, Thinking Detection
- Add modular architecture (config.py, browser_utils.py)
- Increase timeout from 30s to 120s (fixes #4)
- Add thinking message detection (div.thinking-message)
- Fix CSS selectors to match current NotebookLM UI
- Improve stability detection (3 polls instead of 1s wait)
2026-01-25 20:15:05 +08:00
PleasePrompto 3af8794786 Initial commit: NotebookLM Claude Code Skill
Add NotebookLM integration skill for Claude Code:
- Browser automation for querying NotebookLM
- Library management for notebook organization
- Persistent authentication with Google
- Zero-hallucination research directly in Claude Code

Based on notebooklm-mcp server, adapted for Claude Skills architecture.
2026-01-25 20:14:42 +08:00