consensus is a web application (+command line tool) to ask multiple models a question, and provide a synthesized consensus answer using one model as the judge.
ReactJS and Tailwind for the frontend, .NET 9 with Microsoft Agent Framework and Quartz for the backend/API.
The app builds prompts for building a consensus using prompt templates and then the first LLM as the judge.
docker run -d \
  -p 8080:8080 \
  -e Consensus__ApiEndpoint="https://openrouter.ai/api/v1" \
  -e Consensus__ApiKey="your-api-key-here" \
  -e Consensus__Models__0="openai/gpt-4" \
  -e Consensus__Models__1="anthropic/claude-3-opus" \
  -e Consensus__Models__2="microsoft/phi-4" \
  -e Consensus__Models__3="google/gemini-2.5-flash" \
  -v $(pwd)/output:/app/output \
  --name consensus \
  ghcr.io/yetanotherchris/consensus:latest
Now go to http://localhost:8585/
Or use Docker compose:
services:
  consensus:
    image: ghcr.io/yetanotherchris/consensus:latest
    container_name: consensus
    ports:
      - "8085:8080"
    environment:
      - Consensus__ApiEndpoint=https://openrouter.ai/api/v1
      - Consensus__ApiKey=your-api-key-here
      - Consensus__Models__0=openai/gpt-4
      - Consensus__Models__1=anthropic/claude-3-opus
      - Consensus__Models__2=google/gemini-pro
      - Consensus__Models__3=microsoft/phi-4
    volumes:
      - ./output:/app/output
    restart: unless-stopped
Example prompt and model costs
- Install .NET 9 and NodeJS
 - Clone the repo
 - Add environment variables:
CONSENSUS_API_ENDPOINTe.g. https://openrouter.ai/api/v1CONSENSUS_API_KEYe.g.sk-blah-blah
 cd .\src\Consensus.Api\anddotnet run- (New terminal) 
cd .\src\Consensus.Web\andnpm run dev - Go to 
http://localhost:5173/in a browser (or the port Vite provides fornpm run dev)