ドキュメント · ガイド

JetBrains Copilot を任意のモデルで

IntelliJ IDEA・PyCharm・GoLand などの JetBrains IDE と Android Studio の GitHub Copilot プラグインは、Bring Your Own Key で他社のモデルを使えます。Copilot Chat のモデルピッカーで Manage Models… を開き、Add Custom Endpoint Provider で追加します。magpie はこのカスタムエンドポイントを magpie という名前で書き込むので、DeepSeek・GLM・Kimi・Qwen・Claude・ChatGPT サブスクリプションなど magpie のすべてのモデルが Copilot Chat のピッカーに並びます。逆に Copilot サブスクリプションを他のエージェントで使うには GitHub Copilot を Claude Code・Codex・Gemini CLI・OpenCode で使う を見てください。

JetBrains Copilot の設定

  1. magpie でプロバイダーを追加プロバイダー ページで API キーを追加するか、サブスクリプションにサインインします。
  2. エージェント ページで Copilot (JetBrains) のプロバイダーを magpie にするmagpie が自分のエンドポイントを Copilot の byok.json に書き込みます。
  3. IDE を再起動IDE は Copilot のサインイン時にエンドポイントを読むので、再起動後に magpie のモデルが現れます。
  4. Copilot Chat のモデルピッカーでモデルを選ぶmagpie のモデルは magpie の下に並びます。選んだモデルは IDE がプロジェクトファイルに保存します。

JetBrains IDE か Android Studio のプラグインフォルダーに github-copilot-intellij プラグインがあるとき、または byok.json にすでに magpie のエンドポイントがあるとき、magpie はエージェントページに Copilot (JetBrains) を表示します。

必要な Copilot プラン

Bring Your Own Key には GitHub にサインインした Copilot が必要です。個人向けの Copilot Free・Pro・Pro+ で使え、Business と Enterprise では組織のポリシーが許可していれば使えます。リクエストは Copilot 言語サーバーの他のクライアントと同じく GithubCopilot/<サーバーのバージョン> を名乗るので、magpie はキーで見分けます。

byok.json

JetBrains プラグインはこの設定を自分では持たず、同梱の Copilot 言語サーバー(copilot-language-server)に任せます。このサーバーはすべてのカスタムエンドポイントを 1 つの JSON ファイルに置き、使うたびに読み直します。

カスタムエンドポイントはここでは 3 つのキーです。magpie は言語サーバー自身が保存するのと同じ形で書きます。

ターミナル
// ~/.config/github-copilot/byok.json
{
  "magpie-provider-config": { "groupName": "magpie", "apiType": "chatCompletions" },
  "magpie-api-key": "",
  "magpie-models-config": {
    "…": {
      "deploymentUrl": "http://127.0.0.1:3425/v1/chat/completions",
      "isRegistered": true,
      "isCustomModel": true,
      "modelCapabilities": {
        "name": "…", "maxInputTokens": …, "maxOutputTokens": …,
        "toolCalling": true, "vision": …
      }
    }
  },
  …
}

各モデルはゲートウェイの /v1/chat/completions を指し、キーは Bearer トークンとして送られます。キーは IDE のパスワード保管庫ではなく、このファイルに平文で入ります。Xcode と Eclipse の Copilot も同じ言語サーバーを動かして同じファイルを読むので、magpie のモデルが並びます。

エージェントモードとコンテキスト

すべてのモデルでツール呼び出しをオンにしています。Copilot のエージェントモードはツールを呼べるモデルしか表示しないからです。maxInputTokens はサーバーがプロンプトで埋めるウィンドウで、magpie のカタログのコンテキスト長、分からなければサーバー自身のカスタムエンドポイント向け既定値 128K です。maxOutputTokens はそのウィンドウ内に収めます。

自分の設定はそのまま

byok.json のほかのエンドポイントとキーはそのままです。IDE の Manage Models で非表示にした magpie のモデルは、同期後も非表示のままです。変更がなければ magpie はファイルを書かず、言語サーバーが最後に書いた状態のままです。

元に戻す

magpie で Copilot (JetBrains) をオフにすると、magpie は byok.json から自分の 3 つのキーを消します。自分のエンドポイントには触れません。

よくある質問

JetBrains の Copilot で DeepSeek や GLM を使えますか?

使えます。magpie が Copilot の byok.json にカスタムエンドポイントを書くので、IDE を再起動し、Copilot Chat のピッカーで magpie の下のモデルを選んでください。

Copilot Business でも使えますか?

Bring Your Own Key は Business と Enterprise では組織のポリシーが許可していれば使え、Free・Pro・Pro+ では使えます。

エージェントモードで magpie のモデルを使えますか?

使えます。magpie はすべてのモデルでツール呼び出しをオンにしており、Copilot のエージェントモードはツールを呼べるモデルを表示します。

Xcode や Eclipse の Copilot にも出ますか?

出ます。同じ Copilot 言語サーバーを動かし、同じ byok.json を読むからです。

同じモデルを他のエージェントでも:VS Code を任意のモデルで、Copilot CLI を任意のモデルで、OpenMausBot を任意のモデルで、Kiro Crew を任意のモデルで。エラーが出るときは よくあるエラーの直し方、または Discord で質問してください。