The
plugins array only controls explicitly opt-in plugins: semantic_cache, otel, maxim, datadog (enterprise), and custom plugins.Telemetry, logging, and governance are auto-loaded built-ins - they are always active and configured via the client block and dedicated top-level keys, not the plugins array.In DB-backed deployments, plugin sync depends on the reconciliation mode. Split mode preserves DB plugins unless a file plugin has a higher
version or changed placement/order. With source_of_truth: "config.json", a present plugins array is authoritative; plugins: [] removes stored opt-in plugins. See Source of Truth & Reconciliation.Auto-Loaded Built-ins
These plugins start automatically. You do not add them to theplugins array.
See Client Configuration and Governance for full details.
Plugin Array Structure
Every entry in theplugins array supports these common fields:
name, enabled, path, and config are the core plugin config fields. In DB-backed mode, version, placement, and order are persisted on TablePlugin and used during sync/runtime ordering.- Semantic Cache
- OpenTelemetry
- Maxim
- Datadog
Semantic Cache
Caches LLM responses by semantic similarity. Returns a cached response when an incoming request is semantically close enough to a previous one.Requires a vector store to be configured.Semantic mode (embedding-based similarity search):
You must also configure a
vector_store in config.json. See Storage - vector_store.Custom / Dynamic Plugins
Load a custom Go plugin binary or WASM plugin at startup using thepath field. Custom plugins must implement one of the Bifrost plugin interfaces.
version (1 to 32767), placement, and order can be managed via config sync and DB/UI workflows:
Within a placement group, lower
order values run earlier.
