code-quorum
code-quorum
独立したレビューは、エージェンティックツールを使う上で重要な部分になっています。同様の取り組みに触発され、私はCode Quorumを自分のために構築し、他の人にも役立つかもしれないので共有しています。
Code Quorumは、Claude CodeとCodexのためのmacOSマルチエージェント評議会です。アクティブなホストは自身のレビュー、評価、または計画を作成し、外部シートは並行して作業します。構造的な反バイアスゲートにより、最終的な統合まで各視点の独立性が保たれます。
既存のClaude Code、ChatGPT/Codex、Gemini/Antigravityのサブスクリプションを利用できます。OpenCodeシートはOpenRouterを使用し、デフォルトモデルはDeepSeek V4 Flashです。両方のCLIホストがサポートされており、ChatGPTデスクトップアプリのCodexとClaudeデスクトップアプリのCodeサーフェスもサポートされています。
ホスト | デフォルトの外部評議会 |
Claude Code | Codex + Gemini + OpenCode |
Codex | Claudeサブスクリプション + Gemini + OpenCode |
ホストがサブプロセスシートになることはありません。start/await分割では、q_awaitがピア出力を公開する前にホストが自身の回答を形成する必要があり、すべての評議会スキルは、開始と同じターンでブロッキング完了通知を呼び出します。
外部シートは読み取り専用ですが、読み取り専用はデータローカルを意味しません。プライベートな資料でCode Quorumを使用する前に、セキュリティとデータ境界を確認してください。
リポジトリを読み取るすべてのMCP評議会の開始には、明示的な絶対プロジェクトcwdが必要です。MCPツールは、省略または空白の値を拒否し、サーバーのプラグインキャッシュやランタイムディレクトリにフォールバックしません。ホストスキルは、通常の/q-*および$code-quorum:q-*使用中にこの値を提供します。プランとスコープファイルもそのディレクトリ内で解決する必要があります。絶対パス、..トラバーサル、シンボリックリンクエスケープは、内容が読み取られる前に拒否されます。
ワークフロー
ホストは、一致する平易な言語のリクエストからワークフローを選択できます。明示的に選択するには、以下のフォームを使用してください。
ワークフロー | Claude Code | Codex | Shell |
プラン |
|
|
|
ブレインストーム |
|
|
|
スカイストーム |
|
| ホスト専用スキル |
検証 |
|
|
|
レビュー |
|
|
|
リサーチ |
|
|
|
ヘルプ |
|
| ホスト専用スキル |
uv run quorum --helpは正確なシェルサーフェスを一覧表示します。主な修飾子は次のとおりです。
オプション | 効果 |
| ホストのブレインストーミングに別の発散ラウンドを追加するか、検証/レビューをスタンスローテーション付きの4ラウンドに拡張します。 |
| 後の検証/レビューラウンドで、合意に向けて修正する代わりにピアの立場を攻撃します。 |
| コードベース全体のレビューについて、範囲内、範囲外、許容リスク領域を宣言します。 |
| ホストのリサーチが直接の先行技術ではなく、クロスドメインの類似性を探すようにします。 |
| モデルの事前知識のみでブレインストーミングまたはスカイストームを実行します。 |
リサーチソースと認証情報
q-researchはデフォルトで6つのソースすべてをクエリします。--source <name>を繰り返して、実行を制限します。
ソース | ターゲット | 認証情報ポリシー |
arXiv ( | arXiv検索からの学術論文とプレプリント。 | なし。 |
OpenAlex ( | 最近の作品と要約。探索モードではサブフィールドマップも生成します。 | 通常のOpenAlex使用には |
Europe PMC ( | bioRxiv、medRxiv、Research Squareなどのライフサイエンスプレプリント。arXivレコードは除外されます。 | なし。 |
Context7 ( | 信頼性の高いライブラリマッチとドキュメントスニペット。 | 匿名リクエストはレート制限される可能性があるため、 |
GitHub ( | 名前、説明、トピックで一致する公開リポジトリ。スター数でランク付けされます。 | より高い制限には |
Hugging Face ( | ダウンロード数でランク付けされた公開モデルIDとメタデータ。用語フォールバック結果には | アカウントレベルのHub制限には |
Code Quorumはプロセス環境から認証情報を読み取り、トークンを認証ヘッダーでのみ送信します。生成されたCodexアダプターは名前付き変数を転送しますが、その値をプラグインアーティファクトに保存しません。OpenAlexは通常の使用にキーを必要とする唯一のソースです。他のソースは信頼性またはレート制限を向上させます。
チェックアウトからHugging Face検索を検証するには、次のようにします。
uv run quorum research "sentence embedding" --source huggingface --limit 5
uv run pytest tests/test_research_live.py -m live -k huggingface -qCLIチェックはモデルリンクとゼロ以外のHuggingFaceソースカウントを返す必要があります。ライブテストは、直接検索、設定済みトークン認証、特徴的な用語の和集合、完全なresearch_topicパスをカバーします。トークンがない場合、認証テストはスキップされますが、匿名チェックは引き続き実行されます。
要件
Code Quorumは現在macOSをサポートしており、Python 3.13+、uvパッケージマネージャー、および使用するシートのバイナリが必要です。各シートは独自のログインまたはキーに依存します。Code Quorumは認証情報の値をプラグインアーティファクトに書き込みません。シートCLIは、SECURITY.mdで説明されているように、独自の認証とランタイム状態を保持します。
シート | バイナリ | 認証 | コスト |
codex | CLI独自のログイン( | ChatGPTサブスクリプションまたはメータリングAPIキー | |
gemini |
| Google AIサブスクリプション。メータリング | |
opencode | 環境内の | OpenRouterを通じてメータリング | |
claude (Codexホストのみ) | CLI独自のclaude.aiログイン | Claudeサブスクリプションのみ。APIキールーティングは削除されます |
GeminiシートはmacOS Seatbeltサンドボックスに依存します。Claudeは代わりに読み取りツールの許可リストを使用します。Codexホストは、ClaudeおよびGeminiシート用に、範囲が狭いLaunchAgentヘルパーも必要とします。CodexとOpenCodeにはSeatbelt依存関係はありませんが、他のプラットフォームではテストされていません。
インストール
安定版チェックアウトをクローンし、シートを設定します。
git clone https://github.com/sdewell/code-quorum.git
cd code-quorum
uv sync
agy # complete Google OAuth login, then exit
uv run quorum setup-agy # one-time Gemini seat config
uv run quorum setup-models --host claude # use --host codex for Codex
uv run quorum doctor --host claude # or codex / both
uv run quorum auth-check --seat gemini --host claudedoctorはバイナリ、設定形状、サンドボックスの準備状況をチェックします。ライブ認証情報はテストしません。auth-checkは、シートが使用するのと同じサンドボックス内でagy modelsを実行し、モデルプロンプトを送信せずに少なくとも1つの有効なモデル行を必要とします。ログインが欠落または失効している場合、ユーザーを対話型agyに戻します。Code QuorumはサイレントにメータリングAPIルートに変更することはありません。
Codexホストでは、Codex認証チェックの前に、実際のターミナルからヘルパーをインストールして検証します。
uv run quorum install-seat-helper-launchagent # --allowed-root <dir> to widen
uv run quorum seat-helper-status
uv run quorum auth-check --seat gemini --host codexすべてのMCPワークフローは、デフォルトで~/Codeと~/srcの下のcwdを許可します。Codexヘルパーは、ClaudeまたはGeminiリクエストを受け入れる前に同じルートを適用します。CODE_QUORUM_HELPER_ALLOWED_ROOTSを設定するか、--allowed-rootオプションを繰り返してヘルパーをインストールし、他のプロジェクトルートを使用します。Code Quorumをアップグレードするたびに、更新された安定版チェックアウトから再インストールしてください。互換性のないヘルパープロトコルはフェイルクローズし、Codexの置き換え可能なプラグインキャッシュからのインストールは拒否されます。
読み取り専用境界
すべての外部シートは読み取り専用であり、境界を適用できない場合は実行を拒否します。強制はシートによって異なります。Codexはネイティブの読み取り専用サンドボックスを使用し、Claudeは読み取りツールのみを公開し、GeminiはmacOS Seatbeltを使用し、OpenCodeは制限付き権限を持つ分離されたHOMEを使用します。
GeminiのSeatbeltプロファイルは、他のホームディレクトリの読み取りを拒否し、agy認証とランタイム状態の明示的な例外があります。$HOME外の読み取り可能なパスを拒否しません。Code Quorumは、Claude、Codex、またはOpenCodeに普遍的なパスフェンスを提供しません。評議会資料は、ユーザーの設定済みプロバイダーアカウントでマシンから出ることができます。完全な境界テーブル、データ流出マップ、厳密な分離ガイダンス、および認証情報の処理は、SECURITY.mdにあります。
Codexでのデータと承認
Codexは、ツール承認、ファイルシステムの封じ込め、およびオフマシンへの資料送信の承認を別々の決定として扱います。main...HEADなどのターゲットは、準備されたレビューディフの範囲を制限します。外部シートの作業ディレクトリへの読み取り専用アクセスを制限するものではありません。
approvals_reviewer = "auto_review"が有効な場合、評議会の開始には、ペイロードと受信者を指定する明示的な承認が必要になる場合があります。無人アクセスを希望するユーザーは、ツールごとにオプトインできますが、Code Quorumはこれらの承認エントリを自分で書き込むことはありません。
SECURITY.md には、一回限りの認可の例、6つすべての Codex 承認ブロック(共有の q_await ツールを含む)、プロジェクトの AGENTS.md ガイダンス、パス制限、および承認を保持する更新手順が含まれています。無人ワークフローを有効にする前に確認してください。
設定
各シートは、1つのラダーを通じてモデルを解決します。最初に一致したものが優先されます。実行ごとのフラグ -> 環境変数 -> quorum setup-models によって記録された選択 -> 出荷時のピン、の順です。記録された選択は静かに変更されることはありません。それを尊重できないシートは大きなエラーを出して失敗しますが、残りのカウンシルは続行します。
uv run quorum setup-models --host claude
uv run quorum setup-models --seat codex --model gpt-5.6-terra --effort mediumVariable | Effect |
| デフォルトのホストプロファイル( |
| Gemini シートモデル( |
|
|
| OpenCode シートモデル |
|
|
| Claude シートモデルと effort |
| Codex シートモデルと推論 effort |
OpenCode 設定
OpenCode シートには OPENROUTER_API_KEY が必要で、個人の OpenCode 設定は読み込まれません。分離された HOME を使用し、実行のたびにこの生成された設定を再構築します。出荷時のモデルは openrouter/deepseek/deepseek-v4-flash で、その OpenRouter の chunkTimeout は 90000 ミリ秒です。
Code Quorum は OPENCODE_DISABLE_PROJECT_CONFIG=1 と OPENCODE_PURE=1 を設定します。生成されたカウンシルエージェントは Read、glob、list のみを許可し、シェルおよび変更ツールを拒否し、.env と .env.* をブロックし、.env.example を許可します。失敗または空の実行は、CODE_QUORUM_OPENCODE_DEBUG=0 が設定されていない限り、生の stdout/stderr キャプチャを ~/.cache/code-quorum/opencode-debug に書き込みます。ディレクトリは 0700、キャプチャファイルは 0600 で、プロンプトテキストはコマンドメタデータから省略され、最新の20件のキャプチャのみが保持されます。生のストリームにはレビュー済みの資料が含まれる場合があります。完全な境界設計については、ARCHITECTURE.md と SECURITY.md を参照してください。
シートの無効化
ライブプローブがシートの不在またはログアウトのために失敗した場合、quorum setup-models は models.toml 内でそのシートを disabled とマークできます。無効化されたシートはデフォルトのロスターではスキップされ、doctor によって報告されますが、明示的な --agent <seat> リクエストでは引き続き実行されます。
プラグインとしてインストール
Claude Code:
/plugin marketplace add sdewell/code-quorum
/plugin install code-quorum@code-quorumClaude Code CLI の場合、ホストを起動する前に OPENROUTER_API_KEY とオプションのリサーチキーを読み込んでください。例:
source ~/.zshrc.local
claudeClaude デスクトップアプリの場合、開く前に現在の macOS ログインセッションでキーを利用可能にしてください:
source ~/.zshrc.local
launchctl setenv OPENROUTER_API_KEY "$OPENROUTER_API_KEY"launchctl の値は、設定が解除されるか、ログアウトするか、マシンが再起動するまで、その後起動されるすべてのアプリケーションに継承されます。Claude Code を起動し、ログインセッションのコピーを削除してください。すでに実行中のアプリは、プラグインのサブプロセス用にそのコピーを保持します:
launchctl unsetenv OPENROUTER_API_KEYプラグインのインストールまたはアップグレード後、またはキーを変更した後は、Claude Code を完全に終了し、新しい Claude Code セッションを開始してください。プラグインのリロードはコードの変更を反映できますが、実行中のホストが継承する環境を変更することはできません。
Claude プラグインは、uv run --directory ${CLAUDE_PLUGIN_ROOT} quorum-mcp で MCP サーバーを起動するため、uv と Python 3.13+ が PATH 上にある必要があります。
Codex:
パブリックマーケットプレイスを登録し、プラグインをインストールしてください:
codex plugin marketplace add sdewell/code-quorum --ref main
codex plugin add code-quorum@code-quorum
codex plugin listChatGPT デスクトップアプリの場合、マーケットプレイスを登録した後、アプリを完全に終了して再度開いてください。Plugins を開き、Personal を選択し、Code Quorum を選択して、Install をクリックします。
いずれかの Codex サーフェスがプラグインをインストールした後、実際のターミナルから安定したチェックアウトを準備してください:
uv sync
uv run quorum install-seat-helper-launchagent
uv run quorum seat-helper-statusCodex ランチャーは、そのチェックアウトの準備済み .venv を直接起動します。したがって、MCP の起動は、書き込み可能な uv キャッシュ、ネットワークダウンロード、または置き換え可能なプラグインディレクトリ内の環境に依存しません。アップグレードのたびに、チェックアウトをプルし、uv sync を実行し、新しい Codex スレッドを開始する前にヘルパーを再インストールしてください。
Codex CLI では、/hooks を開いて各 code-quorum コマンドフックを確認し、信頼してください。Codex は、各現在の定義ハッシュが信頼されるまでプラグインフックをスキップします。変更された定義は、その変更された定義に対して再確認と信頼が必要です。
生成されたランチャーは、最小限の PATH を持つデスクトップアプリのために、標準のユーザーおよび Homebrew のバイナリディレクトリ(~/.local/bin、~/.opencode/bin、/opt/homebrew/bin、/usr/local/bin)を復元します。
Codex CLI の場合、Codex を起動する前にキー環境を source してください。ChatGPT デスクトップアプリの場合、現在の macOS ログインセッションでキーを設定してください:
source ~/.zshrc.local
launchctl setenv OPENROUTER_API_KEY "$OPENROUTER_API_KEY"この値は、削除されるまで、その後起動されるすべてのアプリケーションに表示されます。Codex を起動し、ログインセッションのコピーを削除してください。実行中のアプリは、すでに継承した値を保持します:
launchctl unsetenv OPENROUTER_API_KEYプラグインのアップグレードまたはキー変更後は、Codex を完全に終了して再度開き、新しい Codex スレッドを開始してください。再起動前に作成されたスレッドを再開しないでください。そのツールレジストリは、以前のプラグインプロセスを参照している可能性があります。
承認を保持する更新では、通常のパスとして codex plugin remove を使用しないでください。SECURITY.md の検証済みの手順に従ってください。
設計
ARCHITECTURE.md は、共有 CLI/MCP スパイン、シートアダプター、ラウンドモデル、反バイアスメカニズム、パッケージング、および障害境界について説明しています。簡単に言うと、ラウンド1にはピア出力が含まれず、後のラウンドではピアをスタンスによって匿名化し、ホストは q_await までカウンシルマトリックスを受け取りません。
謝辞
これらのプロジェクトはワークフローの形に影響を与えました。コード、プロンプト、ドキュメントはコピーされていません:
SnakeO/claude-co-commands - ピア出力前の独立したホスト作業。
agentic-box/owlex - マルチエージェントカウンシルアーキテクチャと認知ロール。
karpathy/llm-council - モデル ID ではなくコンテンツによる匿名化されたピアレビュー。
ライセンス
MIT.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Cross-agent artifact workspace with provenance across Claude Code, Codex, Cursor, LangGraph.
Coding agents from Claude Code, Cursor and Codex claim jobs and lock files on one shared board.
Adaptive plan/build/review cycles for AI coding assistants, persisted across sessions.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/sdewell/code-quorum'
If you have feedback or need assistance with the MCP directory API, please join our Discord server