Appearance
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 |
| 构建产品,不想让用户依赖 Copilot | BYOK |
| 企业内网服务,集中认证 | 后端服务 |
后端服务配置(企业级)
适合:企业内部平台,集中式 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 方式认证。