Skip to main content
Skip to content

クライアント情報

クライアント情報は、Copilot SDK を使用してアプリケーションを識別し、該当する場合は、その中の特定の統合を識別します。 統合とは、拡張機能やプラグインなど、SDK を使用するアプリケーションの特定可能なサブ部分です。 オプションの clientInfo クライアント オプションを設定して、ランタイム独自のビルドではなく、その接続のランタイム テレメトリをアプリケーションに属性付けします。

クライアント情報を設定するタイミング

SDK アプリケーションが、ランタイム アクティビティを一貫して属性付けする必要がある個別の製品、サービス、または統合を表す場合に、クライアント情報を設定します。

個別のアプリケーションを表さないスクリプト、1 回限りのツール、ジョブについては、クライアント情報の設定を解除したままにします。 その後、ランタイムは既定の属性を保持します。

クライアント情報には、4 つの省略可能な文字列フィールドがあります。 知っているフィールドを設定し、残りのフィールドを省略します。 SDK には、少なくとも 1 つのフィールドに空以外の値がある場合にのみ、 server.connect ハンドシェイクにクライアント情報が含まれます。

フィールドExampleMeaning
applicationName"vscode"SDK を使用したアプリケーションの名前
applicationVersion"1.124.2"SDK を使用したアプリケーションのバージョン
integrationName"copilot-chat"SDK を使用した拡張機能、プラグイン、またはその他のアプリケーション サブパーツの名前
integrationVersion"0.54.0"その拡張機能、プラグイン、またはアプリケーション サブパートのバージョン

個別の統合がないスタンドアロン アプリケーションの場合は、アプリケーション フィールドのみを設定します。 たとえば、開発者ポータルでは、 applicationName を "acme-developer-portal" に設定し、 applicationVersion を "2.4.0" に設定し、両方の統合フィールドを未設定のままにすることができます。

SDK は、接続の確立時にクライアント情報を 1 回送信します。 ID は、その接続の有効期間に適用されます。

クライアント情報を構成する

クライアントを作成するときにクライアント情報を渡します。

コード言語 navigation

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

const client = new CopilotClient({
  clientInfo: {
    applicationName: "vscode",
    applicationVersion: "1.124.2",
    integrationName: "copilot-chat",
    integrationVersion: "0.54.0",
  },
});

await client.start();

メモ

  • クライアント情報は参考情報です。 ランタイムは、無効なバージョン文字列など、予想される形式と一致しない値を無視できます。
  • クライアント情報を設定すると、ランタイムがテレメトリを属性付けする方法が変わります。 ランタイム レコードの内容は変更されません。
  • すべてのフィールドが設定されていないか空の場合、SDK はハンドシェイクからクライアント情報を省略し、ランタイムは既定の属性を保持します。