Skip to content

blorm-network/ZerePy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ZerePy

ZerePy is an open-source Python framework designed to let you deploy your own agents on X, powered by OpenAI/Anthropic/EternalAI LLMs.

ZerePy is built from a modularized version of the Zerebro backend. With ZerePy, you can launch your own agent with similar core functionality as Zerebro. For creative outputs, you'll need to fine-tune your own model.

Features

  • CLI interface for managing agents
  • Twitter/X integration
  • Farcaster integration
  • Echochambers integration
  • OpenAI/Anthropic/EternalAI LLM support
  • Modular connection system

Quickstart

The quickest way to start using ZerePy is to use our Replit template:

https://replit.com/@blormdev/ZerePy?v=1

  1. Fork the template (you will need you own Replit account)
  2. Click the run button on top
  3. Voila! your CLI should be ready to use, you can jump to the configuration section

Requirements

System:

  • Python 3.10 or higher (3.10 and 3.11 are best for beginner users)
  • Poetry 1.5 or higher

API keys:

Installation

  1. First, install Poetry for dependency management if you haven't already:

Follow the steps here to use the official installation: https://python-poetry.org/docs/#installing-with-the-official-installer

  1. Clone the repository:
git clone https://github.com/blorm-network/ZerePy.git
  1. Go to the zerepy directory:
cd zerepy
  1. Install dependencies:
poetry install --no-root

This will create a virtual environment and install all required dependencies.

Usage

  1. Activate the virtual environment:
poetry shell
  1. Run the application:
poetry run python main.py

Configure connections & launch an agent

  1. Configure your desired connections:

    configure-connection twitter    # For Twitter/X integration
    configure-connection openai     # For OpenAI
    configure-connection anthropic  # For Anthropic
    configure-connection farcaster  # For Farcaster
    configure-connection eternalai  # For EternalAI
    
  2. Use list-connections to see all available connections and their status

  3. Load your agent (usually one is loaded by default, which can be set using the CLI or in agents/general.json):

    load-agent example
    
  4. Start your agent:

    start
    

Platform Features

Twitter/X

  • Post tweets from prompts
  • Read timeline with configurable count
  • Reply to tweets in timeline
  • Like tweets in timeline

Farcaster

  • Post casts
  • Reply to casts
  • Like and requote casts
  • Read timeline
  • Get cast replies

Echochambers

  • Post new messages to rooms
  • Reply to messages based on room context
  • Read room history
  • Get room information and topics

Create your own agent

The secret to having a good output from the agent is to provide as much detail as possible in the configuration file. Craft a story and a context for the agent, and pick very good examples of tweets to include.

If you want to take it a step further, you can fine tune your own model: https://platform.openai.com/docs/guides/fine-tuning.

Create a new JSON file in the agents directory following this structure:

{
  "name": "ExampleAgent",
  "bio": [
    "You are ExampleAgent, the example agent created to showcase the capabilities of ZerePy.",
    "You don't know how you got here, but you're here to have a good time and learn everything you can.",
    "You are naturally curious, and ask a lot of questions."
  ],
  "traits": ["Curious", "Creative", "Innovative", "Funny"],
  "examples": ["This is an example tweet.", "This is another example tweet."],
  "loop_delay": 900,
  "config": [
    {
      "name": "twitter",
      "timeline_read_count": 10,
      "own_tweet_replies_count": 2,
      "tweet_interval": 5400
    },
    {
      "name": "farcaster",
      "timeline_read_count": 10,
      "cast_interval": 60
    },
    {
      "name": "openai",
      "model": "gpt-3.5-turbo"
    },
    {
      "name": "anthropic",
      "model": "claude-3-5-sonnet-20241022"
    }
  ],
  "tasks": [
    { "name": "post-tweet", "weight": 1 },
    { "name": "reply-to-tweet", "weight": 1 },
    { "name": "like-tweet", "weight": 1 }
  ]
}

Available Commands

Use help in the CLI to see all available commands. Key commands include:

  • list-agents: Show available agents
  • load-agent: Load a specific agent
  • agent-loop: Start autonomous behavior
  • agent-action: Execute single action
  • list-connections: Show available connections
  • list-actions: Show available actions for a connection
  • configure-connection: Set up a new connection
  • chat: Start interactive chat with agent

Star History

Star History Chart


Made with ♥ @Blorm.xyz