Quand définir les informations du client
Définissez les informations du client lorsque votre application sdk représente un produit, un service ou une intégration distincts dont l’activité d’exécution doit être attribuée de manière cohérente.
Laissez les informations du client non définies pour les scripts, les outils ponctuels et les tâches qui ne représentent pas une application distincte. Le runtime conserve ensuite son attribution par défaut.
Les informations clientes ont quatre champs de chaîne facultatifs. Définissez les champs que vous connaissez et omettez le reste. Le SDK inclut des informations sur le client dans le server.connect handshake uniquement si au moins un champ a une valeur non vide.
| Champ | Example | Meaning |
|---|---|---|
applicationName | "vscode" | Nom de l’application à l’aide du Kit de développement logiciel (SDK) |
application | "1.124.2" | Version de l’application à l’aide du Kit de développement logiciel (SDK) |
integrationName | "copilot-chat" | Nom de l’extension, du plug-in ou d’autres sous-parties d’application à l’aide du Kit de développement logiciel (SDK) |
integration | "0.54.0" | Version de cette extension, plug-in ou sous-partie d’application |
Pour une application autonome sans intégration distincte, définissez uniquement les champs de l’application. Par exemple, un portail de développement peut être défini applicationName sur "acme-developer-portal" et applicationVersion sur "2.4.0", ce qui laisse les deux champs d’intégration non définis.
Le Kit de développement logiciel (SDK) envoie des informations client une fois lorsqu’il établit la connexion. L’identité s’applique pour la durée de vie de cette connexion.
Configurer les informations du client
Transmettez les informations du client lorsque vous créez le client :
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
- Les informations du client sont données à titre indicatif. Le runtime peut ignorer les valeurs qui ne correspondent pas au format attendu, comme une chaîne de version non valide.
- La définition des informations client modifie la façon dont le runtime attribue ses données de télémétrie. Cela ne modifie pas ce que l’environnement d’exécution enregistre.
- Si tous les champs ne sont pas définis ou sont vides, le SDK omet les informations client lors de la négociation et l’environnement d’exécution conserve son attribution par défaut.