Communityコーディング&開発github.com

Axillaryfossaprize786/github_copilot_openai_api_wrapper

任意のOpenAI互換クライアントからGitHub Copilotにアクセスできるようにする、ローカルサーバーを介してCopilot Chat APIにリクエストをプロキシするスキルです。

github_copilot_openai_api_wrapper とは?

このスキルは、GitHub Copilotの機能をOpenAI互換のAPIとして公開するローカルプロキシサーバーを提供します。これにより、通常はCopilot専用クライアントでのみ利用可能なコード補完やチャット機能を、OpenAI SDKやカスタムツールから呼び出すことが可能になります。開発者は既存のOpenAI互換クライアント(例:OpenAI Pythonライブラリ、curl、Postmanなど)を使用してCopilotの機能にアクセスでき、特にエンタープライズ環境でのCopilot活用の柔軟性を高めます。スキルはNode.jsで実装され、ローカルホスト上で軽量なHTTPサーバーとして動作し、認証にはGitHubのトークンが必要です。主にGitHub Copilotの非公式な拡張利用を目的としており、利用には有効なCopilotサブスクリプションが必要です。

対応~Claude Code✓Codex CLI~Cursor
npx skills add Axillaryfossaprize786/github_copilot_openai_api_wrapper

Installed? Explore more コーディング&開発 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

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

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

ドキュメント

github_copilot_openai_api_wrapper は何をしますか?

任意のOpenAI互換クライアントからGitHub Copilotにアクセスできるようにする、ローカルサーバーを介してCopilot Chat APIにリクエストをプロキシするスキルです。

概要

このラッパーは、GitHub CopilotのチャットAPIをOpenAI互換のAPIエンドポイントとして公開します。これにより、OpenAI SDK、cURL、Postman、その他のHTTPクライアントを使用してCopilotの機能を利用できます。

前提条件

  • Node.js(バージョン18以上)
  • 有効なGitHub Copilotサブスクリプション
  • GitHub個人アクセストークン(read:user および user:email スコープが必要)

インストール

git clone https://github.com/Axillaryfossaprize786/github_copilot_openai_api_wrapper.git
cd github_copilot_openai_api_wrapper
npm install

設定

環境変数を設定するか、.env ファイルを作成します。

# .env
GITHUB_TOKEN=ghp_あなたのトークン
PORT=3000  # オプション、デフォルトは3000

または、環境変数を直接エクスポートします:

export GITHUB_TOKEN=ghp_あなたのトークン
export PORT=3000

使用方法

サーバーを起動します:

npm start

サーバーが http://localhost:3000 で起動します。

エンドポイント

  • POST /v1/chat/completions - OpenAI互換のChat Completionエンドポイント
  • POST /v1/completions - (オプション)レガシー補完エンドポイント
  • GET /v1/models - 利用可能なモデルをリスト表示

OpenAI Pythonクライアントの例

from openai import OpenAI

client = OpenAI(
    base_url="http://localhost:3000/v1",
    api_key="ignored"  # ラッパーはこの値を無視します
)

response = client.chat.completions.create(
    model="gpt-4",
    messages=[
        {"role": "user", "content": "Hello, Copilot!"}
    ]
)

print(response.choices[0].message.content)

cURLの例

curl http://localhost:3000/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4",
    "messages": [{"role": "user", "content": "こんにちは"}]
  }'

注意事項

  • このラッパーは非公式であり、GitHubによってサポートされていません。
  • 使用には有効なCopilotサブスクリプションが必要です。
  • すべてのリクエストは、お使いの環境で設定されたGitHubトークンを使用してCopilot APIにプロキシされます。

ライセンス

MIT

関連スキル