> ## Documentation Index
> Fetch the complete documentation index at: https://praison.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# plugins • Rust AI Agent SDK

> Plugin Module for PraisonAI Agents.

# plugins

<Badge color="orange">Rust AI Agent SDK</Badge>

Plugin Module for PraisonAI Agents.

Provides dynamic plugin loading and hook-based extension system.

# Features

* Dynamic plugin discovery and loading
* Hook-based extension points
* Protocol-driven plugin interfaces
* Plugin SDK for easy plugin development

# Example

```ignore theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
use praisonai::{PluginManager, Plugin, PluginHook};

let mut manager = PluginManager::new();
manager.register(MyPlugin::new());
manager.enable("my_plugin");
```

## Import

```rust theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
use praisonai::plugins::*;
```

## Classes

<CardGroup cols={2}>
  <Card title="PluginInfo" icon="brackets-curly" href="../classes/PluginInfo">
    Information about a plugin.
  </Card>

  <Card title="FunctionPlugin" icon="brackets-curly" href="../classes/FunctionPlugin">
    A simple function-based plugin.
  </Card>

  <Card title="PluginManager" icon="brackets-curly" href="../classes/PluginManager">
    Manages plugin registration and execution.
  </Card>

  <Card title="Plugin" icon="brackets-curly" href="../classes/Plugin">
    Trait for implementing plugins.
  </Card>

  <Card title="PluginHook" icon="brackets-curly" href="../classes/PluginHook">
    Hook points for plugin execution.
  </Card>

  <Card title="PluginType" icon="brackets-curly" href="../classes/PluginType">
    Type of plugin.
  </Card>
</CardGroup>

## Functions

<CardGroup cols={2}>
  <Card title="get_plugin_manager()" icon="function" href="../functions/get_plugin_manager">
    Get the global plugin manager
  </Card>

  <Card title="enable_plugins()" icon="function" href="../functions/enable_plugins">
    Enable plugins globally
  </Card>

  <Card title="disable_plugins()" icon="function" href="../functions/disable_plugins">
    Disable plugins globally
  </Card>

  <Card title="list_plugins()" icon="function" href="../functions/list_plugins">
    List all plugins
  </Card>

  <Card title="is_plugin_enabled()" icon="function" href="../functions/is_plugin_enabled">
    Check if a plugin is enabled
  </Card>
</CardGroup>

***

## Related Documentation

<CardGroup cols={2}>
  <Card title="Rust Plugins" icon="plug" href="/docs/rust/plugins" />
</CardGroup>
