Skip to content

Latest commit

 

History

History
150 lines (100 loc) · 3.42 KB

DEMO.md

File metadata and controls

150 lines (100 loc) · 3.42 KB

Demo

Setup

  • Clone the repo:

    git clone [email protected]:deep-stack/eliza.git
  • Checkout to the demo branch:

    cd eliza
    git checkout demo

Server

  • Setup the .env file:

    cp .env.example .env
  • Enter the required env variables:

    SOLANA_PRIVATE_KEY=
    SOLANA_PUBLIC_KEY=
    SOLANA_CLUSTER=devnet
    
    SOLANA_RPC_URL=https://api.devnet.solana.com
    
    GEN_IMAGES_DIR=/home/dev/eliza/client/public
    
    FAL_API_KEY=
    
    GOOGLE_GENERATIVE_AI_API_KEY=
    
    TWITTER_USERNAME=          # Account username
    TWITTER_PASSWORD=          # Account password
    TWITTER_EMAIL= # Account email
  • Build the package (Requires nodejs v23 and pnpm version 9)

    pnpm i && pnpm build:serial

Client

  • Setup env

    cd client
    cp .env.example .env
  • Update the server URL if required:

    VITE_BACKEND_URL=

Start

  • Start Rabbit MQ in docker

    docker compose -f docker-compose-rabbitmq.yaml up -d
  • Start server:

    # Enter the project root
    cd /path/to/eliza
    
    # Start the custom Jack Sparrow agent
    pnpm start --characters='characters/jackSparrow.character.json'
  • Start client:

    # Enter the project root
    cd /path/to/eliza
    
    # Start the custom Jack Sparrow agent
    pnpm start:client --host
  • The following services will be setup:

Run

  • Visit https://eliza.wireitin.com to try out the agent

  • Perform SPL token transfers:

    Send 5 Gh9ZwEmdLJ8DscKNTkTqPbNwLNNBjuSzaG9Vp2KGtKJr tokens to 2twegYesm7bbwLttv5TbAG2GkDEvRtDCnje1KvdTV2nP
    
    • Agent will transfer the tokens to the desired account. Updated balances can be viewed in the sender and receiver wallet
  • Generate an image:

    Generate an image of a palace in the sky
    
    • Agent will generate an image matching the description
  • Make a tweet

    Tweet about how much you hate scurvy
    
    • Agent will post a tweet according to the input prompt

Known Issues

  • Server doesn't use separate sessions for different browsers:

    • The client doesn't manage any session
    • The message API accepts a userID, but the client doesn't pass any, so it uses the same default value (user) for calls
  • Message history is not visible in the browser client:

    • In the client, messages are stored in state, initialising as an empty array. There don't seem to be any API calls to get messages
    • The server code has a memories API, but it's not called from the frontend client
      • Note: This API seems to be returning only the first message in DB
  • SOL transfer doesn't work:

    • The agent uses the @solana/spl-token package to perform the transfer, which can only be used for SPL transfers
    • There don't seem to be any packages used for carrying out SOL transfer explicitly
  • Fetching account balances doesn't work:

  • Not able to swap tokens on Solana devnet:

    • The Jupiter APIs being used in Solana plugin for swaps does not seem to work for swaps on devnet
  • Not able to create tokens using pump.fun on devnet:

    • The PumpFun SDK being used in Solana plugin for creating and buying tokens doesn't seem to work on devnet