mcpField
B
Benchwarmers

Benchwarmers

ローカル
github.comAI・エージェント12 日前に更新

Benchwarmers について

Benchwarmersは、実際の作業に対する複数のLLMの回答を比較したいチームや開発者向けのセルフホスト可能なパネルゲートウェイです。コレクションでパネルを定義し、記録した評価と交代する探索枠を次回のモデル選択に反映します。

主な機能

  1. 01複数モデルへプロンプトを一括送信
  2. 02作業別にモデルをコレクション化
  3. 03未使用モデルを探索枠にローテーション
  4. 04回答ごとの評価を記録
  5. 05モデルの稼働状況、レート制限、使用量を追跡

活用シーン

  1. 01コードレビューでモデルの回答を比較
  2. 02プロジェクト独自のコードでモデルを評価
  3. 03エージェントのターンをコレクション内のモデルへルーティング
  4. 04未使用モデルを既存モデルとともに評価

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"wendellresearch-ai-benchwarmers": {
"command": "npx",
"args": [
"-y",
"@wendellresearch-ai/benchwarmers"
],
"env": {
"BENCHWARMERS_URL": "<BENCHWARMERS_URL>",
"BENCHWARMERS_KEY": "<BENCHWARMERS_KEY>",
"BENCHWARMERS_TIMEOUT": "<BENCHWARMERS_TIMEOUT>"
}
}
}
}
起動コマンドnpx -y @wendellresearch-ai/benchwarmers
設定が必要な環境変数
BENCHWARMERS_URLYour Benchwarmers server (default http://127.0.0.1:8122). Needs Python 3.11 or later on PATH
BENCHWARMERS_KEYシークレットA gateway key, needed beyond this machine or where the server requires keys
BENCHWARMERS_TIMEOUTSeconds to wait for a panel (default 900)

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@wendellresearch-ai/benchwarmers0.4.0
pypibenchwarmers0.4.0

ツール

3

掲載時のツール一覧 · 1 日前に更新

このツールにパラメーターはありません。

詳細

Wendell Research による Benchwarmers:深紅のチームのベンチに座る名前

最新リリース npm PyPI チェック Docker で実行
OpenAI の Chat Completions API と Responses API Anthropic Messages API Gemini API Ollama API ルートモード経由のツール呼び出しに対応したエージェントクライアント 公式 MCP Registry の MCP サーバー
Python 3.11~3.13 コアに必要なのは Python 標準ライブラリのみ Windows、macOS、Linux MIT ライセンス

コーチ、出番をください。
ベンチにいるすべてのモデルに、出番を与えます。

Benchwarmers は、LLM 用のセルフホスト可能なパネルゲートウェイです。アプリがコレクションの一つをリクエストすると、パネル全体が応答します。その作業に合わせて選んだモデルに加え、使用頻度の低いモデルが順番に入るエクスプローラー枠も含まれます。すべての回答は、モデル名と枠のラベル付きで並べて返されます。実際の作業に照らして回答を確認し、評価を記録すると、その評価に基づいて次のパネルのメンバーが決まります。

特に得意なこと:

  • 複数のモデルに一度に質問できます。 OpenAI、Anthropic、Gemini、Ollama 形式で 1 つのリクエストを送ると、複数の回答がパネルに並びます。意見が分かれたところに注目できます。
  • エージェントにも対応します。 Claude Code などのツール呼び出しに対応したクライアントは、ルートモードを使ってコレクションを利用できます。会話中は各ターンで 1 つのメンバーが選ばれ、選択は維持されます。フェイルオーバーに対応し、すべての呼び出しが記録されます。
  • レビューに活用できます。 コードレビュー、コードについての主張、設計などでは、モデルによって異なる問題を見つけます。2 つのモデルが同意しても、それが正しい証拠にはなりません。
  • モデルごとの強みを生かせます。 作業の種類ごとにコレクション(レビュアー、デザイナー、列挙担当など)を作り、それぞれの作業が得意なモデルを揃えます。
  • すべてのモデルに出番を与えます。 エクスプローラーがベンチの残りのモデルを順番に試すため、新しいモデルや無料モデルも、手動で選ばなくても、信頼しているモデルと並べて試せます。
  • 自分のプロジェクトでベンチマークできます。 自分のリポジトリをもとにしたレビュースイートと、実際の作業に対する評価を使い、公開リーダーボードに頼りません。
  • ベンチから外すべきモデルがわかります。 自信満々に誤った回答をするモデル、回答をやめたモデル(自動的に引退)、レート制限を受けて休止中のモデルを把握できます。
  • 無料モデルや低価格モデルを有効活用できます。 ヘルスプローブ、プロバイダーの通知に基づいて適用されるレート制限、すべてのアプリで使える単一のエンドポイントを備え、OpenAI 互換のあらゆるプロバイダーやハブ、Anthropic と Gemini 独自の API に対応します。
関連ツール例機能Benchwarmers の違い
ゲートウェイとルーターLiteLLM、OpenRouter、Portkey1 つのリクエストを 1 つのモデルに送り、失敗時にフォールバック1 つのプロンプトをパネルに送り、すべての回答を返します。エージェントの場合は、各メンバーの記録に基づいて 1 つのメンバーにルーティングします
評議会とアンサンブルLLM Council、Mixture-of-Agents複数のモデルの回答を 1 つにまとめる誰が何を言ったかが根拠になるため、すべての回答を残します。求められた場合に限り、まとめた要約を 1 つ提示します
並列チャットOpen WebUI、LMArena複数の回答を並べて表示回答ごとの評価を記録し、それを使って次のパネルを選びます
評価ハーネスpromptfoo、Inspect、SWE-bench固定されたテストセットでモデルをオフライン評価実際の作業と自分のコードでモデルを評価し、新しいモデルを継続的に入れ替えます

アプリやエージェントがゲートウェイにコレクションの 1 つを指定してリクエストします。ゲートウェイはパネルのメンバーを配置します。コレクションのメンバーは常に配置され、エクスプローラーは最も長く使われていないモデルを入れ替えて配置します。すべての回答がモデル名と席のラベル付きで並べて返されます。実際の作業と照らし合わせて確認し、評価を記録します。評価、毎日のヘルスプローブ、レビュースイートによってベンチの記録が作られ、その記録に基づいて次のパネルに誰を配置するかが決まります。

目次

日常的な使い方(ダッシュボードの各ページ、アプリの接続、一括オンボーディング)については USAGE.md をご覧ください。サーバーやホスティングプラットフォームでの実行については HOSTING.md をご覧ください。誰かのためにセットアップするコーディングエージェントは、 まず AGENTS.md をご覧ください。

試してみる

v0.3、初期段階です。 Python 3.11 以降を使い、Windows、macOS、Linux で、PyPI、npm、チェックアウト、または Docker から実行できます。まだ粗削りな部分があるため、このページの説明が足りないところはコードを確認してください。

最も手軽な方法は、Python 3.11 以降をインストールして、PyPI から実行することです。

pipx install benchwarmers        # または: uv tool install benchwarmers
benchwarmers                     # または、インストールせずにまず試す場合: uvx benchwarmers

または、Node 18 以降もインストールして、npm から実行します。

npx @wendellresearch-ai/benchwarmers

どちらの方法でも、benchwarmers と短縮名の bench という同じ2つのコマンドを利用できます。データはユーザープロファイルに保存され(別のフォルダーを指定するには BENCHWARMERS_HOME を使います)、初回実行時にセットアップされて、http://localhost:8122 のダッシュボードが開きます。以降の手順3〜5はそこで行います。組み込みのモデルクライアントがすべての呼び出しを行うため、ほかにインストールするものはありません。どちらの方法でも依存関係はありません。このアプリは Python 標準ライブラリで動作します。

ソースから実行する場合:

  1. コードを取得し、Python 3.11 以降の環境を用意します。

    git clone https://github.com/WendellResearch-AI/benchwarmers
    cd benchwarmers
    python -m venv .venv             # pip install は不要です。標準ライブラリで十分です
    

    組み込みのモデルクライアント(metrics/client.py)がすべての呼び出しを行います。プラグインを利用する場合は llm CLI も使えます。venv にインストールし、Settings で選択してください(または BENCH_CLIENT=llm を設定します。こちらが優先されます)。

  2. データフォルダーを作成します。エンドポイント、モデル登録、コレクション、評価結果、プローブ履歴、タスクの回答など、自分のデータはすべてここに保存され、コード内に保存されることはありません。

    python scripts/init.py           # または: python scripts/init.py <folder>
    

examples/ を使ってフォルダーを初期化し(フォルダー名を指定しない場合は、OS のユーザーごとのデータフォルダーに作成します)、.benchwarmers-home ファイルでチェックアウト先にそのフォルダーを設定します。BENCHWARMERS_HOME を設定すると、そちらが優先されます。--endpoint NAME BASE_URL --key を指定すると、最初のエンドポイントも追加され、そのキーの入力を求められます。キーは llm のユーザーフォルダー内のキー用ファイル(keys.json。llm CLI を使っている場合は共有されますが、使っていなければ必要ありません)に保存され、データフォルダーには保存されません。環境変数に BENCHWARMERS_KEY_<NAME> を設定する方法も使えます。

  1. ダッシュボードを起動します。まだエンドポイントがない場合は、追加画面が開きます。各プロバイダーのページからサインインするか(OpenRouter、NanoGPT、Hugging Face、Pollinations、利用中の ChatGPT プラン、GitHub Models、またはローカルの Ollama)、OpenAI 互換 API の API キーを貼り付けてください。Open WebUI や LiteLLM などのハブも利用できます。Anthropic と Gemini のキーも、それぞれのプロバイダー独自の API 経由で呼び出せます(同じダイアログで API を選択します)。ほかのアプリ向けにサインインを提供しているプロバイダーのみ選択肢に表示されます。プロバイダーを追加する場合は metrics/connect.py を編集してください(方法はその docstring に記載されています)。

    python serve.py                  # http://localhost:8122
    
  2. ダッシュボードからいくつかのモデルをオンボードします(「Onboard a model」)。1つまたは複数を選択すると、各モデルが登録され、プローブされ、スイートで実行されます。順番に1つずつ処理され、進捗はボタンの横に表示されます。Quick はプローブを実行し、スイートはスケジュールされた実行に任せます。Quick + ad hoc を選ぶと、ベンチマークがモデルを自動的に呼び出すこともなくなります。従量制またはトライアルのキーを使う場合に便利です。

  3. Collections ページでコレクションを作成します(パネルに常に含めるモデルと、コレクションの用途を設定します)。ダッシュボードは、ゲートウェイのルートに自身のポート(http://127.0.0.1:8122/v1)で応答します。python gateway.py を実行すると、ゲートウェイのみが http://127.0.0.1:8123/v1 で起動します。

仕組み

  • コレクションとシート。 コレクションには、パネルに常に含めるモデルと、その用途(レビュー、設計、列挙など)を指定します。呼び出しのたびに、モデルが使われていない期間に応じて選ばれた探索用のシートが追加されるため、ルーターが問い合わせなくなったモデルについてもベンチが学習を続けます。
  • 判定。 各シートの回答には呼び出し ID が付いています。実際の作業に照らして回答を確認したら、有用だったか、また、主張のうちどれが正しく、どれが誤りだったかを記録します。次のパネルを決めるのは雰囲気ではなく判定です。自信満々に誤答することが多いモデルは、そのように表示されます。
  • カタログ。 コンテキストウィンドウ、出力上限、ツール、ビジョン、価格は、実際にモデルを提供するプロバイダーについては models.dev から取得し、次に OpenRouter の公開カタログと FreeLLMAPI から取得します。また、手動で設定した内容も反映されます。
  • ヘルスチェック。 毎朝、各モデルに一語のプロンプトを送信し、週に一度、速度測定用の短いプロンプトと長いプロンプトを送信します。応答しなくなったモデルや、エンドポイントで提供されなくなったモデルは、確認のための呼び出しを一度行った後、証拠を保存したうえで自動的に廃止されます。ワンクリックで復元できます。組み込みのスケジューラーは、設定で有効にするとこれらすべてを実行します。有効にするまでは、新規インストールで呼び出しは行われません。
  • レート制限と使用量。 制限は、プロバイダーのレート制限ヘッダーやエラーメッセージ、および接続またはモデルごとに設定した値(分、日、月あたりのリクエスト数、分または日あたりのトークン数)から取得します。同じキーを使うモデルは制限を共有するため、接続ごとに保持して適用されます。待ち時間が許容範囲内であれば呼び出しは待機し、そうでなければ送信前に拒否されます。すべての呼び出しはトークン数とともに月次使用量台帳に記録され、「割り当て」ページで残量とリセット時期を確認できます。
  • 検出。 models.dev と FreeLLMAPI の情報を統合し、このインストールから利用できる各ルートとともに、追加候補となるモデルを一覧表示します。

パネルへの質問

OpenAI 互換のクライアントならどれでも使えます。モデル bench/<collection> に質問してください。

curl http://127.0.0.1:8122/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{"model": "bench/<collection>", "messages": [{"role": "user", "content": "この関数が古い値を返す可能性がある箇所はどこですか? ..."}]}'

返信には、各席の回答がメッセージとして含まれ、同じ各席の情報が bench フィールドのデータとして含まれます。内容は model、seat、status、seconds、call id です。回答を1つだけ表示するチャットウィンドウでは、bench/<collection>:merged に質問してください。統合モデルが各席の意見が一致した点と食い違った点を示す回答を1つ作成し、各席の情報は引き続き bench に含まれます。内容を確認したら、呼び出しごとに判定を記録してください。

curl http://127.0.0.1:8122/bench/verdict -H "Content-Type: application/json" \
  -d '{"call": "<call id>", "useful": true, "note": "実際のバグを見つけた", "real": ["..."], "false": ["..."]}'

ダッシュボードからも記録できます。契約の全容(画像、プロンプトのサイズ、呼び出し可能なユーザー、返信の形式)については、GATEWAY.md を参照してください。

その他のクライアント。 同じパネルはほかの API の形式でも回答するため、対応する API のいずれかを使うクライアントなら、サーバーのアドレスをベース URL として使用できます。

形式ルート用途
OpenAI chat completionsPOST /v1/chat/completionsOpenAI SDK、ほとんどのチャットアプリ
OpenAI ResponsesPOST /v1/responsesresponses.create クライアント(何も保存されません)
OpenAI legacy completionsPOST /v1/completionsprompt を送信するツール
Anthropic MessagesPOST /v1/messagesbase_url を指定する Anthropic SDK
OllamaPOST /api/chat、POST /api/generate、GET /api/tagsOpen WebUI の Ollama 接続、Ollama アプリ
GeminiPOST /v1beta/models/bench/<collection>:generateContentbase_url を指定する Google GenAI SDK
curl http://127.0.0.1:8122/v1/messages -H "Content-Type: application/json" \
  -d '{"model": "bench/<collection>", "max_tokens": 1024, "messages": [{"role": "user", "content": "..."}]}'

いずれも要求されるとストリーミングで応答します。返信はすぐに始まり、各席の回答はその席の処理が終わるたびに届きます。パネルはテキストで回答するため、ツールを含むリクエストは、ルートモード(bench/<collection>:route、ツールを使う1つのメンバー。詳しくは下記を参照してください)を指定していない場合、400 エラーで拒否されます。GATEWAY.md の「Other API formats」には、各形式の curl コマンドと、拒否または無視される内容が記載されています。

コマンドラインから

bench(または benchwarmers。同じプログラムです)は、ダッシュボードを使わずに、質問して評価し、ベンチ自体を実行します。起動中のサーバーのクライアントなので、別のマシンにあるサーバーに対しても同じコマンドを使用できます。

bench status                                   実行中のものと、その場所
bench collections                              質問できるもの
bench ask core "Where can this return a stale value?" -f cache.py
git diff | bench ask core "Review this diff"   パイプをプロンプトとして使用
bench verdict <call id> --useful --real "the race in refresh()" --false "the SQL injection"

bench models --find mercury                    モデル一覧と各モデルのステータス
bench candidates --new                         エンドポイントが提供している、まだベンチにないもの
bench onboard <served name> --wait             登録、プローブ、スコアリングを行って登録
bench model retire <alias> --reason "..."      元に戻す場合:bench model restore <alias>
bench collection save reviewers --members a,b,c --description "adversarial review"
bench collection save reviewers --add d --remove a
bench endpoint add openrouter --base https://openrouter.ai/api/v1   (キーの入力を求められ、非表示になります)
bench key create my-app --collections core --rpm 30
bench settings scheduler run --off perf

任意のコマンドに --help を付けると、例とともにオプションが表示されます。また、スクリプト向けに --json を付けると、サーバーからの応答が出力されます。--url を指定すると、1つのコマンドを別のサーバーに向けられます。ask は各シートの回答を標準出力に、評価に使うコール ID の一覧を標準エラー出力に表示するため、bench ask core "..." > review.md とすると回答だけを保存できます。モデルの廃止、コレクションやエンドポイントの削除、キーの失効を行う前には確認が求められます。スクリプトでは --yes で確認に応答します。キーを引数に指定することはできません(同じマシン上の他のユーザーが読み取れるためです)。endpoint add はキーの入力を求めるか、--key-stdin を指定すると標準入力から読み込みます。

PATH 上で別のプログラム(Frappe フレームワークの bench)が先に見つかる場合があります。その場合は、同じコマンドを使える benchwarmers を入力してください。

変数意味
BENCHWARMERS_URLサーバー。デフォルトは http://127.0.0.1:8122
BENCHWARMERS_ADMIN_TOKENサーバーの管理トークン。トークンがある場合、ask、collections、verdict 以外のすべてのコマンドで Authorization: Bearer として送信されます
BENCHWARMERS_KEYゲートウェイキー。キーが必要な場合、ask、collections、verdict で使用します
BENCHWARMERS_TIMEOUTパネルを待つ秒数。デフォルトは 900

終了コード:0 は完了、1 は拒否または失敗(理由は標準エラー出力)、2 は使用方法の誤り、3 は BENCHWARMERS_URL にサーバーがありません。

Claude Code およびその他のエージェントから

benchwarmers mcp は、stdio 上で動作する MCP サーバーで、次の 3 つのツールを提供します。 list_collections、ask(コレクション、プロンプト、任意の merged、 with、system)および verdict です。上記のルートを通じて、すでに 起動している Benchwarmers のクライアントとして動作するため、まずダッシュボード(または サービス)を起動してください。ツールの説明にはルールが記載されています。お気に入りのモデルではなく コレクションに質問すること、行動する前に検証すること、すべての回答者を明記すること、 そして評価した回答者ごとに判定を送信することです。

Claude Code プラグイン。 このプラグインは MCP サーバー、/benchwarmers:ask <collection> <what to ask> コマンド、およびパネルが役立つ場面(敵対的レビュー、実際のファイルを対象にした 網羅的な列挙)と、その評価方法を説明する benchwarmers スキルを追加します。

/plugin marketplace add WendellResearch-AI/benchwarmers
/plugin install benchwarmers@benchwarmers

PATH に Node 18 以降と Python 3.11 以降が必要です。

その他の MCP クライアント(またはプラグインなしの Claude Code):インストール済みの場合は benchwarmers mcp、インストールせずに使う場合は uvx benchwarmers mcp または npx -y @wendellresearch-ai/benchwarmers mcp を実行します。チェックアウトから実行する場合は python mcp_server.py を使います。 例:

{"mcpServers": {"benchwarmers": {"command": "npx", "args": ["-y", "@wendellresearch-ai/benchwarmers", "mcp"],
                                 "env": {"BENCHWARMERS_URL": "http://127.0.0.1:8122"}}}}

ネイティブの Windows では、npx を直接起動できないクライアントの場合、 "command": "cmd", "args": ["/c", "npx", "-y", "@wendellresearch-ai/benchwarmers", "mcp"] が必要です。

変数意味
BENCHWARMERS_URLサーバー。デフォルトは http://127.0.0.1:8122(末尾に /v1 が付いていてもかまいません)
BENCHWARMERS_KEYSettings で取得するゲートウェイキー。Authorization: Bearer として送信されます。別のマシン上のサーバー、またはキーが必須のサーバーでは必要です
BENCHWARMERS_TIMEOUTパネルの応答を待つ秒数。デフォルトは 900 です

コレクション上で動作するエージェント。 MCP ツールはセカンドオピニオンを得るために パネルに質問しますが、エージェントをコレクションによって動作させることもできます。これは ルート モード(bench/<collection>:route)で、記録に基づいて選ばれたメンバーが、ツールとともに各ターンを担当し、 会話全体を通してそのまま使われます。回答前に失敗した場合は、次のメンバーに置き換わります。Claude Code では ANTHROPIC_BASE_URL=http://127.0.0.1:8122 と ANTHROPIC_MODEL=bench/core:route を指定します。Codex、opencode、Cline、およびその他の OpenAI、Responses、Ollama 対応エージェントでは、同じベース URL を使います。 セットアップ方法と制限については、GATEWAY.md の「ルートモード」を参照してください。

スイート

モデルはレビュー作業で採点されます。欠陥のある行を見つけるか、コードに関する主張が 正しいかどうかを判断します。このリポジトリには、スターターパックが含まれています。

  • 実際のバグ(suite/tasks/rebench-*):公開プロジェクトで最近修正されたバグです。 SWE-rebench-V2 データセットから抽出され、それぞれに対照タスクが付属します。
  • 主張(suite/tasks/claim-*):このプロジェクト自身のコードに関する、真偽の異なる記述です。 コードも添付されています。

自分のリポジトリからタスクを追加できます(データフォルダー内の config/repos.json で名前とフォルダーを 対応付けます)。python suite/seed.py --repo <name> を実行すると、実際の関数に現実的なバグを仕込み、 それぞれに正常な対照タスクを用意します。非公開のコードが最適なタスクになります。どのモデルもそのコードで 学習していないためです。suite/README.md、suite/REBENCH.md、 BENCHMARKS.md を参照してください。

Docker とホスティング

1 つのコンテナーで、ダッシュボード、ゲートウェイ(同じポートの /v1)、スケジューラーを実行します。データフォルダーはボリュームとして使用し、llm CLI は不要です(すべての呼び出しは組み込みクライアントが行います)。シークレットを compose.yaml と同じ場所にある .env ファイルに設定します。

BENCHWARMERS_ADMIN_TOKEN=<16 or more characters>
BENCHWARMERS_KEY_OPENROUTER=sk-or-...

次に docker compose up -d を実行し、http://127.0.0.1:8122 を開きます。compose ファイルはこのマシン上でのみ公開します。プロキシについてはコメントを参照してください。

ホスティングして常時稼働: HOSTING.md では、Fly.io、Railway、Render、Caddy を使った VPS を、費用、スリープ、ディスク、HTTPS の観点から比較しています。それぞれのテンプレートは deploy/ にあります。

Render にデプロイ

Render はワンクリックでデプロイできます。1 GB のディスクと生成済みの管理者トークンが付属する有料インスタンスです。Fly.io はチェックアウトから 4 つのコマンドでデプロイできます(cp deploy/fly.toml .、fly launch --copy-config --no-deploy、fly secrets set BENCHWARMERS_ADMIN_TOKEN=...、fly deploy)。Railway は CLI またはブラウザーで数ステップです。詳細は HOSTING.md を参照してください。

マシンの外部に送信されるデータ

Benchwarmers はアカウント、テレメトリー、自前のサーバーを持たず、Wendell Research にデータが送信されることはありません。送信されるデータと送信先は次のとおりです。

  • プロンプト:追加したエンドポイント(プロバイダー、アグリゲーター、Open WebUI などのハブ、またはローカルランタイム)にのみ送信されます。プローブ、スイート、オンボーディングも含まれ、キーを使用して呼び出しを行います。データを送信してもよいエンドポイントのみ追加してください。
  • カタログの読み取り:キーは不要で、あなたのデータも送信されません。models.dev と FreeLLMAPI を 1 日に 1 回、OpenRouter の公開モデル一覧を読み取ります。
  • サインイン:選択した場合に限り、プロバイダー独自のサインインページにアクセスします。
  • チャート:ダッシュボードのブラウザーページでは、固定バージョンの Observable Plot を jsDelivr から読み込みます。
  • 実際のバグに関するタスクのシード:suite/rebench.py を実行した場合に限り、Hugging Face から SWE-rebench-V2 の行を、GitHub からファイルを取得します。

キーは環境変数または llm のキー ファイル(ユーザーフォルダー内の keys.json)に保存され、データフォルダーには保存されません。詳細は PRIVACY.md と SECURITY.md を参照してください。

制限事項

  • ツールはルートモード経由でのみ利用できます。 パネルはテキストで応答します。ツールを使うリクエストは、そこで短縮されるのではなく拒否されます。ルートモードでは、チャット補完エンドポイントを持つメンバーにのみターンが渡されます。スティッキーな会話はメモリ内に保持されるため、再起動するとそれぞれ新たな選択から始まります。Claude Code を使ったエンドツーエンドの動作確認を実施済みです。Codex、opencode、Cline のセットアップは、それぞれのドキュメントに基づいて記述されています。シャドーシート(エージェントのターンに他のメンバーが応答し、評価に使う機能)は、計画中であり、まだ実装されていません。
  • 一部の機能は偽サーバーのみで検証しています。 ネイティブの Anthropic および Gemini エンドポイントと、LiteLLM および CLI Proxy API ハブのアダプターは、それぞれの API のドキュメントとソースに基づいて実装し、偽サーバーに対してテストしています。実際のサービスに対するテストはまだ行っていません。
  • 統合された応答は、マージャーの処理完了後にまとめて届きます。 それより前に、各シートは処理が終わるたびにストリーミングで応答します。
  • ペーシングと台帳の対象は組み込みクライアントです。 llm CLI を選択して経由した呼び出しは、ペーシングもカウントもされません。
  • 呼び出しには費用がかかります。 プローブ、オンボーディング、スイートの実行には、お使いのキーと無料枠を使用します。そのため、オンボーディングでは一度に 1 つのモデルを実行します(Quick では、スケジュールされたパスにスイートを分散します)。スイートの各パスはペース配分され、まとめて実行されることはありません。
  • スケジューラーはサーバー内で動作します。 ジョブはダッシュボード(またはコンテナー、サービス)の稼働中に実行されます。実行を逃したジョブは、再稼働時に 7 日以内であれば 1 回だけ補完されます。
  • 基本的には、1 インストールにつき 1 人での利用を想定しています。 LAN やサーバー向けにログイン機能とゲートウェイキーがありますが、ユーザーごとのビューやロールはありません。
  • オンボーディングキューはダッシュボードのメモリ内にあります。 再起動すると、バッチの残りは破棄されます。開始済みの各モデルのログは runs/ に残ります。
  • 無料枠は予告なく変更されます。 Discover の価格は公開カタログを参照します。また、一部プロバイダーの無料モデルは、そのプロバイダーのアプリでのみ動作します(Settings でプロバイダーごとに切り替えます)。

セキュリティ

どちらのサーバーも、デフォルトでは 127.0.0.1 で待ち受け、各自のホスト名に対する同一オリジンからの書き込みのみを受け付けるため、ブラウザーで開いた Web ページからサーバーを操作することはできません。それ以外で待ち受けるには、先に BENCHWARMERS_ADMIN_TOKEN を設定してください。設定されていない場合、サーバーは起動を拒否します。設定すると、ダッシュボードではログインが求められ、ゲートウェイでは名前付きの取り消し可能なゲートウェイキーを使用します。Settings の Server and access では、この状態(シークレットが設定されているかどうか。値そのものは表示されません)を確認できます。

セキュリティモデル全体と脆弱性の報告方法については、SECURITY.md をご覧ください。

開発

python scripts/check.py             # すべてのセルフチェックとテストを実行します(--quick は時間のかかるテストを省略します)

コア機能は Python 標準ライブラリのみで構成されています。CI では Linux と Windows で Python 3.11 から 3.13 までのチェックを実行し、macOS でも実行します。

Benchwarmers は、まだ外部からのコントリビューションを受け付けていません。プロジェクトがより確立した段階で受け付けを開始します。セキュリティ上の問題は SECURITY.md を通じてご報告ください。

ライセンス

MIT、Copyright (c) 2026 Wendell Research(LICENSE)。スタータータスクと同梱フォントには、それぞれ独自のライセンスがあり、NOTICE に記載されています。利用には TERMS.md も適用されます。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。