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.
- 🔌 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 for a full list of available ElizaOS 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, evaluators), 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-*, keep npm
names like @elizaos/app-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-knowledge/ 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.
| You want to… | Start here |
|---|---|
| Try an agent in 5 minutes | CLI quick start |
| Use the runtime from your own TypeScript code (no CLI, no UI) | Standalone usage |
| Build a new deployable product | Create a new project |
| Build a runtime plugin (action / provider / service) | Create a new plugin |
| See how others did it | Examples |
| Evaluate or benchmark an agent | Benchmarks |
| Read the docs | docs.elizaos.ai |
Prerequisites: Node.js v24+, bun. On Windows, use WSL 2.
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 devThe 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 <command> --help.
Use @elizaos/core directly — no CLI, no dashboard, just the runtime in your code.
git clone --filter=blob:none https://github.com/elizaos/eliza.git
cd eliza
bun install
# Interactive REPL against a real agent
OPENAI_API_KEY=your_key bun run packages/examples/chat/chat.tsNearly every surface has a working example in packages/examples/ — 30+ in total. Each one has its own README and runs independently. They are the fastest way to see the framework standing on its own. See Examples below for the highlights.
About the partial clone.
--filter=blob:nonegives you the full history but fetches file contents on demand — about 10× smaller.git log, branches, andgit checkoutwork normally;git blameandgit log -pwill fetch on first use. To upgrade later:git config --unset remote.origin.partialclonefilter && git fetch --refetch. For one-off CI,--depth=1 --single-branchis even smaller.
A project is a self-contained product workspace on top of the runtime: branded app shell, local eliza checkout, app plugin selection, platform config, and deployment scripts. Two paths:
1. CLI scaffold (recommended).
elizaos create my-app --template project
cd my-app
bun install
bun run devThe project template lays out a full workspace with a local eliza checkout, default plugins (plugin-sql, plugin-elizacloud, plugin-local-ai, plugin-ollama), and a Vite + React UI you can edit immediately.
2. Copy a template directly. packages/elizaos/templates/min-project/ is the smallest possible app — Vite + React UI, a runtime Plugin with one action, the elizaos.app metadata block in package.json, and a vitest smoke test. Read packages/elizaos/templates/min-project/SCAFFOLD.md for the placeholders to replace and the verification contract.
For first-party app plugin references, browse plugins/app-*. A few starting points by complexity:
app-companion— chat-first companion with a custom React UI.app-browser— agent-driven browser automation.app-knowledge— RAG over user documents.app-phone— voice + telephony surface.plugin-form— form-driven data collection.app-task-coordinator— multi-agent orchestration.app-training— trajectory capture + native prompt optimization.
A plugin extends the runtime with actions, providers, services, or evaluators — no UI required.
elizaos create my-plugin -t plugin
cd my-plugin
bun install
bun run buildOr copy packages/elizaos/templates/min-plugin/ directly. See packages/elizaos/templates/min-plugin/SCAFFOLD.md for the contract.
Once typecheck, lint, and tests pass, publish to npm. Community plugins are listed in elizaOS-plugins/registry.
packages/examples/ — 30+ runnable references covering connectors, integrations, hosting targets, and gameplay. Each subdirectory is independently buildable and has its own README.
| Category | Examples |
|---|---|
| Conversational | chat, discord, telegram, farcaster, farcaster-miniapp, twitter-xai, bluesky |
| Web frameworks | next, react, html, browser-extension, rest-api |
| Hosting / serverless | vercel, cloudflare, gcp, aws, supabase, convex |
| Protocols | mcp, a2a |
| On-chain / trading | polyagent, polymarket, trader, lp-manager |
| Fun / games | tic-tac-toe, text-adventure, game-of-life, town, roblox, elizagotchi |
| Other | autonomous, avatar, code, form, moltbook, _plugin |
packages/benchmarks/ — 30+ evaluation suites for measuring agent capability. Each lives in its own subdirectory with its own harness and README.
| Category | Benchmarks |
|---|---|
| General agent | gaia, agentbench, tau-bench, gauntlet, realm, trust, experience |
| Coding | swe_bench, bfcl, mint |
| OS / desktop | OSWorld, terminal-bench |
| Web | mind2web, webshop |
| On-chain / trading | HyperliquidBench, solana, evm, vending-bench |
| Voice / multimodal | voicebench |
| Specialized | adhdbench, clawbench, openclaw-benchmark, woobench, rlm-bench, social-alpha |
| elizaOS-specific | app-eval, configbench, context-bench, framework, orchestrator, orchestrator_lifecycle |
The runbook for orchestrator-driven benchmark runs is packages/benchmarks/ORCHESTRATOR_SUBAGENT_BENCHMARK_RUNBOOK.md. The Eliza adapter that lets a benchmark drive an Eliza agent lives at packages/benchmarks/eliza-adapter. A combined results viewer is at packages/benchmarks/viewer.
bun install # workspace install
bun run dev # API + Vite UI for apps/app
bun run build # turbo build across the workspace
bun run lint # turbo lint across the workspace
bun run test # full test suite (scripts/run-all-tests.mjs)Key framework packages:
@elizaos/core— runtime, types, agent loop. The package the framework starts and ends with.@elizaos/agent—AgentRuntime, plugin loader, default plugin map.@elizaos/app-core— Express API + dashboard host that runs agents.elizaos— theelizaosCLI:create,info,upgrade,version.@elizaos/prompts— shared prompt scaffolding.@elizaos/ui— shared React component library.plugins/— connectors and capabilities (Telegram, Discord, Farcaster, Twitter/X, browser, video, TEE, …).
Contributions welcome. Open an issue before sending a non-trivial PR.
MIT — see LICENSE.