This is the codebase for the my Bachelor's thesis at the IVIA Lab, ETH Zurich. It comprises a visual interface that allows a user to interrupt an AutoGen agent team in real-time, provide feedback for it (human-initiated interruption) and at the same time be prompted by the agents for feedback (agent-initiated feedback). This involved modifying the AutoGen library, implementing a specific interface design and connecting the agents to tool functions, including MCP servers.
backend/: Contains all the logic to build an AutoGen agent team dynamically, and stream it to the interface frontend via a WebSocket + FastAPI setup
See Sections 5.3, 5.4 & 5.5
frontend/: Visual interface for multi-agent communication of AutoGen agent teams. Compatible only with the 2 specific agent teams used in the thesis
See Chapter 6
mcp/: Directory that harbors all the MCP servers that the AutoGen agents have access to. In our case, it is the Congress MCP server under the nameragMCP
See Section 5.2
- Make sure that you have all the .env/secrets files filled up with your API keys. The following files are crucial
.envbackend/.envmcp/secrets.ini
Detailed instructions on how to obtain the API keys are found in the subdirectories
-
(Optional) Choose the team setup you wish to run in
backend/factory/team.yaml. The Congress team is inbackend/factory/team.yaml.congress_backupand the Deep Research team is inbackend/factory/team.yaml.research_backup. -
Start the Docker container:
docker compose up --build- Navigate to localhost 5173 and play around with the site!
In order to read the thesis, click here.