{"id":45167645,"url":"https://github.com/niftymonkey/ai-consensus","last_synced_at":"2026-02-20T07:11:41.623Z","repository":{"id":332221983,"uuid":"1112816843","full_name":"niftymonkey/ai-consensus","owner":"niftymonkey","description":"Multi-model AI collaboration app where LLMs work together to reach consensus","archived":false,"fork":false,"pushed_at":"2026-02-16T17:56:52.000Z","size":664,"stargazers_count":3,"open_issues_count":23,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-02-17T00:43:38.363Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://ai-consensus.niftymonkey.dev/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/niftymonkey.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-12-09T06:20:27.000Z","updated_at":"2026-02-16T17:56:57.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/niftymonkey/ai-consensus","commit_stats":null,"previous_names":["niftymonkey/ai-consensus"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/niftymonkey/ai-consensus","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/niftymonkey%2Fai-consensus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/niftymonkey%2Fai-consensus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/niftymonkey%2Fai-consensus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/niftymonkey%2Fai-consensus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/niftymonkey","download_url":"https://codeload.github.com/niftymonkey/ai-consensus/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/niftymonkey%2Fai-consensus/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29644020,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-20T05:21:04.652Z","status":"ssl_error","status_checked_at":"2026-02-20T05:21:04.238Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-02-20T07:11:41.050Z","updated_at":"2026-02-20T07:11:41.617Z","avatar_url":"https://github.com/niftymonkey.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AI Consensus\n\nA web application that enables multiple AI models to collaborate and reach consensus on your questions through iterative deliberation.\n\n**Live Demo:** [ai-consensus.niftymonkey.dev](https://ai-consensus.niftymonkey.dev)\n\n## What It Does\n\nAI Consensus takes your question and sends it to multiple AI models simultaneously. The models then see each other's responses and refine their answers through multiple rounds until they reach agreement. An evaluator model analyzes the responses and determines when consensus is achieved.\n\nThis approach helps surface more reliable, well-reasoned answers by leveraging the diverse strengths of different AI models.\n\n## Features\n\n- **Multi-Model Collaboration** - Claude, GPT, Gemini, and 200+ models via OpenRouter\n- **Iterative Consensus** - Models refine responses over multiple rounds until aligned\n- **Configurable Evaluator** - Choose which model evaluates consensus\n- **Real-time Streaming** - Watch responses stream in as models think\n- **OpenRouter Integration** - One API key gives access to all major models\n- **Secure Key Storage** - API keys encrypted with AES-256 at rest\n- **7 Visual Themes** - Customize the interface to your preference\n- **Self-Hostable** - Run your own instance with full control\n\n## How It Works\n\n1. **Ask a Question** - Enter your question in the chat interface\n2. **Initial Responses** - Selected models respond simultaneously\n3. **Evaluation** - An evaluator model analyzes responses for alignment\n4. **Refinement** - If consensus isn't reached, models see each other's responses and refine\n5. **Consensus** - Once aligned (or after max rounds), a unified response is presented\n\n## Quick Start (Using the Hosted Version)\n\n1. Visit [ai-consensus.niftymonkey.dev](https://ai-consensus.niftymonkey.dev)\n2. Sign in with Google or Discord\n3. Add your OpenRouter API key in Settings (get one at [openrouter.ai/keys](https://openrouter.ai/keys))\n4. Start asking questions\n\n## Self-Hosting\n\n### Prerequisites\n\n- Node.js 20+\n- pnpm\n- PostgreSQL database (Vercel Postgres, Neon, Supabase, or local)\n- OAuth credentials (Google and/or Discord)\n\n### Installation\n\n1. Clone the repository:\n```bash\ngit clone https://github.com/niftymonkey/ai-consensus.git\ncd ai-consensus\n```\n\n2. Install dependencies:\n```bash\npnpm install\n```\n\n3. Create environment file:\n```bash\ncp .env.example .env.local\n```\n\n4. Configure environment variables in `.env.local`:\n\n```bash\n# Required - Generate with: openssl rand -base64 32\nNEXTAUTH_SECRET=your-secret-here\nENCRYPTION_KEY=your-encryption-key-here\n\n# Required - OAuth (at least one)\nGOOGLE_CLIENT_ID=\nGOOGLE_CLIENT_SECRET=\nDISCORD_CLIENT_ID=\nDISCORD_CLIENT_SECRET=\n\n# Required - PostgreSQL connection string\nPOSTGRES_URL=postgresql://user:password@host:5432/database\n\n# Optional - Default API keys for testing\nOPENROUTER_API_KEY=\n```\n\n5. Set up the database:\n```bash\npnpm db:setup\n```\n\n6. Start the development server:\n```bash\npnpm dev\n```\n\n7. Open [http://localhost:3000](http://localhost:3000)\n\n### Deploying to Vercel\n\n1. Push your fork to GitHub\n2. Import the project in Vercel\n3. Add environment variables in Vercel dashboard\n4. Configure OAuth redirect URIs for your production domain\n5. Deploy\n\n## Tech Stack\n\n- **Framework:** Next.js 16 (App Router)\n- **AI Integration:** Vercel AI SDK v5\n- **Models:** OpenRouter, Anthropic, OpenAI, Google\n- **Auth:** NextAuth.js v5\n- **Database:** PostgreSQL (Vercel Postgres)\n- **Styling:** Tailwind CSS, Radix UI\n- **Language:** TypeScript\n\n## API Keys\n\nUsers provide their own API keys, which are encrypted and stored securely. The recommended approach is using OpenRouter, which provides access to 200+ models with a single API key.\n\nSupported providers:\n- **OpenRouter** (recommended) - Access to Claude, GPT, Gemini, Llama, Mistral, and more\n- **Anthropic** - Claude models directly\n- **OpenAI** - GPT models directly\n- **Google** - Gemini models directly\n\n## License\n\nThis project is licensed under the [GNU Affero General Public License v3.0 (AGPL-3.0)](LICENSE).\n\nThis means:\n- You can use, modify, and distribute this software\n- If you run a modified version as a network service, you must make your source code available\n- Any derivative work must also be licensed under AGPL-3.0\n\nFor commercial licensing inquiries, please open an issue.\n\n## Contributing\n\nBuilt this for myself, decided to share it with everyone. Keeping development solo for now, but issues are open for bugs and ideas!\n\n## Support\n\n- **Issues:** [GitHub Issues](https://github.com/niftymonkey/ai-consensus/issues)\n- **Source:** [GitHub Repository](https://github.com/niftymonkey/ai-consensus)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fniftymonkey%2Fai-consensus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fniftymonkey%2Fai-consensus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fniftymonkey%2Fai-consensus/lists"}