ドキュメント · ガイド

はじめに

magpie は、各エージェントが使うモデルを一か所で選べるツールです。手持ちのプロバイダを追加し、エージェントごとにモデルを選ぶと、magpie がそのエージェント自身の設定に書き込みます。

その裏では、小さなゲートウェイがあなたのマシンの 127.0.0.1:3425 で動いています。OpenAI、Anthropic、Gemini の API を話し、ストリーミングやツール呼び出しも含めて相互に変換するので、どのエージェントでもどのプロバイダのモデルでも使えます。たとえば ChatGPT プランの GPT モデルで動く Claude Code、DeepSeek で動く Codex、Claude プランで動く OpenCode といった具合です。

プロバイダ

モデルの提供元です。サインインするサブスクリプション、API キーを持っているベンダー、そして自前のエンドポイント。各モデルは provider/model という名前で呼ばれます。

エージェント

モデルを使うツールです。Claude Code、Codex、Gemini CLI、OpenCode など。1 つにつき 1 行で、設定中のモデルが表示されます。

ゲートウェイ

magpie 経由でモデルを選んだときに、すべてのエージェントの接続先となるローカルのエンドポイントです。各リクエストを、そのモデルを提供する先へ送ります。

ルーティンググループ

任意です。複数のモデルやアカウントを、エージェントが 1 つとして選べるようにまとめたもの(group/<id>)。どれかのクォータが尽きたときに役立ちます。

  1. プロバイダを追加するサブスクリプションにサインインし、API キーを貼り付けます。一度で済みます。
  2. エージェントごとにモデルを選ぶエージェントのモデルをクリックして選びます。magpie がそのエージェントの設定を書き換えます。
  3. 新しいセッションを始めるエージェントは起動時に設定を読むので、次のセッションから新しいモデルが使われます。

1 · プロバイダを追加する

Providers タブを開き、+ Add provider を押します。タイルを選ぶか、ベンダー名を入力して探します。

プロバイダの追加シート:サブスクリプション、ベンダー、中継サービス、このマシン上のもの、カスタム URL プロバイダの追加シート:サブスクリプション、ベンダー、中継サービス、このマシン上のもの、カスタム URL
プロバイダの追加:サブスクリプションにサインインする、ベンダーを選ぶ、または互換性のある任意の URL を指定する。

サブスクリプション · サインインのみ、キー不要

Claude(Pro、Max、Team)、ChatGPT(Plus、Pro、Business)、Cursor、Grok(SuperGrok)、Copilot、Devin。タイルをクリックすると、magpie がブラウザでベンダー自身のサインインページを開き、完了するとすぐにアカウントが表示されます(Copilot では GitHub のページに入力するコードが表示されます)。サブスクリプションは他のエージェント内でログインするのではなく、ここ magpie で追加します。

ベンダー

Anthropic、OpenAI、Google Gemini、DeepSeek、Kimi、Zhipu GLM、MiniMax、Qwen、Mistral、Groq、xAI など。1 つ選んでキーを貼り付け(Get a key ↗ はベンダーのキー発行ページへのリンクです)、保存します。magpie はベンダーに提供モデルを問い合わせてそれを候補に出します。プロバイダの行を開くと、エージェントに見せるモデルを選んだり、Test で動作確認したりできます。

このマシン上

Ollama と LM Studio。キーは不要です。

カスタム · 互換性のある任意の URL

それ以外のものには、Name、OpenAI compatible のベース URL(末尾は /v1)、Anthropic compatible のベース URL(ルート、つまり ANTHROPIC_BASE_URL に指定するもの)のどちらかまたは両方、そしてキーを入力します。エンドポイントが話す API はすべて指定してください。各エージェントはネイティブに話せる API を使い、それ以外は magpie が変換します。

Claude Code や Codex でプロバイダを設定済みですか? シート上部の Import… は Claude Code の settings.json と Codex の config.toml を読み取り、それらには一切手を加えずに、チェックしたプロバイダを取り込みます。

キーは ~/.config/magpie/providers.json に保存され、あなただけが読めます。magpie はシェルの環境変数からキーを読みません。追加したものだけが使われます。

2 · エージェントごとにモデルを選ぶ

Agents タブには、このマシンにインストールまたは設定されているエージェントごとに行があります。magpie が対応しているのは Claude Code、Codex、Gemini CLI、OpenCode、MiMo Code、Pi、Goose、Cursor、Copilot CLI、Crush、DeepSeek Harness、Command Code、omp、OmO、Devin、Hermes Agent、MiniMax Code、Grok Build、ZCode、OpenHanako、Alma です。

