Base¶
Base classes for the Arshai plugin system.
Classes¶
- class arshai.extensions.base.Plugin(config=None)[source]¶
Bases:
ABCBase class for all Arshai plugins.
Plugins can extend various aspects of the framework: - Add new agent types - Add new tools - Add new LLM providers - Add new memory backends - Modify existing behavior through hooks
- abstractmethod initialize()[source]¶
Initialize the plugin.
This method is called when the plugin is loaded. Use it to set up resources, register components, etc.
- Return type:
- abstractmethod shutdown()[source]¶
Shutdown the plugin.
This method is called when the plugin is unloaded. Use it to clean up resources.
- Return type:
- register_agent(name, agent_class)[source]¶
Register a new agent type. Override in subclasses.
- Return type:
- register_tool(tool_name, tool_function)[source]¶
Register a new tool function. Override in subclasses.
- Return type:
- class arshai.extensions.base.PluginMetadata(name, version, author, description, requires=None, tags=None)[source]¶
Bases:
objectMetadata for a plugin.
- __init__(name, version, author, description, requires=None, tags=None)¶
- class arshai.extensions.base.PluginRegistry[source]¶
Bases:
objectRegistry for managing loaded plugins.