A single project that demonstrates three agent harness styles for the same multi-agent game loop:
langgraphllamaindexcrewai
The game has three agents:
HostAgent: asks trivia questions.ContestantA: answers each question.ContestantB: answers each question.
The Web UI streams events in real time over WebSocket for 3 rounds.
python -m venv .venv
source .venv/bin/activate
pip install -e .
uvicorn app.main:app --reloadOpen http://127.0.0.1:8000.
Base install runs with deterministic simulation for all harnesses.
pip install -e ".[all]"Or install individually:
pip install -e ".[langgraph]"
pip install -e ".[llamaindex]"
pip install -e ".[crewai]"If a framework is not installed, the corresponding harness still works in fallback mode and reports this in the event log.
app/main.py: FastAPI app and WebSocket endpoint.app/game_engine.py: 3-round simulation loop and event streaming.app/trivia_bank.py: question set.app/harnesses/base.py: harness contract.app/harnesses/langgraph_harness.py: LangGraph-flavored harness.app/harnesses/llamaindex_harness.py: LlamaIndex-flavored harness.app/harnesses/crewai_harness.py: CrewAI-flavored harness.static/index.html: real-time spectator UI.
- This project is intentionally provider-agnostic in the default path.
- You can later wire real LLM calls into each harness without changing the Web UI or game loop.