Documentation Index
Fetch the complete documentation index at: https://docs.getbifrost.ai/llms.txt
Use this file to discover all available pages before exploring further.
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.Auto-Loaded Built-ins
These plugins start automatically. You do not add them to theplugins array.
| Plugin | Always active? | How to configure |
|---|---|---|
Telemetry (Prometheus /metrics) | Yes, always | client.prometheus_labels for custom labels; push gateway via plugins entry once DB-backed mode is running |
| Logging | When client.enable_logging: true and logs_store is configured | client.enable_logging, client.disable_content_logging, client.logging_headers |
| Governance | Yes, always (OSS) | client.enforce_auth_on_inference for VK enforcement; governance.* for virtual keys / budgets / routing rules |
Plugin Array Structure
Every entry in theplugins array supports these common fields:
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Plugin name |
enabled | boolean | Yes | Enable or disable this plugin |
config | object | Varies | Plugin-specific configuration |
path | string | No | Path to a custom plugin binary or WASM file |
version | integer | No | 🛑 DB-Backed Only. Plugin metadata persisted on TablePlugin. In DB-backed sync, higher values trigger replacement/reload. Valid range: 1 to 32767. |
placement | string | No | 🛑 DB-Backed Only. Execution metadata ("pre_builtin", "builtin", "post_builtin") persisted on TablePlugin and used for ordering behavior. |
order | integer | No | 🛑 DB-Backed Only. Execution metadata persisted on TablePlugin; within a placement group, lower values run earlier. |
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.| Field | Required | Default | Description |
|---|---|---|---|
config.dimension | Yes | - | Embedding dimension. Use 1 for hash-based (exact) caching without an embedding provider |
config.provider | No | - | Provider for generating embeddings (required for semantic mode) |
config.embedding_model | No | - | Model for embeddings (required when provider is set) |
config.threshold | No | 0.8 | Cosine similarity threshold for a cache hit (0.0–1.0) |
config.ttl | No | 300 | Cache entry TTL in seconds (or a duration string like "1h") |
config.cache_by_model | No | true | Include model in cache key |
config.cache_by_provider | No | true | Include provider in cache key |
config.exclude_system_prompt | No | false | Exclude system prompt from cache key |
config.conversation_history_threshold | No | 3 | Skip caching for requests with more messages than this |
config.default_cache_key | No | - | Default cache key when no x-bf-cache-key header is sent |
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:
placement | When it runs |
|---|---|
pre_builtin | Before all built-in plugins |
builtin | Alongside built-in plugins (by order) |
post_builtin | After all built-in plugins (default) |
order values run earlier.
