Overview
Agent types define the structure of agents and characters in elizaOS. WhileCharacter defines the blueprint, Agent represents an instantiated and potentially running version with runtime status and timestamps.
TemplateType
A flexible type for defining string templates that can be static or dynamic.- Can be a static string value
- Can be a function that takes state parameters and returns a string
MessageExample
Example message for demonstration purposes.content- The content of the example message
MessageExampleGroup
Groups multiple message examples together.examples- Array of message examples in the group
CharacterSettings
Configuration settings for a character.ENABLE_AUTONOMY?- Enable autonomous behavior for the agentDISABLE_BASIC_CAPABILITIES?- Disable basic agent capabilitiesADVANCED_CAPABILITIES?- Enable advanced featuressecrets?- Secret configuration values (API keys, tokens, etc.)- Additional custom settings can be added as key-value pairs
Character
Defines the blueprint of a character/agent.settings?- Character configuration settingssecrets?- Secret values for authentication and API accessmessageExamples?- Example conversations for the characterknowledge?- Knowledge sources available to the character
AgentStatus
Enum representing the operational status of an agent.ACTIVE- Agent is currently active and operationalINACTIVE- Agent is inactive or disabled
Agent
Represents an operational agent, extending theCharacter definition with runtime status and timestamps.
While Character defines the blueprint, Agent represents an instantiated and potentially running version. It includes:
enabled: A boolean indicating if the agent is currently active or disabledstatus: The current operational status, typicallyAgentStatus.ACTIVEorAgentStatus.INACTIVEcreatedAt,updatedAt: Timestamps for when the agent record was created and last updated in the database
IDatabaseAdapter for agent management.
- All properties from
Character status?- Current operational status of the agentcreatedAt- Timestamp when the agent was created (Unix timestamp)updatedAt- Timestamp when the agent was last updated (Unix timestamp)