[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-81156":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":13,"contributorsCount":13,"subscribersCount":13,"size":13,"stars1d":13,"stars7d":13,"stars30d":15,"stars90d":13,"forks30d":13,"starsTrendScore":13,"compositeScore":13,"rankGlobal":10,"rankLanguage":10,"license":16,"archived":17,"fork":17,"defaultBranch":18,"hasWiki":17,"hasPages":17,"topics":19,"createdAt":10,"pushedAt":10,"updatedAt":39,"readmeContent":40,"aiSummary":41,"trendingCount":13,"starSnapshotCount":13,"syncStatus":42,"lastSyncTime":43,"discoverSource":44},81156,"claude-delegator","antonbabenko\u002Fclaude-delegator","antonbabenko","Ask Codex, Gemini\u002FAntigravity, Grok (xAI), and 300+ more models through OpenRouter including Qwen, Kimi, DeepSeek for second opinions or arbiter-mediated consensus inside Claude Code.","",null,"JavaScript",36,0,1,6,"MIT License",false,"master",[20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"ai-agents","ai-coding","claude","claude-code","claude-code-plugin","code-review","codex","consensus","developer-tools","gemini","grok","llm","mcp","mcp-server","multi-agent","openai","plan-review","security-review","xai","2026-06-12 02:04:11","# Claude Delegator\n\nGet a second opinion in Claude Code from GPT, Gemini, and Grok - plus 300+ more models through OpenRouter, including Qwen, Kimi, and DeepSeek. Seven domain experts (Architect, Code Reviewer, Security Analyst, and four more) review your plans, find bugs, and debate edge cases until they agree.\n\n[![Four chairs at the table: Claude, GPT, Gemini, Grok - one verdict you can ship](assets\u002Fagents.png)\u003Cbr>One model is a guess. Three that agree is a plan. → read the blog post](https:\u002F\u002Fbuilder.aws.com\u002Fcontent\u002F3DtBiR4ua0qy7ybZMPzPmQ2SDMj\u002Fone-model-is-a-guess-three-that-agree-is-a-plan)\n\n\u003Cdetails>\n\u003Csummary>📸 See a full \u003Ccode>\u002Fconsensus\u003C\u002Fcode> run: round 1 disagreement to round 5 convergence\u003C\u002Fsummary>\n\n![Round 1: reviewers disagree](assets\u002Fround1.png)\n\n\u003Cdetails>\n\u003Csummary>... a few moments later ...\u003C\u002Fsummary>\n\n![A Few Moments Later](assets\u002Fafewmomentslater.png)\n\n\u003C\u002Fdetails>\n\n![Round 5: convergence reached](assets\u002Fround5.png)\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>📸 See \u003Ccode>\u002Fask-all\u003C\u002Fcode> stage a 2-round architect debate: three models, three verdicts, then each critiques the others - disagreement matrix included\u003C\u002Fsummary>\n\n![\u002Fask-all: three architects walk into a repo, two ship bugs walk out](assets\u002Fask-all.png)\n\nWhen three models argue, the real bug reveals itself. Round 1 = independent top findings. Round 2 = each model dunks on the others' picks. The disagreement matrix shows where they diverge; the conclusion shows what to actually fix first.\n\n\u003C\u002Fdetails>\n\n## What is Claude Delegator?\n\nClaude can ask GPT, Gemini, Grok, or any OpenAI-compatible model (via OpenRouter) for help\nthrough MCP. The plugin handles the wiring for each provider so you just write the prompt.\nEach expert has a distinct specialty and can advise or implement.\n\nYou can use any subset of the providers. The plugin detects which are configured and routes\naccordingly. OpenRouter is advisory-only and config-driven: models are declared in\n`~\u002F.claude\u002Fclaude-delegator\u002Fconfig.json` and hot-reload without restarting Claude Code.\n\n| What you get | Why it matters |\n|--------------|----------------|\n| 7 domain experts | The right specialist for each problem type |\n| GPT, Gemini, Grok, or OpenRouter models | Use your preferred provider(s) |\n| Dual mode | Experts analyze (read-only) or implement (write) |\n| Auto-routing | Claude detects when to delegate from your request |\n| Synthesized responses | Claude interprets expert output, never raw passthrough |\n\n## Install\n\nInside a Claude Code instance, run:\n\n**1. Add the marketplace - [antonbabenko\u002Fagent-plugins](https:\u002F\u002Fgithub.com\u002Fantonbabenko\u002Fagent-plugins)**\n```\n\u002Fplugin marketplace add antonbabenko\u002Fagent-plugins\n```\n\n**2. Install the plugin**\n```\n\u002Fplugin install claude-delegator@antonbabenko\n```\n\n**3. Run setup**\n```\n\u002Fclaude-delegator:setup\n```\n\nClaude now routes complex tasks to your GPT, Gemini, Grok, and OpenRouter experts (Grok and OpenRouter advise; GPT and Gemini can also implement).\n\nThe canonical marketplace is [`antonbabenko\u002Fagent-plugins`](https:\u002F\u002Fgithub.com\u002Fantonbabenko\u002Fagent-plugins) (above), which also bundles the other plugins.\n\n\u003Cdetails>\n\u003Csummary>Updating an existing install\u003C\u002Fsummary>\n\nAfter editing plugin code or upgrading the plugin version:\n\n1. `\u002Fmcp`\n2. `gemini` → `Reconnect`\n3. `grok` → `Reconnect`\n\nNo `claude` restart needed. Session context is preserved.\n\nDo NOT use `\u002Freload-plugins` - it only applies a manifest diff and ignores source edits.\n\n\u003C\u002Fdetails>\n\n## Requirements\n\nYou need at least one provider:\n\n- **Codex CLI** (GPT): `npm install -g @openai\u002Fcodex`, then `codex login`.\n- **Antigravity CLI**: [Getting Started with Antigravity CLI](https:\u002F\u002Fantigravity.google\u002Fdocs\u002Fcli-getting-started) and [Migrating from Gemini CLI](https:\u002F\u002Fantigravity.google\u002Fdocs\u002Fgcli-migration), then run `agy` and login.\n- **Grok (xAI)**: no CLI to install; the bridge ships with the plugin (needs Node 18+). Set `XAI_API_KEY` (get a key at https:\u002F\u002Fconsole.x.ai).\n- **OpenRouter**: no CLI; the bridge ships with the plugin (needs Node 18+). Set `OPENROUTER_API_KEY` (get a key at https:\u002F\u002Fopenrouter.ai\u002Fkeys), then declare models in `~\u002F.claude\u002Fclaude-delegator\u002Fconfig.json`. Works with any OpenAI-compatible endpoint (Ollama, vLLM, LM Studio, HuggingFace Inference) - auth is skipped automatically when the key env var is empty.\n\n## Commands\n\nBundled with the plugin (available once installed):\n\n| Command | Purpose |\n|---------|---------|\n| `\u002Fclaude-delegator:setup` | Configure Codex\u002FGemini\u002FGrok\u002FOpenRouter MCP servers + orchestration rules |\n| `\u002Fclaude-delegator:consensus` | 🔥🔥🔥 Arbiter-mediated GPT + Gemini + Grok + Claude convergence loop |\n| `\u002Fclaude-delegator:ask-all` | 🔥 GPT + Gemini + Grok (+ configured OpenRouter models) in parallel, synthesized |\n| `\u002Fclaude-delegator:ask-gpt` | One-shot GPT (Codex) second opinion |\n| `\u002Fclaude-delegator:ask-gemini` | One-shot Gemini second opinion |\n| `\u002Fclaude-delegator:ask-grok` | One-shot Grok (xAI) second opinion (advisory-only) |\n| `\u002Fclaude-delegator:ask-openrouter` | One-shot OpenRouter model second opinion (advisory-only) |\n| `\u002Fclaude-delegator:uninstall` | Remove MCP config, rules, and aliases |\n| `\u002Fclaude-delegator:grok-files` | List, prune, or gc Grok-uploaded files (storage + local cache cleanup) |\n\n`\u002Fsetup` can also install short aliases (`\u002Fask-gpt`, `\u002Fask-gemini`, `\u002Fask-grok`, `\u002Fask-all`, `\u002Fconsensus`, `\u002Fgrok-files`) into `~\u002F.claude\u002Fcommands\u002F`. This is opt-in. Existing same-named commands are kept by default; setup asks before overwriting any of them. `\u002Funinstall` removes an alias only if it is byte-identical to the bundled copy.\n\n## The Experts\n\n| Expert | What they do | Example triggers |\n|--------|--------------|------------------|\n| **Architect** | System design, tradeoffs, complex debugging | \"How should I structure this?\" \u002F \"What are the tradeoffs?\" |\n| **Plan Reviewer** | Validate plans before you start | \"Review this migration plan\" \u002F \"Is this approach sound?\" |\n| **Scope Analyst** | Catch ambiguities early | \"What am I missing?\" \u002F \"Clarify the scope\" |\n| **Code Reviewer** | Find bugs, improve quality | \"Review this PR\" \u002F \"What's wrong with this?\" |\n| **Security Analyst** | Vulnerabilities, threat modeling | \"Is this secure?\" \u002F \"Harden this endpoint\" |\n| **Researcher** | External libraries, docs, best practices | \"How do I use X?\" \u002F \"Find examples of Y\" |\n| **Debugger** | Root-cause analysis, minimal fixes | \"Why does this crash?\" \u002F \"Debug this failing test\" |\n\n### When experts help most\n\n- **Architecture decisions** - \"Should I use Redis or in-memory caching?\"\n- **Stuck debugging** - after two or more failed attempts, get a fresh perspective\n- **Pre-implementation** - validate a plan before writing code\n- **Security concerns** - \"Is this auth flow safe?\"\n- **Code quality** - a second opinion on your implementation\n\n### When not to use experts\n\n- Simple file operations (Claude handles these directly)\n- First attempt at any fix (try yourself first)\n- Trivial questions (no need to delegate)\n\n## How to Use\n\nDescribe your task. Claude detects when an expert helps and delegates automatically:\n\n```\nYou: \"Is this authentication flow secure?\"\nClaude: routes to the Security Analyst, then synthesizes the findings.\n```\n\nYou can also ask explicitly: \"Ask GPT to review this architecture\", \"Ask Gemini to...\", or \"Ask Grok to...\". Each expert runs read-only for analysis or with write access to apply fixes, and Claude picks the mode from your request.\n\nOr invoke the slash commands directly - see Commands above.\n\n## How \u002Fconsensus and \u002Fask-* keep models honest\n\n`\u002Fask-gpt`, `\u002Fask-gemini`, `\u002Fask-grok`, and `\u002Fask-all` are the quick commands: each dispatches one or three external models, Claude reads the output, and you get one synthesized answer. Single shot, no loop, no peer round.\n\n`\u002Fconsensus` is the heavy one. Same parallel dispatch, but with a peer-review round and a multi-round loop that stops only when the models agree. The cost: the orchestrator (Claude) writes the review prompt, casts a vote, decides which objections are real, and runs the loop. Left alone, that setup can quietly rubber-stamp its own plan. Four guards stop that.\n\n![\u002Fconsensus 3-stage flow](assets\u002Fconsensus-flow-simple.png)\n\n[See the detailed diagram with bias guards and per-model flow](assets\u002Fconsensus-flow.png)\n\nThe four guards:\n\n- **Blind verdict.** Claude posts its own verdict (APPROVE \u002F REQUEST CHANGES \u002F REJECT) in a message sent *before* the one that calls the panel. The pre-commitment sits in the transcript, so Claude cannot reshape its opinion after seeing the others.\n- **Peer review.** Stage 2: each external model rates the OTHER models' answers blind, with identity stripped best-effort. Not-viable votes become candidate critical issues for the arbiter to weigh. Pattern adapted from [karpathy\u002Fllm-council](https:\u002F\u002Fgithub.com\u002Fkarpathy\u002Fllm-council).\n- **No self-approval.** A round converges only when every responding external approves and at least one external actually answered. Claude's own approval never carries a round by itself. A provider that errors (an unconfigured Grok returning `missing-auth`, for example) drops out of the count instead of jamming the loop.\n- **No silent dismissal.** Every critical issue that gets dismissed or deferred ships with a one-line reason in the final report, including the times Claude walks back one of its own blind objections.\n\nThe `\u002Fask-*` commands carry a lighter version of the same rule. The external model only advises: Claude reads the output, applies its own judgment, and owns the synthesized answer. When the models agree, that is input, not a verdict.\n\n\u003Cdetails>\n\u003Csummary>Deep dive: how a single \u002Fconsensus round actually runs\u003C\u002Fsummary>\n\nEach `\u002Fconsensus` round runs three stages:\n\n1. **Stage 1 - parallel verdicts.** Claude commits a blind verdict first; GPT, Gemini, and Grok review the plan in parallel and emit APPROVE \u002F REQUEST CHANGES \u002F REJECT plus a list of critical issues.\n2. **Stage 2 - blind cross-review (conditional).** Each external reviewer rates the OTHER reviewers' anonymized answers as viable or not-viable, with a one-line reason and a category. Reviewer identity is stripped best-effort (preamble plus self-references). House styles may still leak, so reviewers are instructed to score substance, not style. Not-viable votes become candidate critical issues for Stage 3.\n3. **Stage 3 - arbiter adjudication.** Claude reconciles Stage 1 verdicts, Stage 2 candidate issues, and its own blind verdict. For each issue it picks accept, dismiss (with reason), or defer. Then it revises the plan for the next round.\n\nThe loop stops when all responding externals approve, zero critical issues remain accepted, and Claude adjudicates APPROVE. Hard cap at 5 rounds.\n\n**Stage 2 trigger.** Round 1 always. Round 2 onwards, Stage 2 fires only when Stage 1 has divergence OR the previous Stage 2 surfaced an arbiter-accepted not-viable issue (a one-round lookback that catches rubber-stamp convergence after a divergent round).\n\n**Stage 2 activation boundary.** Stage 2 is skipped on `sandbox: workspace-write` runs (Claude is writing code, not reviewing prose). Plan reviews that merely contain embedded diff text as prose still run Stage 2.\n\n**Cost ceiling.** Stage 2 adds at most about 60% to the call count in the worst case (5 rounds, Stage 2 firing every round). Typical convergence (2 to 3 rounds with partial Stage 2 fires) adds 25 to 50%.\n\nScoring vocabulary and operator-visible debug details live in [TECHNICAL.md](TECHNICAL.md#consensus-flow-details).\n\n\u003C\u002Fdetails>\n\n## Configuration\n\nEvery expert supports two modes, chosen automatically from your request:\n\n| Mode | Sandbox | Use when |\n|------|---------|----------|\n| Advisory | `read-only` | Analysis, recommendations, reviews |\n| Implementation | `workspace-write` | Making changes, fixing issues |\n\n### OpenRouter config\n\nOpenRouter models are declared in `~\u002F.claude\u002Fclaude-delegator\u002Fconfig.json`\n(override path with `CLAUDE_DELEGATOR_CONFIG`). The file is the live single source of\ntruth: changes to the `openrouter` block hot-reload without restarting Claude Code.\nToggling a built-in provider (codex \u002F gemini \u002F grok) still requires `\u002Fsetup`.\n\nMinimal example:\n\n```json\n{\n  \"version\": 1,\n  \"providers\": {\n    \"codex\":  { \"enabled\": true },\n    \"gemini\": { \"enabled\": true },\n    \"grok\":   { \"enabled\": true }\n  },\n  \"openrouter\": {\n    \"enabled\": true,\n    \"apiKeyEnv\": \"OPENROUTER_API_KEY\",\n    \"apiBase\": \"https:\u002F\u002Fopenrouter.ai\u002Fapi\u002Fv1\",\n    \"maxFanout\": 3,\n    \"defaultModel\": \"openai\u002Fgpt-4.1-mini\",\n    \"defaults\": { \"reasoning_effort\": \"medium\" },\n    \"models\": [\n      {\n        \"alias\": \"gpt-4-or\",\n        \"model\": \"openai\u002Fgpt-4.1\",\n        \"askAll\": true,\n        \"consensus\": false\n      },\n      {\n        \"alias\": \"claude-haiku-or\",\n        \"model\": \"anthropic\u002Fclaude-haiku-4-5\",\n        \"askAll\": true,\n        \"consensus\": true,\n        \"reasoning_effort\": \"high\"\n      }\n    ]\n  }\n}\n```\n\nBrowse model slugs at [openrouter.ai\u002Fmodels](https:\u002F\u002Fopenrouter.ai\u002Fmodels?input_modalities=text);\nthe `model` field takes any slug listed there.\n\n`reasoning_effort` (`low` \u002F `medium` \u002F `high`) sets how hard a reasoning model\nthinks. Put it on `openrouter.defaults` to cover every model, or on a single model\nentry to override the default for that one. Precedence runs call argument over\nper-model override over `defaults`.\n\n`\u002Fask-all` includes models where `askAll !== false`, capped to `maxFanout`.\n`\u002Fconsensus` includes models where `consensus === true`, with no fanout cap (a warning\nis emitted when more than 3 models participate). Implementation tasks always route to\nCodex or Gemini - never OpenRouter.\n\nFor the full schema, apiBase override matrix (Ollama, vLLM, LM Studio, HuggingFace),\nfile-attachment caps, session model persistence, consensus cost model, and error kinds,\nsee [TECHNICAL.md - OpenRouter bridge](TECHNICAL.md#openrouter-bridge).\n\nFor provider defaults, environment variables, and manual MCP setup, see [TECHNICAL.md](TECHNICAL.md#environment-variables).\n\n## Author\n\nMaintained by Anton Babenko - [LinkedIn](https:\u002F\u002Flinkedin.com\u002Fin\u002Fantonbabenko), [X\u002FTwitter](https:\u002F\u002Fx.com\u002Fantonbabenko).\n\n## Contributing\n\nContributions welcome. See [CONTRIBUTING.md](CONTRIBUTING.md) for the workflow, commit conventions, and the automated release process. \n\n## Credits\n\nClaude Delegator started as a fork of [jarrodwatts\u002Fclaude-delegator](https:\u002F\u002Fgithub.com\u002Fjarrodwatts\u002Fclaude-delegator) - credit to Jarrod Watts for the original solution and inspiration. Original work and MIT copyright are retained. This fork adds Grok support, Gemini bridge reliability (timeout and trust recovery), provider configuration overrides, and the bundled delegation commands. It is not an official continuation of the upstream project.\n\nExpert prompts are adapted from [oh-my-openagent](https:\u002F\u002Fgithub.com\u002Fcode-yeongyu\u002Foh-my-openagent) (snapshot `03eb9fff`, 2026-05-25) and [PAL MCP server](https:\u002F\u002Fgithub.com\u002FBeehiveInnovations\u002Fpal-mcp-server) (Apache-2.0, snapshot `7afc7c1`, 2026-05-25).\n\n## License\n\n[MIT](LICENSE)\n","Claude Delegator 是一个允许在 Claude Code 中通过 GPT、Gemini 和 Grok 等 AI 模型获取第二意见或仲裁共识的工具。该项目利用 MCP 技术，支持自动路由和合成响应，能够根据需求调用包括 Qwen、Kimi 在内的超过 300 种模型，并提供七位领域专家的角色来审查代码、发现错误并讨论边界情况直至达成一致。适合于需要多模型协作进行代码审查、安全分析及计划评审等场景，帮助开发者提高代码质量和安全性。",2,"2026-05-31 03:54:45","CREATED_QUERY"]