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
โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€    โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€    โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
โ”€โ”€ Rapid Fire โ”€โ”€              โ”€โ”€ Rapid Fire โ”€โ”€              โ”€โ”€ Rapid Fire โ”€โ”€

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

Rapid Fire (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...

Rapid Fire 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 Dive session

Deep Dive (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 Dive 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 (Rapid Fire โ†” Deep Dive)
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 Dive 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 Rapid Fire or Deep Dive.

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            # Rapid Fire mode logic
โ”‚   โ”œโ”€โ”€ orchestrator.py     # Deep Dive 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       # Rapid Fire prompt
โ”‚       โ”œโ”€โ”€ compare.md           # Peer review prompt
โ”‚       โ”œโ”€โ”€ guest.md             # Deep Dive 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.67.tar.gz (79.1 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.67-py3-none-any.whl (46.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ai_roundtable-0.0.67.tar.gz
  • Upload date:
  • Size: 79.1 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.67.tar.gz
Algorithm Hash digest
SHA256 8c0c0f16d72da4d7941fb16939482a8794833c0caf1e4ccbcda662c987a7f65f
MD5 1c3a89468ef05bc96e760f5e166baad6
BLAKE2b-256 bbc4509251bf82352e30410bc84b9d2edbcfa5e106206f3fd60fc589bffab56c

See more details on using hashes here.

Provenance

The following attestation bundles were made for ai_roundtable-0.0.67.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.67-py3-none-any.whl.

File metadata

  • Download URL: ai_roundtable-0.0.67-py3-none-any.whl
  • Upload date:
  • Size: 46.9 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.67-py3-none-any.whl
Algorithm Hash digest
SHA256 c6972955c24c543e0b272c9d15fad76e4252460fe020202bde209d7f5028de79
MD5 b613b6980c43943c5eedc79de071c7a7
BLAKE2b-256 e851db964ed7739bf7464302c23664f4667ec42dca8759a363d194cc5b67a550

See more details on using hashes here.

Provenance

The following attestation bundles were made for ai_roundtable-0.0.67-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