SDK 客户端身份元数据
为连接标记应用和集成名称,区分遥测归属与认证身份。
This page has not been translated into English yet. The original Chinese version is shown below.
clientInfo 用于标记正在使用 SDK 的应用,以及应用内可识别的插件或扩展。它改变 runtime 遥测的归属标记,不改变所记录的数据,也不是 GitHub 登录凭据或用户授权。
在创建客户端时设置
import { CopilotClient } from "@github/copilot-sdk";
const client = new CopilotClient({
clientInfo: {
applicationName: "acme-developer-portal",
applicationVersion: "2.4.0",
},
});
await client.start();上例名称和版本属于示例应用。独立产品只填应用字段即可;只有确实存在独立集成时才补充 integration 字段。
| 字段 | 含义 |
|---|---|
applicationName | 使用 SDK 的应用名称 |
applicationVersion | 应用版本 |
integrationName | 应用内的扩展、插件或其他集成名称 |
integrationVersion | 该集成版本 |
四项都是可选字符串,知道哪些就填哪些。一次性脚本或没有独立产品身份的任务可不设置,保留 runtime 默认归属。
按连接发送一次
SDK 只有在至少一个字段非空时,才在 server.connect 握手中加入 client info;全部省略或为空就不发送。身份在建立连接时发送一次,并作用于该连接生命周期,不能把它当逐请求或逐会话的用户切换机制。
字段具有建议性质:runtime 可以忽略格式不符合预期的值,例如无效版本字符串。因此应用不应依赖此元数据实施授权或判断租户归属。用户认证见SDK 认证,共享后端的会话归属见多租户部署。