Skip to content

๐Ÿ‡ The 'RabbitHole' framework provides the tools for asynchronous A2A communication and task management. ๐Ÿ“ก๐Ÿ‡ โœจ Build powerful AI agents that communicate and collaborate.

Notifications You must be signed in to change notification settings

VinsmokeSomya/RabbitHole

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

57 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿšฉ๐Ÿงก๐Ÿ•‰๏ธ || เคœเคฏ เคถเฅเคฐเฅ€ เคฐเคพเคฎ || ๐Ÿ•‰๏ธ๐Ÿงก๐Ÿšฉ

๐Ÿ‡ RabbitHole ๐Ÿ•ณ๏ธ

Build, host, and orchestrate AI agents with ease.

RabbitHole Logo

License Stars Issues Python Version

RabbitHole is a Python framework for building and orchestrating LLM-powered agents. It acts as a universal translator, providing a standardized Agent-to-Agent (A2A) communication protocol that allows agents from different providers (Google, OpenAI, etc.) to work together seamlessly.

While inspired by tools like LangChain that help build powerful individual agents, RabbitHole focuses on a higher level of abstraction: multi-agent orchestration. It provides the backbone for a society of agents to collaborate on complex tasks.

๐Ÿค” Why RabbitHole?

Building AI agents involves more than just writing prompts. You need to handle server setup, communication protocols, and task management. RabbitHole abstracts away this boilerplate, providing a robust foundation for your agent applications.

Use RabbitHole for:

  • Standardized Communication: Built on Google's A2A protocol, RabbitHole ensures your agents speak a common language, making them interoperable by design.
  • Rapid Development: Get an agent server running with minimal code. Our framework provides the structure, so you can focus on your agent's unique logic.
  • Extensible by Design: With a plug-in architecture, RabbitHole makes it easy to integrate agents from different providers. We currently support Google's ADK and OpenAI's Agent SDK, with more on the way.
  • Integrated Tooling: Comes with a built-in CLI and a Streamlit UI for easy testing and interaction with your agents right out of the box.

๐Ÿš€ Getting Started

Installation

Get started by installing RabbitHole directly from the source. We recommend using a virtual environment.

# 1. Clone the repo
git clone https://github.com/VinsmokeSomya/RabbitHole.git

cd RabbitHole

# 2. Create a virtual environment and activate it
# We recommend `uv`, but Python's venv works great too.
python -m venv .venv

source .venv/bin/activate  # On Windows: .venv\Scripts\activate

# 3. Install in editable mode with all dev dependencies
pip install -e ".[dev]"

Run Your First Agent

Let's run the pre-built Google ADK agent.

1. Set up your API Key: Navigate to rabbithole/agent/adk/, copy .env.template to .env, and add your Google API key.

cd rabbithole/agent/adk

cp .env.template .env
# Now, edit .env to add your key

2. Launch the Agent Server: From the rabbithole/agent/adk directory, run:

python __main__.py

The agent is now live on http://localhost:10000.

3. Talk to Your Agent (from a new terminal): Navigate to the CLI directory and start the client.

# In a new terminal, from the project root
cd ../../cli

python __main__.py --agent http://localhost:10000

You're now chatting with your first agent! For more detailed instructions, check out How to Run and Test.

๐Ÿ“š Documentation

Our documentation provides a deep dive into the framework's architecture, vision, and usage.

๐Ÿ—บ๏ธ Vision & Roadmap

Our vision is to build the premier open-source framework for creating and orchestrating multi-agent systems. To understand our goals and where the project is headed, please see our detailed documents:

๐Ÿค Contributing

RabbitHole is an open-source project, and we welcome contributions from the community! Whether it's adding a new agent integration, improving documentation, or fixing a bug, your help is valued.

Please read our Developer Guide to get started.

๐Ÿ“ License

This project is licensed under the MIT License.

About

๐Ÿ‡ The 'RabbitHole' framework provides the tools for asynchronous A2A communication and task management. ๐Ÿ“ก๐Ÿ‡ โœจ Build powerful AI agents that communicate and collaborate.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors 2

  •  
  •