Skip to content

Plugin Configuration

Settings UI panels

Plugins can register a settings panel that appears under Settings > Plugins > [Plugin Name]. The panel is defined in the plugin's manifest and rendered by the OmniLux web UI.

Plugin settings are stored in the SQLite database via the PluginSettings API.

Accessing settings in code

typescript
// Read a setting
const apiKey = await context.settings.get<string>('apiKey');

// Write a setting
await context.settings.set('apiKey', 'my-api-key');

// Read with default value
const timeout = await context.settings.get<number>('timeout') ?? 30;

// Delete a setting
await context.settings.delete('apiKey');

Environment variable overrides

Some plugins may support environment variable overrides for settings that need to be set before the plugin loads (e.g., API keys, connection strings). Check the individual plugin's documentation for supported env vars.

The general convention is:

OMNILUX_PLUGIN_<PLUGIN_NAME>_<SETTING_NAME>=value

Configuration priorities

  1. Environment variables (highest priority)
  2. Database settings (set via UI or API)
  3. Default values from the plugin manifest (lowest priority)

Use OmniLux, run your own server, or build on the platform.