Skip to content
FunCoding

Search

Search docs, Skills and MCP

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