CLIツール
github/copilot-sdk avatar
github/copilot-sdk

GitHub Copilot SDK:6言語でCopilot CLIエージェントランタイムを組み込む

GitHub Copilot Agent をアプリやサービスに統合するためのマルチプラットフォーム SDK。

スター 10,479フォーク 1,451JavaMIT
GitHub

ひと目でわかる

これは何?
GitHub Copilot SDKは、Copilot CLIのエージェントランタイムをNode.js、Python、Go、.NET、Java、Rust向けのライブラリとして公開し、通信層にはJSON-RPCを使います。
誰に向いている?
GitHub Copilot SDKは、アプリケーションがJSON-RPCを通じてCopilot CLIエージェントランタイムを駆動できるようにする、一般提供中の言語バインディング一式です。READMEには、BYOKを含む認証、言語ごとのCLI同梱の違い、カスタムエージェント、スキル、ツールの拡張点が記載されています。
商用利用できる?
できます。MIT は寛容なライセンスで、著作権表示とライセンス表示を残せば、使用・改変・販売が可能です。
今もメンテナンスされている?
されています。直近 1 日以内に新しいコミットがあります。
何の言語で書かれている?
主に Java です(GitHub の言語統計による)。

回答はプロジェクトの GitHub データ(最終同期:2026年9月15日)と当サイトの分析に基づくもので、法的助言ではありません。

オープンソース詳細解説

Copilot SDK: このリポジトリが実際に提供するもの

READMEは、GitHub Copilot SDKをNode.js/TypeScript、Python、Go、.NET、Rust、Java向けのライブラリ群として説明しています。Copilot CLIの背後にある同じエンジン、つまり本番環境でテストされたエージェントランタイムを、アプリケーションからプログラムで呼び出せるようにします。READMEが示す役割分担は、あなたがエージェントの振る舞いを定義し、Copilotが計画、ツール呼び出し、ファイル編集などを処理するというものです。リポジトリのメタデータはJavaを主要言語としていますが、READMEは6言語すべてを扱っています。

Copilot SDK: JSON-RPCによる通信とプロセス管理

アーキテクチャの節は、アプリケーション、SDKクライアント、JSON-RPC、Copilot CLI(サーバーモード)という単純な流れを示しています。すべてのSDKはJSON-RPCでCopilot CLIサーバーと通信します。SDKはCLIプロセスのライフサイクルを自動的に管理します。外部CLIサーバーに接続するオプションもあり、詳細はGetting Started Guideにあります。READMEはJSON-RPCのメッセージ形式やプロトコル詳細を説明しておらず、それらはリンク先のドキュメントに委ねられています。

Copilot SDK: 認証方法とBYOKの例外

FAQには4つの認証方法が挙げられています。GitHubサインインユーザー(copilot CLIログインで保存されたOAuth資格情報)、OAuth GitHub App(ユーザートークンを渡す)、環境変数(COPILOT_GITHUB_TOKEN、GH_TOKEN、GITHUB_TOKEN)、そしてBYOK(Bring Your Own Key、OpenAI、Microsoft Foundry、Anthropicなどの対応プロバイダーのAPIキーを自分のものを使う)です。BYOKを使わない限りGitHub Copilotサブスクリプションが必要です。BYOKはキーベースの認証のみをサポートし、Microsoft Entra ID、マネージドID、サードパーティのIDプロバイダーはサポートされません。

Copilot SDK: CLIの同梱方法は言語によって異なる

Node.js、Python、.NET SDKでは、Copilot CLIが依存関係として自動的に同梱され、別途インストールは不要です。Go、Java、Rustでは、CLIはデフォルトでは同梱されず、手動でインストールするか、copilotがPATHにあることを確認する必要があります。GoとRustにはアプリケーションレベルのCLI同梱機能もあります。READMEはCLIバイナリの上書きや外部サーバーへの接続といった高度なオプションにも触れており、言語固有の詳細は各SDK READMEにあります。

Copilot SDK: ツール、カスタムエージェント、モデルアクセス

デフォルトでは、SDKはCopilot CLIのファーストパーティツールを公開します。これは--allow-allでCLIを実行するのと似ています。ツールの実行は各SDKのパーミッションハンドラーによって制御されるため、アプリケーションはツール呼び出しを承認、拒否、またはカスタマイズできます。クライアントオプションで特定のツールを有効または無効にすることもできます。カスタムエージェント、スキル、ツールは、独自のロジックを実装することでサポートされます。SDKはCopilot CLIで利用可能なすべてのモデルをサポートし、実行時に利用可能なモデルを返すメソッドを公開します。READMEはこれらのモデルを列挙しておらず、各言語でのメソッド名も示していません。

Copilot SDK: ステータス、問題報告、コミュニティSDK

READMEによると、SDKは一般提供され、セマンティックバージョニングに従っており、リリースノートはCHANGELOG.mdにあります。バグ報告と機能リクエストはGitHub Issuesを通じて行います。リポジトリのメタデータは217件のオープンイシューを示していますが、README自体は数字に触れていません。READMEはまた、ClojureとC++向けの非公式でコミュニティメンテナンスのSDKを2つ挙げており、GitHubがサポートしておらず、自己責任で使用するよう注意を促しています。

Copilot SDK: ライセンスと、それが約束しないこと

リポジトリはMITライセンスの下にあり、著作権はGitHub, Inc.に帰属します。ライセンスは、ソフトウェアのコピーを使用、複製、変更、結合、公開、配布、サブライセンス、販売する権利を許可しますが、上記の著作権表示と許可表示を含めることが条件です。ソフトウェアは現状のまま提供され、商品性、特定目的への適合性、非侵害を含む、明示または黙示のいかなる保証もありません。ライセンス本文はサポート、セキュリティ保証、または本番対応については何も述べておらず、それらはライセンスの約束ではありません。READMEの本番対応という記述はライセンス条項とは別です。

SDK の導入判断では、アプリケーションがどの言語から Copilot CLI を扱うかを先に決めます。Node.js、Python、.NET では CLI が依存関係として自動的に同梱される一方、Go、Java、Rust では既定で同梱されず、手動導入または PATH 上の実行ファイルが必要です。どの言語でも JSON-RPC で CLI サーバーと通信し、SDK が CLI プロセスのライフサイクルを管理します。ツールは既定で公開されるため、権限ハンドラーで承認、拒否、変更を明示する設計が必要です。認証は保存済み OAuth、GitHub App のユーザートークン、COPILOT_GITHUB_TOKEN などの環境変数、対応プロバイダーの BYOK に分かれます。BYOK では GitHub Copilot の契約が不要な場合がありますが、Entra ID やマネージド ID は対象外です。README は言語別 API 名やモデル一覧を省略しているため、採用時は対象 SDK の README と CHANGELOG を固定版で照合します。

編集部の結論

GitHub Copilot SDKは、アプリケーションがJSON-RPCを通じてCopilot CLIエージェントランタイムを駆動できるようにする、一般提供中の言語バインディング一式です。READMEには、BYOKを含む認証、言語ごとのCLI同梱の違い、カスタムエージェント、スキル、ツールの拡張点が記載されています。MITライセンスはコードを対象としていますが、保証やサポートの約束は含まれていません。

公式情報源

  1. Official README
  2. Project repository
  3. Release notes
コミュニティノート

コミュニティノート