Skip to main content
Skip to content

客户端信息

客户端信息使用 Copilot SDK 标识应用程序,并在适用时标识应用程序中的特定集成。 集成是使用该 SDK(例如扩展或插件)的应用程序的可识别子部分。 将可选的 clientInfo 客户端选项设置为将该连接的运行时遥测归因于您的应用程序,而不是运行时自身的构建版本。

何时设置客户端信息

当您的 SDK 应用程序对应于某个独立的产品、服务或集成,且其运行时活动应持续归因于该产品、服务或集成时,请设置客户端信息。

对于脚本、一次性工具和不代表独立应用程序的作业,请不要设置客户端信息。 然后,运行时保留其默认属性。

客户端信息有四个可选字符串字段。 设置你知道的字段并省略其余字段。 仅当至少有一个字段的值非空时,SDK 才会在 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 在建立连接时发送客户端信息一次。 该身份在该连接的整个生命周期内有效。

配置客户端信息

创建客户端时传递客户端信息:

代码语言 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 会从握手中省略客户端信息,运行时会保留其默认属性。