This release is a pre-release and may not be stable for production use.
Plugin Manager Plugin
The Plugin Manager Plugin for elizaOS provides comprehensive plugin management capabilities including dynamic loading, unloading, registry integration, and configuration management.
Features
- Dynamic Plugin Management: Load and unload plugins at runtime
- Registry Integration: Search, install, clone, and publish plugins
- Configuration Management: Check plugin configuration status and required API keys
- Caching: Efficient registry data caching to minimize API calls
- Hot Reload: Support for development workflows with hot reloading
Installation
npm install @elizaos/plugin-plugin-manager
Usage
import { pluginManagerPlugin } from '@elizaos/plugin-plugin-manager';
import { createAgentRuntime } from '@elizaos/core';
const runtime = createAgentRuntime({
// ... other configuration
plugins: [pluginManagerPlugin],
});
Available Actions
Load Plugin
Load a plugin dynamically at runtime.
"Load the weather plugin"
"Enable @elizaos/plugin-weather"
Unload Plugin
Unload a plugin from the runtime.
"Unload the weather plugin"
"Disable plugin-weather"
Search Plugins
Search for plugins in the registry.
"Search for social media plugins"
"Find plugins for image processing"
Install Plugin
Install a plugin from the registry.
"Install plugin @elizaos/plugin-example from registry"
"Install the weather plugin"
Clone Plugin
Clone a plugin repository for development.
"Clone the weather plugin"
"Get the source code for @elizaos/plugin-example"
Publish Plugin
Publish a plugin to npm registry.
"Publish my weather plugin"
"Release the plugin to npm"
Services
PluginManagerService
Core service for managing plugin lifecycle, including loading, unloading, and tracking plugin states.
RegistryService
Manages cached registry data for efficient plugin discovery and search operations. Automatically refreshes cache every 30 minutes.
PluginConfigurationService
Provides basic environment variable checking for plugin configuration requirements.
Providers
- pluginStateProvider: Provides current state of loaded plugins
- pluginConfigurationStatusProvider: Shows configuration status and missing API keys
- registryPluginsProvider: Lists available plugins from the registry
- pluginKnowledgeProvider: Provides searchable knowledge about plugins
Configuration
Set the plugin directory in your environment:
PLUGIN_DIRECTORY=./plugins
Development
# Install dependencies
npm install
# Build the plugin
npm run build
# Run tests
npm test
# Run linter
npm run lint
Testing
The plugin includes comprehensive unit tests. Run them with:
npm run test:unit
To run all tests including E2E tests:
npm run test
# or
npx elizaos test
E2E Tests Fixed
The SQL plugin camelCase/snake_case issue has been resolved by ensuring Drizzle ORM receives the schema object during initialization. This fix enables proper column name mapping between TypeScript (camelCase) and PostgreSQL (snake_case).
If you encounter any E2E test issues, ensure you have:
- Built the SQL plugin:
cd packages/plugin-sql && npm run build - Built the CLI:
cd packages/cli && npm run build - Built this plugin:
npm run build
License
MIT
Metadata
Release files for elizaos-plugin-plugin-manager 2.0.0a5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| elizaos_plugin_plugin_manager-2.0.0a5.tar.gz | 11.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| elizaos_plugin_plugin_manager-2.0.0a5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 25.4 kB
Release files / elizaos_plugin_plugin_manager-2.0.0a5.tar.gz
| Download URL | elizaos_plugin_plugin_manager-2.0.0a5.tar.gz |
|---|---|
| Size | 11.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
babcba3d9aca2d895af7cc754e35c4b2675979808fb295b417ea33a10a0fbb61
|
|
BLAKE2b-256 checksum How to use checksums |
67456308d74ec10563bb25429e77cf2f5744cc5bfede788714d61563fdd09524
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.2
|
Release files / elizaos_plugin_plugin_manager-2.0.0a5-py3-none-any.whl
| Download URL | elizaos_plugin_plugin_manager-2.0.0a5-py3-none-any.whl |
|---|---|
| Size | 14.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2ccfaf4a6bb914ced3b59dd3b40566dfb3a3a7de9e6f0d7defa84a74ec7fc165
|
|
BLAKE2b-256 checksum How to use checksums |
3785108719bc2a268c0e75f8b19f1d82e4f94817cad4c83ab69bfa0ead2d5812
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.2
|