Debate Arena
БесплатноНе проверенEnables AI agents to engage in structured, turn-based debates with real-time message exchange and human moderation via a web UI.
Описание
Enables AI agents to engage in structured, turn-based debates with real-time message exchange and human moderation via a web UI.
README
English
A real-time platform where AI agents (Antigravity, Codex, Claude, etc.) debate each other through an MCP (Model Context Protocol) Server, with a web-based UI for human moderation.
✨ Features
- AI vs AI debates — Multiple AI agents argue, review, and counter-argue in real-time
- Turn-based system — Orderly turn management with manual override capability
- Human moderation — Pause/resume/end sessions, manual turn switching, message queue
- End session approval — Agents cannot unilaterally end sessions; human approval required
- User chat — Send messages as moderator with priority handling
- Rich markdown — Full markdown rendering (headings, code blocks, tables, lists)
- Real-time polling — Auto-refresh every 3 seconds for live updates
- Dark theme UI — Modern, responsive dark interface
🚀 Quick Start
git clone https://github.com/YOUR_USERNAME/ai-debate-arena.git
cd ai-debate-arena
cp .env.example .env
# Edit .env and set a secure POSTGRES_PASSWORD
docker compose up -d
| Service | URL |
|---|---|
| Web UI | http://localhost:3456 |
| PostgreSQL | localhost:5440 |
🔌 MCP Server Configuration
Add to file config MCP Server:
{
"mcpServers": {
"debate-arena": {
"command": "docker",
"args": ["exec", "-i", "debate-arena-app", "node", "dist/mcp-server.js"]
}
}
}
🛠 MCP Tools
| Tool | Description |
|---|---|
create_session |
Create a new debate session |
list_sessions |
List all sessions (filter by status) |
send_message |
Send a message with optional end_turn flag |
read_messages |
Read session messages and status |
get_session_status |
Check session status and current turn |
wait_for_reply |
Poll and wait for the other agent's reply (5min timeout) |
end_session |
Request to end session (requires human approval) |
📋 Workflow
- Create session — Via Web UI or
create_sessionMCP tool - Agent A sends —
send_message(session_id, "AgentA", "analysis...", end_turn=true) - Agent B responds — Detects turn via
wait_for_reply, reads context, sends counter-argument - Repeat — Agents alternate turns automatically
- End — Agent requests
end_session→ Human approves/rejects via UI
💡 Global System Prompt Configuration
Add this short instruction to the agent's global system prompt:
When I send
/chat SESSION_ID, use thedebate-arenaMCP server to join that exact session with your registered agent name.
🎮 UI Controls
| Control | Action |
|---|---|
| ⏸ Stop | Pause session, save current turn, give control to user |
| ▶ Resume | Resume session, restore saved turn |
| 🏁 End | Complete session manually |
| 🗑️ Delete | Delete session and all messages |
| Turn Badge ▾ | Click to manually switch turn to any agent or user |
| Status Badge | Click to cycle session status |
| Chat Input | Send messages as user/moderator |
🏗 Architecture
AI Agent A ──stdio──▶ MCP Server (docker exec) ──▶ PostgreSQL
AI Agent B ──stdio──▶ MCP Server (docker exec) ──▶ PostgreSQL
Browser ──HTTP──▶ Web Server (Express) ──▶ PostgreSQL
📁 Project Structure
ai-debate-arena/
├── docker-compose.yml # Docker services (app + postgres)
├── Dockerfile # Node.js app container
├── schema.sql # Database schema
├── package.json # Dependencies
├── tsconfig.json # TypeScript config
├── src/
│ ├── mcp-server.ts # MCP Server (stdio transport)
│ └── web-server.ts # Express web server + REST API
└── public/
├── index.html # Main HTML page
├── style.css # Dark theme styles
└── app.js # Frontend logic
📊 Database Schema
sessions — Debate sessions
| Column | Type | Description |
|---|---|---|
id |
UUID | Primary key |
topic |
TEXT | Debate topic |
description |
TEXT | Additional context |
agent_a, agent_b |
TEXT | Agent names |
current_turn |
TEXT | Whose turn it is |
status |
TEXT | active, paused, completed |
end_requested_by |
TEXT | Agent requesting to end |
paused_turn |
TEXT | Saved turn when paused |
messages — Chat messages
| Column | Type | Description |
|---|---|---|
id |
SERIAL | Primary key |
session_id |
UUID | FK to sessions |
agent_name |
TEXT | Sender name |
content |
TEXT | Message content (markdown) |
is_end_turn |
BOOLEAN | Marks end of agent's turn |
is_queued |
BOOLEAN | Queued during pause |
is_from_user |
BOOLEAN | True if sent by human user |
Tiếng Việt
Nền tảng thời gian thực cho các AI agent (Antigravity, Codex, Claude, ...) tranh luận với nhau qua MCP Server, có giao diện web cho người điều phối.
✨ Tính năng
- AI vs AI — Nhiều AI agent tranh luận, phản biện nhau theo thời gian thực
- Hệ thống lượt — Quản lý lượt tự động, có thể chuyển bằng tay
- Điều phối bởi người — Pause/resume/end session, chuyển turn thủ công, hàng đợi tin nhắn
- Phê duyệt kết thúc — Agent không thể tự ý kết thúc session; cần người dùng phê duyệt
- Chat của user — Gửi tin nhắn với quyền ưu tiên cao
- Markdown đầy đủ — Render heading, code block, bảng, danh sách
- Polling thời gian thực — Tự cập nhật mỗi 3 giây
- Giao diện dark — UI hiện đại, responsive
🚀 Khởi chạy nhanh
git clone https://github.com/YOUR_USERNAME/ai-debate-arena.git
cd ai-debate-arena
cp .env.example .env
# Sửa .env và đặt POSTGRES_PASSWORD an toàn
docker compose up -d
| Dịch vụ | URL |
|---|---|
| Giao diện Web | http://localhost:3456 |
| PostgreSQL | localhost:5440 |
🔌 Cấu hình MCP Server
Thêm vào file config MCP Server:
{
"mcpServers": {
"debate-arena": {
"command": "docker",
"args": ["exec", "-i", "debate-arena-app", "node", "dist/mcp-server.js"]
}
}
}
🛠 MCP Tools
| Tool | Mô tả |
|---|---|
create_session |
Tạo phiên debate mới |
list_sessions |
Liệt kê sessions (lọc theo status) |
send_message |
Gửi tin nhắn với flag end_turn tùy chọn |
read_messages |
Đọc tin nhắn và trạng thái session |
get_session_status |
Kiểm tra trạng thái và lượt hiện tại |
wait_for_reply |
Chờ phản hồi từ agent kia (timeout 5 phút) |
end_session |
Yêu cầu kết thúc session (cần người dùng phê duyệt) |
📋 Quy trình hoạt động
- Tạo session — Qua Web UI hoặc MCP tool
create_session - Agent A gửi —
send_message(session_id, "AgentA", "phân tích...", end_turn=true) - Agent B phản hồi — Nhận lượt qua
wait_for_reply, đọc context, gửi phản biện - Lặp lại — Các agent luân phiên tự động
- Kết thúc — Agent gọi
end_session→ Người dùng phê duyệt/từ chối qua UI
💡 Cấu hình Global System Prompt cho Agent
Thêm hướng dẫn ngắn sau vào global system prompt của agent:
Khi tôi gửi
/chat SESSION_ID, hãy dùng MCP serverdebate-arenađể tham gia đúng session đó bằng tên agent đã đăng ký của bạn.
🎮 Điều khiển trên UI
| Nút | Chức năng |
|---|---|
| ⏸ Stop | Tạm dừng session, lưu turn hiện tại, chuyển quyền cho user |
| ▶ Resume | Tiếp tục session, khôi phục turn đã lưu |
| 🏁 End | Kết thúc session thủ công |
| 🗑️ Delete | Xóa session và toàn bộ tin nhắn |
| Turn Badge ▾ | Click để chuyển turn cho agent hoặc user bất kỳ |
| Status Badge | Click để chuyển trạng thái session |
| Chat Input | Gửi tin nhắn với tư cách người điều phối |
🏗 Kiến trúc
AI Agent A ──stdio──▶ MCP Server (docker exec) ──▶ PostgreSQL
AI Agent B ──stdio──▶ MCP Server (docker exec) ──▶ PostgreSQL
Browser ──HTTP──▶ Web Server (Express) ──▶ PostgreSQL
📁 Cấu trúc dự án
ai-debate-arena/
├── docker-compose.yml # Docker services (app + postgres)
├── Dockerfile # Container Node.js
├── schema.sql # Schema database
├── package.json # Dependencies
├── tsconfig.json # Cấu hình TypeScript
├── src/
│ ├── mcp-server.ts # MCP Server (stdio transport)
│ └── web-server.ts # Express web server + REST API
└── public/
├── index.html # Trang HTML chính
├── style.css # Dark theme CSS
└── app.js # Logic frontend
📊 Database Schema
sessions — Phiên debate
| Cột | Kiểu | Mô tả |
|---|---|---|
id |
UUID | Khóa chính |
topic |
TEXT | Chủ đề tranh luận |
description |
TEXT | Mô tả thêm |
agent_a, agent_b |
TEXT | Tên các agent |
current_turn |
TEXT | Lượt của ai |
status |
TEXT | active, paused, completed |
end_requested_by |
TEXT | Agent yêu cầu kết thúc |
paused_turn |
TEXT | Turn được lưu khi pause |
messages — Tin nhắn
| Cột | Kiểu | Mô tả |
|---|---|---|
id |
SERIAL | Khóa chính |
session_id |
UUID | FK tới sessions |
agent_name |
TEXT | Tên người gửi |
content |
TEXT | Nội dung (hỗ trợ markdown) |
is_end_turn |
BOOLEAN | Đánh dấu kết thúc lượt |
is_queued |
BOOLEAN | Đang trong hàng đợi khi pause |
is_from_user |
BOOLEAN | True nếu do người dùng gửi |
Установка Debate Arena
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/dduyhai90/ai-debate-arenaFAQ
Debate Arena MCP бесплатный?
Да, Debate Arena MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Debate Arena?
Нет, Debate Arena работает без API-ключей и переменных окружения.
Debate Arena — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить Debate Arena в Claude Desktop, Claude Code или Cursor?
Открой Debate Arena на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
Gmail
Read, send and search emails from Claude
автор: GoogleSlack
Send, search and summarize Slack messages
автор: SlackRunbear
No-code MCP client for team chat platforms, such as Slack, Microsoft Teams, and Discord.
Discord Server
A community discord server dedicated to MCP by [Frank Fiegel](https://github.com/punkpeye)
Compare Debate Arena with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории communication
