Welcome to the Multi-Agent Roundtable! This project demonstrates a collaborative environment where multiple AI agents interact with each other and with you, the user, to achieve complex tasks.
This project is built to showcase agentic workflows using Google's Gemini models in a live, interactive chat interface.
Follow these simple steps to get the project running on your local machine.
Before you begin, ensure you have the following installed:
- Python 3.11+ or Docker
- A modern Web Browser
- A Google Gemini API Key (Get a free one at Google AI Studio)
Clone the repository:
git clone https://github.com/zurasits/multi-agent-roundtable.git
cd multi-agent-roundtableSet up your environment:
Create a .env file in the root directory and add your API keys. While only Gemini is required to start, Version 2 supports multiple LLM providers:
# Required for Live Mode
GEMINI_API_KEY=your_gemini_key_here
# Optional: Add these if you want to switch agents to GPT or Claude
OPENAI_API_KEY=your_openai_key_here
ANTHROPIC_API_KEY=your_anthropic_key_hereRun the application: You can run this project using either Docker or Python directly.
Option A: Using Python (Recommended for quick start)
# 1. Create a virtual environment
python3 -m venv venv
# 2. Activate the virtual environment
# On Mac/Linux:
source venv/bin/activate
# On Windows:
# venv\Scripts\activate
# 3. Install dependencies
pip install -r requirements.txt
# 4. Run the Streamlit app
streamlit run src/frontend/app.pyOption B: Using Docker
docker-compose up --buildOpen the Interface: Open your web browser and navigate to the following URL: 👉 http://localhost:8501
When you open the URL, you will see a clean, glassmorphic chat interface featuring:
- 2 Distinct AI Agents ready to collaborate.
- 🧠 Individual LLM Selection: A sleek dropdown in each agent's card to switch their brain (Gemini, GPT, or Claude) on the fly!
- A Live Mode connection to the AI models.
- A "Trigger next agent" button on the sidebar.
- A "Reset Session" button on the sidebar to clear the conversation.
Version 3 brings a massive accessibility and UX upgrade by introducing native voice controls!
- 🎙️ Voice Recording (Speech-to-Text): You can now speak directly to the agents! Just click the microphone icon in the chat input, record your message, and let the backend automatically transcribe it using the
gemini-3.5-flashmodel. - 📝 Draft Mode for Audio: We know AI transcriptions aren't always 100% perfect. That's why transcribed audio isn't sent immediately. Instead, it pops up in a "Draft" text box where you can review and edit the text before explicitly clicking "Senden".
- 🔒 Safari Note: Due to strict Apple privacy policies, microphone access in Safari requires the app to be accessed exactly via
http://localhost:8501or over a securehttps://connection.
Version 2 introduces powerful flexibility and a stunning UI overhaul:
- Multi-LLM Support: Agents are no longer tied to just Gemini. Mix and match OpenAI's GPT, Anthropic's Claude, and Google's Gemini within the same roundtable discussion.
- Sleek UI: Completely redesigned agent cards with native, dark-mode integrated provider selection.
- Dynamic Fallbacks: The system automatically checks your
.envvariables and falls back to Gemini if a selected provider's API key is missing.
To get the most out of this roundtable, follow this clear workflow:
- Ask a Question: Start the conversation by typing a prompt into the chat box, OR click the microphone icon to record a voice message!
- Review your Audio (Optional): If you used voice recording, review the AI-transcribed text in the Draft box, edit it if necessary, and click "Senden".
- React to the Answer: Once the first agent replies, you have two choices:
- Ask a follow-up question to clarify or iterate on their response.
- 🎯 CRITICAL STEP: Click the "Trigger next agent" button in the sidebar. This passes the baton to the second agent, allowing them to review, expand, or critique the first agent's work. This handoff is the core goal of the project.
- Interject Anytime: You are part of the roundtable! You can jump into the conversation at any time. If you want to address a specific agent, simply use
@AgentNamein your message (e.g.,@Reviewer what do you think about this?).
Please note the following limitation in the current version:
- Explicit Mentions Required: The agents currently only respond when explicitly triggered via the "Trigger next agent" button or when explicitly mentioned using the
@symbol in the chat. - Coming in Version 2: Semantic context understanding—where agents will naturally understand the flow of conversation and jump in automatically without needing an
@mention—is planned for the next major update.
Below is a high-level overview of how the Multi-Agent Roundtable operates:



