An open API service indexing awesome lists of open source software.

https://github.com/elizaos/eliza

Autonomous agents for everyone
https://github.com/elizaos/eliza

agent agentic ai autonomous chatbot crypto discord eliza elizaos framework plugins rag slack swarm telegram

Last synced: 8 days ago
JSON representation

Autonomous agents for everyone

Awesome Lists containing this project

README

        

# Eliza ๐Ÿค–


Eliza Banner

๐Ÿ“‘ [Technical Report](https://arxiv.org/pdf/2501.06781) | ๐Ÿ“– [Documentation](https://elizaos.github.io/eliza/) | ๐ŸŽฏ [Examples](https://github.com/thejoven/awesome-eliza)

## ๐ŸŒ README Translations

[ไธญๆ–‡่ฏดๆ˜Ž](i18n/readme/README_CN.md) | [ๆ—ฅๆœฌ่ชžใฎ่ชฌๆ˜Ž](i18n/readme/README_JA.md) | [ํ•œ๊ตญ์–ด ์„ค๋ช…](i18n/readme/README_KOR.md) | [Persian](i18n/readme/README_FA.md) | [Franรงais](i18n/readme/README_FR.md) | [Portuguรชs](i18n/readme/README_PTBR.md) | [Tรผrkรงe](i18n/readme/README_TR.md) | [ะ ัƒััะบะธะน](i18n/readme/README_RU.md) | [Espaรฑol](i18n/readme/README_ES.md) | [Italiano](i18n/readme/README_IT.md) | [เน„เธ—เธข](i18n/readme/README_TH.md) | [Deutsch](i18n/readme/README_DE.md) | [Tiแบฟng Viแป‡t](i18n/readme/README_VI.md) | [ืขึดื‘ืจึดื™ืช](i18n/readme/README_HE.md) | [Tagalog](i18n/readme/README_TG.md) | [Polski](i18n/readme/README_PL.md) | [Arabic](i18n/readme/README_AR.md) | [Hungarian](i18n/readme/README_HU.md) | [Srpski](i18n/readme/README_RS.md) | [Romรขnฤƒ](i18n/readme/README_RO.md) | [Nederlands](i18n/readme/README_NL.md) | [ฮ•ฮปฮปฮทฮฝฮนฮบฮฌ](i18n/readme/README_GR.md)

## ๐Ÿšฉ Overview


Eliza Diagram

## โœจ Features

- ๐Ÿ› ๏ธ 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!

## Video Tutorials

[AI Agent Dev School](https://www.youtube.com/watch?v=ArptLpQiKfI&list=PLx5pnFXdPTRzWla0RaOxALTSTnVq53fKL)

## ๐ŸŽฏ Use Cases

- ๐Ÿค– Chatbots
- ๐Ÿ•ต๏ธ Autonomous Agents
- ๐Ÿ“ˆ Business Process Handling
- ๐ŸŽฎ Video Game NPCs
- ๐Ÿง  Trading

## ๐Ÿš€ Quick Start

### Prerequisites

- [Python 2.7+](https://www.python.org/downloads/)
- [Node.js 23+](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm)
- [pnpm](https://pnpm.io/installation)

> **Note for Windows Users:** [WSL 2](https://learn.microsoft.com/en-us/windows/wsl/install-manual) is required.

### Use the Starter (Recommended for Agent Creation)

Full steps and documentation can be found in the [Eliza Starter Repository](https://github.com/elizaOS/eliza-starter).
```bash
git clone https://github.com/elizaos/eliza-starter.git
cd eliza-starter
cp .env.example .env
pnpm i && pnpm build && pnpm start
```

### Manually Start Eliza (Only recommended for plugin or platform development)

#### Checkout the latest release

```bash
# 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`)
```

If you would like the sample character files too, then run this:
```bash
# Download characters submodule from the character repos
git submodule update --init
```

#### Edit the .env file

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

#### Start Eliza

```bash
pnpm i
pnpm build
pnpm start

# The project iterates fast, sometimes you need to clean the project if you are coming back to the project
pnpm clean
```

### Interact via Browser

Once the agent is running, you should see the message to run "pnpm start:client" at the end.

Open another terminal, move to the same directory, run the command below, then follow the URL to chat with your agent.

```bash
pnpm start:client
```

Then read the [Documentation](https://elizaos.github.io/eliza/) to learn how to customize your Eliza.

---

### Automatically Start Eliza

The start script provides an automated way to set up and run Eliza:

```bash
sh scripts/start.sh
```

For detailed instructions on using the start script, including character management and troubleshooting, see our [Start Script Guide](./docs/docs/guides/start-script.md).

> **Note**: The start script handles all dependencies, environment setup, and character management automatically.

---

### Modify Character

1. Open `packages/core/src/defaultCharacter.ts` to modify the default character. Uncomment and edit.

2. To load custom characters:
- Use `pnpm start --characters="path/to/your/character.json"`
- Multiple character files can be loaded simultaneously
3. Connect with X (Twitter)
- change `"clients": []` to `"clients": ["twitter"]` in the character file to connect with X

---

### Add more plugins

1. run `npx elizaos plugins list` to get a list of available plugins or visit https://elizaos.github.io/registry/

2. run `npx elizaos plugins add @elizaos-plugins/plugin-NAME` to install the plugin into your instance

#### Additional Requirements

You may need to install Sharp. If you see an error when starting up, try installing it with the following command:

```
pnpm install --include=optional sharp
```

---

## Using Your Custom Plugins
Plugins that are not in the official registry for ElizaOS can be used as well. Here's how:

### Installation

1. Upload the custom plugin to the packages folder:

```
packages/
โ”œโ”€plugin-example/
โ”œโ”€โ”€ package.json
โ”œโ”€โ”€ tsconfig.json
โ”œโ”€โ”€ src/
โ”‚ โ”œโ”€โ”€ index.ts # Main plugin entry
โ”‚ โ”œโ”€โ”€ actions/ # Custom actions
โ”‚ โ”œโ”€โ”€ providers/ # Data providers
โ”‚ โ”œโ”€โ”€ types.ts # Type definitions
โ”‚ โ””โ”€โ”€ environment.ts # Configuration
โ”œโ”€โ”€ README.md
โ””โ”€โ”€ LICENSE
```

2. Add the custom plugin to your project's dependencies in the agent's package.json:

```json
{
"dependencies": {
"@elizaos/plugin-example": "workspace:*"
}
}
```

3. Import the custom plugin to your agent's character.json

```json
"plugins": [
"@elizaos/plugin-example",
],
```

---

### Start Eliza with Gitpod

[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/elizaos/eliza/tree/main)

---

### Deploy Eliza in one click

Use [Fleek](https://fleek.xyz/eliza/) to deploy Eliza in one click. This opens Eliza to non-developers and provides the following options to build your agent:
1. Start with a template
2. Build characterfile from scratch
3. Upload pre-made characterfile

Click [here](https://fleek.xyz/eliza/) to get started!

---

### Community & contact

- [GitHub Issues](https://github.com/elizaos/eliza/issues). Best for: bugs you encounter using Eliza, and feature proposals.
- [elizaOS Discord](https://discord.gg/elizaos). Best for: hanging out with the elizaOS technical community
- [DAO Discord](https://discord.gg/ai16z). Best for: hanging out with the larger non-technical community

## Citation

We now have a [paper](https://arxiv.org/pdf/2501.06781) you can cite for the Eliza OS:
```bibtex
@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}
}
```

## Contributors


Eliza project contributors

## Star History

[![Star History Chart](https://api.star-history.com/svg?repos=elizaos/eliza&type=Date)](https://star-history.com/#elizaos/eliza&Date)

## ๐Ÿ› ๏ธ System Requirements

### Minimum Requirements
- CPU: Dual-core processor
- RAM: 4GB
- Storage: 1GB free space
- Internet connection: Broadband (1 Mbps+)

### Software Requirements
- Python 2.7+ (3.8+ recommended)
- Node.js 23+
- pnpm
- Git

### Optional Requirements
- GPU: For running local LLM models
- Additional storage: For document storage and memory
- Higher RAM: For running multiple agents

## ๐Ÿ“ Project Structure
```
eliza/
โ”œโ”€โ”€ packages/
โ”‚ โ”œโ”€โ”€ core/ # Core Eliza functionality
โ”‚ โ”œโ”€โ”€ clients/ # Client implementations
โ”‚ โ””โ”€โ”€ actions/ # Custom actions
โ”œโ”€โ”€ docs/ # Documentation
โ”œโ”€โ”€ scripts/ # Utility scripts
โ””โ”€โ”€ examples/ # Example implementations
```

## ๐Ÿค Contributing

We welcome contributions! Here's how you can help:

### Getting Started
1. Fork the repository
2. Create a new branch: `git checkout -b feature/your-feature-name`
3. Make your changes
4. Run tests: `pnpm test`
5. Submit a pull request

### Types of Contributions
- ๐Ÿ› Bug fixes
- โœจ New features
- ๐Ÿ“š Documentation improvements
- ๐ŸŒ Translations
- ๐Ÿงช Test improvements

### Code Style
- Follow the existing code style
- Add comments for complex logic
- Update documentation for changes
- Add tests for new features