Skip to content
| Marketplace
Sign in
Visual Studio Code>AI>QuorumNew to Visual Studio Code? Get it now.
Quorum

Quorum

PS Techlabs

|
5 installs
| (0) | Free
Ask every Copilot model at once, run peer review, and get a synthesized answer — all inside Copilot Chat.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Quorum — LLM Council for VS Code

Ask every Copilot model at once. Let them debate. Get one synthesized answer.

Quorum (@quorum) fans your question out to every model in your Copilot Pro/Pro+ subscription — GPT-4o, Claude, Gemini, o3, and more — runs anonymous peer review, an adversarial rebuttal round, then synthesizes a final verdict with citations. All inside VS Code. No extra API keys. No configuration required.

Version 0.5.0 — now with live audit trail, adversarial rebuttal rounds, debate trail streaming, run history tracking, one-click audit export, research & debate profiles, large-document pipeline, URL grounding, privacy mode, Deep Debate multi-round convergence engine, and research context grounding with vision figure support.


How It Works

@quorum What are the tradeoffs between REST and GraphQL?

Stage 1 — Parallel Responses

Every model on the council answers your question simultaneously. Attach files, paste URLs, or just ask — each model gets the same full context.

Stage 2 — Anonymous Peer Review + Adversarial Rebuttal

Each model reviews the others' responses without knowing who wrote them, eliminating brand bias. Then challengers issue direct adversarial rebuttals to the primary response.

Stage 3 — Chairman Synthesis

The most capable available model reads all responses, reviews, and rebuttals, then writes the definitive answer. It flags where models agreed (high confidence) and where they diverged (worth your attention), with mandatory source citations.

Live Audit Trail (new in v0.3.0)

Every pipeline event — model completions, peer review, rebuttals, synthesis — is streamed into the chat as it happens, so you watch the debate unfold in real time.


Features

Feature What it does
Zero setup Uses models already in your Copilot subscription
Parallel council All models answer simultaneously — no waiting for one to finish before the next
Anonymous peer review Models score each other without knowing who wrote what
Adversarial rebuttal round Challenger models directly rebut the primary model's response before synthesis
Live audit trail Every stage streams into chat as it completes — see the debate as it unfolds
Debate trail Optionally stream all peer reviews and adversarial rebuttals inline in chat before the synthesis — full transparency into how the answer was built
Deep Debate Multi-round adversarial convergence engine — models stake positions, challenge each other iteratively, and the chairman arbitrates until consensus is reached or max rounds hit
Research context grounding Point Quorum at a local folder of docs and figures — all models are automatically grounded in the material before they respond, with vision figures sent to GPT-4o / Claude / Gemini
Run history Every run is persisted with its full audit trail, debate trail, and all model responses — survives restarts
Audit export Export any run as a Markdown or JSON file from the Command Palette or with @quorum /exportAudit
Task-aware role routing Auto-detects 8 task profiles and assigns primary/challenger/chairman roles accordingly
Research & debate profiles Structured output enforcement — methodology, limitations, evidence tables, steelman, cross-examination, decision matrix
URL-grounded council Include any URL in your prompt and Quorum fetches shared evidence for every model
Large-document pipeline Chunked packet processing for documents too large for a single model pass
File & code context Attach .ts, .py, .md, .json, or any file — every model sees it
Citation enforcement Chairman is required to cite which model said what in the final synthesis
Privacy mode Strict no-retention/no-training directive prepended to every model call
Live side panel Per-model responses stream in real time in the Quorum panel
Auto model discovery Picks up new Copilot models automatically as they roll out

Installation

From the VS Code Marketplace: Search for Quorum or visit the Marketplace page.

From a .vsix file:

  1. Download quorum-ai-0.3.0.vsix
  2. In VS Code: Extensions → ⋯ → Install from VSIX…

Requirements: VS Code 1.99+ · GitHub Copilot Pro or Pro+


Usage

Command What it does
@quorum <question> Run the full council
@quorum /models List current council models and chairman
@quorum /refreshModels Refresh roster with current filter settings
@quorum /setProfile <profile> Set role-routing profile
@quorum /setChairman <model-id> Change the synthesis model
@quorum /history List all recorded runs — run ID, date, profile, members, token count
@quorum /exportAudit Export the most recent run's full audit to a Markdown file
@quorum /exportAudit <run-id> Export a specific run by run ID
@quorum /deepDebate <question> Run a multi-round convergence debate on any question

Profiles: auto · coding · security · architecture · docs · analysis · research · debate

With file context: Attach a file using the paperclip icon in Copilot Chat — all models receive the file contents automatically.

With URL grounding: Paste any URL in your prompt — Quorum fetches it and injects the same content into every model's context before they respond.


Live Audit Trail

When quorum.enableAuditLog is true (default), the chat window shows a live timeline like:

🔎 Audit Trail · run 3k7x2-a9f1c

🗂️ Pipeline start — 5 models · profile: research · chairman: claude-opus-4
✅ Stage 1 — GPT-4o — responded (1,842 chars)
✅ Stage 1 — Claude 3.7 Sonnet — responded (2,104 chars)
✅ Stage 1 — Gemini 2.0 Flash — responded (1,677 chars)
✅ Stage 1 — o3 — responded (2,391 chars)
✅ Stage 1 — Mistral Large — responded (1,520 chars)
🔬 Stage 2 — Peer review — 5 models cross-reviewing anonymised responses
⚔️  Stage 2b — Adversarial rebuttal round — 4 challengers
👑 Stage 3 — Chairman synthesis — claude-opus-4 synthesizing
🏁 Pipeline complete — 5/5 succeeded · 5 reviews · 4 rebuttals · 18.4s · 48,231 tokens

Disable with "quorum.enableAuditLog": false for a cleaner output.


Debate Trail

When quorum.enableDebateTrail is true, Quorum streams the full debate into chat — all Stage 2 peer reviews and all Stage 2b adversarial rebuttals — as collapsible blocks before the chairman synthesis:

🗣️ Debate Trail

Stage 2 — Peer Reviews
  🔬 o3 peer review       ▶ (click to expand)
  🔬 gpt-4o peer review   ▶ (click to expand)
  🔬 gemini peer review   ▶ (click to expand)

Stage 2b — Adversarial Rebuttals
  ⚔️ o3 rebuttal          ▶ (click to expand)
  ⚔️ gpt-4o rebuttal      ▶ (click to expand)
  ⚔️ gemini rebuttal      ▶ (click to expand)

Useful for research documents where you want full provenance of how the synthesis was reached.

Disable with "quorum.enableDebateTrail": false (default).


Run History & Export

Every completed run is persisted to extension storage (survives VS Code restarts) with its full audit log, all Stage 1 responses, peer reviews, rebuttals, and synthesis.

Chat commands

@quorum /history

Shows a table of all stored runs with run ID, date, profile, members, and token count.

@quorum /exportAudit
@quorum /exportAudit 1hx7z-k9m2p

Exports the most recent run (or a specific run by ID) as a Markdown file — opens a Save dialog.

Command Palette

Command Action
Quorum: Export Last Run Audit (Markdown) Export the most recent run as .md
Quorum: Export Last Run Audit (JSON) Export the most recent run as .json
Quorum: Export Run from History QuickPick from all stored runs → choose Markdown or JSON → Save dialog
Quorum: Clear Run History Wipe all stored runs (with confirmation)

Export format

Markdown — a human-readable document with question, audit trail, per-model Stage 1 responses, peer reviews, rebuttals, and synthesis. Ready to commit to a repo or share as a report.

JSON — the full raw RunRecord object — useful for programmatic processing, diffing runs, or building your own tooling on top.


Task Profiles

Quorum auto-detects task profile from your prompt (quorum.taskProfile: "auto"), or you can set it manually.

Profile Best for Roles
coding Code review, debugging, refactoring Code-specialist primary, diverse challengers
security Threat modeling, CVE review, auth Security-focused primary
architecture System design, tradeoffs Architecture-specialist primary
docs Documentation, README, API docs Writing-specialist primary
analysis Data, research analysis, SWOT Analytical primary
research Academic synthesis, literature review Evidence + methodology enforcement
debate Controversial decisions, tradeoffs Steelman + cross-examination enforcement
auto Everything else Automatically infers the above

Override per-profile model roles in quorum.profileConfigs:

"quorum.profileConfigs": {
  "security": {
    "primary": "o3",
    "challengers": ["claude-opus-4", "gpt-4o"],
    "chairman": "o3"
  }
}

Research Profile Output Structure

When research profile is active, every Stage 1 response is required to include:

  • Methodology — how claims were arrived at
  • Limitations — what the model is uncertain about
  • Evidence Table — key claims with supporting evidence

Toggle each requirement via quorum.researchRequire* settings.


Debate Profile Output Structure

When debate profile is active, every Stage 1 response includes:

  • Steelman — the strongest version of the opposing position
  • Cross-Examination — direct challenges to the other side
  • Decision Matrix — structured comparison of options

Toggle each requirement via quorum.debateRequire* settings.


URL Grounding

Include any http:// or https:// URL in your prompt and Quorum will:

  1. Fetch each URL once (up to quorum.maxFetchedUrls)
  2. Strip HTML to plain text
  3. Trim to quorum.maxFetchedUrlChars
  4. Inject the same fetched content into every model's context before they respond

This gives the entire council a shared factual ground before the debate.


Large-Document Pipeline

When attached context exceeds quorum.pipelineTriggerChars (default 18,000 chars), Quorum activates a per-model packet pipeline:

  1. Splits context into chunks (quorum.pipelineChunkChars, max quorum.pipelineMaxChunks)
  2. Each model analyzes each chunk
  3. Each model synthesizes across its own chunk findings
  4. Council peer review, rebuttal, and chairman synthesis continue as normal

This lets you analyze full research papers, large codebases, or long notes without hitting context limits.


Privacy Mode

When quorum.privacyMode is true (default), Quorum prepends a strict directive to every model call requesting:

  • No retention of prompts or responses after generation
  • No use for model training or fine-tuning
  • No non-essential telemetry

For stricter behavior, enable quorum.privacyDisableUrlFetch to prevent any external URL fetching.


All Settings

Core

Setting Default Description
quorum.chairman auto Model ID for synthesis. auto picks the best available
quorum.members [] Explicit model IDs to use (in listed order)
quorum.includeModels [] Only include models whose IDs match these substrings
quorum.excludeModels [] Remove models from the council by ID substring
quorum.modelDisplayNames {} Override display labels by model-id substring
quorum.maxModels 6 Max models on the council

Task Routing

Setting Default Description
quorum.taskProfile auto Role-routing profile — auto infers from prompt
quorum.profileStrict false Only use profile-assigned models (ignore extras)
quorum.profileConfigs {} Per-profile role overrides (primary, challengers, chairman)

Pipeline Behaviour

Setting Default Description
quorum.skipPeerReview false Skip Stage 2 for faster results
quorum.enableAuditLog true Stream live audit trail into chat as each stage completes
quorum.enableDebateTrail false Stream all peer reviews and rebuttals as collapsible blocks before synthesis
quorum.requireCitations true Chairman must cite which model said what
quorum.enableRebuttalRound true Challenger models rebut the primary response before synthesis
quorum.enableRunHistory true Persist each run's full audit and responses to extension storage
quorum.maxRunHistory 50 Maximum stored runs — oldest are dropped when limit is exceeded
quorum.researchContextPath "" Absolute path to a folder of docs + images auto-loaded as grounding context for all models
quorum.deepDebateMinRounds 2 Minimum rounds before convergence checking starts in /deepDebate
quorum.deepDebateMaxRounds 8 Maximum rounds — debate stops here even without formal convergence
quorum.enableContextPipeline true Chunked pipeline for large context documents
quorum.pipelineTriggerChars 18000 Prompt length threshold that activates packet pipeline
quorum.pipelineChunkChars 7000 Approximate chunk size for pipeline processing
quorum.pipelineMaxChunks 6 Maximum chunks processed per model

Profile Output Styles

Setting Default Description
quorum.enableProfilePromptStyles true Enable profile-specific output structure enforcement
quorum.researchRequireMethodology true Research profile: require Methodology section
quorum.researchRequireLimitations true Research profile: require Limitations section
quorum.researchRequireEvidenceTable true Research profile: require Evidence Table
quorum.debateRequireSteelman true Debate profile: require steelman of both sides
quorum.debateRequireCrossExamination true Debate profile: require Cross-Examination section
quorum.debateRequireDecisionMatrix true Debate profile: require Decision Matrix

URL Fetching

Setting Default Description
quorum.enableUrlFetch true Fetch plain-text context from URLs found in the prompt
quorum.maxFetchedUrls 3 Maximum URLs fetched per prompt
quorum.maxFetchedUrlChars 6000 Max characters retained per fetched URL
quorum.urlFetchTimeoutMs 12000 Per-URL fetch timeout in milliseconds

Privacy

Setting Default Description
quorum.privacyMode true Prepend no-retention/no-training directive to all model prompts
quorum.privacyDisableUrlFetch false Disable URL fetching while privacy mode is on
quorum.privacyDirective (string) Custom privacy directive text prepended to every prompt

Context & Performance

Setting Default Description
quorum.maxContextChars 22000 Max total context characters per prompt
quorum.maxContextItemChars 5000 Max characters per attached item before excerpting
quorum.contextHeadExcerptChars 2200 Head excerpt size for large attachments
quorum.contextTailExcerptChars 1600 Tail excerpt size for large attachments
quorum.retryPromptBudgets [36000,22000,14000] Fallback prompt budgets on token-limit errors
quorum.maxStage2ResponseChars 1600 Max Stage 1 chars passed into peer review
quorum.maxStage3ResponseChars 2200 Max Stage 1 chars passed into synthesis
quorum.maxStage3ReviewChars 1200 Max Stage 2 review chars passed into synthesis

Why Quorum?

A single model has a single perspective, a single training distribution, and a single set of blind spots. Quorum routes your question to every model simultaneously and makes them critique each other before a chairman synthesizes the best answer. You get:

  • Consensus signal — when all models agree, you can act with confidence
  • Divergence signal — when they disagree, Quorum flags it so you know what needs your judgment
  • Adversarial pressure — the rebuttal round forces each model to defend its position or concede
  • No single-model hallucination — one model's error is caught by the others in peer review
  • Task-matched intelligence — the right model leads depending on whether you're writing code, reviewing a threat model, or doing academic research

Built by PSTechlabs · Developer tools at programmershop.in


Changelog

v0.5.0

  • Deep Debate — /deepDebate <question> runs a multi-round convergence-based debate: models stake opening positions, chairman picks the strongest challenge each round, all models respond and evolve their stance, convergence checked after deepDebateMinRounds
  • Research context grounding — quorum.researchContextPath points to a local docs folder; Markdown files are loaded (token-budget-limited) and figures are sent as vision context to GPT-4o / Claude / Gemini automatically
  • Full debate transcript in run history — /deepDebate runs save every round's positions, selected challenges, and convergence verdicts; exportable via /exportAudit
  • quorum.deepDebateMinRounds / quorum.deepDebateMaxRounds — tune the convergence window
  • quorum.researchContextPath — zero-config research grounding for long-running projects

v0.4.0

  • Debate trail — stream all peer reviews and rebuttals inline before synthesis (quorum.enableDebateTrail)
  • Run history — every run persisted with full audit, debate trail, and all model responses (quorum.enableRunHistory, quorum.maxRunHistory)
  • Audit export — Command Palette and @quorum /exportAudit export any run as Markdown or JSON
  • @quorum /history — list all stored runs in chat
  • @quorum /exportAudit [run-id] — export a run directly from chat

v0.3.0

  • Live audit trail streaming
  • Adversarial rebuttal round (Stage 2b)
  • Research & debate profile output enforcement
  • Large-document context pipeline
  • URL grounding
  • Privacy mode
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft