Skip to content

leute43-git/ai-roundtable

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JAR — Joint AI Roundtable

An AI parliament where the human keeps the gavel. You (the Chair) summon AI panels — Claude and Gemini — into one shared conversation in your terminal. Every word is preserved as markdown minutes. Decisions always belong to the human.

한국어 README


What it is

JAR turns your PowerShell into a roundtable:

  • You are the Chair. You summon a panel by name; it answers. Nothing happens without your summons.
  • Panels share one universe. Each panel receives the full meeting flow — your words, its own past statements, and the other panel's statements — so Claude can respond to Gemini and vice versa, with you moderating.
  • Zero API cost. JAR does not call any API. It drives the CLI agents you already have installed — Claude Code (claude) and Antigravity (agy, Gemini) — through a pseudo-terminal (pywinpty), reusing your existing subscriptions.
  • Everything becomes history. Every session is saved as a plain-markdown meeting log (YAML frontmatter + chronological raw transcript), ready for Obsidian or any markdown vault.

Five principles

  1. Chair–panel separation — the panels deliberate, the human decides.
  2. Energy-oriented thinking — use each model for what it does best instead of forcing one to do everything.
  3. Minutes are the single source of truth — every session is written to disk as markdown; memory lives in files, not in the tool.
  4. Plasticity of tools — the tool bends around the Chair's workflow, never the reverse.
  5. Unity with separation — three minds in one conversation, each keeping its own voice.

Requirements

  • Windows 10/11 (uses pywinpty; macOS/Linux not yet supported)
  • Python 3.10+
  • At least one of these CLI agents installed and on your PATH:
    • Claude Code — the claude command
    • Antigravity CLI — the agy command (Gemini)

JAR assumes you already have working subscriptions/logins for those CLIs. It adds no keys and stores no credentials.

Install

git clone https://github.com/leute43-git/ai-roundtable.git
cd ai-roundtable
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt

Then open config.py — the only file you may want to edit:

Setting Default Meaning
LOG_DIR ./logs Where meeting minutes are saved
ALLOWED_ROOT current folder Files inside this root can be injected freely with @"path"; anything outside triggers a permission prompt

Run

python jar.py

Summoning panels

Start your input with a keyword:

Starts with Target
gemini / g / 제미나이 Gemini
claude / c / 클로드 Claude
both / b / 둘다 Both panels in turn
end / 종료 Save minutes and exit

Slash commands (/help for the full list)

/status /history /clear /save /load /note /undo /redo /topic /quiet /wake

File injection — @"path"

Embed a file's content directly into a summons:

both @".\docs\strategy.md" summarize this

Quotes are required; files are limited to 32 KB (Windows command-line ceiling); multiple injections per summons are allowed.

Security gates

The panels are instructed not to explore your filesystem on their own — they only see text the Chair injects.

  • Gate (input): injecting a file from outside ALLOWED_ROOT asks for your permission first.
  • Gate 4 (output audit): if a panel's response contains path traces from outside ALLOWED_ROOT, JAR warns you and asks whether to keep or discard the response. (Honest limitation: it catches leaked paths, not leaked content — full sealing would require OS-level isolation.)

Ctrl+C

  • While waiting for your input → exits JAR (saving minutes).
  • While a panel is responding → cancels only that summons; the session continues.

Meeting minutes

Saved to LOG_DIR as YYYY-MM-DD_HHMM_topic.md (named by session end time), with YAML frontmatter and the raw chronological transcript. Set LOAD_HISTORY = True in jar.py to wake the panels on top of the previous session's minutes.

Current limitations / roadmap

  • Interface text is currently Korean (the Chair speaks any language to the panels, though). English UI is on the roadmap.
  • Windows only for now (ptyprocess port for macOS/Linux is a candidate).
  • Panel commands (claude, agy) are fixed names on PATH.

License

MIT


"The chair is human. The panels are AIs. Every word becomes history."

About

A human-chaired AI roundtable in your terminal — Claude & Gemini, zero API cost

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages