> ## 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.

# Plugin Info • Rust AI Agent SDK

> PluginInfo: Information about a plugin.

# PluginInfo

> Defined in the [**plugins**](../modules/plugins) module.

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

Information about a plugin.

## Fields

| Name          | Type                    | Description                   |
| ------------- | ----------------------- | ----------------------------- |
| `name`        | `String`                | Plugin name                   |
| `version`     | `String`                | Plugin version                |
| `description` | `String`                | Plugin description            |
| `plugin_type` | `PluginType`            | Plugin type                   |
| `hooks`       | `Vec&lt;PluginHook&gt;` | Hooks this plugin listens to  |
| `enabled`     | `bool`                  | Whether the plugin is enabled |

## Methods

### `new`

```rust theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
fn new(name: impl Into<String>) -> Self
```

Create new plugin info

**Parameters:**

| Name   | Type                      |
| ------ | ------------------------- |
| `name` | `impl Into&lt;String&gt;` |

### `version`

```rust theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
fn version(mut self, version: impl Into<String>) -> Self
```

Set version

**Parameters:**

| Name      | Type                      |
| --------- | ------------------------- |
| `version` | `impl Into&lt;String&gt;` |

### `description`

```rust theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
fn description(mut self, description: impl Into<String>) -> Self
```

Set description

**Parameters:**

| Name          | Type                      |
| ------------- | ------------------------- |
| `description` | `impl Into&lt;String&gt;` |

### `plugin_type`

```rust theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
fn plugin_type(mut self, plugin_type: PluginType) -> Self
```

Set plugin type

**Parameters:**

| Name          | Type         |
| ------------- | ------------ |
| `plugin_type` | `PluginType` |

### `hook`

```rust theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
fn hook(mut self, hook: PluginHook) -> Self
```

Add hook

**Parameters:**

| Name   | Type         |
| ------ | ------------ |
| `hook` | `PluginHook` |

### `hooks`

```rust theme={"theme":{"light":"vitesse-light","dark":"vitesse-dark"}}
fn hooks(mut self, hooks: Vec<PluginHook>) -> Self
```

Add multiple hooks

**Parameters:**

| Name    | Type                    |
| ------- | ----------------------- |
| `hooks` | `Vec&lt;PluginHook&gt;` |

## Source

<Card title="View on GitHub" icon="github" href="https://github.com/MervinPraison/PraisonAI/blob/main/src/praisonai-rust/praisonai/src/plugins/mod.rs#L107">
  `praisonai/src/plugins/mod.rs` at line 107
</Card>

***

## Related Documentation

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