Multi-model deliberation CLI — frontier LLMs debate, then judge
Project description
quorate
Multi-model deliberation CLI — 6 frontier LLMs debate, then judge.
Named after quorum sensing: bacteria pool imperfect estimates to make better collective decisions. quorate does the same with language models.
Install
uvx quorate quick "Should I learn Rust?"
# or
pip install quorate
Models
| Model | Provider |
|---|---|
| Gemini 3.1 Pro | Google AI Studio |
| GPT-5.4 | OpenAI (Codex CLI) |
| Claude Opus 4.6 | Anthropic (Claude CLI) |
| Grok 4.20β | xAI |
| DeepSeek V3.2 | OpenRouter |
| GLM-5.1 | OpenRouter |
Judge: Gemini 3.1 Pro. Critic: Claude Sonnet 4.6.
Usage
# Parallel queries — all models answer independently
quorate quick "What makes a good CLI?"
# Full deliberation — blind phase, debate, judge, critique
quorate council "Should we rewrite our backend in Rust?"
# Adversarial stress-test
quorate redteam "Our launch plan for Q3"
# Assume failure, write past-tense narratives
quorate premortem "Migration to microservices"
# Binary FOR vs AGAINST debate
quorate oxford "AI will replace most knowledge work within 5 years"
# Open roundtable, no judge
quorate discuss "The future of open source"
# Auto-classify (no subcommand)
quorate "What's the best database for time-series data?"
# Read question from file
quorate council /path/to/prompt.txt
Council options
quorate council "question" --deep # 2 debate rounds
quorate council "question" --rounds 3 # custom rounds
quorate council "question" --no-critic # skip critique phase
quorate council "question" --domain banking # regulatory context
quorate council "question" --persona "startup founder with $2M runway"
API Keys
quorate routes through native provider APIs first, falling back to OpenRouter:
export GOOGLE_API_KEY="..." # Gemini (Google AI Studio)
export XAI_API_KEY="..." # Grok (xAI)
export ANTHROPIC_API_KEY="..." # Claude (fallback if no claude CLI)
export OPENROUTER_API_KEY="..." # DeepSeek, GLM, fallback for all
export QUORATE_OPENROUTER_KEY="..." # Dedicated OpenRouter key (takes priority)
GPT-5.4 uses Codex CLI (codex exec). Claude uses claude --print. Both route through their respective subscriptions at zero per-token cost.
How it works
Quick mode: Fan out the question to all models in parallel. Collect and display.
Council mode:
- Blind phase — all models stake positions independently (prevents anchoring)
- Debate — sequential rounds with a rotating challenger who must dissent
- Judge — Gemini synthesizes competing arguments into a recommendation
- Critique — Claude reviews the judge's synthesis for blind spots
Presets (redteam, premortem, oxford, discuss) are council with preset system prompts and flags. No separate code paths.
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file quorate-0.1.1.tar.gz.
File metadata
- Download URL: quorate-0.1.1.tar.gz
- Upload date:
- Size: 13.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"12","id":"bookworm","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7ba13a5cb0e5a7cb12d450ff40cdc4a7fbd328b3536588c654f98bf94d760610
|
|
| MD5 |
c09e56b7a4aba21f4ebfa548fc340223
|
|
| BLAKE2b-256 |
4a92867e4efc1c23978a45675574711ae8c2d49717419e20d04378e02420f1bb
|
File details
Details for the file quorate-0.1.1-py3-none-any.whl.
File metadata
- Download URL: quorate-0.1.1-py3-none-any.whl
- Upload date:
- Size: 17.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"12","id":"bookworm","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fa093f35576189a96ce084f9eda451d6c98f3ed49c8037ac18198cb1d28ab59b
|
|
| MD5 |
2c8c0ab3910f9d91f79c9a8866906783
|
|
| BLAKE2b-256 |
400ee1f3244a657aa74f497c193a2cd94b8308e8f5e1b22ef079af9caec97632
|