Skip to main content

既定のセットアップ (バンドルされた CLI)

Node.js、Python、および.NET SDK には、依存関係として Copilot CLI が含まれています。アプリには、追加のインストールや構成は必要なく、必要なものがすべて付属しています。

次の場合に最適です。 ほとんどのアプリケーション (デスクトップ アプリ、スタンドアロン ツール、CLI ユーティリティ、プロトタイプなど)。

どのように機能するのか

SDK をインストールすると、Copilot CLI バイナリが自動的に含まれます。 SDK は、それを子プロセスとして開始し、stdio 経由で通信します。 構成する必要がある追加の情報はありません。

図: 説明されたプロセスを示すフローチャート。

主な特性:

  • CLI バイナリは SDK に含まれています。個別のインストールは必要ありません
  • SDK は、互換性を確保するために CLI バージョンを管理します
  • ユーザーはアプリを使用して認証します (または env vars/BYOK を使用します)
  • セッションは自分のマシンでユーザーごとに管理されます

簡単スタート

コード言語 navigation

TypeScript
import { CopilotClient } from "@github/copilot-sdk";

const client = new CopilotClient();

const session = await client.createSession({ model: "gpt-4.1" });
const response = await session.sendAndWait({ prompt: "Hello!" });
console.log(response?.data.content);

await client.stop();

認証の戦略

ユーザーの認証方法を決定する必要があります。 一般的なパターンを次に示します。

図: 説明されたプロセスを示すフローチャート。

オプション A: ユーザーのサインイン資格情報 (最も簡単)

ユーザーは CLI に 1 回サインインし、アプリはこれらの資格情報を使用します。 追加のコードは必要ありません。これが既定の動作です。

const client = new CopilotClient();
// Default: uses signed-in user credentials

オプション B: 環境変数を使用したトークン

トークンを設定する手順をアプリに配布するか、プログラムで設定します。

const client = new CopilotClient({
    env: {
        COPILOT_GITHUB_TOKEN: getUserToken(),  // Your app provides the token
    },
});

オプション C: BYOK (GitHub認証は必要ありません)

独自のモデル プロバイダー キーを管理する場合、ユーザーはGitHubアカウントをまったく必要としません。

const client = new CopilotClient();

const session = await client.createSession({
    model: "gpt-4.1",
    provider: {
        type: "openai",
        baseUrl: "https://api.openai.com/v1",
        apiKey: process.env.OPENAI_API_KEY,
    },
});

詳細については、 BYOK (独自のキーを持ち込む) を参照してください。

セッション管理

アプリでは通常、ユーザーが会話を再開できるように、名前付きセッションが必要です。

const client = new CopilotClient();

// Create a session tied to the user's project
const sessionId = `project-${projectName}`;
const session = await client.createSession({
    sessionId,
    model: "gpt-4.1",
});

// User closes app...
// Later, resume where they left off
const resumed = await client.resumeSession(sessionId);

セッション状態は ~/.copilot/session-state/{sessionId}/で保持されます。

次に進むタイミング

必要次のガイドへ
GitHub アカウントを使用してサインインするユーザー
GitHub OAuth のセットアップ
ユーザー マシンではなくサーバーで実行する
バックエンド サービスのセットアップ
独自のモデル キーを使用する
BYOK (独自のキーを持ち込む)

次のステップ