Multi-AI deliberation framework β diverge, challenge, converge.
Ask a question. Multiple AI providers debate, critique, and refine each other's thinking. Get a synthesized answer that's better than any single model.
npm install -g quorum-ai
quorum init # auto-detect your AI providers
quorum ask "What's the best approach for error handling in TypeScript?"That's it. Quorum finds your API keys, runs a 7-phase deliberation across providers, and returns a synthesized answer with confidence scores.
Quorum runs a 7-phase deliberation across your configured AI providers:
- Gather β Each provider responds independently, in isolation
- Plan β Each sees others' takes and plans their argument
- Formulate β Formal position statements
- Debate β Every provider critiques all other positions simultaneously
- Adjust β Each revises based on critiques received
- Rebuttal β Final rebuttals or concessions (auto-skipped if consensus reached)
- Vote β Ranked voting via Borda count (or ranked-choice, approval, Condorcet)
A synthesis phase follows: the runner-up (not the winner, to reduce bias) merges the best thinking into a definitive answer with a minority report.
- Multi-provider deliberation β Claude, GPT, Gemini, Kimi, DeepSeek, Mistral, Ollama, and more
- Adaptive debate β Auto-skip or extend rounds based on disagreement
- Evidence protocol β Providers cite sources; claims are cross-validated
- Code review β Review files, staged changes, PRs, or diffs
- CI/CD integration β Structured output, exit codes, auto-commenting
- Policy guardrails β YAML rules that block, warn, or pause deliberations
- Deterministic replay β SHA-256 hash-chained ledger for auditability
- Human-in-the-loop β Pause at any phase to inject guidance
- Debate topologies β Mesh, star, tournament, pipeline, and more
- MCP server β Use Quorum as a tool in Claude Desktop, Cursor, or any MCP client
- Red team analysis β Adversarial attack packs for robustness testing
Quorum auto-detects providers from environment variables:
| Provider | Environment Variable | Install |
|---|---|---|
| OpenAI | OPENAI_API_KEY |
platform.openai.com |
| Anthropic (Claude) | ANTHROPIC_API_KEY |
console.anthropic.com |
| Google (Gemini) | GOOGLE_GENERATIVE_AI_API_KEY |
aistudio.google.com |
| Kimi (Moonshot) | KIMI_API_KEY |
platform.moonshot.cn |
| DeepSeek | DEEPSEEK_API_KEY |
platform.deepseek.com |
| Mistral | MISTRAL_API_KEY |
console.mistral.ai |
| Groq | GROQ_API_KEY |
console.groq.com |
| Ollama | (local, no key) | ollama.com |
# Set your keys, then:
quorum init # auto-detect everything
quorum providers list # see what's configured
quorum providers test # verify they workOr add manually:
quorum providers add --name deepseek --type deepseek --model deepseek-chat --env DEEPSEEK_API_KEYSee docs/providers.md for detailed setup instructions.
# Deliberation
quorum ask "question" # full 7-phase deliberation
quorum ask --rapid "question" # 3-phase: gather β debate β synthesize
quorum ask -1 "quick question" # single provider, no deliberation
quorum ask --evidence strict "question" # require cited sources
quorum ask --adaptive balanced "question" # auto-adjust based on disagreement
quorum ask --devils-advocate "question" # force one provider contrarian
quorum ask --profile decision "question" # use a named profile
quorum versus claude kimi "tabs vs spaces" # head-to-head
# Code Review
quorum review src/auth.ts # review specific files
quorum review --staged # review staged changes
quorum review --pr 42 # review a GitHub PR
quorum review --diff main # review diff against branch
# CI/CD
quorum ci --pr 42 --confidence-threshold 0.7 --post-comment
# Session Management
quorum history # list past sessions
quorum session last # view last session
quorum follow-up last "what about X?" # continue deliberation
quorum export last --format html # export as HTML
quorum rerun last --compare # re-run and compare
# Provider Management
quorum providers list | add | remove | test | models
quorum auth login | list | logout
# Advanced
quorum workspace # real-time deliberation UI
quorum mcp # start MCP server
quorum watch src/*.ts # re-run on file changesSee docs/cli.md for the complete reference with all flags.
Config lives at ~/.quorum/config.yaml (or project-local quorum.yaml):
providers:
- name: claude
provider: anthropic
model: claude-sonnet-4-20250514
auth:
method: env
envVar: ANTHROPIC_API_KEY
- name: openai
provider: openai
model: gpt-4o
auth:
method: env
envVar: OPENAI_API_KEY
defaultProfile: defaultProfiles customize deliberation behavior. Built-in: default, brainstorm, code-review, research, decision, panel, quick, thorough, evidence, research-tools.
# ~/.quorum/agents/security-review.yaml
name: security-review
rounds: 1
focus: [security, authentication, authorization]
challengeStyle: adversarial
evidence: strict
adaptive: balanced
roles:
claude: 'OWASP security expert'
kimi: 'penetration tester'
votingMethod: condorcetSee docs/configuration.md for all options.
src/
βββ cli.ts # CLI entry point (commander.js)
βββ council-v2.ts # 7-phase deliberation engine
βββ providers/base.ts # Provider adapter (via pi-ai)
βββ adaptive.ts # Adaptive debate controller
βββ evidence.ts # Evidence protocol & cross-validation
βββ policy.ts # YAML policy guardrails engine
βββ topology.ts # 7 debate topologies (mesh, star, etc.)
βββ arena.ts # Eval arena & reputation system
βββ ledger.ts # Hash-chained audit trail
βββ hitl.ts # Human-in-the-loop checkpoints
βββ memory-graph.ts # Cross-run memory retrieval
βββ voting.ts # Pluggable voting algorithms
βββ mcp.ts # MCP server integration
βββ config.ts # YAML config & auto-detection
βββ session.ts # File-backed session persistence
βββ types.ts # Core TypeScript types
See docs/architecture.md for a detailed walkthrough.
Quorum follows Semantic Versioning. Starting with v1.0:
- CLI commands and flags are stable β no breaking changes in minor releases
- Config file format (
config.yaml, profile YAML) is stable - Programmatic exports marked
@experimentalmay change in minor releases - See API.md for the full public API surface
Run Quorum as a tool for AI agents:
quorum mcpAdd to Claude Desktop config:
{
"mcpServers": {
"quorum": { "command": "quorum", "args": ["mcp"] }
}
}Exposes: quorum_ask, quorum_review, quorum_versus, quorum_providers, quorum_history.
- Fork the repo
- Create a feature branch:
git checkout -b feat/my-feature - Make changes with tests:
npm test - Use conventional commits:
feat:,fix:,docs:,refactor: - Open a PR
git clone https://github.com/Solvely-Colin/Quorum.git
cd Quorum && npm install
npm run dev -- ask "test question" # run from source
npm test # run tests
npm run lint # lint
npm run format # formatMIT Β© Colin Johnson
Managed by solvely-launchpad. Update with:
npx solvely-launchpad migrate --from v1 --to v1.x