ElizaOS Framework
Framework and Platform for Smart Crypto Agents.
Featuresβ
- π οΈ Full-featured Discord, Twitter and Telegram connectors
- π Support for every model (Llama, Grok, OpenAI, Anthropic, etc.)
- π₯ Multi-agent and room support
- π Easily ingest and interact with your documents
- πΎ Retrievable memory and document store
- π Highly extensible - create your own actions and clients
- βοΈ Supports many models (local Llama, OpenAI, Anthropic, Groq, etc.)
Getting Startedβ
Coordinationβ
Guide to aligning and coordinating development efforts.
Resources for coordination of contributors.
Resource | Purpose |
---|---|
elizaos.github.io | |
Discord | |
GitHub | |
Telegram | Not used? |
Perfect use case (demonstrable value proposition) for a team of of Eliza Agents. Every person / organisation suffers from analysis paralysis and decision fatigue. Eliza Agents can sift though the noise and point out best lines of focused attention for maximum value extraction.
Architectureβ
Overviewβ
Trust and Securityβ
Agent Runtimeβ
The AgentRuntime class manages the agent's core functions, including:
- Message and Memory Processing: Storing, retrieving, and managing conversation data and contextual memory.
- State Management: Composing and updating the agentβs state for a coherent, ongoing interaction.
- Action Execution: Handling behaviors such as transcribing media, generating images, and following rooms.
- Evaluation and Response: Assessing responses, managing goals, and extracting relevant information.
Onboardingβ
Educational resources on YouTube etc.
- Eliza Starter (Creating your own agents and plugins)
- AI Agent Dev School
- Awesome Eliza
- Trust Scoreboard
- Eliza Protocol (Contributing to the Framework)
- Third Party
Remember to pnpm run clean && pnpm run build
Core Conceptsβ
Core code in core, lightweight and runs in the browser.
- Agent: These are the core elements that represent individual AI personalities. Agents operate within a runtime environment and interact with various platforms.
- Character: These JSON files define the personality, knowledge, and behavior of each AI agent.
- Clients: Clients act as interfaces between agents and specific platforms, such as Discord, Twitter, and Telegram. They handle platform-specific message formats and communication protocols.
- Actions: Actions are predefined behaviors that agents can execute in response to messages, enabling them to perform tasks and interact with external systems.
- Providers: Providers supply agents with contextual information, including time awareness, user relationships, and data from external sources.
- Evaluators: These modules assess and extract information from conversations, helping agents track goals, build memory, and maintain context awareness.
- Memory System: Eliza features a sophisticated memory management system that utilizes vector embeddings and relational database storage to store and retrieve information for agents.
- Plugins: Plugins are modular way to extend the core functionality with additional features by bundling actions, evaluators, and providers. They are self-contained modules that can be easily added or removed to customize your agent's capabilities.
Characterβ
A json file that implements the Character type defines an agent's characteristics:
- Core identity and behavior
- Model provider configuration
- Client settings and capabilities
- Interaction examples and style guidelines
Context Providersβ
A provider's primary purpose is to:
- Supply dynamic contextual information
- Integrate with the agent runtime
- Format information for conversation templates
- Maintain consistent data access
Learningβ
Actionsβ
Each Action consists of:
- name: Unique identifier for the action
- similes: Array of alternative names/variations
- description: Explains when and how the action should be used
- validate: Function that checks if action is appropriate
- handler: Implementation of the action's behavior, args:
- runtime: IAgentRuntime
- message: Memory
- state: Aim to reuse but can be recreated fresh (CHECK LOGIC)
- options:
- callBack
- examples: Array of example usage patterns
Patternsβ
- Set required state, typically import but can create.
Common Issuesβ
Action Not Triggering
-
Check validation logic
-
Verify similes list
-
Review example patterns
-
Handler Failures
- Validate service availability
- Check state requirements
- Review error logs
State Inconsistencies
- Verify state updates
- Check concurrent modifications
- Review state transitions
Learningβ
Evaluatorsβ
Evaluators enable agents to:
- Build long-term memory
- Track goal progress
- Extract facts and insights
- Maintain contextual awareness
Knowledge base:
DB Adaptersβ
Store long-term memories. SQLite is full featured, can be deleted to wipe memories and will recreated during exploration, graduate to a supabase etc once you need to persist memories.
- SQLite (default)
- Supabase (easy)
- Convex?
Knowledge base:
Clientsβ
Talk to the outside world. Code being refactored to unify underlying messaging architecture so that clients will be able to send to other clients (metaverse). Roperito dev lead.
Knowledge base:
Pluginsβ
Very important, wraps everything for your agent. The bootstrap plugin contains essential providers, actions, evaluators. Node plugin provides essential services such as transcription, summarization, but cannot be run in the browser, intent is to create a browser plugin to replicate the same functionality without server dependencies.
- Memory Manager: State of Mind.
- Providers: Contextual information from outside world.
- Actions: Protocols and tools to communicate/execute intentions.
- Evaluators: Build long-term memory.
- Clients: Talk to the outside world.
Progress
- Move Plugins into community repo
- Browser Plugin
Knowledge base:
Questions:
- Duplicated code for reimplementation of common functionality?
- What is process for approving plugins into release?
- How do you prioritize flow of plugin logic?
- How is best in class implementation decided?