📑 Technical Report | 📖 Documentation | 🎯 Examples
中文说明 | 日本語の説明 | 한국어 설명 | Persian | Français | Português | Türkçe | Русский | Español | Italiano | ไทย | Deutsch | Tiếng Việt | עִברִית | Tagalog | Polski | Arabic | Hungarian | Srpski | Română | Nederlands | Ελληνικά
- 🛠️ Full-featured Discord, X (Twitter) and Telegram connectors
- 🔗 Support for every model (Llama, Grok, OpenAI, Anthropic, Gemini, 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
- 📦 Just works!
- 🤖 Chatbots
- 🕵️ Autonomous Agents
- 📈 Business Process Handling
- 🎮 Video Game NPCs
- 🧠 Trading
Note for Windows Users: WSL 2 is required.
git clone https://github.com/elizaos/eliza-starter.git
cd eliza-starter
cp .env.example .env
bun i && bun run build && bun start- Node.js (v18+ recommended)
- bun (for CLI and dependencies)
- bats (shell test runner, install globally via npm or bun)
- git (for project/plugin tests)
You need the bats-core test runner for shell tests.
To install globally:
npm install -g bats
# or, if you use bun:
bun add -g bats# Clone the repository
git clone https://github.com/elizaos/eliza.git
# This project iterates fast, so we recommend checking out the latest release
git checkout $(git describe --tags --abbrev=0)
# If the above doesn't checkout the latest release, this should work:
# git checkout $(git describe --tags `git rev-list --tags --max-count=1`)Copy .env.example to .env and fill in the appropriate values.
cp .env.example .env
Note: .env is optional. If you're planning to run multiple distinct agents, you can pass secrets through the character JSON
Important! We now use Bun. If you are using npm, you will need to install Bun: https://bun.sh/docs/installation
bun install
bun run build # npm will work too
bun start # npm will work tooOnce the agent is running, you can visit http://localhost:3000 to interact with your agent through a web interface. The interface provides:
- Real-time chat with your agent
- Character configuration options
- Plugin management
- Memory and conversation history
Eliza supports OpenTelemetry for tracing and monitoring agent behavior. This allows you to gain insights into the performance and execution flow of your agents.
Enabling Instrumentation:
Set the following environment variable:
INSTRUMENTATION_ENABLED=trueWhen enabled, Eliza will:
- Initialize an OpenTelemetry tracer.
- Automatically trace key operations within the core
AgentRuntimeand supported plugins (e.g., theplugin-openai).
Service Name:
The default service name for traces will be agent-<character_name>-<agent_id>.
PostgreSQL Exporter Setup (Example):
If you plan to export traces to a PostgreSQL database (e.g., using a compatible OpenTelemetry exporter), you can start a local instance using Docker:
docker run -d --name postgres-tracing -p 5432:5432 -e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=postgres -e POSTGRES_DB=eliza_tracing postgres:15You will also need to configure the connection URL via the following environment variable, adjusting it based on your database setup:
INSTRUMENTATION_ENABLED=true
POSTGRES_URL_INSTRUMENTATION="postgresql://postgres:postgres@localhost:5432/eliza_tracing"The start script provides an automated way to set up and run Eliza:
We now have a paper you can cite for the Eliza OS:
@article{walters2025eliza,
title={Eliza: A Web3 friendly AI Agent Operating System},
author={Walters, Shaw and Gao, Sam and Nerd, Shakker and Da, Feng and Williams, Warren and Meng, Ting-Chien and Han, Hunter and He, Frank and Zhang, Allen and Wu, Ming and others},
journal={arXiv preprint arXiv:2501.06781},
year={2025}
}This project uses git hooks to ensure code quality:
- pre-commit: Automatically formats staged files using Prettier before committing
To run the pre-commit hook manually:
bun run pre-commit