エージェントタブ:エージェントごとに使用中のモデルを示す行と、下部に保存済みのプロファイル エージェントタブ:エージェントごとに使用中のモデルを示す行と、下部に保存済みのプロファイル
エージェントごとに 1 行。どのプロバイダのモデルでも選べ、プロファイルですべてを一度に切り替えられます。

モデルを選ぶと、エージェント自身の設定ファイルに書き込まれます。変更されるのは magpie が必要とするキーだけで、コメント、順序、インデントはそのまま残り、書き込みはアトミックに行われます。

エージェントmagpie 経由のモデルで書き込まれる内容
Claude Code~/.claude/settings.json:env ブロック内の ANTHROPIC_BASE_URL、ANTHROPIC_AUTH_TOKEN とモデル関連の変数
Codex~/.codex/config.toml:[model_providers.magpie] テーブルとモデル、一覧は magpie-models.json。ChatGPT のサインインには手を加えません
OpenCode、MiMo Code、Pi、Crushmagpie プロバイダのエントリと magpie/provider/model
AtomCode~/.atomcode/config.toml:magpie プロバイダアカウントと、カタログ内の各モデルのエントリ
Gemini CLIゲートウェイを指す GOOGLE_GEMINI_BASE_URL、API キー認証、そしてモデル

実行中のセッションは、開始時のモデルを使い続けます。 エージェントは起動時に設定を読むので、変更は次のセッションから反映されます。Codex は起動時にモデル一覧も作るため、切り替えたら Codex アプリと開いている codex セッションを再起動してください。

Paseo やエディタ拡張などのフロントエンドで Claude Code や Codex を代わりに動かすものは、同じ CLI を起動し、同じ ~/.claude または ~/.codex の設定を読みます。magpie で一度モデルを設定すれば、それらにも次のセッションから反映されます。

3 · 任意:ルーティンググループ

プロバイダごとにアカウントが 1 つなら、ここは読み飛ばして構いません。ChatGPT アカウントが 2 つある、あるいは同じモデルをサブスクリプションとキーの両方で使えるなど、複数あるときに意味を持ちます。

ルーティングタブ:4 つのエージェントが 3 つのルーティンググループを通して同時に送信し、レート制限中のプロバイダは外れている ルーティングタブ:4 つのエージェントが 3 つのルーティンググループを通して同時に送信し、レート制限中のプロバイダは外れている
ルーティンググループ:複数のモデルやアカウントを 1 つの名前にまとめ、スマートまたは順番どおりにフォールバックします。

1 つのプロバイダに複数のアカウントやキー

プロバイダの行を開き、使うアカウントやキーをすべてチェックします。Routing はリクエストをそれらにどう振り分けるかを決めます:Smart(デフォルト)、In order、In turn、Least used first、Weekly pace。Fallback には、プロバイダのクォータ切れ、レート制限、ダウン時に代わりに使うモデルを並べます。

1 つのモデルを複数のプロバイダで

グループとは、1 つまたは複数のプロバイダのモデルを、エージェントが 1 つとして選べるようにまとめたものです。ピッカーの Routing groups の下に group/<id> として表示されます。2 つのプロバイダが同じ名前で提供しているモデルは、それだけでグループになります。Routing タブの New group では、好きなモデルを組み合わせてグループを作れます。グループで何ができるかは、最初のモデルが基準になります。

