Binary Classification with Artificial Neural Networks
October 17, 2024RAG (Retrieval-Augmented Generation) – Simple Explanation & Practical Use Cases
March 4, 2025Running large language models on macOS without a GPU can be challenging. However, these 8 simple steps will guide you on how to efficiently run the ElizaOS agent on macOS.
ElizaOS Agent Installation Guide
This guide will will walk you through installing and configuring the Eliza AI Agent. This will ensure the correct setup of all necessary dependencies, focusing on using Node.js 23
Prerequisites
Before beginning, install the following on your system:
- Node.js 23 – Ensure that only version 23 is installed. Older/newer versions might run into issues later.
- pnpm 9+ – A fast, disk space-efficient package manager.
- Git – For cloning repositories and version control.
- Python 3 – Required for the virtual environment.
- Homebrew – For installing and managing packages on macOS.
- A Code Editor – Visual Studio Code (VS Code).
Install Prerequisites
Install Homebrew:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Install Python 3:
brew install python
Install Git:
brew install git
Remove existing Node.js versions just incase you have older versions installed, else skip this step:
sudo rm -rf /usr/local/bin/node sudo rm -rf /usr/local/lib/node_modules
Install Node.js 23:
brew install node@23 brew link --overwrite node@23
Verify Node.js version:
node -v # Should output v23.x.x
Install pnpm:
npm install -g pnpm
Step 1: Set Up the Project Environment
I love to create virtual environments to separate installation files. Create and navigate to the project directory:
mkdir eliza-project cd eliza-project
Create and activate a Python virtual environment:
python3 -m venv venv source venv/bin/activate
Step 2: Clone the Repository
Clone the Eliza repository:
git clone https://github.com/elizaos/eliza.git cd eliza
Checkout the latest tagged version:
git checkout $(git describe --tags --abbrev=0)
Step 3: Install Project Dependencies
Install project dependencies:
pnpm install --no-frozen-lockfile
If errors occur (e.g., with sharp):
pnpm install --include=optional sharp
Step 4: Build the Project
Compile the project:
pnpm build
Step 5: Configure Environment Variables
Copy the example .env file:
cp .env.example .env
Edit the .env file to include your API keys:
open -e .env # macOS nano .env # Linux
Suggested environment variables:
# OpenRouter Configuration OPENROUTER_API_KEY=your_openrouter_api_key_here # OpenRouter API Key OPENROUTER_MODEL=your_openrouter_model_here # Default: uses hermes 70b/405b SMALL_OPENROUTER_MODEL= MEDIUM_OPENROUTER_MODEL= LARGE_OPENROUTER_MODEL=
Note: The OpenRouter key and model can be obtained from the OpenRouter website. Navigate to Settings and create your API key. You receive a $1 free credit for testing paid models, but free models are also available (though they may have slower inference times).
Step 6: Configure the Character File
Create or edit the character.json file:
{
"name": "tate",
"clients": ["twitter"],
"modelProvider": "openrouter",
"settings": {
"secrets": {},
"voice": {
"model": "deepseek/deepseek-chat"
}
}
}
Step 7: Start the AI Agent
Run a single AI character: For instance, if you intend to run the twitter bot
pnpm start --character="characters/tate.character.json"
Now, if you have properly edited your twitter username/password, the agent will now start tweeting on your behalf with details/promtps provided in your character file. Feel free to tweak these details with the right information.
You can also run multiple characters, if you want:
pnpm start --characters="characters/trump.character.json,characters/tate.character.json"
Step 8: Lastly, there's an interface to chat with your agent.
If you intend to chat with the AI agent, The “clients” key in the character json file in step 6 above, should be left blank. i.e
{
"name": "tate",
"clients": [],
"modelProvider": "openrouter",
"settings": {
"secrets": {},
"voice": {
"model": "deepseek/deepseek-chat"
}
}
}
While your terminal is running. Open a new terminal on Vscode, click the + sign on the down left part of Vscode,
You can choose to re-activate the virtual environment. Not really necessary but since it is a new terminal, you might want to do this.
source venv/bin/activate #Not necessary but I like to ensure that my virtual env is always active
Navigate to the Eliza directory:
cd eliza
Start the client:
pnpm start:client
Access the client at:
http://localhost:5173/
