Problem
Community contributors want to add their own features (custom hotkeys, export formats, integrations with Notion / Obsidian, etc.) without forking. There's no extension point today.
Proposed approach
- Define a minimal plugin manifest (`name`, `version`, `entry`, `permissions`).
- Plugins live in `%APPDATA%/NotebookLM-for-Windows/plugins//`.
- Plugins are JS files that receive a stable `window.api` subset + a registration API (`registerTitleBarButton`, `registerExporter`, `registerHotkey`).
- Hot-reload on file change in dev mode.
Files to touch
- New: `src/plugins/host.js`, `src/plugins/sandbox.js`
- `src/main.js` — plugin discovery + load
- `src/preload.js` — controlled API surface for plugins
Acceptance criteria
- A 30-line "hello world" plugin can add a title-bar button that shows a notification.
- Plugin failures don't crash the app.
- Sandboxed: plugins cannot access raw fs or shell beyond declared permissions.
Problem
Community contributors want to add their own features (custom hotkeys, export formats, integrations with Notion / Obsidian, etc.) without forking. There's no extension point today.
Proposed approach
Files to touch
Acceptance criteria