何もしなくてもできるグループ。 すでに持っているモデルを提供する 2 つ目のプロバイダを追加すると(Claude サブスクリプションと Copilot の Claude Opus、DeepSeek 自身の API と OpenRouter の DeepSeek など)、magpie はそれを提供するすべてのプロバイダにまたがるグループ group/auto-<model> を自動で作ります。名前はベンダーごとの表記の違い(deepseek/deepseek-chat、deepseek-chat)を吸収して照合されます。エージェントにこれを選ぶとリクエストがすべてに分散されます。不要なものは magpie group rm で非表示にできます。
ルーティング先に使われるもの
スマート smartデフォルトです。メンバーのアカウントとキーをまとめて扱い(グループ内のグループは 1 つとして扱います。下記参照)、クォータに余裕のあるサブスクリプションのうち、利用枠が最も早く更新されるもの。基準は週の枠です。週の枠がなく 5 時間枠だけのアカウント(Claude Enterprise)は 5 時間枠で判断されるため、それより後に週の枠が更新されるものすべてより先になります。失敗後に休止中のものは最後に回ります。
順番どおり order最初のモデルが応答できなくなるまでそれを使い、次へ進みます。
持ち回り rotate各会話の次のターンを、次のメンバーのアカウントやキーに送り、負荷を分散します。
使用量の少ない順 usage利用枠の残りが最も多いアカウントやキー。
週のペース pace更新までの 1 時間あたりの週の枠の残りが最も多いアカウント、つまりリセット時に失う分が最も多いもの。これにより各メンバーの週の枠がリセットで無駄になりにくくなります。週の枠がなく 5 時間枠だけのアカウント(Claude Enterprise)は、更新までの 1 時間あたりの 5 時間枠の残りで判断されるので、ほぼ常に最初になります。使用率が 90% 以上のものは、他が応答できなくなるまで待ちます。キーは最近送ったトークン数で判断します。
維持会話が、応答したアカウントやキーに留まる期間
自動 autoデフォルトです。ターン内では常に、ターンをまたいでは、ベンダーがキャッシュした内容が保持する価値のある間。
セッション session応答できる限り、セッション全体。
ターン内 turnエージェントがツールの結果を返している間。あなたが再び発言すると、ルーティングが改めて決めます。
オフ offリクエストごとに改めてルーティングします。

ルール · ターンを指定したモデルへ

グループの Rules は、指定した種類のターンをグループ内の特定のモデルに送ります。種類とは、長いもの(tokens ≥ N)、画像を含むもの、推論を求めるもの(オン、または一定レベル以上)、特定のエージェントからのもの、あなたが記述した内容を求めるもの(インテント)、エージェントがコンテキストを圧縮するもの、です。メッセージを送ると上から順に評価され、最初に一致したルールのモデルが先頭になり、失敗したときはグループの他のモデルが後に続きます。どのルールにも一致しないターンは、グループの通常のルーティングに従い、それまでの送り先に留まります。

グループの中のグループ

グループのモデルには別のグループも含められます。Add a model の Routing groups の下から選ぶか、ターミナルで models+=group/<id> を使います。中に入ったグループは順序の中でその位置を占め、自分のモデルの間では自分のルーティングとルールに従って振り分けます。たとえば Coder を deepseek-v4-pro、次に Fast とし、Fast は安いモデルを独自の順序で並べる、といった構成ができます。Coder のルールでターンを group/fast に送れば、どのモデルを先にするかは Fast 自身のルールが決めます。

グループの中にグループがある ルーティングタブ:Coder には deepseek-v4-pro とグループ Fast があり、Fast の下に deepseek-v4-flash と kimi-k2.5 が並ぶ。応答したのは Kimi グループの中にグループがある ルーティングタブ:Coder には deepseek-v4-pro とグループ Fast があり、Fast の下に deepseek-v4-flash と kimi-k2.5 が並ぶ。応答したのは Kimi
Coder のルールがちょっとした質問をグループ Fast に送り、Fast 自身のルールがそこで Kimi を先頭にしました。トレースには、各グループのルールと分類モデルが何を決めたかが表示されます。

Routing タブには、ゲートウェイの判断がリアルタイムで表示されます。各リクエストに誰が応答したか、そしてその理由です。同じグループをターミナルから扱うと次のとおりです:

ターミナル
magpie groups                        # 自分のグループ、次に magpie が見つけたもの
magpie group add "Opus anywhere" models=claude/claude-opus-5-5,copilot/claude-opus-5.5 routing=order stays=session
magpie group set opus-anywhere models+=openrouter/anthropic/claude-opus-5.5
magpie group rule add opus-anywhere use=openrouter/anthropic/claude-opus-5.5 tokens=150k  # 長いターンはまずこれへ
magpie group rule add opus-anywhere use=copilot/claude-opus-5.5 intent="ちょっとした質問" classifier=groq/llama-3.1-8b-instant
magpie group rule add opus-anywhere use=deepseek/deepseek-v4-flash compact  # /compact の要約は安いモデルへ
magpie group set coder models+=group/opus-anywhere  # グループの中のグループ
magpie group rule opus-anywhere      # ルール一覧。rule rm|mv <n>、rule classifier <group> <model>
magpie group rm opus-anywhere        # magpie が見つけたものは非表示に。magpie group restore <id> で戻す
magpie claude group/opus-anywhere    # これを使う

使用量とプロファイル

