Overview
The elizaOS plugin system is a comprehensive extension mechanism that allows developers to add functionality to agents through a well-defined interface. This analysis examines the complete plugin architecture by analyzing the source code and comparing it with the documentation.Core Plugins
elizaOS includes essential core plugins that provide foundational functionality:Bootstrap Plugin
The core message handler and event system for elizaOS agents. Provides essential functionality for message processing, knowledge management, and basic agent operations.
SQL Plugin
Database integration and management for elizaOS. Features automatic schema migrations, multi-database support, and a sophisticated plugin architecture.
Knowledge Plugin
Advanced knowledge base and RAG system for elizaOS. Provides semantic search, contextual embeddings, and intelligent document processing.
DeFi Plugins
Blockchain and DeFi integrations for Web3 functionality:EVM Plugin
Multi-chain EVM support with token transfers, swaps, bridging, and governance across 30+ networks including Ethereum, Base, Arbitrum, and more.
Solana Plugin
High-performance Solana blockchain integration with SOL/SPL transfers, Jupiter swaps, and real-time portfolio tracking.
Platform Integrations
Connect your agent to popular platforms:Discord
Full Discord integration with voice, commands, and rich interactions.
Telegram
Telegram bot functionality with inline keyboards and media support.
Twitter/X integration for posting, replying, and timeline management.
Farcaster
Farcaster social network integration with casting and engagement.
LLM Providers
Choose from various language model providers:OpenAI
GPT-4, GPT-3.5, and other OpenAI models.
Anthropic
Claude 3 and other Anthropic models.
OpenRouter
OpenRouter models for advanced routing and customization.
Community Plugin Registry
Explore the complete collection of community-contributed plugins in our dedicated registry.Browse Plugin Registry
Access the full plugin registry with real-time updates, detailed plugin information, version tracking, and easy installation instructions for all v1 compatible elizaOS plugins.
1. Complete Plugin Interface
Based on/Users/studio/Documents/GitHub/eliza/packages/core/src/types/plugin.ts
, the full Plugin interface includes:
2. Action, Provider, and Evaluator Interfaces
Action Interface
From/Users/studio/Documents/GitHub/eliza/packages/core/src/types/components.ts
:
Provider Interface
Evaluator Interface
3. Plugin Initialization Lifecycle
Based on/Users/studio/Documents/GitHub/eliza/packages/core/src/runtime.ts
, the initialization process:
-
Plugin Registration (
registerPlugin
method):- Validates plugin has a name
- Checks for duplicate plugins
- Adds to active plugins list
- Calls plugin’s
init()
method if present - Handles configuration errors gracefully
-
Component Registration Order:
4. Service System Integration
From/Users/studio/Documents/GitHub/eliza/packages/core/src/types/service.ts
:
Service Abstract Class
Service Types
The system includes predefined service types:- TRANSCRIPTION, VIDEO, BROWSER, PDF
- REMOTE_FILES (AWS S3)
- WEB_SEARCH, EMAIL, TEE
- TASK, WALLET, LP_POOL, TOKEN_DATA
- DATABASE_MIGRATION
- PLUGIN_MANAGER, PLUGIN_CONFIGURATION, PLUGIN_USER_INTERACTION
5. Route Definitions for HTTP Endpoints
From the Plugin interface:6. Event System Integration
From/Users/studio/Documents/GitHub/eliza/packages/core/src/types/events.ts
:
Event Types
Standard events include:- World events: WORLD_JOINED, WORLD_CONNECTED, WORLD_LEFT
- Entity events: ENTITY_JOINED, ENTITY_LEFT, ENTITY_UPDATED
- Room events: ROOM_JOINED, ROOM_LEFT
- Message events: MESSAGE_RECEIVED, MESSAGE_SENT, MESSAGE_DELETED
- Voice events: VOICE_MESSAGE_RECEIVED, VOICE_MESSAGE_SENT
- Run events: RUN_STARTED, RUN_ENDED, RUN_TIMEOUT
- Action/Evaluator events: ACTION_STARTED/COMPLETED, EVALUATOR_STARTED/COMPLETED
- Model events: MODEL_USED
Plugin Event Handlers
7. Database Adapter Plugins
From/Users/studio/Documents/GitHub/eliza/packages/core/src/types/database.ts
:
The IDatabaseAdapter interface is extensive, including methods for:
- Agents, Entities, Components
- Memories (with embeddings)
- Rooms, Participants
- Relationships
- Tasks
- Caching
- Logs