Skip to content

Copilot SDK 有四种配置路径,核心区别在于认证方式:本地 CLI(最简单,适合个人)、GitHub OAuth(适合 SaaS 服务多用户)、后端服务(企业内网/平台服务)、BYOK(不依赖 Copilot 订阅)。所有路径都需要安装 Copilot CLI。

GitHub Copilot SDK 配置路径选择:个人、OAuth、后端服务与 BYOK

架构基础

所有 Copilot SDK 应用都通过同一架构工作:

你的应用 ←→ Copilot SDK ←→ Copilot CLI(JSON-RPC)←→ Copilot AI 服务

核心区别在于谁来做认证,以及CLI 如何部署

四种配置路径

路径一:本地 CLI(最简单)

适合:个人开发者、爱好者、快速原型

工作方式

  • 开发者本地已安装 Copilot CLI 并登录 GitHub 账号
  • 应用直接使用本机 CLI,无需额外认证配置

优点:零配置,5 分钟上手
限制:只能在开发者本人机器上运行,无法部署给其他人使用

typescript
// 无需额外配置,直接创建 Session
const session = await createSession()

路径二:捆绑 CLI(打包发布)

适合:桌面应用、内部工具分发

工作方式

  • 将 Copilot CLI 二进制文件打包到应用中
  • 每个用户安装你的应用时包含 CLI,用户用自己的 GitHub 账号登录

优点:用户无需单独安装 CLI
限制:每个用户仍需有自己的 Copilot 订阅

路径三:GitHub OAuth(SaaS / Web 应用)

适合:服务多用户的 SaaS 应用、Web 服务

工作方式

  • 创建 GitHub OAuth App
  • 用户通过 OAuth 授权你的应用代表他们使用 Copilot
  • 每个用户使用自己的 Copilot 配额

关键配置

typescript
const session = await createSession({
  auth: {
    type: 'oauth',
    clientId: process.env.GITHUB_CLIENT_ID,
    // 用户的 OAuth token
    token: userOAuthToken
  }
})

优点:可以部署给任意多用户
限制:每个用户需要有 Copilot 订阅

路径四:BYOK(Bring Your Own Key)

适合:ISV(独立软件供应商)、不想依赖 Copilot 订阅的场景

工作方式

  • 使用自己的 AI 提供商 API Key(OpenAI、Anthropic、Azure OpenAI 等)
  • 不经过 GitHub Copilot 认证,直接调用 AI 提供商

支持的提供商:OpenAI、Azure OpenAI、Azure AI Foundry、Anthropic、Ollama、任何 OpenAI 兼容端点

配置示例

typescript
const session = await createSession({
  auth: {
    type: 'openai',
    baseUrl: 'https://api.openai.com/v1',
    apiKey: process.env.OPENAI_API_KEY,
    model: 'gpt-4o'
  }
})

优点:不需要用户有 Copilot 订阅,成本完全由你控制
限制:不能使用 GitHub 特有的功能(如 GitHub 仓库上下文索引)

决策矩阵

我的情况推荐路径
个人开发者,自用工具本地 CLI
打包桌面应用分发给同事捆绑 CLI
构建 SaaS,用户各有 Copilot 订阅GitHub OAuth
构建产品,不想让用户依赖 CopilotBYOK
企业内网服务,集中认证后端服务

后端服务配置(企业级)

适合:企业内部平台,集中式 AI 服务

使用企业 GitHub App 或服务账号做统一认证,所有内部用户通过这个中间层访问 Copilot。

typescript
const session = await createSession({
  auth: {
    type: 'token',
    token: process.env.GITHUB_APP_TOKEN
  }
})

优点:集中管理,用户无需各自配置
限制:需要维护企业 GitHub App,配额共享

常见问题

Q: 可以同时支持 OAuth 和 BYOK 两种模式吗?

A: 可以。在配置中根据用户选择动态切换认证方式,让用户选择是用自己的 Copilot 账号还是自己的 API Key。

Q: BYOK 使用 Anthropic Claude,会受 Copilot 额度限制吗?

A: 不会。BYOK 完全绕过 Copilot 认证,直接调用 Anthropic API,受 Anthropic 的速率限制,不消耗 Copilot Premium Requests。

Q: 本地 CLI 路径适合部署到服务器吗?

A: 不适合。本地 CLI 路径假设用户已在机器上登录 GitHub,服务器环境没有用户交互,应该用 Token/OAuth 方式认证。