Когда следует задать сведения о клиенте
Задайте сведения о клиенте, когда приложение SDK представляет отдельный продукт, службу или интеграцию, активность среды выполнения которой должна быть согласована.
Оставьте сведения о клиенте неустановленными для сценариев, одноразовых средств и заданий, которые не представляют отдельного приложения. Затем среда выполнения сохраняет свое присвоение по умолчанию.
Сведения о клиенте имеют четыре необязательных строковых поля. Задайте поля, которые вы знаете и опустите остальные. Пакет SDK включает сведения о клиенте в server.connect подтверждение, только если хотя бы одно поле имеет непустое значение.
| Поле | Example | Значение |
|---|---|---|
applicationName | "vscode" | Имя приложения с помощью пакета SDK |
application | "1.124.2" | Версия приложения с помощью пакета SDK |
integrationName | "copilot-chat" | Имя расширения, подключаемого модуля или другой части приложения с помощью пакета SDK |
integration | "0.54.0" | Версия этого расширения, подключаемого модуля или подчасти приложения |
Для автономного приложения без отдельной интеграции задайте только поля приложения. Например, на портале разработчика может быть задано applicationName``"acme-developer-portal" значение и applicationVersion значение "2.4.0", при этом оба поля интеграции не заданы.
Пакет SDK отправляет сведения о клиенте один раз при установке подключения. Удостоверение применяется к времени существования этого подключения.
Настройка сведений о клиенте
Передайте сведения о клиенте при создании клиента:
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();
from copilot import CopilotClient
client = CopilotClient(
client_info={
"application_name": "vscode",
"application_version": "1.124.2",
"integration_name": "copilot-chat",
"integration_version": "0.54.0",
},
)
await client.start()
client := copilot.NewClient(&copilot.ClientOptions{
ClientInfo: &copilot.ClientInfo{
ApplicationName: "vscode",
ApplicationVersion: "1.124.2",
IntegrationName: "copilot-chat",
IntegrationVersion: "0.54.0",
},
})
if err := client.Start(ctx); err != nil {
return err
}
using GitHub.Copilot;
await using var client = new CopilotClient(new CopilotClientOptions
{
ClientInfo = new CopilotClientInfo
{
ApplicationName = "vscode",
ApplicationVersion = "1.124.2",
IntegrationName = "copilot-chat",
IntegrationVersion = "0.54.0",
},
});
await client.StartAsync();
var options = new CopilotClientOptions()
.setClientInfo(new ClientInfo()
.setApplicationName("vscode")
.setApplicationVersion("1.124.2")
.setIntegrationName("copilot-chat")
.setIntegrationVersion("0.54.0"));
var client = new CopilotClient(options);
client.start().get();
use github_copilot_sdk::{Client, ClientInfo, ClientOptions};
let client = Client::start(
ClientOptions::new().with_client_info(
ClientInfo::new()
.with_application_name("vscode")
.with_application_version("1.124.2")
.with_integration_name("copilot-chat")
.with_integration_version("0.54.0"),
),
)
.await?;
Notes
- Сведения о клиенте — это рекомендации. Среда выполнения может игнорировать значения, которые не соответствуют ожидаемому формату, например недопустимой строке версии.
- Настройка сведений о клиенте изменяет способ атрибутов среды выполнения его телеметрии. Он не изменяет записи среды выполнения.
- Если каждое поле не задано или пусто, пакет SDK опустит сведения о клиенте из подтверждения, а среда выполнения сохраняет свое присвоение по умолчанию.