OmniCouncil – Zero-API-cost local MoA desktop app for Mac OmniCouncil, a local-first Mixture-of-Agents desktop app for macOS, drives the official claude, codex and agy CLIs non-interactively using the user's own subscription sign-ins, so no separate API keys or per-token billing are required. The app runs workers in parallel in Judge Mode, where a Judge model receives anonymized and shuffled answers and returns a structured verdict with a consensus score of 1.0, 0.5 or 0, and triggers a second review by a model from a different vendor on low confidence or zero consensus. A persistent warm process pool skipped cold starts and was 31–36% faster end to end in the developer's tests, and the app warns users to check each provider's terms because requests count against their plan's usage limits. A local-first Mixture-of-Agents desktop app for macOS. Ask Claude, Gemini and Codex at once. They answer independently or debate, and a Judge model returns one verdict with a measured consensus score. Important OmniCouncil drives the vendors' official CLIs claude , codex , agy non-interactively, signed in with your own accounts. Requests count against your plan's usage limits, and each provider's terms for this kind of use differ and can change. Check the terms of every provider you connect before using OmniCouncil. Different models get different things wrong. Asking several models and having a strong model judge the results can catch mistakes that one model alone would miss β€” and makes disagreement visible instead of hiding it behind one confident answer. - πŸ”Œ No separate API keys or per-token billing. Every model call goes through an official CLI using the subscription sign-in you already have. API keys are removed from each CLI's environment env unset , so a call is never silently billed to an API account instead. - βš–οΈ Two modes: Judge and Co-work - Judge Mode: workers answer in parallel without seeing each other. The Judge receives the answers anonymized and shuffled , and returns a structured verdict with a consensus score 1.0 🟒 / 0.5 🟑 / 0 πŸ”΄ and a confidence level. Low confidence or zero consensus triggers a second review by a model from a different vendor . - Co-work Mode: a multi-round discussion. Each round, every worker sees the other anonymous participants' answers and revises, adds to or keeps its own. If the Leader still finds a dispute, it issues guidance and the discussion gets extra rounds. - πŸ–₯️ Native macOS GUI. A dark, minimal PySide6 app: the final answer is the main body of each reply, with every agent's raw answer, timing and the Judge's analysis folded away until you open them. Saved history, follow-up questions with context, attachments and voice notes, an English/Chinese interface and a global hotkey βŒ˜β‡§J . | Warm process pool | Persistent CLI processes skip cold starts 31–36% faster end to end in our tests . Sessions are reset between runs, so questions never share context. | | Honest consensus | With only one usable answer, the UI says "Insufficient quorum Β· not cross-validated" instead of showing a perfect score. | | Prompt-injection hygiene | Worker answers and attachment text are passed to the Judge as length-capped, clearly delimited untrusted data . | | Multimodal input | Images, PDFs, text and voice notes. The Leader turns them into text first; workers only see plain text. | | Per-worker models | Switch any worker between fast and heavy models e.g. Haiku ↔ Opus from a dropdown. | | Account & usage dashboard | Sign-in status, 5-hour / 7-day usage, rate-limit alerts, and a log-in / switch-account button per provider. | | Terminal CLI | Everything also runs from the terminal omnicouncil ask … . | | | Three chat tabs | OmniCouncil | |---|---|---| | Ask every model | Copy-paste into each tab | One question, sent to all in parallel | | Compare answers | You read and judge them yourself | A Judge compares them, blind and shuffled | | See disagreement | Easy to miss | Measured consensus score, flagged in the UI | | Second opinion | Ask another model yourself | Automatic, from a different vendor, on low confidence or no consensus | | One model is down or rate-limited | That tab just fails | Isolated: the others continue, the failure is shown | | Follow-ups and history | Separate per tab | One thread, saved locally, reopened exactly | | Attachments | Upload to each tab | Parsed once by the Leader, shared as text | llm-council https://github.com/karpathy/llm-council popularized this idea: models answer, review each other's answers anonymously, and a Chairman model writes the final answer. OmniCouncil takes a different route on a few points: | | llm-council | OmniCouncil | |---|---|---| | Model access | OpenRouter API key, pay-per-token credits | Official CLIs with your existing subscriptions | | Interface | Local web app FastAPI + React | Native macOS desktop app + terminal CLI | | Review step | Every model ranks the others anonymized | One Judge scores consensus anonymized, shuffled ; a different-vendor reviewer on low confidence or no consensus | | Discussion | β€” | Co-work mode: multi-round debate with dispute guidance | | Speed | API calls | Warm pool of persistent CLI processes | | Also | β€” | Attachments, voice, history, usage dashboard, i18n, tests + CI | | Status | Stated by the author: "99% vibe coded", no support | Maintained; contributions welcome | php flowchart LR U User -- |question Β· files Β· voice| GUI "Desktop GUI