ロシアの GitHub Copilot:アカウント、プラン、Custom Endpoint

GitHub アカウントと Copilot プランを VS Code Custom Endpoint と分け、外部モデルを inline completion と混同せずにテストします。

BetterToken Custom Endpoint を通じて外部モデルを Copilot Chat に接続できます。 GitHub アカウント、Copilot プラン、API アクセスは異なる機能を制御します。現在の VS Code はキーをローカルの Secret Storage に保存します。その後、Chat と Dashboard でリクエストを確認できます。この設定は inline completion も GitHub サービスへのアクセスも変更しません。

設定するもの

Copilot には独立した複数の層があります。設定前にこれらを分けると、Chat は応答するのにエディターの候補が変わらない理由を理解しやすくなります。

制御するものCustom Endpoint が置き換えるか
GitHub アカウントサインイン、ライセンス、GitHub 機能いいえ
Copilot プラン組み込みモデルと completions を含む Copilot サービスのクォータと機能いいえ
ローカル BYOK / Custom Endpoint対応クライアントと Chat 画面で外部モデルを選択することクライアントが選択モデルへ送るリクエストだけ
Inline completionsエディターでコードを直接補完することいいえ。GitHub Copilot の機能のまま

GitHub はローカル BYOK を説明しています。キーはデバイスに保存され、対応状況はクライアントごとに違います。Business または Enterprise 組織では、管理者がこの機能を無効にできます。Enterprise BYOK は別のサーバー側シナリオで、要件も別です。

使用中の Copilot Chat で Custom Endpoint を確認したいですか? 自分の BetterToken アカウントと API Key を作成し、最新の手順を開いて以下の設定を行ってください。BetterToken は OpenAI-compatible API アクセスと Dashboard の利用履歴を提供しますが、GitHub アカウントの発行、Copilot プランの有効化、GitHub の地域ルール変更は行いません。

ロシアで GitHub Copilot を設定する前の確認事項

  1. VS Code の最新安定版をインストールします。
  2. Copilot Chat を開き、モデル選択に Manage Models... があることを確認します。
  3. Language Models ウィンドウで Add Models → Custom Endpoint が使えることを確認します。
  4. 自分の BetterToken API Key を作り、モデルディレクトリで正確な Model ID を選びます。

BYOK の対応はすべてのクライアントで同時に変わりません。VS Code に Custom Endpoint があるからといって、同じ設定が JetBrains、Xcode、GitHub.com、その他の画面で動くとは限りません。対応クライアントと制限の最新一覧は GitHub が公開しています

公式 Copilot にはもう一つ制限があります。GitHub Trade Restrictions Policyでは、適切な許可なしに Copilot をロシアへ販売または輸出できないとされています。Custom Endpoint はこのポリシーを上書きしません。地域変更、第三者決済、アカウント確認回避の手順はありません。

VS Code に BetterToken Custom Endpoint を追加する方法

1. モデル管理を開く

Copilot Chat の入力欄でモデル選択を開き、Manage Models... を選びます。次に Add Models → Custom Endpoint をクリックします。

この選択肢がなければ、まず VS Code を更新してください。古い任意の手順から設定を移さないでください。コマンド名やファイル構成は変わっていることがあります。

2. グループを作成してキーを保存する

Group NameBetterToken と入力します。VS Code が API Key を求めたら、ポップアップにキーを貼り付けて Enter を押します。

VS Code はシークレットをローカルに保存し、設定には次のような参照を書きます。

"apiKey": "${input:chat.lm.secret.xxxxx}"

この参照を実際のキーに置き換えないでください。キーを settings.json、公開リポジトリの .env に書いたり、commit したりしてはいけません。

3. Chat Completions プロトコルを選ぶ

検証済みの BetterToken 設定では Chat Completions を選びます。VS Code が chatLanguageModels.json を開きます。

最小構成は次のとおりです。

[ { "name": "BetterToken", "vendor": "customendpoint", "apiKey": "${input:chat.lm.secret.xxxxx}", "apiType": "chat-completions", "models": [ { "id": "YOUR_MODEL_ID", "name": "YOUR_MODEL_ID", "url": "https://www.bettertoken.ai/v1/chat/completions" } ] } ]

YOUR_MODEL_ID はプレースホルダーです。利用可能なモデルの正確な ID に置き換えます。ここで url は完全な Chat Completions endpoint です。Base URL https://www.bettertoken.ai/v1 だけではこのフィールドに十分ではありません。toolCallingvision、Token コンテキスト制限は、選択したモデルの能力と現在の BetterToken ドキュメントに従う場合だけ追加してください。

4. VS Code ウィンドウを再読み込みする

ファイルを保存し、Command Palette で次を実行します。

Developer: Reload Window

