
9Router Model Connectorとは?
9Router Model Connectorは、Visual Studio CodeとGitHub Copilot Chatを9Router AIゲートウェイに統合します。主な利点は、再読み込み不要のモデル切り替えです。初回設定後は、JSONファイルを編集したり、VS Codeを再起動したり、現在のチャットセッションを終了したりせずに、ワンクリックで別のAIモデルを有効化できます。
このプロジェクトは、OpenAI、Anthropic、Google Gemini、DeepSeek、Groq、OpenRouterなど、40以上のAIプロバイダーを経由するモデルに対応しています。プロジェクトで紹介されているモデルには、Claude 3.5 Sonnet、GPT-4o、Gemini 1.5 Pro、DeepSeek V3とR1、Llama 3などがあります。
主な機能
- 再読み込み不要の切り替え: VS Codeと現在のチャットセッションを開いたまま、アクティブなモデルを即座に変更できます。
- Webダッシュボード: 利用可能なプロバイダーを一覧表示・絞り込みし、モデルを視覚的に有効化できます。
- VS Codeステータスバー統合: エディターを離れずにモデルを選択できます。
- モデル比較とベンチマーク: プロンプトを並べてテストし、応答レイテンシを比較できます。
- 動的ローカルプロキシ: アクティブなモデルを自動的に挿入し、認証ヘッダーを適用して、Server-Sent Eventsによるストリーミング応答を中継します。
- 幅広いプロバイダー互換性: 9Routerゲートウェイで利用できるプロバイダーに接続します。
接続の仕組み
この統合では、3つのローカルサービスまたはエンドポイントを使用します。
20128: 9Routerのコアゲートウェイおよびロードバランサー。20129: 拡張機能のローカルプロキシ。現在アクティブなモデルをリクエストに挿入します。5500: モデルの選択と比較に使用するWebダッシュボード。
ダッシュボードまたはステータスバーからモデルを選択すると、プロキシがそのモデルをアクティブなモデルとして記録します。GitHub Copilot Chatは、固定の9Router via Proxyエントリを使用して、次の補完リクエストをローカルプロキシに送信します。プロキシはリクエスト本文を書き換えてアクティブなモデルを含め、必要なAPIキーを追加したうえで、9Routerのコアゲートウェイにリクエストを転送します。
9Routerはリクエストを該当するAIプロバイダーにルーティングします。応答はSSEトークンストリームとしてゲートウェイとプロキシを経由して戻るため、Copilot Chatは回答をリアルタイムで表示できます。
Copilot Chatで9Router via Proxyを選択するのは一度だけで構いません。その後のモデル変更はプロキシ層で行われます。
インストール
オプション1: Windowsでの自動セットアップ
プロジェクトディレクトリでコマンドプロンプトまたはターミナルを開き、セットアップスクリプトを実行します。
scripts\setup.bat代わりに、npmのセットアップコマンドも使用できます。
npm run setupオプション2: LinuxまたはmacOSでの自動セットアップ
シェルスクリプトに実行権限を付与して実行します。
chmod +x scripts/setup.sh
./scripts/setup.shオプション3: 手動インストール
まず、9Routerのコアゲートウェイをグローバルにインストールします。
npm install -g 9routerコネクターのリポジトリをクローンし、そのディレクトリに移動します。
git clone https://github.com/yudaprasetya007/routeVSCODE.git
cd routeVSCODEパッケージ化されたVS Code拡張機能をインストールします。リポジトリのreleasesディレクトリにはバージョン2.5.0が含まれています。
code --install-extension releases/routevscode.model-connector-2.5.0.vsix --forceWebダッシュボードを起動します。
npm start起動したら、ブラウザーでhttp://localhost:5500を開きます。
初期設定
1. 9Routerゲートウェイを起動する
専用のターミナルで9Routerを実行します。
9routerhttp://localhost:20128/dashboardを開き、9Router APIキーを取得します。コネクターの使用中は、このターミナルを起動したままにしてください。
2. コネクターダッシュボードを起動する
クローンしたリポジトリで、次を実行します。
npm startコネクターダッシュボードがhttp://localhost:5500で利用できるようになります。
3. APIキーとベースURLを設定する
Ctrl+Shift+PでVS Codeのコマンドパレットを開きます。macOSではCmd+Shift+Pを使用します。9Router: Set API Key & Base URLを選択します。- ベースURLとして
http://localhost:20128/v1を入力します。 - 9Routerダッシュボードで取得したAPIキーを貼り付けます。
4. Copilot Chatでプロキシを選択する
Ctrl+Alt+IでGitHub Copilot Chatを開きます。- チャットインターフェース下部のモデル選択メニューを開きます。
9Router via Proxyを選択します。
これがCopilotで行う一度限りのモデル選択です。9Router経由でモデルを切り替える際は、Copilotをこのプロキシエントリに設定したままにしてください。
基本的な使い方
Webダッシュボードからモデルを切り替える
9routerプロセスとコネクターダッシュボードの両方が起動していることを確認します。- http://localhost:5500を開きます。
- 使用するモデルを見つけて有効化します。
- Copilot Chatで新しいプロンプトを送信します。
ローカルプロキシが、選択した新しいモデルを次のリクエストに挿入します。VS Codeを再読み込みする必要はありません。
VS Codeのステータスバーからモデルを切り替える
右下のステータスバーにある9Routerモデルインジケーターをクリックします。リストからモデルを選択し、通常どおりCopilot Chatを続けて使用します。
コマンドパレットから切り替える
コマンドパレットを開き、次を実行します。
9Router: Pilih Model AIこれにより、アクティブなAIモデルを選択するためのクイック選択メニューが開きます。
便利なVS Codeコマンド
9Router: Pilih Model AI:モデルをすばやく選択できます。9Router: Status & Info:接続状態、プロキシポート、アクティブなモデルを表示します。9Router: Set API Key & Base URL:9Routerのエンドポイントと認証情報を更新します。9Router: Sync Semua Model ke Copilot:chatLanguageModels.json内の9Routerエントリを書き換えます。9Router: Buka Dashboard Web:ローカルダッシュボードをブラウザーで開きます。9Router: Tambah Model Manual:カスタムモデルIDを手動で登録します。9Router: Hapus Semua Entry 9Router:VS Codeの設定から9Routerプロキシエントリを削除します。
高度なヒント
選択前にモデルを比較する
ダッシュボードのリアルタイムモデル比較・ベンチマーク機能を使ってプロンプトを送信し、回答を横並びで比較できます。レイテンシの測定値は、速度が重要な場合にモデルを選ぶ際の参考になります。
カスタムモデルIDを追加する
必要なモデルが一覧にない場合は、コマンドパレットを開き、9Router: Tambah Model Manualを実行します。設定済みの9Routerプロバイダーが想定するモデルIDを入力してください。利用可否は、9Routerゲートウェイ経由でアクセスできるプロバイダーとモデルに依存します。
アクティブな接続を確認する
Copilot自体を診断する前に、9Router: Status & Infoを実行します。アクティブなモデル、接続状態、ローカルプロキシポートを確認してください。これにより、問題がプロキシ、ゲートウェイ、プロバイダーのどこにあるかを切り分けやすくなります。
プロキシの選択を安定させる
Copilotのモデルピッカーで個別の上流モデルを何度も選択しないでください。9Router via Proxyを選択したまま、ダッシュボード、ステータスバー、またはクイック選択コマンドから上流モデルを変更します。これにより、再読み込みなしのワークフローを維持できます。
サービスを別々のターミナルで実行する
9routerを1つのターミナルで、npm startを別のターミナルで実行したままにします。サービスログを確認しやすくなり、ダッシュボードの再起動時にコアゲートウェイを誤って停止するのを防げます。
トラブルシューティング
ポート20129はすでに使用されています
拡張機能の動的プロキシはポート20129を使用します。不要なVS Codeのインスタンスを閉じるか、そのポートを使用している別のプロセスを停止してから、コネクターを再度起動してください。
プロキシモデルが表示されない
拡張機能を初めてインストールした後、コマンドパレットを開き、Developer: Reload Windowを実行します。その後、Copilot Chatのモデルピッカーに戻り、9Router via Proxyを探してください。
9Routerが応答しない
9routerが別のターミナルで引き続き実行されていることを確認してください。また、ベースURLがhttp://localhost:20128/v1であり、設定済みのAPIキーがローカルの9Routerダッシュボードから取得したものであることを確認します。
設定をリセットまたは再同期する
モデル設定を再生成する必要がある場合は、9Router: Sync Semua Model ke Copilotを使用します。完全にリセットするには、9Router: Hapus Semua Entry 9Routerを実行してから、コネクターを再設定してください。
さらに診断するには、リポジトリのトラブルシューティングドキュメントを参照してください。プロジェクトには、別途アーキテクチャガイドとセットアップガイドも用意されています。
まとめ
9Router Model Connectorは、GitHub Copilot Chatと9Routerゲートウェイの間に動的プロキシを配置し、モデル選択をCopilotの固定設定から切り離します。APIキー、ベースURL、9Router via Proxyエントリを設定すれば、エディターを再読み込みすることなく、ダッシュボードまたはVS Codeのステータスバーから対応モデルを切り替えられます。このプロジェクトはMITライセンスで配布されています。
