Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 8 additions & 1 deletion .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,15 @@ OPENAI_API_KEY=
EternalAI_API_KEY=
EternalAI_API_URL=
FARCASTER_MNEMONIC=
HYPERBOLIC_API_KEY=
GALADRIEL_API_KEY=
GALADRIEL_FINE_TUNE_API_KEY=
TWITTER_CONSUMER_KEY=
TWITTER_CONSUMER_SECRET=
TWITTER_ACCESS_TOKEN=
TWITTER_ACCESS_TOKEN_SECRET=
TWITTER_USER_ID=
TWITTER_USER_ID=
ETHEREUM_PRIVATE_KEY=
ETHEREUM_SCANNER_KEY=
SOLANA_PRIVATE_KEY=
COINGECKO_KEY=
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,5 @@ agents/*.json
!agents/general.json

# macOS
.DS_Store
.DS_Store
.codegpt
71 changes: 65 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,26 @@ similar core functionality as Zerebro. For creative outputs, you'll need to fine

## Features

### Core Platform

- CLI interface for managing agents
- Twitter/X integration
- Farcaster integration
- Echochambers integration
- OpenAI/Anthropic/EternalAI LLM support
- Modular connection system
- Blockchain integration with Solana

### Social Platform Integrations

- Twitter/X
- Farcaster
- Echochambers

### Language Model Support

- OpenAI
- Anthropic
- EternalAI
- Ollama
- Hyperbolic
- Galadriel

## Quickstart

Expand All @@ -31,16 +45,21 @@ System:
- Python 3.10 or higher (3.10 and 3.11 are best for beginner users)
- Poetry 1.5 or higher

API keys:
Environment Variables:

- LLM: make an account and grab an API key (at least one)
- OpenAI: https://platform.openai.com/api-keys
- Anthropic: https://console.anthropic.com/account/keys
- EternalAI: https://eternalai.oerg/api
- Hyperbolic: https://app.hyperbolic.xyz
- Galadriel: https://dashboard.galadriel.com
- Social (based on your needs):
- X API: https://developer.x.com/en/docs/authentication/oauth-1-0a/api-key-and-secret
- Farcaster: Warpcast recovery phrase
- Echochambers: API key and endpoint
- On-chain Integration:
- Solana: private key (in base58 format) for transactions
- RPC URL (defaults to public endpoints)

## Installation

Expand Down Expand Up @@ -92,6 +111,8 @@ poetry run python main.py
configure-connection anthropic # For Anthropic
configure-connection farcaster # For Farcaster
configure-connection eternalai # For EternalAI
configure-connection galadriel # For Galadriel
configure-connection solana # For Solana
```

2. Use `list-connections` to see all available connections and their status
Expand All @@ -109,6 +130,16 @@ poetry run python main.py

## Platform Features

### Solana

- Transfer SOL and SPL tokens
- Swap tokens using Jupiter
- Check token balances
- Stake SOL
- Monitor network TPS
- Query token information
- Request testnet/devnet funds

### Twitter/X

- Post tweets from prompts
Expand Down Expand Up @@ -170,13 +201,40 @@ Create a new JSON file in the `agents` directory following this structure:
{
"name": "anthropic",
"model": "claude-3-5-sonnet-20241022"
},
{
"name": "eternalai",
"model": "NousResearch/Hermes-3-Llama-3.1-70B-FP8",
"chain_id": "45762"
},
{
"name": "solana",
"rpc": "https://api.mainnet-beta.solana.com"
},
{
"name": "ollama",
"base_url": "http://localhost:11434",
"model": "llama3.2"
},
{
"name": "hyperbolic",
"model": "meta-llama/Meta-Llama-3-70B-Instruct"
},
{
"name": "galadriel",
"model": "gpt-3.5-turbo"
}
],
"tasks": [
{ "name": "post-tweet", "weight": 1 },
{ "name": "reply-to-tweet", "weight": 1 },
{ "name": "like-tweet", "weight": 1 }
]
],
"use_time_based_weights": false,
"time_based_multipliers": {
"tweet_night_multiplier": 0.4,
"engagement_day_multiplier": 1.5
}
}
```

Expand All @@ -192,6 +250,7 @@ Use `help` in the CLI to see all available commands. Key commands include:
- `list-actions`: Show available actions for a connection
- `configure-connection`: Set up a new connection
- `chat`: Start interactive chat with agent
- `clear`: Clear the terminal screen

## Star History

Expand Down
9 changes: 8 additions & 1 deletion agents/eternalai-example.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@
"This is an example tweet.",
"This is another example tweet."
],
"example_accounts": [
],
"loop_delay": 900,
"config": [
{
Expand All @@ -33,5 +35,10 @@
{"name": "post-tweet", "weight": 1},
{"name": "reply-to-tweet", "weight": 1},
{"name": "like-tweet", "weight": 1}
]
],
"use_time_based_weights": false,
"time_based_multipliers": {
"tweet_night_multiplier": 0.4,
"engagement_day_multiplier": 1.5
}
}
58 changes: 35 additions & 23 deletions agents/example.json
Original file line number Diff line number Diff line change
@@ -1,29 +1,19 @@
{
"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."
],
"example_accounts": [
"0xzerebro"
"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."],
"example_accounts": ["0xzerebro"],
"loop_delay": 900,
"config": [
{
"name": "twitter",
"timeline_read_count": 10,
"own_tweet_replies_count":2,
"own_tweet_replies_count": 2,
"tweet_interval": 5400
},
{
Expand All @@ -39,6 +29,10 @@
"name": "anthropic",
"model": "claude-3-5-sonnet-20241022"
},
{
"name": "solana",
"rpc": "https://api.mainnet-beta.solana.com"
},
{
"name": "eternalai",
"model": "NousResearch/Hermes-3-Llama-3.1-70B-FP8",
Expand All @@ -48,11 +42,29 @@
"name": "ollama",
"base_url": "http://localhost:11434",
"model": "llama3.2"
},
{
"name": "hyperbolic",
"model": "meta-llama/Meta-Llama-3-70B-Instruct"
},
{
"name": "galadriel",
"model": "gpt-3.5-turbo"
},
{
"name": "evm-ethereum",
"rpc": "https://mainnet.infura.io/v3/79369232298d466a9aae23aef12a635b",
"scanner": "api.etherscan.io"
},
{
"name": "evm-polygon",
"rpc": "https://polygon-rpc.com",
"scanner": "api.polygonscan.com"
}
],
"tasks": [
{"name": "post-tweet", "weight": 1},
{"name": "reply-to-tweet", "weight": 1},
{"name": "like-tweet", "weight": 1}
{ "name": "post-tweet", "weight": 1 },
{ "name": "reply-to-tweet", "weight": 1 },
{ "name": "like-tweet", "weight": 1 }
]
}
}
Loading