AI prompts
base on Autonomous agents for everyone # Eliza
A framework for multi-agent development and deployment
## ✨ Features
- 🛠️ Full-featured Discord, Telegram, and Farcaster connectors (and many more!)
- 🔗 Support for every model (Llama, Grok, OpenAI, Anthropic, Gemini, etc.)
- 🎨 Modern and professional UI with a redesigned dashboard for managing agents and groups.
- 💬 Robust real-time communication with enhanced channel and message handling.
- 👥 Multi-agent and group support with intuitive management.
- 📚 Easily ingest and interact with your documents.
- 💾 Retrievable memory and document store.
- 🚀 Highly extensible - create your own actions and clients.
- 📦 Just works!
## 🎯 Use Cases
- 🤖 Chatbots
- 🕵️ Autonomous Agents
- 📈 Business Process Handling
- 🎮 Video Game NPCs
- 🧠 Trading
## 🚀 Quick Start
### Prerequisites
- [Node.js](https://nodejs.org/) (v23 or higher recommended)
- [bun](https://bun.sh/docs/installation)
> **Note for Windows Users:** [WSL 2](https://learn.microsoft.com/en-us/windows/wsl/install-manual) is required.
### Use the CLI (Recommended)
The ElizaOS CLI provides the fastest and most reliable way to create, configure, and run agents. It handles all the complex setup automatically.
#### 1. Install the CLI
```bash
# Install the ElizaOS CLI globally
bun install -g @elizaos/cli
# Verify installation
elizaos --version
# Get help with available commands
elizaos --help
```
#### 2. Create Your First Project
```bash
# Create a new project with interactive setup
elizaos create my-agent
# Or create with specific options (skips prompts)
elizaos create my-agent --yes --type project
```
**Recommended Options for Beginners:**
- **Database**: `pglite` (lightweight, no setup required)
- **Model Provider**: `openai` (most reliable and well-tested)
- **Project Type**: `project` (full ElizaOS application with runtime and agents)
#### 3. Configure Your Agent
```bash
cd my-agent
# Edit your local env file
elizaos env edit-local
# Or manually edit the .env file with your preferred editor
nano .env
```
**Essential Environment Variables:**
```bash
# Required: Your model API key
OPENAI_API_KEY=your_api_key_here
# Optional: Logging level (info, debug, error)
LOG_LEVEL=info
# Optional: Discord bot token (if using Discord)
DISCORD_APPLICATION_ID=your_discord_app_id
DISCORD_API_TOKEN=your_discord_bot_token
```
#### 4. Start Your Agent
```bash
# Build and start your agent
elizaos start
# Or start with debug logging for development
LOG_LEVEL=debug elizaos start
```
After starting, your agent will be available at:
- **Web Interface**: http://localhost:3000
- **API Endpoint**: http://localhost:3000/api
#### 5. Development Workflow
```bash
# Make changes to your agent code
# Then rebuild and restart
bun run build
elizaos start
# Run tests to verify your changes
elizaos test
```
#### Advanced CLI Commands
```bash
# Create specific components
elizaos create my-plugin --type plugin # Create a new plugin
elizaos create my-agent --type agent # Create a new agent character
elizaos create my-tee --type tee # Create a TEE project
# Environment management
elizaos env list # Show all environment variables
elizaos env reset # Reset to default .env.example
# Testing options
elizaos test --name "my-test" # Run specific tests
elizaos test e2e # Run end-to-end tests only
elizaos test component # Run component tests only
# Agent management
elizaos agent list # List all available agents
elizaos agent start --name "Agent" # Start a specific agent by name
elizaos agent stop --name "Agent" # Stop a running agent
elizaos agent get --name "Agent" # Get agent details
elizaos agent set --name "Agent" --file config.json # Update agent configuration
```
#### Debugging and Logging
ElizaOS uses comprehensive logging to help you understand what your agent is doing:
```bash
# Different log levels
LOG_LEVEL=error elizaos start # Only errors
LOG_LEVEL=info elizaos start # General information (default)
LOG_LEVEL=debug elizaos start # Detailed debugging info
LOG_LEVEL=verbose elizaos start # Everything (very detailed)
# Advanced debugging (combine with LOG_LEVEL=debug)
ELIZA_DEBUG=true elizaos start # Enable ElizaOS debug output
NODE_ENV=development elizaos start # Development mode with extra logging
```
**Pro Tips:**
- Use `elizaos --help` to see all available commands and global options
- Use `elizaos <command> --help` for detailed help on any specific command
- Use `LOG_LEVEL=debug` during development to see detailed execution flow
- Check the web interface at http://localhost:3000 for real-time agent status
- Use `elizaos test` frequently to catch issues early
- Keep your `.env` file secure and never commit it to version control
#### Available Commands Reference
**All CLI Commands:**
```bash
elizaos create # Create new projects, plugins, agents, or TEE projects
elizaos start # Start the agent server with character profiles
elizaos agent # Manage agents (list, start, stop, get, set)
elizaos test # Run tests (component, e2e, or all)
elizaos env # Manage environment variables and configuration
elizaos dev # Start in development mode with auto-rebuild
elizaos update # Update CLI and project dependencies
# To stop agents, use Ctrl+C in the terminal where elizaos start is running
elizaos publish # Publish plugins to registry
elizaos plugins # Manage and discover plugins
elizaos monorepo # Monorepo development utilities
elizaos tee # Trusted Execution Environment commands
# Get help for any specific command
elizaos <command> --help # e.g., elizaos create --help, elizaos agent --help
```
### Manually Start Eliza (Only recommended if you know what you are doing)
#### Prerequisites
- **Node.js** (v18+ recommended)
- **bun** (for CLI and dependencies)
- **git** (for project/plugin tests)
#### 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`)
```
#### 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
Important! We now use Bun. If you are using npm, you will need to install Bun:
https://bun.sh/docs/installation
```bash
bun install
bun run build
bun start
```
### Interact via Browser
Once Eliza is running, access the modern web interface at http://localhost:3000. It has been professionally redesigned and features:
- A welcoming dashboard with a gradient hero section and clear calls-to-action for creating agents and groups.
- Visually enhanced cards for managing agents and groups, including status indicators and member counts.
- Real-time chat capabilities with your agents.
- Character configuration options.
- Plugin management.
- Comprehensive memory and conversation history.
- Responsive design for an optimal experience on various screen sizes.
## 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
<a href="https://github.com/elizaos/eliza/graphs/contributors">
<img src="https://contrib.rocks/image?repo=elizaos/eliza" alt="Eliza project contributors" />
</a>
## Star History
[](https://star-history.com/#elizaos/eliza&Date)
## Git Hooks
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:
```bash
bun run pre-commit
```
## 📂 Repository Structure
Eliza is organized as a monorepo using Bun, Lerna, and Turbo for efficient package management and build orchestration. Here's a detailed overview of the project structure:
- **`/` (Root)**:
- `.github/`: GitHub Actions workflows for CI/CD pipelines and issue templates
- `.husky/`: Git hooks configuration, including pre-commit formatting
- `.devcontainer/`: Development container configurations for consistent environments
- `packages/`: Core packages and modules (detailed below)
- `scripts/`: Build, development, and utility scripts
- `data/`: Application and user data storage
- `AGENTS.md`: Comprehensive agent documentation and specifications
- `CHANGELOG.md`: Detailed version history and changes
- `Dockerfile`, `docker-compose.yaml`: Container configurations for deployment
- `lerna.json`, `package.json`, `turbo.json`: Monorepo configuration and workspace definitions
- **`/packages/`**: Core components of the Eliza framework:
- `core/`: The foundational package (@elizaos/core) implementing:
- PDF processing capabilities
- Logging and error handling infrastructure
- `app/`: Tauri-based cross-platform application (@elizaos/app)
- React-based UI implementation
- Tauri plugins for system integration
- Desktop and mobile builds support
- `autodoc/`: Documentation automation tool (@elizaos/autodoc)
- LangChain-powered documentation generation
- TypeScript parsing and analysis
- GitHub integration via Octokit
- `cli/`: Command-line interface for Eliza management
- `client/`: Client libraries for web interfaces
- `create-eliza/`: Project scaffolding tool
- `docs/`: Official documentation source files
- `plugin-bootstrap/`: **Essential communication core** (@elizaos/plugin-bootstrap)
- **Required for basic agent functionality** - handles all message processing
- Provides critical event handlers (MESSAGE_RECEIVED, VOICE_MESSAGE_RECEIVED, etc.)
- Implements fundamental agent actions (reply, follow/unfollow, mute/unmute)
- Contains core evaluators and providers for agent cognition
- Manages message processing pipeline and response generation
- **Mandatory unless building custom event handling system**
- `plugin-sql/`: Database integration (@elizaos/plugin-sql)
- PostgreSQL integration with PGLite support
- Drizzle ORM for type-safe queries
- Migration management tools
- Integration testing support
- `plugin-starter/`: Template for creating new plugins
- `project-starter/`, `project-tee-starter/`: Project templates
This architecture enables modular development, clear separation of concerns, and scalable feature implementation across the Eliza ecosystem.
", Assign "at most 3 tags" to the expected json: {"id":"12591","tags":[]} "only from the tags list I provide: [{"id":77,"name":"3d"},{"id":89,"name":"agent"},{"id":17,"name":"ai"},{"id":54,"name":"algorithm"},{"id":24,"name":"api"},{"id":44,"name":"authentication"},{"id":3,"name":"aws"},{"id":27,"name":"backend"},{"id":60,"name":"benchmark"},{"id":72,"name":"best-practices"},{"id":39,"name":"bitcoin"},{"id":37,"name":"blockchain"},{"id":1,"name":"blog"},{"id":45,"name":"bundler"},{"id":58,"name":"cache"},{"id":21,"name":"chat"},{"id":49,"name":"cicd"},{"id":4,"name":"cli"},{"id":64,"name":"cloud-native"},{"id":48,"name":"cms"},{"id":61,"name":"compiler"},{"id":68,"name":"containerization"},{"id":92,"name":"crm"},{"id":34,"name":"data"},{"id":47,"name":"database"},{"id":8,"name":"declarative-gui "},{"id":9,"name":"deploy-tool"},{"id":53,"name":"desktop-app"},{"id":6,"name":"dev-exp-lib"},{"id":59,"name":"dev-tool"},{"id":13,"name":"ecommerce"},{"id":26,"name":"editor"},{"id":66,"name":"emulator"},{"id":62,"name":"filesystem"},{"id":80,"name":"finance"},{"id":15,"name":"firmware"},{"id":73,"name":"for-fun"},{"id":2,"name":"framework"},{"id":11,"name":"frontend"},{"id":22,"name":"game"},{"id":81,"name":"game-engine "},{"id":23,"name":"graphql"},{"id":84,"name":"gui"},{"id":91,"name":"http"},{"id":5,"name":"http-client"},{"id":51,"name":"iac"},{"id":30,"name":"ide"},{"id":78,"name":"iot"},{"id":40,"name":"json"},{"id":83,"name":"julian"},{"id":38,"name":"k8s"},{"id":31,"name":"language"},{"id":10,"name":"learning-resource"},{"id":33,"name":"lib"},{"id":41,"name":"linter"},{"id":28,"name":"lms"},{"id":16,"name":"logging"},{"id":76,"name":"low-code"},{"id":90,"name":"message-queue"},{"id":42,"name":"mobile-app"},{"id":18,"name":"monitoring"},{"id":36,"name":"networking"},{"id":7,"name":"node-version"},{"id":55,"name":"nosql"},{"id":57,"name":"observability"},{"id":46,"name":"orm"},{"id":52,"name":"os"},{"id":14,"name":"parser"},{"id":74,"name":"react"},{"id":82,"name":"real-time"},{"id":56,"name":"robot"},{"id":65,"name":"runtime"},{"id":32,"name":"sdk"},{"id":71,"name":"search"},{"id":63,"name":"secrets"},{"id":25,"name":"security"},{"id":85,"name":"server"},{"id":86,"name":"serverless"},{"id":70,"name":"storage"},{"id":75,"name":"system-design"},{"id":79,"name":"terminal"},{"id":29,"name":"testing"},{"id":12,"name":"ui"},{"id":50,"name":"ux"},{"id":88,"name":"video"},{"id":20,"name":"web-app"},{"id":35,"name":"web-server"},{"id":43,"name":"webassembly"},{"id":69,"name":"workflow"},{"id":87,"name":"yaml"}]" returns me the "expected json"