Skip to main content

A terminal UI that runs Claude, Gemini, and Codex side-by-side in parallel deliberation

Project description

AI Roundtable

Put Claude, Gemini, and Codex around the same table.

A terminal UI that runs multiple AI assistants side-by-side and lets them debate any topic in real time โ€” in parallel, with no switching between windows.

๐Ÿ”ต CLAUDE                     ๐ŸŸข GEMINI                     ๐ŸŸก CODEX
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€    โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€    โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
โ”€โ”€ Quick Round โ”€โ”€             โ”€โ”€ Quick Round โ”€โ”€             โ”€โ”€ Quick Round โ”€โ”€

The core moat for LLMs is    Data flywheels matter more    Engineering execution is
reasoning capability. A       than model quality โ€” the      underrated. The teams that
model that thinks better      companies accumulating the     ship fastest learn fastest,
will always outperform one    best proprietary datasets      regardless of which model
that has more data but less   will dominate long-term.      they use.
coherent output.

Requirements

You need at least one of the following AI CLIs installed and authenticated:

CLI Install Auth
Claude Code npm install -g @anthropic-ai/claude-code claude login
Gemini CLI npm install -g @google/gemini-cli gemini auth
Codex CLI npm install -g @openai/codex Set OPENAI_API_KEY

AI Roundtable works with 1, 2, or all 3. Any missing CLI is simply skipped.


Installation

pip install ai-roundtable

Then launch from anywhere:

ai-roundtable

From source

git clone https://github.com/HiJiangChuan/ai-roundtable
cd ai-roundtable
python3 -m venv .venv && .venv/bin/pip install -e .
ai-roundtable

Two Modes

Quick Round (default)

All active AIs answer your question in parallel. Results appear as they stream in.

Best for: quick comparisons, getting multiple perspectives fast, gut-checking an idea.

You: What's the biggest risk in microservices architecture?

๐Ÿ”ต CLAUDE  โ†’  Distributed systems complexity: when a service call
               fails, tracing the root cause across 12 services...

๐ŸŸข GEMINI  โ†’  Operational overhead is underestimated. Teams often
               migrate to microservices without the tooling to...

๐ŸŸก CODEX   โ†’  Data consistency. Once you split the database, every
               cross-service transaction becomes a distributed...

Quick Round commands:

Input Action
Any text Ask all AIs in parallel
Ctrl+R Each AI critiques the others' last answers
Ctrl+T Upgrade this question to a Deep Round session

Deep Round (ai-roundtable --deep)

A structured multi-round debate with a rotating moderator.

Each round: all AIs speak โ†’ moderator (rotating: Gemini โ†’ Codex โ†’ Claude โ†’ โ€ฆ) analyzes contradictions, assigns action types, and drives the next question.

Action types: Take a position / Rebut / Supplement / Probe / Challenge premise / Synthesize

Best for: complex decisions, architecture debates, exploring a problem space thoroughly.

Deep Round commands:

Input Action
Topic text Start the session (Round 0 opening)
ๅฏ Proceed to next round
ๆญข End session and generate summary
ๆทฑๅ…ฅๆญค่Š‚ Stay on current round, dig one level deeper
@claude your question Direct question to a specific AI only

Keyboard Shortcuts

Shortcut Action
Esc Quit
/ Focus input box
Ctrl+T Toggle mode (Quick Round โ†” Deep Round)
Ctrl+L Toggle layout (vertical โ†” horizontal panels)
Ctrl+R Peer review โ€” AIs critique each other
Ctrl+Y View panel content full-screen (click a panel first)
Ctrl+N New tab
Ctrl+W Close current tab
Ctrl+O Open session history
Ctrl+V Paste image into question
Ctrl+A Select all text in input box
โ†‘ Restore last submitted input
Ctrl+1โ€“4 Switch to tab 1โ€“4

Configuration

On first launch, a config file is created at ~/.config/ai-roundtable/config.yml.

ais:
  claude:
    cmd: "claude"
    prompt_flag: "-p"
    flags: ["--dangerously-skip-permissions"]
    timeout: 600   # Claude deep thinking can take up to 10 min
    # enabled: false  โ† uncomment to disable this AI

  gemini:
    cmd: "gemini"
    prompt_flag: "-p"
    flags: ["--yolo"]
    timeout: 300

  codex:
    cmd: "codex"
    subcommand: "exec"
    flags: []
    timeout: 300

deep:
  full_rounds_kept: 3      # Full rounds kept in context window
  compress_summary_max: 80  # Max chars per compressed round summary
  timeout_seconds: 60       # Per-AI timeout for Deep Round rounds

