{"id":26238803,"url":"https://github.com/ceramicstudio/zerepy-discord","last_synced_at":"2026-04-27T10:32:27.994Z","repository":{"id":274527058,"uuid":"923200647","full_name":"ceramicstudio/zerepy-discord","owner":"ceramicstudio","description":null,"archived":false,"fork":false,"pushed_at":"2025-12-23T19:06:21.000Z","size":1362,"stargazers_count":0,"open_issues_count":6,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-12-29T05:52:35.371Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ceramicstudio.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-01-27T20:07:12.000Z","updated_at":"2025-01-27T20:14:15.000Z","dependencies_parsed_at":"2025-01-27T21:26:27.241Z","dependency_job_id":"61dbea75-91c5-4dca-a01e-3b321d329ed7","html_url":"https://github.com/ceramicstudio/zerepy-discord","commit_stats":null,"previous_names":["ceramicstudio/zerepy-discord"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ceramicstudio/zerepy-discord","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ceramicstudio%2Fzerepy-discord","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ceramicstudio%2Fzerepy-discord/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ceramicstudio%2Fzerepy-discord/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ceramicstudio%2Fzerepy-discord/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ceramicstudio","download_url":"https://codeload.github.com/ceramicstudio/zerepy-discord/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ceramicstudio%2Fzerepy-discord/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32333196,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-26T23:26:28.701Z","status":"online","status_checked_at":"2026-04-27T02:00:06.769Z","response_time":128,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-03-13T06:18:57.871Z","updated_at":"2026-04-27T10:32:27.942Z","avatar_url":"https://github.com/ceramicstudio.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ZerePy\n\nZerePy is an open-source Python framework designed to let you deploy your own agents on X, powered by multiple LLMs.\n\nZerePy is built from a modularized version of the Zerebro backend. With ZerePy, you can launch your own agent with\nsimilar core functionality as Zerebro. For creative outputs, you'll need to fine-tune your own model.\n\n## Features\n\n### Core Platform\n\n- CLI interface for managing agents\n- Modular connection system\n- Blockchain integration\n\n### Platform Integrations\n- Social Platforms:\n  - Twitter/X\n  - Farcaster\n  - Echochambers\n  - Discord\n- Blockchain Networks:\n  - Solana\n  - EVM Networks:\n    - Ethereum\n    - Sonic \n- AI/ML Tools:\n  - GOAT (Onchain Agent Toolkit)\n  - Allora (Network inference)\n\n### Language Model Support\n\n- OpenAI\n- Anthropic\n- EternalAI\n- Ollama\n- Hyperbolic\n- Galadriel\n- Allora\n- xAI (Grok)\n\n## Quickstart\n\nThe quickest way to start using ZerePy is to use our Replit template:\n\nhttps://replit.com/@blormdev/ZerePy?v=1\n\n1. Fork the template (you will need you own Replit account)\n2. Click the run button on top\n3. Voila! your CLI should be ready to use, you can jump to the configuration section\n\n## Requirements\n\nSystem:\n\n- Python 3.10 or higher\n- Poetry 1.5 or higher\n\nEnvironment Variables:\n\n- LLM: make an account and grab an API key (at least one)\n  - OpenAI: https://platform.openai.com/api-keys\n  - Anthropic: https://console.anthropic.com/account/keys\n  - EternalAI: https://eternalai.oerg/api\n  - Hyperbolic: https://app.hyperbolic.xyz\n  - Galadriel: https://dashboard.galadriel.com\n- Social (based on your needs):\n  - X API: https://developer.x.com/en/docs/authentication/oauth-1-0a/api-key-and-secret\n  - Farcaster: Warpcast recovery phrase\n  - Echochambers: API key and endpoint\n- On-chain Integration:\n  - Solana: private key\n  - Ethereum: private keys\n  - Sonic: private keys\n\n## Installation\n\n1. First, install Poetry for dependency management if you haven't already:\n\nFollow the steps here to use the official installation: https://python-poetry.org/docs/#installing-with-the-official-installer\n\n2. Clone the repository:\n\n```bash\ngit clone https://github.com/blorm-network/ZerePy.git\n```\n\n3. Go to the `zerepy` directory:\n\n```bash\ncd zerepy\n```\n\n4. Install dependencies:\n\n```bash\npoetry install --no-root\n```\n\nThis will create a virtual environment and install all required dependencies.\n\n## Usage\n\n1. Activate the virtual environment:\n\n```bash\npoetry shell\n```\n\n2. Run the application:\n\n```bash\npoetry run python main.py\n```\n\n## Run Ollama with Deepseek-R1\n\n```bash\ndocker pull ollama/ollama \ndocker run -d -p 11434:11434 --name ollama-container ollama/ollama\ndocker exec -it ollama-container ollama run deepseek-r1\n```\n\n## Configure connections \u0026 launch an agent\n\n1. Configure your desired connections:\n\n   ```\n   configure-connection twitter    # For Twitter/X integration\n   configure-connection openai     # For OpenAI\n   configure-connection anthropic  # For Anthropic\n   configure-connection farcaster  # For Farcaster\n   configure-connection eternalai  # For EternalAI\n   configure-connection solana     # For Solana\n   configure-connection goat       # For Goat\n   configure-connection galadriel  # For Galadriel\n   configure-connection ethereum   # For Ethereum\n   configure-connection sonic      # For Sonic\n   configure-connection discord    # For Discord\n   configure-connection ollama     # For Ollama\n   configure-connection xai        # For Grok\n   configure-connection allora     # For Allora\n   configure-connection hyperbolic # For Hyperbolic\n   ```\n\n2. Use `list-connections` to see all available connections and their status\n\n3. Load your agent (usually one is loaded by default, which can be set using the CLI or in agents/general.json):\n\n   ```\n   load-agent example\n   ```\n\n4. Start your agent:\n   ```\n   start\n   ```\n\n## GOAT Integration\n\nGOAT (Go Agent Tools) is a powerful plugin system that allows your agent to interact with various blockchain networks and protocols. Here's how to set it up:\n\n### Prerequisites\n\n1. An RPC provider URL (e.g., from Infura, Alchemy, or your own node)\n2. A wallet private key for signing transactions\n\n### Installation\n\nInstall any of the additional [GOAT plugins](https://github.com/goat-sdk/goat/tree/main/python/src/plugins) you want to use:\n\n```bash\npoetry add goat-sdk-plugin-erc20         # For ERC20 token interactions\npoetry add goat-sdk-plugin-coingecko     # For price data\n```\n\n### Configuration\n\n1. Configure the GOAT connection using the CLI:\n\n   ```bash\n   configure-connection goat\n   ```\n\n   You'll be prompted to enter:\n\n   - RPC provider URL\n   - Wallet private key (will be stored securely in .env)\n\n2. Add GOAT plugins configuration to your agent's JSON file:\n\n   ```json\n   {\n     \"name\": \"YourAgent\",\n     \"config\": [\n       {\n         \"name\": \"goat\",\n         \"plugins\": [\n           {\n             \"name\": \"erc20\",\n             \"args\": {\n               \"tokens\": [\n                 \"goat_plugins.erc20.token.PEPE\",\n                 \"goat_plugins.erc20.token.USDC\"\n               ]\n             }\n           },\n           {\n             \"name\": \"coingecko\",\n             \"args\": {\n               \"api_key\": \"YOUR_API_KEY\"\n             }\n           }\n         ]\n       }\n     ]\n   }\n   ```\n\nNote that the order of plugins in the configuration doesn't matter, but each plugin must have a `name` and `args` field with the appropriate configuration options. You will have to check the documentation for each plugin to see what arguments are available.\n\n### Available Plugins\n\nEach [plugin](https://github.com/goat-sdk/goat/tree/main/python/src/plugins) provides specific functionality:\n\n- **1inch**: Interact with 1inch DEX aggregator for best swap rates\n- **allora**: Connect with Allora protocol\n- **coingecko**: Get real-time price data for cryptocurrencies using the CoinGecko API\n- **dexscreener**: Access DEX trading data and analytics\n- **erc20**: Interact with ERC20 tokens (transfer, approve, check balances)\n- **farcaster**: Interact with the Farcaster social protocol\n- **nansen**: Access Nansen's on-chain analytics\n- **opensea**: Interact with NFTs on OpenSea marketplace\n- **rugcheck**: Analyze token contracts for potential security risks\n- Many more to come...\n\nNote: While these plugins are available in the GOAT SDK, you'll need to install them separately using Poetry and configure them in your agent's JSON file. Each plugin may require its own API keys or additional setup.\n\n### Plugin Configuration\n\nEach plugin has its own configuration options that can be specified in the agent's JSON file:\n\n1. **ERC20 Plugin**:\n\n   ```json\n   {\n     \"name\": \"erc20\",\n     \"args\": {\n       \"tokens\": [\n         \"goat_plugins.erc20.token.USDC\",\n         \"goat_plugins.erc20.token.PEPE\",\n         \"goat_plugins.erc20.token.DAI\"\n       ]\n     }\n   }\n   ```\n\n2. **Coingecko Plugin**:\n   ```json\n   {\n     \"name\": \"coingecko\",\n     \"args\": {\n       \"api_key\": \"YOUR_COINGECKO_API_KEY\"\n     }\n   }\n   ```\n\n## Platform Features\n\n### GOAT\n- Unified EVM chain interface\n- ERC20 token management (balances, transfers, approvals)\n- Real-time crypto data and market tracking\n- Plugin system for protocol integrations\n- Multi-chain support with secure wallet management\n\n### Blockchain Networks\n- Solana\n  - SOL/SPL transfers and swaps via Jupiter\n  - Staking and balance management\n  - Network monitoring and token queries\n\n- EVM Networks\n  - Ethereum\n    - ETH/ERC-20 transfers and swaps\n    - Kyberswap integration\n    - Balance and token queries\n  - Sonic\n    - Fast EVM transactions\n    - Custom slippage settings\n    - Token swaps via Sonic DEX\n    - Network switching (mainnet/testnet)\n\n- EternalAI\n  - Transform agents to smart contracts\n  - Deploy on 10+ blockchains\n  - Onchain system prompts\n  - Decentralized inference\n\n### Social Platforms\n- Twitter/X\n  - Post and reply to tweets\n  - Timeline management\n  - Engagement features\n\n- Farcaster\n  - Cast creation and interactions\n  - Timeline and reply management\n  - Like/requote functionality\n\n- Discord\n  - Channel management\n  - Message operations\n  - Reaction handling\n\n- Echochambers\n  - Room messaging and context\n  - History tracking\n  - Topic management\n\n## Create your own agent\n\nThe 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.\n\nIf you want to take it a step further, you can fine tune your own model: https://platform.openai.com/docs/guides/fine-tuning.\n\nCreate a new JSON file in the `agents` directory following this structure:\n\n```json\n{\n  \"name\": \"ExampleAgent\",\n  \"bio\": [\n    \"You are ExampleAgent, the example agent created to showcase the capabilities of ZerePy.\",\n    \"You don't know how you got here, but you're here to have a good time and learn everything you can.\",\n    \"You are naturally curious, and ask a lot of questions.\"\n  ],\n  \"traits\": [\"Curious\", \"Creative\", \"Innovative\", \"Funny\"],\n  \"examples\": [\"This is an example tweet.\", \"This is another example tweet.\"],\n  \"example_accounts\" : [\"X_username_to_use_for_tweet_examples\"],\n  \"loop_delay\": 900,\n  \"config\": [\n    {\n      \"name\": \"twitter\",\n      \"timeline_read_count\": 10,\n      \"own_tweet_replies_count\": 2,\n      \"tweet_interval\": 5400\n    },\n    {\n      \"name\": \"farcaster\",\n      \"timeline_read_count\": 10,\n      \"cast_interval\": 60\n    },\n    {\n      \"name\": \"openai\",\n      \"model\": \"gpt-3.5-turbo\"\n    },\n    {\n      \"name\": \"anthropic\",\n      \"model\": \"claude-3-5-sonnet-20241022\"\n    },\n    {\n      \"name\": \"eternalai\",\n      \"model\": \"NousResearch/Hermes-3-Llama-3.1-70B-FP8\",\n      \"chain_id\": \"45762\"\n    },\n    {\n      \"name\": \"solana\",\n      \"rpc\": \"https://api.mainnet-beta.solana.com\"\n    },\n    {\n      \"name\": \"ollama\",\n      \"base_url\": \"http://localhost:11434\",\n      \"model\": \"llama3.2\"\n    },\n    {\n      \"name\": \"hyperbolic\",\n      \"model\": \"meta-llama/Meta-Llama-3-70B-Instruct\"\n    },\n    {\n      \"name\": \"galadriel\",\n      \"model\": \"gpt-3.5-turbo\"\n    },\n    {\n      \"name\": \"discord\",\n      \"message_read_count\": 10,\n      \"message_emoji_name\": \"❤️\",\n      \"server_id\": \"1234567890\"\n    },\n    {\n      \"name\": \"sonic\",\n      \"network\": \"mainnet\"\n    },\n    {\n      \"name\": \"allora\",\n      \"chain_slug\": \"testnet\"\n    },\n    {\n      \"name\": \"ethereum\",\n      \"rpc\": \"https://eth.blockrazor.xyz\"\n    }\n  ],\n  \"tasks\": [\n    { \"name\": \"post-tweet\", \"weight\": 1 },\n    { \"name\": \"reply-to-tweet\", \"weight\": 1 },\n    { \"name\": \"like-tweet\", \"weight\": 1 }\n  ],\n  \"use_time_based_weights\": false,\n  \"time_based_multipliers\": {\n    \"tweet_night_multiplier\": 0.4,\n    \"engagement_day_multiplier\": 1.5\n  }\n}\n```\n\n## Available Commands\n\nUse `help` in the CLI to see all available commands. Key commands include:\n\n- `list-agents`: Show available agents\n- `load-agent`: Load a specific agent\n- `agent-loop`: Start autonomous behavior\n- `agent-action`: Execute single action\n- `list-connections`: Show available connections\n- `list-actions`: Show available actions for a connection\n- `configure-connection`: Set up a new connection\n- `chat`: Start interactive chat with agent\n- `clear`: Clear the terminal screen\n\n## Star History\n\n[![Star History Chart](https://api.star-history.com/svg?repos=blorm-network/ZerePy\u0026type=Date)](https://star-history.com/#blorm-network/ZerePy\u0026Date)\n\n---\n\nMade with ♥ @Blorm.xyz\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fceramicstudio%2Fzerepy-discord","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fceramicstudio%2Fzerepy-discord","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fceramicstudio%2Fzerepy-discord/lists"}