再起動後に Copilot Chat の選択をもう一度開き、BetterToken グループのモデルを選びます。

5. 短いテストを行う

検証しやすい結果のリクエストを送ります。例:

次の二つのフィールドだけを含む JSON を返してください: language="ja" と sum=2+2。

接続が確認できるのは、次の三条件を同時に満たすときだけです。

  • Copilot Chat が認証または Model ID エラーなしに有効な JSON を返す。
  • リクエストが BetterToken Dashboard の利用履歴に現れる。
  • inline completion は別に確認し、Custom Endpoint の結果として扱わない。

Copilot にサインインせず Chat を使う場合、VS Code は一部の補助タスクにモデルが必要だと警告します。その場合は chat.utilityModelchat.utilitySmallModel に BYOK モデルを選びます。正確な設定名は VS Code の language models ドキュメントで確認してください。

Chat は動くのに inline completion が変わらない理由

Custom Endpoint は、対応する Chat と Agent ワークフロー画面にモデルを接続します。エディターに直接出る自動補完は GitHub Copilot の機能のままです。BetterToken リクエストが成功しても、公式 completions が確認されたことにはならず、同じ方法で消費されるわけでもありません。

VS Code の一部機能も GitHub サービスに依存します。ドキュメントにはセマンティック検索、inline suggestions、embeddings が挙げられています。モデルとの会話や Chat の Agent スクリプトだけが必要なら、ローカル BYOK で足りる場合があります。completions やその他の統合 Copilot 機能が必要なら、アカウント、プラン、組織ポリシーを別に確認してください。

GitHub Copilot app は独自の BYOK シナリオをサポートします。自分の provider では GitHub アカウントが必要ですが Copilot プランは不要です。このルールはアプリ固有であり、VS Code、GitHub.com、Enterprise 機能に自動的には適用されません。

よくある Custom Endpoint エラー

モデルが選択肢に現れない

VS Code が最新であること、chatLanguageModels.json にエントリーがあること、Model ID が完全一致していることを確認します。その後 Developer: Reload Window を実行します。管理対象デバイスでは、Business または Enterprise ポリシーがローカル BYOK を禁止していないか確認してください。

Error 401 または Invalid token

Add Models からモデルを再追加し、VS Code がキーを要求して Secret Storage に保存するようにします。JSON には実値でなく ${input:chat.lm.secret...} 参照が必要です。キーが自分の BetterToken アカウントのもので有効かも確認してください。

404 または model not found

apiType: "chat-completions" では完全な URL https://www.bettertoken.ai/v1/chat/completions を確認します。次に id を BetterToken ディレクトリの現在の Model ID と比較します。Base URL、完全な endpoint、Model ID は三つの別々の検証項目です。

Chat は応答するが completions は変わらない

これは期待される機能境界です。Custom Endpoint は inline completions を置き換えません。これらには対応する GitHub Copilot 機能への別のアクセスが必要です。

最終的に GitHub と BetterToken のどちらに依存するか

GitHub はアカウント、Copilot プラン、地域・組織上の制限、inline completions のような組み込み機能を制御します。このシナリオで BetterToken が担うのは、外部 OpenAI-compatible リクエスト、API Key、利用可能な Model ID、Dashboard の利用記録です。

設定前に、クライアントで現在の BYOK 対応を確認してください。その後 現在の BetterToken 手順を開き、VS Code の画面から Custom Endpoint を追加し、短いクエリと Dashboard エントリーで検証を完了します。

FAQ

有料 Copilot プランなしで Custom Endpoint を使えますか?

クライアントと機能によります。GitHub Copilot app では、ドキュメント上、Copilot プランなしでも GitHub アカウントで BYOK が可能です。VS Code では Copilot 未ログインでも一部の BYOK Chat スクリプトが動くことがありますが、セマンティック検索、inline suggestions、embeddings、一部の補助タスクには別の依存関係があります。

BetterToken は GitHub Copilot サブスクリプションを置き換えますか?

いいえ。BetterToken は、クライアントが Custom Endpoint または BYOK をサポートする場所で外部モデルを接続します。GitHub アカウント、プラン、completions、その他の Copilot 機能は別です。

API Key を chatLanguageModels.json に保存できますか?

実際のキー値をこのファイルに書いてはいけません。VS Code ポップアップでキーを入力し、アプリが作成したシークレット参照を残してください。

この方式に VPN は必要ですか?

ロシアから BetterToken API Endpoint へ接続するために VPN は不要です。この説明は BetterToken endpoint にだけ当てはまります。GitHub サイト、サインイン、クライアントのダウンロード、更新、Copilot 機能は GitHub の条件とネットワークに従います。

LLM ワークフローを最適化しませんか?

単一 API でモデルを接続し、キーと AI コストを管理できます。