Skip to content

Plugin / extension API for community-built features #17

Description

@GyaneshSamanta

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:settingsSettings module and configenhancementNew feature or requesthelp wantedExtra attention is needed

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions