Getting Started
Getting started with Consilium takes four steps and under five minutes: (1) sign up, (2) add provider keys or use the Groq free tier, (3) pick a deliberation mode, and (4) run your first debate. The web app, CLI, and SDKs all share the same REST and SSE contract, so you can switch surfaces without losing context.
Set up Consilium and run your first multi-agent deliberation in minutes
- Setup time
- < 5 min
- Providers supported
- 7
- Deliberation modes
- 8
- Free tier debates
- 1,000/mo
- Key encryption
- AES-256-GCM
- Quick debate cost
- $0.001
- Deep debate cost
- $0.50
- Platform tests
- 1,553
“Multi-agent debate significantly improves factual accuracy and mathematical reasoning across multiple benchmarks.”
Choose your path: Consilium can be used through the web app (no setup) or via the SDKs and CLI for engineers. Pick the approach that fits your workflow.
How do I get started in the web app?
Sign up at myconsilium.xyz. Authentication is handled by Clerk with support for email, Google, and GitHub sign-in methods. Your account gives you access to the deliberation dashboard, debate history, analytics, and API key management. No card required for the free tier.
Consilium uses a Bring Your Own Keys model. Navigate to Settings and add API keys for the providers you want to use. All keys are encrypted with AES-256-GCM before storage - they are never stored in plaintext or logged. You need at least one provider key, but using 2-3 different providers gives you genuine model diversity in debates.
No keys? Consilium automatically falls back to Groq's free tier models (Llama 3.1 8B, Llama 3.3 70B, Llama 4 Scout) when no paid keys are configured.
Choose one of the eight deliberation modes: Quick (1 round, ~15s) for sanity checks, Council (3 rounds, the default) for most decisions, Deep (5 rounds + sub-agents) for complex stakes, Blind to remove brand bias, Red Team for adversarial security review, Jury with mandatory dissent, Market for confidence-weighted voting, or Auto to let Consilium pick.
Each mode tunes round count, judge prompts, and dissent handling. Use Council unless you have a specific reason to pick another.
Go to the Council page, paste your question, confirm the selected models, and click Start Deliberation. The debate streams live over Server-Sent Events - propose, challenge, rebut, evaluate, vote, synthesize - and produces a rich set of outputs you can export as Markdown, .cursorrules, plain text, or JSON.
Golden Prompt - The synthesized final answer integrating the strongest arguments from all models
Confidence Scores - Per-model calibrated confidence based on explanation stability (how much each model changed its position under pressure)
Dissent Report - Majority and minority positions identified via agglomerative clustering. Shows where models agreed and where they fundamentally disagreed
Vote Results - Condorcet winner (if any), Borda scores, full ranking. Shows which position won and by what margin
Audit Trail - Every step recorded: model, input, output, tokens used, cost, latency. Full transparency into how consensus was reached
Cost Breakdown - Per-model, per-round cost tracking with total cost and token usage
Export results as Markdown, .cursorrules files, plain text, or copy to clipboard.
How do engineers integrate via SDK or CLI?
curl -fsSL https://install.myconsilium.xyz | shOr install directly with your package manager:
npm install -g @myconsilium/clipnpm add -g @myconsilium/cli
consilium loginOpens your browser for Clerk authentication. On success, a CLI token is stored in ~/.consilium/config.json. Alternatively, set the CONSILIUM_API_KEY environment variable.
consilium debate "Should we migrate from REST to GraphQL?" \
--mode council \
--models claude-sonnet-4-6,gpt-5.4,gemini-3-flash-preview \
--output markdownThe CLI renders the debate in real-time with agent progress bars, phase transitions, convergence tracking, and cost updates. The final synthesis is formatted according to your chosen output format (text, markdown, cursorrules, claude-md, or json).
pip install consiliumfrom consilium import ConsiliumClient
client = ConsiliumClient(
api_url="http://localhost:4000/api/v1",
api_key="your-api-key"
)
result = client.deliberate(
topic="Should we migrate from REST to GraphQL?",
mode="council",
models=[
"claude-sonnet-4-6",
"gpt-5.4",
"gemini-3-flash-preview"
],
max_rounds=3
)
print(result.golden_prompt)
print(f"Cost: ${result.cost:.4f}")
print(f"Dissent: {result.dissent_report}")npm install @myconsilium/sdkimport { ConsiliumClient } from "@myconsilium/sdk";
const client = new ConsiliumClient({
apiUrl: "http://localhost:4000/api/v1",
apiKey: "your-api-key",
});
const result = await client.deliberate({
topic: "Should we migrate from REST to GraphQL?",
mode: "council",
models: [
"claude-sonnet-4-6",
"gpt-5.4",
"gemini-3-flash-preview",
],
maxRounds: 3,
});
console.log(result.goldenPrompt);
console.log(`Cost: $${result.cost.toFixed(4)}`);Which providers can I bring keys for?
| Provider | Environment Variable | Models | Free? |
|---|---|---|---|
| Anthropic | ANTHROPIC_API_KEY | Claude Opus 4.7, Opus 4.6, Sonnet 4.6, Haiku 4.5 | Paid |
| OpenAI | OPENAI_API_KEY | GPT-5.5 Pro, GPT-5.5, GPT-5.4, GPT-5.4 Mini, GPT-5.4 Nano | Paid |
| GOOGLE_API_KEY | Gemini 3.1 Pro, 3 Flash, 3.1 Flash-Lite | Paid | |
| Groq | GROQ_API_KEY | Llama 3.1 8B, 3.3 70B, GPT-OSS 120B/20B, Compound | Free |
| xAI | XAI_API_KEY | Grok 4.20, Grok 4.1 Fast (reasoning + non-reasoning), Grok Code Fast | Paid |
| Moonshot | MOONSHOT_API_KEY | Kimi K2.6 | Paid |
| OpenRouter | OPENROUTER_API_KEY | Free-tier Gemma 4 26B/31B, Qwen3 Coder, Nemotron 3 Super 120B, Ling 2.6 1T (also used as Consilium fallback when no BYOK) | Free |
All API keys are encrypted with AES-256-GCM before storage. Keys are never stored in plaintext, never logged, and never transmitted to any third party.