Community研究&データ分析github.com

Niravgoyani7/copilot-router

🛠️ シンプルなチャットプロキシを介してGitHub CopilotをOpenAIおよびAnthropicクライアントと接続し、開発体験をシームレスに向上させます。

copilot-router とは?

このスキルは、GitHub CopilotをOpenAIやAnthropicのクライアントと接続するための軽量チャットプロキシを提供します。開発者は、Copilotの認証機能を活用しながら、好みのAIプロバイダーからのモデルを使用してコード補完やチャットを行うことができます。このプロキシは、ローカル環境で簡単にセットアップでき、既存の開発ツールと統合することで、より柔軟なAIアシスタンスを実現します。主にVisual Studio Code、JetBrains IDE、NeovimなどのCopilot対応エディタで動作し、OpenAI APIやAnthropic APIの互換性を保ちながら、Copilotのサブスクリプションを最大限に活用することを目的としています。

対応✓Claude Code✓Codex CLI~Cursor
npx skills add Niravgoyani7/copilot-router

Installed? Explore more 研究&データ分析 skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

copilot-router は何をしますか?

🛠️ シンプルなチャットプロキシを介してGitHub CopilotをOpenAIおよびAnthropicクライアントと接続し、開発体験をシームレスに向上させます。

概要

copilot-router は、GitHub Copilot の認証システムを活用しながら、OpenAI 互換または Anthropic 互換のクライアントから Copilot のモデルにアクセスできるようにするプロキシサーバーです。これにより、既存の Copilot サブスクリプションを最大限に活用し、コード補完やチャット支援を拡張できます。

特徴

  • マルチプロバイダ対応: OpenAI および Anthropic クライアントとの互換性を提供
  • 簡単セットアップ: 環境変数と設定ファイルだけで即座に実行可能
  • 認証透過: GitHub Copilot の認証トークンを自動的に管理
  • 軽量: 依存関係が最小限で、リソース消費が少ない

はじめ方

前提条件

  • Node.js 18 以上
  • GitHub Copilot の有効なサブスクリプション
  • 使用する IDE(VS Code、JetBrains、Neovim など)で Copilot が設定済みであること

インストール

git clone https://github.com/Niravgoyani7/copilot-router.git
cd copilot-router
npm install

設定

プロジェクトルートに .env ファイルを作成します(テンプレートとして .env.example をコピー)。

# 必須: GitHub Copilot トークン(gh auth token から取得)
GITHUB_TOKEN=your_github_token_here

# オプション: プロキシのポート番号(デフォルトは 3000)
PORT=3000

# オプション: ターゲットプロバイダ(openai または anthropic、デフォルトは openai)
PROVIDER=openai

実行

npm start

プロキシが http://localhost:3000 で起動します。

使用方法

OpenAI または Anthropic のクライアントライブラリで、ベース URL をプロキシのアドレスに変更します。

OpenAI クライアント(Python)

from openai import OpenAI

client = OpenAI(
    base_url="http://localhost:3000/v1",
    api_key="any-key"  # プロキシが認証を処理するため、ダミーキーでOK
)

response = client.chat.completions.create(
    model="gpt-4",  # モデル名は Copilot が利用可能なものに
    messages=[{"role": "user", "content": "Hello"}]
)
print(response.choices[0].message.content)

Anthropic クライアント(Python)

from anthropic import Anthropic

client = Anthropic(
    base_url="http://localhost:3000",
    api_key="any-key"
)

response = client.messages.create(
    model="claude-3-opus-20240229",
    max_tokens=1000,
    messages=[{"role": "user", "content": "Hello"}]
)
print(response.content)

アーキテクチャ

[クライアント (IDE/CLI)] → [copilot-router プロキシ] → [GitHub Copilot API]

プロキシはリクエストをインターセプトし、適切な Copilot エンドポイントに転送します。認証トークンは GitHub CLI から自動的に取得され、有効期限が切れた場合は更新されます。

サポートされるプラットフォーム

  • Visual Studio Code
  • JetBrains IDE(IntelliJ、PyCharm など)
  • Neovim
  • その他 Copilot 対応エディタ

トラブルシューティング

認証エラー

認証トークンが有効かどうかを確認します:

gh auth status

必要に応じて再ログイン:

gh auth login

ポート競合

デフォルトのポートが使用中の場合は、環境変数 PORT を変更します。

ライセンス

MIT

貢献

プルリクエストを歓迎します。大規模な変更を行う場合は、最初に issue を開いて議論してください。

謝辞

GitHub Copilot チームと、このプロジェクトのインスピレーションとなったコミュニティに感謝します。

関連スキル