OpenAI APIの従量課金を避けつつ、コードからLLMを呼びたい開発者にとって、Microsoft CopilotのWeb版をローカルAPIに変換する手法が注目を集めています。

この記事では、GitHubで公開されているWindows Copilot APIの仕組みと、セットアップから実際の呼び出し方までを整理します。

この記事でわかること

  • Windows Copilot APIが解決する課題と動作の仕組み
  • PythonライブラリとOpenAI互換サーバーの2つの使い方
  • レート制限や同時リクエスト数など、運用上の制約
  • GitHub Copilot向けの類似プロジェクトとの違い

LLM APIのコストが壁になる理由

アプリや自動化スクリプトにLLMを組み込むとき、OpenAIやAnthropicの公式APIは従量課金が前提です。プロトタイプ段階でも、試行回数が増えるほどコストが積み上がります。

一方、Microsoft Copilot(copilot.microsoft.com)はMicrosoftアカウントで無料利用できます。ただし公式のREST APIは提供されておらず、ブラウザのチャット画面からしか使えません。ここに「Web版CopilotをOpenAI互換APIとしてコードから呼べるようにする」というニーズが生まれています。

2026年6月、開発者のJaydeep氏がXでこの手法を紹介し、892ビューを記録しました(参考)。紹介先はGitHubのsums001/Windows-Copilot-APIで、公開から1週間ほどでスター数808件に達しています。

Windows Copilot APIとは

Windows Copilot APIは、Microsoft CopilotのWebチャットをリバースエンジニアリングし、OpenAI互換のREST APIとしてローカルで提供するPython製のOSSです。MITライセンスで公開されており、2026年6月19日にリポジトリが作成されました。

READMEには「Microsoft非公式プロジェクト。Microsoftの利用規約の範囲内で責任を持って使うこと」と明記されています。Microsoftの公式APIではなく、個人利用向けのブリッジツールとして位置づけられています。

動作の仕組み

仕組みは次のとおりです。

  1. Playwrightでブラウザを起動し、MicrosoftまたはGoogleアカウントでCopilotにサインインする
  2. セッション情報(Cookie・トークン)をローカルのsession/フォルダに保存する
  3. 保存したセッションを使い、CopilotのWebSocket通信をHTTP APIに変換する

CopilotのチャットはCloudflareの保護下にあり、人間確認(cf_clearance Cookie)が必要です。ログイン時に自動で取得し、約30分で期限切れになると再認証が走ります。サーバーモードでは期限切れ時に503エラーを返し、ホスト側でpython -m copilot loginを再実行する設計です。

主な機能

Windows Copilot APIは2つの利用形態を持ちます。

Pythonライブラリとして直接呼び出す

サーバーを立てず、Pythonコードから直接Copilotに問い合わせられます。

from copilot import CopilotClient

client = CopilotClient()
reply = client.chat("Say hello in one short sentence.")
print(reply.text)

conversation_idを渡せば多ターン会話を継続でき、stream()でトークン単位のストリーミング出力にも対応しています。

OpenAI互換サーバーとして使う

python app.pyでローカルサーバーを起動すると、http://localhost:8000/v1でOpenAI形式のAPIが利用できます。公式のOpenAI Python SDKをそのまま使えます。

from openai import OpenAI

client = OpenAI(base_url="http://localhost:8000/v1", api_key="unused")

resp = client.chat.completions.create(
    model="copilot",
    messages=[{"role": "user", "content": "Hello!"}],
)
print(resp.choices[0].message.content)

提供エンドポイントは/v1/chat/completions(ストリーミング対応)と/v1/modelsの2つです。モデル名はcopilotの1種類のみで、Copilot側にモデル選択機能がないためです。

READMEのベンチマークによると、GPQA Diamond(198問の大学院レベル問題)で正答率40.9%を記録しており、GPT-4クラスの性能帯に位置づけられています。

セットアップ手順

動作要件はPython 3.9以上、Microsoftアカウント、Windows・macOS・Linuxのいずれかです。

git clone https://github.com/sums001/Windows-Copilot-API.git
cd Windows-Copilot-API
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
playwright install chromium
python -m copilot login

loginコマンドでブラウザが開き、サインイン完了後に自動で閉じます。初回ログイン時にCloudflareの人間確認とチャットトークンの取得が同時に行われ、以降はセッションが自動更新されます。

Dockerでも起動可能ですが、ログインはホスト側で事前に済ませ、session/フォルダをコンテナにマウントする必要があります。

料金

Windows Copilot API自体は無料のOSSです。バックエンドはMicrosoft Copilotの無料Web版を利用するため、OpenAI APIのような従量課金は発生しません。Microsoft Copilot Proなどの有料プランは不要で、通常のMicrosoftアカウントで動作します。

運用上の制約と注意点

無料で使える反面、本番サービスのバックエンドとして使うには制約があります。

レート制限 — デフォルトで1分あたり12リクエスト(RATE_LIMIT_RPM=12)、バースト4件(RATE_LIMIT_BURST=4)に制限されます。超過すると429エラーとRetry-Afterヘッダーが返ります。Microsoft側の公式上限は公開されていないため、開発者が自己設定した安全値です。

同時リクエストの直列化 — 1アカウントのCopilotソケットは並行処理に弱く、サーバーは内部ロックでリクエストを1件ずつ処理します。ストレステストでは同時4件まで成功、8件で502エラーが発生したと報告されています。

Cloudflare認証cf_clearance Cookieの有効期限は約30分。サーバーモードでは期限切れ時に503を返すため、定期的な再ログインが必要になる場合があります。データセンターIPやVPN経由では人間確認が厳しくなる傾向があります。

利用規約 — 非公式ツールのため、Microsoftの利用規約違反やアカウント停止のリスクがあります。個人の開発・検証用途に留めるのが妥当です。

類似ツールとの違い

LLMを無料または低コストでAPI化するOSSは他にも存在します。

プロジェクト 対象 特徴
Windows Copilot API Microsoft Copilot(Web版) Python製、Playwright認証、localhost:8000
copilot-api(ericc-ch) GitHub Copilot Node.js製、OpenAI/Anthropic両対応、Claude Code連携

Windows Copilot APIはMicrosoft Copilotの無料Web版を対象とし、GitHub Copilotのサブスクリプションは不要です。逆に、GitHub Copilot契約者向けのcopilot-apiはGitHub認証を使い、Claude CodeなどのツールをCopilotバックエンドで動かす用途に特化しています。

こんな用途向き

Windows Copilot APIが向くのは、次のようなケースです。

  • ローカル開発中にLLM呼び出しを試したいが、API課金を避けたい
  • 既存のOpenAI SDK互換ツールを、最小限の設定変更でCopilotに接続したい
  • 匿名Copilotがブロックされる地域でも、サインイン済みセッション経由で利用したい

逆に、高スループットの本番APIや、SLAが保証された商用利用には向きません。個人ブリッジとして設計されており、並行処理やレート制限の壁が早い段階で来ます。

CopilotのWeb版をコードから呼べるようにするWindows Copilot APIは、LLM APIコストを抑えたい開発者にとって実用的な選択肢です。セットアップはログインを含めて数分で完了し、OpenAI SDK互換のエンドポイントがすぐ使えます。利用前に非公式ツールである点と、レート制限・Cloudflare認証の運用負荷を理解したうえで、個人開発の範囲で試すのがよいでしょう。