plugins • AI Agent SDK

Plugin Module for PraisonAI Agents.

plugins

AI Agent

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
  • Built-in plugins (logging, metrics)
  • Plugin SDK for easy plugin development

Folder Structure:

  • plugins/sdk/ – Plugin SDK (base classes, decorators)
  • plugins/builtin/ – Built-in plugins (logging, metrics)
  • plugins/protocols.py – Plugin protocols for type safety

Usage:

python
from praisonaiagents.plugins import PluginManager, Plugin, PluginHook

# Create plugin manager
manager = PluginManager()

# Load plugins from directory
manager.load_from_directory("./plugins")

# Use built-in plugins
from praisonaiagents.plugins.builtin import LoggingPlugin, MetricsPlugin
manager.register(LoggingPlugin())

# Use plugin SDK
from praisonaiagents.plugins.sdk import plugin

@plugin(name="my_plugin", hooks=[PluginHook.BEFORE_TOOL])
def my_plugin_func(hook_type, *args, **kwargs):
    return args[0] if args else None

Import

python
from praisonaiagents import plugins

Functions

Constants

NameValue
_LAZY_IMPORTS{'PluginManager': (f'{__name__}.manager', 'PluginManager'), 'get_plugin_manager': (f'{__name__}.manager', 'get_plugin_manager'), 'Plugin': (f'{__name__}.plugin', 'Plugin'), 'PluginHook': (f'{__name__}...

Related Documentation