elizaOS
An open-source framework for building autonomous AI agents.
## β¨ What is Eliza?
elizaOS is an all-in-one, extensible platform for building and deploying AI-powered applications. Whether you're creating sophisticated chatbots, autonomous agents for business process automation, or intelligent game NPCs, Eliza provides the tools you need to get started quickly and scale effectively.
It combines a modular architecture, a powerful CLI, and a rich web interface to give you full control over your agents' development, deployment, and management lifecycle.
For complete guides and API references, visit our official **[documentation](https://docs.elizaos.ai/)**.
## π Key Features
- π **Rich Connectivity**: Out-of-the-box connectors for Discord, Telegram, Farcaster, and more.
- π§ **Model Agnostic**: Supports all major models, including OpenAI, Gemini, Anthropic, Llama, and Grok.
- π₯οΈ **Modern Web UI**: A professional dashboard for managing agents, groups, and conversations in real-time.
- π€ **Multi-Agent Architecture**: Designed from the ground up for creating and orchestrating groups of specialized agents.
- π **Document Ingestion**: Easily ingest documents and allow agents to retrieve information and answer questions from your data (RAG).
- π οΈ **Highly Extensible**: Build your own functionality with a powerful plugin system.
- π¦ **It Just Works**: A seamless setup and development experience from day one.
> **Looking for plugins?** Browse the community plugin registry at **[elizaOS-plugins/registry](https://github.com/elizaOS-plugins/registry)** for a full list of available ElizaOS plugins.
## Framework, Projects, And App Plugins
elizaOS is a framework plus packages built on top of it. Knowing which layer
you're working with keeps projects, plugins, and app surfaces from getting
mixed together.
**The framework** is the runtime: `@elizaos/core`, the agent loop, the plugin model (actions, providers, services), the message/memory/state primitives, and the model-agnostic LLM layer. If you depend on `@elizaos/core` from your own code, you are using the framework.
**A project** is a deployable product workspace built on the framework. A
generated project owns its branded app shell, usually under `apps/app` inside
that project workspace.
**An app plugin** is a runtime plugin that also contributes an app surface inside
Eliza. First-party app plugins live under [`plugins/app-*`](plugins), keep npm
names like `@elizaos/plugin-companion`, and are loaded by package name. They are
plugins, not top-level repo applications.
The same split shows up in the directory tree:
```
packages/ β framework and shared packages
core/ # @elizaos/core β runtime, types, agent loop
agent/ # @elizaos/agent β AgentRuntime + plugin loader
app-core/ # API + dashboard host
elizaos/ # the `elizaos` CLI
prompts/ # shared prompt scaffolding
ui/ # shared React component library
examples/ # standalone examples (chat, discord, mcp, ...)
benchmarks/ # evaluation suites (gaia, swe_bench, tau-bench, ...)
plugins/ β runtime plugins and app plugins
app-companion/ app-browser/ app-documents/ app-phone/
app-task-coordinator/ app-training/ plugin-form/ ...
plugin-discord/ plugin-openai/ plugin-sql/ ...
packages/elizaos/templates/ β CLI scaffolds + min-project / min-plugin for APP/PLUGIN create
```
A _plugin_ sits between the two: framework-shaped (registers actions/providers/services with the runtime) but shipped and consumed like a product. Community plugins are listed at [elizaOS-plugins/registry](https://github.com/elizaOS-plugins/registry).
## Pick your starting point
| You want to⦠| Start here |
| ------------------------------------------------------------- | --------------------------------------------- |
| Try an agent in 5 minutes | [CLI quick start](#cli-quick-start) |
| Use the runtime from your own TypeScript code (no CLI, no UI) | [Standalone usage](#standalone-usage) |
| Build a new deployable product | [Create a new project](#create-a-new-project) |
| Build a runtime plugin (action / provider / service) | [Create a new plugin](#create-a-new-plugin) |
| See how others did it | [Examples](#examples) |
| Evaluate or benchmark an agent | [Benchmarks](#benchmarks) |
| Read the docs | [docs.elizaos.ai](https://docs.elizaos.ai/) |
## CLI quick start
**Prerequisites:** [Node.js v24+](https://nodejs.org/), [bun](https://bun.sh/docs/installation). On Windows, use [WSL 2](https://learn.microsoft.com/en-us/windows/wsl/install-manual).
```bash
bun add -g elizaos
elizaos create my-first-agent --template project
cd my-first-agent
# add OPENAI_API_KEY=... to .env (or your provider's key)
bun install
bun run dev
```
The generated project exposes the runtime scripts you'll use day-to-day: `bun run dev`, `bun run build`, `bun run test`, `bun run typecheck`, `bun run lint`, `bun run verify`. The `elizaos` CLI itself is intentionally minimal β its job is scaffolding (`elizaos create`) and template upgrades (`elizaos upgrade`). For a list of available templates, run `elizaos info`.
Full reference: `elizaos --help` or `elizaos