Actions, Providers, Evaluators, and Services - the building blocks of elizaOS plugins
Component | Purpose | When Executed |
---|---|---|
Actions | Tasks agents can perform | When agent decides to take action |
Providers | Supply contextual data | Before actions/decisions |
Evaluators | Process and extract from responses | After agent generates response |
Services | Manage stateful connections | Throughout agent lifecycle |
ActionResult
ActionResult
with a success
field indicating whether the action completed successfully.
For complete interface definitions, see Plugin Reference.
Action | Description | Example Trigger |
---|---|---|
REPLY | Generate response | ”Tell me about…” |
SEND_MESSAGE | Send to specific room | ”Message the team…” |
NONE | Acknowledge silently | ”Thanks!” |
IGNORE | Skip message | Spam/irrelevant |
Action | Description | Example Trigger |
---|---|---|
FOLLOW_ROOM | Subscribe to updates | ”Join #general” |
UNFOLLOW_ROOM | Unsubscribe | ”Leave #general” |
MUTE_ROOM | Mute notifications | ”Mute this channel” |
UNMUTE_ROOM | Unmute | ”Unmute #general” |
Action | Description | Example Trigger |
---|---|---|
UPDATE_CONTACT | Update contact info | ”Remember that I…” |
UPDATE_ROLE | Change roles | ”Make me admin” |
UPDATE_SETTINGS | Modify settings | ”Set model to gpt-4” |
Action | Description | Example Trigger |
---|---|---|
GENERATE_IMAGE | Create AI images | ”Draw a cat” |
CHOICE | Present options | ”Should I A or B?” |
success
fieldProviderResult
with text, values, and dataget
function receives the runtime, current message, and state, returning data that will be composed into the agent’s context.
For complete interface definitions, see the Provider Interface in the Reference.
Provider | Returns | Example Use |
---|---|---|
characterProvider | Agent personality | Name, bio, traits |
timeProvider | Current date/time | ”What time is it?” |
knowledgeProvider | Knowledge base | Documentation, facts |
recentMessagesProvider | Chat history | Context awareness |
actionsProvider | Available actions | ”What can you do?” |
factsProvider | Stored facts | User preferences |
settingsProvider | Configuration | Model settings |
runtime.composeState()
Evaluator | Purpose | Extracts |
---|---|---|
reflectionEvaluator | Self-awareness | Insights about interactions |
factEvaluator | Fact extraction | Important information |
goalEvaluator | Goal tracking | User objectives |
alwaysRun: true
sparinglystop()