The Raspberry Pi of Agent Frameworks
A flexible multi-interface AI agent framework that can interact through various platforms including Telegram, Discord, Twitter, Farcaster, and REST API.
Grab a Heurist API Key instantly for free by using the code 'agent' while submitting the form on https://heurist.ai/dev-access
The Heurist Agent Framework is built on a modular architecture that allows an AI agent to:
- Process text messages and generate responses
- Generate and handle images
- Process voice messages (transcription and text-to-speech)
- Interact across multiple platforms with consistent behavior
- 🤖 Core Agent functionality with LLM integration
- 🖼️ Image generation capabilities
- 🎤 Voice processing (transcription and TTS)
- 🔌 Multiple interface support:
- Telegram bot
- Discord bot
- Twitter automation
- Farcaster integration
- REST API
- Clone the repository:
git clone https://github.com/heurist-network/heurist-agent-framework.git
cd heurist-agent-framework
- Install dependencies:
pip install -r requirements.txt
- Set up environment variables in
.env
: see.env.example
- Telegram Agent:
python main_telegram.py
- Discord Agent:
python main_discord.py
- REST API:
python main_api.py
- Twitter Bot (Posting):
python main_twitter.py
The REST API provides the following endpoints:
- POST
/message
- Request body:
{"message": "Your message here"}
- Response:
{"text": "Response text", "image_url": "Optional image URL"}
- Request body:
Example:
curl -X POST http://localhost:5005/message \
-H "Content-Type: application/json" \
-d '{"message": "Tell me about artificial intelligence"}'
The framework follows a modular design:
-
Core Agent (
core_agent.py
)- Handles core functionality
- Manages LLM interactions
- Processes images and voice
-
Interfaces
- Telegram (
interfaces/telegram_agent.py
) - Discord (
interfaces/discord_agent.py
) - API (
interfaces/flask_agent.py
) - Twitter (
interfaces/twitter_agent.py
) - Farcaster (
interfaces/farcaster_agent.py
)
- Telegram (
Each interface inherits from the CoreAgent and implements platform-specific handling.
The framework uses YAML configuration for prompts and agent behavior. Configure these in:
config/prompts.yaml
To add a new interface:
- Create a new class inheriting from
CoreAgent
- Implement platform-specific handlers
- Use core agent methods for processing:
handle_message()
handle_image_generation()
transcribe_audio()
MIT License - See LICENSE file for details.
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
For support, please open an issue in the GitHub repository or contact the maintainers. Join the Heurist Ecosystem Builder telegram https://t.me/heuristsupport
More features and refinement on the way!
Example structure for finalized tweet flow on the works:
"_eval" param indicates requires agent to evaluate if it should respond
"_HITL" param indicates requirment to activate Human In The Loop flow