For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
  • About NVIDIA NeMo Relay
    • Overview
    • Architecture
    • Ecosystem
    • Concepts
      • Scopes
      • Middleware
      • Plugins
      • Events
      • Subscribers
      • Framework Integrations
    • Release Notes
  • Getting Started
    • Agent Runtime Primer
    • Prerequisites
    • Installation
    • Configuration / Setup
    • Quick Start
  • NVIDIA NeMo Relay CLI
    • About
    • Basic Usage
    • Claude Code
    • Codex
    • Cursor
    • Hermes Agent
  • Supported Integrations
    • About
    • OpenClaw Plugin Guide
    • LangChain Integration Guide
    • LangGraph Integration Guide
    • Deep Agents Integration Guide
  • Instrument Applications
    • About
    • Adding Scopes and Marks
    • Instrument a Tool Call
    • Instrument an LLM Call
    • Add Middleware
    • Code Examples
  • Observability Plugin
    • About
    • Configuration
    • Agent Trajectory Interchange Format (ATIF)
    • Agent Trajectory Observability Format (ATOF)
    • OpenTelemetry
    • OpenInference
  • Adaptive Plugin
    • About
    • Configuration
    • Adaptive Cache Governor (ACG)
    • Adaptive Hints
  • NeMo Guardrails Plugin
    • About
    • Configuration
  • Integrate into Frameworks
    • About
    • Adding Scopes
    • Wrap Tool Calls
    • Wrap LLM Calls
    • Handle Non-Serializable Data
    • Using Codecs
    • Provider Codecs
    • Provider Response Codecs
    • Code Examples
  • Build Plugins
    • About
    • Define a Plugin
    • Validate Plugin Configuration
    • Plugin Configuration Files
    • Register Plugin Behavior
    • Design Plugin Configuration
    • NeMo Guardrails Example Plugin
    • Code Examples
  • Contribute
    • About
    • Development Setup
    • Workflow and Reviews
    • Testing and Documentation
  • Reference
    • APIs
    • Performance
  • Resources
    • Support and FAQs
    • Glossary
    • Troubleshooting Guide
    • Community
    • Legal
NVIDIANVIDIA
Developer-friendly docs for your API
Privacy Policy | Your Privacy Choices | Terms of Service | Accessibility | Corporate Policies | Product Security | Contact

Copyright © 2026, NVIDIA Corporation.

LogoLogo
On this page
  • Why Plugins Exist
  • Plugin Configuration Model
  • Version
  • Components
  • Policy
  • Component Lifecycle
  • Validation
  • Initialization
  • Activation Reporting
  • Plugin Context
  • What Plugins Can Register
  • Ownership and Scope
  • Built-In Plugin Examples
  • Adaptive
  • Observability
  • NeMo Guardrails
  • Practical Guidance
About NVIDIA NeMo RelayConcepts

Plugins

||View as Markdown|
Previous

Middleware

Next

Events

This page explains how plugins package reusable runtime behavior behind configuration.

Why Plugins Exist

Plugins let NeMo Relay install reusable runtime behavior from configuration instead of requiring every application or framework integration to register the same middleware and subscribers by hand.

They are the main packaging layer for reusable runtime components.

Plugin Configuration Model

The canonical plugin document has three main areas:

  • version
  • components
  • policy

Version

The version identifies the configuration format expected by the plugin system.

Components

Components describe the individual runtime pieces to activate. Each component declares what it is and which config it should use.

Policy

Policy controls how strictly the plugin system interprets unknown fields, unsupported values, or compatibility issues.

Component Lifecycle

Plugins follow a small lifecycle rather than registering everything blindly.

Validation

Validation checks whether the supplied config is structurally and semantically acceptable before initialization.

Initialization

Initialization activates the configured components and registers their runtime behavior.

Activation Reporting

Reporting provides structured diagnostics about what activated successfully and what did not.

Plugin Context

The plugin context is the runtime surface that a component uses to register its behavior. This is where plugins connect configuration to real runtime state.

What Plugins Can Register

Depending on the component, a plugin can register:

  • Middleware
  • Subscribers
  • Related runtime helpers

This is what makes plugins a packaging mechanism rather than a separate runtime model. Plugins do not replace scopes, middleware, or subscribers. They install them.

Ownership and Scope

Plugin initialization is process-level. It is intended for runtime components that should activate once for the running process rather than once per request.

Scope-local behavior still matters after plugin installation, but the plugin system itself is a global activation layer.

Built-In Plugin Examples

Core plugin APIs register built-in components before lookup, validation, and initialization. Applications can still register custom plugins, but first-party components are available by kind without an explicit registration call.

Adaptive

Adaptive is implemented as a built-in plugin component. It is not a separate runtime model. It uses the same plugin system as custom components.

This matters conceptually because adaptive behavior is configured and activated through the same component lifecycle as other plugins:

  • Validate the config
  • Initialize the plugin system
  • Inspect the activation result if needed

Detailed adaptive configuration belongs in Adaptive Configuration, Adaptive Cache Governor (ACG), and Adaptive Hints.

Observability

The core crate ships a built-in observability plugin component for Agent Trajectory Observability Format (ATOF), Agent Trajectory Interchange Format (ATIF), OpenTelemetry, and OpenInference exporters. Each exporter section is disabled unless its section sets enabled: true, and subscriber names are inferred from the plugin namespace instead of exposed in public config.

Detailed observability plugin configuration belongs in Observability Configuration.

NeMo Guardrails

The core crate also ships a built-in nemo_guardrails plugin component. It is the first-party Guardrails integration point that NeMo Relay owns through the shared plugin system.

The current shipped user-facing lane is the remote backend. It gives NeMo Relay one canonical plugin kind and config shape for Guardrails-backed managed LLM and tool checks while broader backend parity work remains separate.

Detailed Guardrails plugin configuration belongs in NeMo Guardrails Configuration.

For the CLI gateway’s plugins.toml discovery, precedence, merge, and editing rules, see Plugin Configuration Files.

Practical Guidance

Use these practices when applying the concept in application or integration code.

  • Use plugins when behavior should be reusable across applications or integrations.
  • Validate plugin config before initialization.
  • Treat plugins as the configuration-driven installation path for runtime behavior.
  • Keep detailed field-by-field config questions in the relevant guide for that plugin component.