Eliza Agent Weaver

Eliza is a lightweight AI agent framework. It leverages Character files - JSON-formatted configurations that define an AI character's personality, knowledge, and behavior patterns.

Eliza Agent Weaver enables you to develop a set of Character files based on your own lore, and connects the narratives of multiple agents together through their character files.

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More โ†’

Image Not Showing Possible Reasons
  • The image was uploaded to a note which you don't have access to
  • The note which the image was originally uploaded to has been deleted
Learn More โ†’

Image Not Showing Possible Reasons
  • The image was uploaded to a note which you don't have access to
  • The note which the image was originally uploaded to has been deleted
Learn More โ†’

Image Not Showing Possible Reasons
  • The image was uploaded to a note which you don't have access to
  • The note which the image was originally uploaded to has been deleted
Learn More โ†’

Features

  • Character Generation: Create detailed AI character profiles based on custom world lore
  • Relationship Weaving: Automatically generate and visualize interconnected character relationships
  • Rich Metadata: Generate comprehensive character attributes including:
    • Character bios and lore
    • Knowledge bases
    • Conversation examples
    • Writing style traits
    • Topics of interest
    • Personality adjectives
  • Real-time Progress Tracking: Monitor character generation with detailed progress updates
  • Export Capabilities: Download individual character profiles as JSON files

Tech Stack

  • Frontend: React with Tailwind CSS
  • Backend: Node.js with Express
  • WebSocket: Real-time progress updates
  • AI Integration: OpenAI GPT-4 API

Prerequisites

  • Node.js (v14 or higher)
  • npm or yarn
  • OpenAI API key
  • Modern web browser

Installation

  1. Clone the repository:
git clone https://github.com/yourusername/eliza-agent-weaver.git
cd eliza-agent-weaver
  1. Install dependencies for both frontend and backend:
# Install backend dependencies
cd backend
npm install

# Install frontend dependencies
cd ../frontend
npm install

Create two .env files:

In the backend directory:

OPENAI_API_KEY='YOUR API KEY HERE'
PORT=3001

In the root directory:

OPENAI_API_KEY='YOUR API KEY HERE'
SKIP_PREFLIGHT_CHECK=true

Running the Application

  1. Start the backend server:
cd backend
npm start
  1. Start the frontend development server:
cd frontend
npm start
  1. Access the application at http://localhost:3000

Usage

  1. Enter World Lore: Provide detailed background information about your world setting.

  2. Add Character Names: List the names of characters you want to generate (one per line).

  3. Configure Settings:

    • Enter your OpenAI API key
    • Set the number of characters to generate (1-9)
    • Adjust the temperature setting (0.0-1.0)
  4. Generate Characters: Click "Generate Characters" and monitor the progress.

  5. View Results:

    • Examine individual character profiles
    • Visualize character relationships
    • Download character data as JSON files

Character File Structure

Generated character files follow this structure:

{
  "name": "Character Name",
  "clients": [],
  "modelProvider": "anthropic",
  "settings": {
    "secrets": {},
    "voice": {
      "model": "en_US-male-medium"
    }
  },
  "plugins": [],
  "bio": ["Biography entries..."],
  "lore": ["Lore entries..."],
  "knowledge": ["Knowledge entries..."],
  "messageExamples": ["Message examples..."],
  "postExamples": ["Post examples..."],
  "topics": ["Topics of interest..."],
  "style": {
    "all": ["General style traits..."],
    "chat": ["Chat-specific style traits..."],
    "post": ["Post-specific style traits..."]
  },
  "adjectives": ["Character adjectives..."],
  "relationships": [
    {
      "name": "Other Character Name",
      "relationship": "Nature of relationship",
      "details": "Relationship details"
    }
  ]
}

Components

Frontend

  • CharacterGenerator: Main application component
  • CharacterViewer: Displays individual character profiles
  • SimpleRelationshipView: Provides a simplified relationship view
  • GenerationProgress: Shows real-time generation progress

Backend

  • Express server handling character generation
  • WebSocket server for real-time updates
  • Character generation pipeline with retry mechanism
  • Validation and error handling

License

This project is licensed under the MIT License - see the LICENSE file for details.