跳到正文
FunCoding

搜索

搜索文档、Skill 和 MCP

SDK 客户端身份元数据

为连接标记应用和集成名称,区分遥测归属与认证身份。

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 认证,共享后端的会话归属见多租户部署。