history:
  obsidian_vault: ""        # Path to your Obsidian vault, e.g. ~/notes
                            # Leave empty to save to ~/Documents/ai-roundtable/

Disabling an AI

If you don't have Codex installed, add enabled: false:

ais:
  codex:
    enabled: false

AI Roundtable adapts automatically โ€” with 2 AIs it runs pair discussions, with 1 AI it uses a solo roundtable mode where the AI invents multiple personas and debates itself.


Session History

Every session is automatically saved as Markdown. Files are written to:

  • With Obsidian: <vault>/ai-roundtable/<Mode>/YYYY-MM-DD/NNN-topic.md
  • Without Obsidian: ~/Documents/ai-roundtable/<Mode>/YYYY-MM-DD/NNN-topic.md

Where <Mode> is Quick Round or Deep Round.

Each file includes YAML frontmatter (date, type, tags) and is formatted with Obsidian callout blocks, ready to view in your vault immediately.


Debugging

CLI call logs are written to ~/.ai-roundtable/cli.log:

[15:35:21] claude  OK        8.6s  211 chars (stream)
[15:35:35] gemini  OK       22.5s  240 chars (stream)
[15:35:38] codex   OK       25.2s  220 chars (stream)

Project Structure

ai-roundtable/
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ main.py             # Entry point, config/path resolution
โ”‚   โ”œโ”€โ”€ tui.py              # Terminal UI (Textual)
โ”‚   โ”œโ”€โ”€ quick.py            # Quick Round mode logic
โ”‚   โ”œโ”€โ”€ orchestrator.py     # Deep Round state machine
โ”‚   โ”œโ”€โ”€ cli_caller.py       # AI CLI subprocess runner + streaming
โ”‚   โ”œโ”€โ”€ context_manager.py  # 3-layer context compression
โ”‚   โ”œโ”€โ”€ history.py          # Session persistence (Markdown + Obsidian)
โ”‚   โ”œโ”€โ”€ prompt_loader.py    # Prompt template loader
โ”‚   โ””โ”€โ”€ prompts/
โ”‚       โ”œโ”€โ”€ guest_quick.md       # Quick Round prompt
โ”‚       โ”œโ”€โ”€ compare.md           # Peer review prompt
โ”‚       โ”œโ”€โ”€ guest.md             # Deep Round guest prompt
โ”‚       โ”œโ”€โ”€ opening.md           # Session opening (Round 0)
โ”‚       โ”œโ”€โ”€ moderator.md         # Moderator synthesis prompt
โ”‚       โ”œโ”€โ”€ compress.md          # Context compression prompt
โ”‚       โ””โ”€โ”€ solo_roundtable.md  # Single-AI roundtable prompt
โ”œโ”€โ”€ config.yml              # Default config (source mode)
โ”œโ”€โ”€ pyproject.toml
โ””โ”€โ”€ requirements.txt

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ai_roundtable-0.0.68.tar.gz (79.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ai_roundtable-0.0.68-py3-none-any.whl (46.8 kB view details)

Uploaded Python 3

File details

Details for the file ai_roundtable-0.0.68.tar.gz.

File metadata

  • Download URL: ai_roundtable-0.0.68.tar.gz
  • Upload date:
  • Size: 79.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ai_roundtable-0.0.68.tar.gz
Algorithm Hash digest
SHA256 8b66f4cd83997fcb0b780bb90a59520565f763bef16af847c75bc37a2067e55e
MD5 f09c91ee964f8d2517f6f356573ef981
BLAKE2b-256 6da07c3c19f5e1fd1ecf08e672bc811870bfa1f807cd219e1d673c20ab00fb30

See more details on using hashes here.

Provenance

The following attestation bundles were made for ai_roundtable-0.0.68.tar.gz:

Publisher: publish.yml on HiJiangChuan/ai-roundtable

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ai_roundtable-0.0.68-py3-none-any.whl.

File metadata

  • Download URL: ai_roundtable-0.0.68-py3-none-any.whl
  • Upload date:
  • Size: 46.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ai_roundtable-0.0.68-py3-none-any.whl
Algorithm Hash digest
SHA256 5da5f6ea4e4d325d473a7fdf5fd63f4ff59a7564af43f48595cb6fb9def1bf27
MD5 0dcc946747d1dc35ec188b0e0908b0ca
BLAKE2b-256 e548c722b6928d24b624981cf5481691d2e0006fc5485cf110ff33cc7b61674c

See more details on using hashes here.

Provenance

The following attestation bundles were made for ai_roundtable-0.0.68-py3-none-any.whl:

Publisher: publish.yml on HiJiangChuan/ai-roundtable

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page