使用量。 Usage タブでは、ゲートウェイを通ったすべての呼び出しについて、エージェントとモデルごとのトークン、キャッシュヒット、コストを Today、7 days、30 days、All の期間で集計します。上部にはサブスクリプションの利用枠の使用量と、そのリセット時刻が表示されます。エージェントが自分のベンダーへ直接行う呼び出しは magpie を通らないため、集計されません。

使用量タブ:残高、トークンとコストの合計、30 日間のグラフ 使用量タブ:残高、トークンとコストの合計、30 日間のグラフ
ゲートウェイを通ったすべての呼び出しの残高、トークン、キャッシュヒット、コスト。

プロファイル。 Agents タブの下部にある + Save current で、全エージェントの設定を名前を付けて保存できます。チップをクリックすれば、すべてを一度に元に戻せます。

ターミナルから

magpie tui はターミナルで動くアプリ全体で、上記の各手順にはそれぞれコマンドがあります。magpie help ですべて確認できます。

コマンド内容
magpie ls見つかったすべてのエージェントとその設定
magpie presetsmagpie が知っているベンダー
magpie provider add deepseek sk-…プリセットをキー付きで追加
magpie accounts add codexClaude または ChatGPT のサブスクリプションをもう 1 つサインイン
magpie providersプロバイダ一覧:ホスト、キー、モデル、使っているエージェント
magpie modelsエージェントが選べるすべてのモデル(provider/model 形式)
magpie claude codex/gpt-5.5エージェントのモデルを設定
magpie codex effort high他の項目を設定
magpie codex defaultエージェント自身のデフォルトに戻し、magpie の設定を取り除く
magpie save work · use workプロファイルを保存・適用
magpie usage 7dエージェントとモデルごとのトークンとコスト
magpie trayメニューバーのアイコンだけで起動

よくある質問

OPENAI_BASE_URL や ANTHROPIC_BASE_URL を export する必要はありますか?

いいえ。magpie が一覧に表示するエージェントについては、ゲートウェイのアドレスとトークンをエージェント自身の設定ファイルに書き込みます。これらの変数は、ベース URL を設定できる他のツール向けです。Gateway タブの Connect セクションに、コピーボタンとスニペットとして用意されています。

magpie は起動しておく必要がありますか?

magpie 経由のモデルを使うなら必要です。ゲートウェイはアプリと一緒に動きます。ウィンドウを閉じてもメニューバーやトレイで動き続けます。magpie tray はアイコンだけで起動し(ログイン項目に入れておくと便利です)、magpie serve はゲートウェイだけを動かします。エージェント自身のモデルと自身のサインインで動くエージェントは、magpie を通りません。

エージェントを元の状態に戻すには?

ピッカーでエージェント自身のモデルを選ぶか、magpie <agent> default を実行します。magpie は自分が書き込んだものを取り除き、以前に設定していた ANTHROPIC_BASE_URL など、置き換えた値を元に戻します。

モデルを切り替えたのに、エージェントが古いモデルを使い続けます。

実行中のセッションは開始時の設定を使い続けます。新しいセッションを始めてください。Codex の場合は Codex アプリも再起動してください。

エージェントの設定を手で編集すると、何か壊れますか?

いいえ。magpie は毎回ファイルを読み直し、自分が設定するキーだけに触れるので、他の設定やコメントはそのまま残ります。Import… で取り込んだプロバイダはコピーなので、その後エージェント側の設定を変えても再度コピーはされません。

GitHub に届かない環境で、インストールや更新をするには?

インストーラと magpie update にプロキシを渡します:curl -fsSL https://usemagpie.ai/install.sh | sh -s -- --proxy http://127.0.0.1:7890、または magpie update --proxy socks5://127.0.0.1:1080(http・https・socks5・socks5h に対応。HTTPS_PROXY と ALL_PROXY も使われます)。--mirror <prefix> を付けると、指定した GitHub ダウンロードミラーから <prefix>https://github.com/… としてリリースファイルを取得します。magpie update mirror <prefix> でアプリ自身の更新を含め毎回使い、magpie update mirror off で解除します。指定しない限りミラーは使われず、ファイルの SHA-256 はミラーではなく常に usemagpie.ai から取得するので、ミラーが書き換えたファイルはインストールされません。アプリ自身の更新は Settings → Proxy を通ります。

困ったときや、共有したい構成があるときは Discord でどうぞ。ユーザーにすぐ使えるプロバイダを配りたいベンダーの方は magpie に追加 をご覧ください。