How tejabasina/ai-multi-agent-debate works
AI Multi-Agent Debate System: users sign in, submit a topic, watch two agents debate over WebSocket, and receive a judge’s scored verdict. Debates are persisted for history and replay; the interface also supports translation, analytics, and an animated 3D presentation. The graph follows documented architecture and sampled calls; some page-to-API and database details are inferred only where README capabilities support them, so uncertain wiring is omitted.
Main entry points: server.js HTTP / WS server · orchestrator.js Debate orchestrator · DebateContext.jsx Debate context · DebatePage.jsx Debate view
Components 16
Web experience
- Login / signup
frontend/src/pages/LandingPage.jsx - Debate workspace
frontend/src/pages/Home.jsx - Debate context
frontend/src/context/DebateContext.jsx - Debate view
frontend/src/pages/DebatePage.jsx - 3D debate scene
frontend/src/components/DebateScene3D.jsx - History / replay
frontend/src/pages/HistoryPage.jsx - Analytics view
frontend/src/pages/AnalyticsPage.jsx - About page
frontend/src/pages/AboutPage.jsx
Backend services
- HTTP / WS server
backend/server.js - JWT verification
backend/authMiddleware.js
Debate runtime
- Debate orchestrator
backend/orchestrator.js - Agent prompts
backend/agents.js - Claude client
backend/claudeClient.js
Persistence
- SQLite database
backend/db.js
Other components
- User
- Anthropic API
Connections 20
- User → Login / signup: signs in
- User → Debate workspace: enters topic
- Login / signup → HTTP / WS server: authenticates
- HTTP / WS server → SQLite database: reads / writes users
- HTTP / WS server → JWT verification: verifies token
- Debate workspace → Debate context: starts debate
- Debate context → HTTP / WS server: opens WebSocket
- HTTP / WS server → Debate orchestrator: runs debate
- Debate orchestrator → Agent prompts: uses prompts
- Debate orchestrator → Claude client: requests completions
- Claude client → Anthropic API: calls API
- Debate orchestrator → SQLite database: saves debate
- HTTP / WS server → Debate context: streams events
- Debate context → Debate view: provides state
- Debate view → 3D debate scene: sets speaker / verdict
- History / replay → HTTP / WS server: requests debates
- Debate view → HTTP / WS server: requests translation
- HTTP / WS server → Claude client: translates text
- Analytics view → HTTP / WS server: requests metrics
- HTTP / WS server → SQLite database: reads metrics