AI Notice: Most documentation right now was auto-generated by an LLM. Handwritten documentation will be implemented over time on the road to 1.0
PluginAPI
Base Plugin API - available to all providers
Signature
interface PluginAPI {
settings: PluginSettings;
storage: PluginStorageAPI;
database: PluginDatabaseAPI;
appSettings: ReadonlyAppSettings;
invoke<T>(command: string, args?: Record<string, unknown>): Promise<T>;
modal: ModalAPI;
notify: NotifyAPI;
files: FileUtilsAPI;
events: EventsAPI;
}Members
| Name | Type | Required | Description |
|---|---|---|---|
settings | PluginSettings | yes | Plugin’s own settings |
storage | PluginStorageAPI | yes | Key/value data storage (separate from settings) |
database | PluginDatabaseAPI | yes | SQL database for plugin-owned tables |
appSettings | ReadonlyAppSettings | yes | Read-only access to app settings |
invoke | (command: string, args?: Record<string, unknown>) => Promise<T> | yes | Invoke Tauri commands (permission-gated allowlist for community plugins) |
modal | ModalAPI | yes | Modal dialogs |
notify | NotifyAPI | yes | Notifications/toasts |
files | FileUtilsAPI | yes | File path utilities |
events | EventsAPI | yes | Event pub/sub for cross-plugin communication |