Skip to content

feat: one-click Zotero library import#7

Merged
vikranthreddimasu merged 2 commits into
mainfrom
feat/zotero-import
Apr 16, 2026
Merged

feat: one-click Zotero library import#7
vikranthreddimasu merged 2 commits into
mainfrom
feat/zotero-import

Conversation

@vikranthreddimasu

Copy link
Copy Markdown
Owner

Summary

Import your entire Zotero research library into Notebook LM with one click.

Zotero Library Scanner

  • Auto-detects Zotero data directory on macOS, Windows, and Linux
  • Opens zotero.sqlite in read-only mode (never modifies your library)
  • Lists all collections with paper counts
  • Resolves PDF attachment paths from Zotero's storage/ directory (handles both stored and linked files)

Import Flow

  • GET /api/zotero/detect returns library info + collections
  • POST /api/zotero/import creates one notebook per Zotero collection, bulk-imports all PDFs through the existing ingestion pipeline (chunking, embedding, summarization)

Frontend

  • ZoteroImportDialog: auto-detection, collection picker with checkboxes + select all, import progress, completion summary
  • Accessible from command palette (Cmd+K -> "Import from Zotero")

Pre-Landing Review

No issues found. Zotero database is opened read-only (?mode=ro). No auth surface changes.

Test plan

  • All backend tests pass (28 passed, 1 skipped)
  • Manual: Cmd+K -> "Import from Zotero" -> detects library -> select collections -> import
  • Manual: Verify notebooks created with "Zotero:" prefix
  • Manual: Verify PDFs are searchable after import

🤖 Generated with Claude Code

vikranthreddimasu and others added 2 commits April 15, 2026 22:14
Import your entire Zotero research library into Notebook LM. Hit
Cmd+K and type "Zotero" or find it in the import dialog.

Backend: ZoteroScanner reads the Zotero SQLite database in read-only
mode, detects the data directory (macOS/Windows/Linux), lists
collections with paper counts, resolves PDF attachment paths from the
storage directory. Import endpoint creates one notebook per Zotero
collection and bulk-imports all PDFs via the existing ingestion pipeline.

Frontend: ZoteroImportDialog with auto-detection, collection picker
(checkboxes + select all), import progress, and completion summary.
Accessible from command palette ("Import from Zotero" action).

API: GET /api/zotero/detect (library info + collections)
     POST /api/zotero/import (bulk import selected collections)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Zotero library import: one-click import of research paper collections.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@vikranthreddimasu vikranthreddimasu merged commit 9ca0254 into main Apr 16, 2026
0 of 2 checks passed
@vikranthreddimasu vikranthreddimasu deleted the feat/zotero-import branch April 16, 2026 02:44
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