GitHub Copilot SDK

把 Copilot CLI 背后的智能体运行时嵌入你自己的应用,支持六种语言。

Star 数
★ 11k
最近更新
1 天前
License
MIT
主语言
Java

30 秒速览

运行形态
代码库 / SDK开发框架
可在哪里用
兼容但需适配
费用
软件免费,模型调用费用自付
上手难度
中 · 需要几步配置
开始前需要
GitHub Copilot 订阅或 BYOK API 密钥Copilot CLI(Node.js、Python、.NET 自带;Go、Java、Rust 需手动安装)Shell / 命令行网络访问本地文件系统
典型场景
后端团队要在自有 SaaS 产品里加入能读代码库、改文件、跑工具的编码助手,希望复用 Copilot CLI 的运行时而不是自己写编排。
不适合
  • 需要完全使用自有模型路由、不愿依赖 Copilot 账户体系的团队
  • 只想要开箱即用的聊天界面、不写集成代码的用户
  • 需要 Microsoft Entra ID 或托管身份做 BYOK 认证的组织

这个 Agent 能做什么,适合哪些场景?

GitHub Copilot SDK 是 GitHub 官方的多语言客户端库集合,把 Copilot CLI 背后的生产级智能体运行时以编程方式暴露出来。它提供 Node.js/TypeScript、Python、Go、.NET、Java 和 Rust 六个 SDK,各自放在仓库对应子目录中,并以 npm、PyPI、NuGet、Go module、crates.io、Maven Central 等包管理器分发。所有 SDK 都以 JSON-RPC 与 Copilot CLI 的服务器模式通信,由 SDK 负责管理 CLI 进程的生命周期,你也可以连接外部已运行的 CLI 服务端。开发者只需定义智能体行为与权限处理器,规划、工具调用和文件编辑由 Copilot 运行时完成。使用需要 GitHub Copilot 订阅,或通过 BYOK 自带 OpenAI、Microsoft Foundry、Anthropic 等提供方的 API 密钥。

应用通过 SDK 客户端创建一个会话并发送提示词,SDK 客户端随后以 JSON-RPC 调用 Copilot CLI 服务器模式进程,CLI 负责规划、调用工具、编辑文件并把结果流式返回。SDK 会自动管理 CLI 进程的启动与关闭,也可连接到外部 CLI 服务器。默认暴露 Copilot CLI 的第一方工具,但工具调用受各 SDK 的权限处理器约束,应用可以批准、拒绝或自定义;也可以配置启用或禁用具体工具,并定义自定义智能体、技能和工具。SDK 还提供运行时查询可用模型的方法、支持表单征集(form elicitation)回调的可移植 schema 约定,以及在获授权时提供 skills.planInstall、skills.applyInstall、skills.installations.list 等 Agent Finder 技能安装 API。

  1. 后端团队要在自有 SaaS 产品里加入能读代码库、改文件、跑工具的编码助手,希望复用 Copilot CLI 的运行时而不是自己写编排。
  2. 企业内部平台需要按语言选型:前端团队用 TypeScript、数据团队用 Python、基础设施团队用 Go,共用同一套 Copilot 智能体行为。
  3. 需要把智能体工具调用纳入公司审批流程的团队,通过权限处理器拦截或放行每一次工具执行。
  4. 希望使用自有 OpenAI、Microsoft Foundry 或 Anthropic 密钥、不走 GitHub 认证的合规敏感场景(BYOK)。
  5. 在 CI 或自动化脚本中通过 Node.js 或 Python SDK 以编程方式触发智能体任务。

如何安装或部署这个 Agent?

先确认运行时:Node.js/TypeScript、Python、.NET 的 SDK 会自动捆绑 Copilot CLI;Go、Java、Rust 需自行安装 CLI 并确保 copilot 在 PATH 中。然后按语言安装对应包。

npm install @github/copilot-sdk
pip install github-copilot-sdk
go get github.com/github/copilot-sdk/go
dotnet add package GitHub.Copilot.SDK
cargo add github-copilot-sdk

Java 通过 Maven 坐标 com.github:copilot-sdk-java 引入,具体 Maven 与 Gradle 写法见 java/README.md。认证方式可选:使用 copilot CLI 登录后的 OAuth 凭据、从自有 GitHub OAuth App 传入用户令牌、设置 COPILOT_GITHUB_TOKEN、GH_TOKEN 或 GITHUB_TOKEN 环境变量,或使用 BYOK 密钥。

如何使用这个 Agent?

安装后先完成认证:要么运行 copilot CLI 登录,要么设置环境变量。

export COPILOT_GITHUB_TOKEN="<your-github-token>"

BYOK 场景无需 GitHub 认证,改为配置所支持提供方(如 OpenAI、Microsoft Foundry、Anthropic)的 API 密钥,具体写法见 docs/auth/byok.md。随后在代码中创建 SDK 客户端、配置权限处理器与工具选项、发起会话并发送提示词;各语言的具体调用示例与 API 参考在对应子目录 README 中,完整入门流程见 docs/getting-started.md。若需连接已独立运行的 CLI 服务器,参考该指南中“Connecting to an external CLI server”一节。

这个 Agent 有哪些优点和局限?

优点
  • 直接复用 Copilot CLI 背后的生产级运行时,规划、工具调用与文件编辑无需自行实现。
  • 一套行为定义可跨 Node.js/TypeScript、Python、Go、.NET、Java、Rust 六种语言落地,并按各自生态的包管理器分发。
  • 权限处理器让每次工具调用都可被应用批准、拒绝或定制,便于嵌入需要审计的内部系统。
  • 支持 BYOK,可用自有 OpenAI、Microsoft Foundry、Anthropic 密钥运行,无需 GitHub 认证。
  • SDK 自动管理 CLI 进程生命周期,Node.js、Python、.NET 还自带 CLI,减少部署依赖。
  • 遵循语义化版本并已正式可用(GA),有 CHANGELOG 与按语言区分的官方指令文件辅助开发。
局限
  • 核心运行时绑定 Copilot CLI 与 JSON-RPC 协议,Go、Java、Rust 还需自行安装或打包 CLI,部署链路比纯库方案复杂。
  • BYOK 仅支持密钥认证,明确不支持 Microsoft Entra ID、托管身份和第三方身份提供方。
  • 计费按 Copilot CLI 模式逐条提示词计入用量额度,用量与成本预估依赖订阅方案。
  • 表单征集 schema 的可移植性不一致:Node.js 与 Rust 保留线上 schema 元数据和属性顺序,Python、Go、.NET、Java 会重建 schema,跨语言应用不能依赖这些细节。
  • Rust 尚无 Cookbook,自定义指令文件也尚未发布,跨语言文档完整度不均。

这个 Agent 与同类方案有什么区别?

与相关度最高的同类 agent 并排比较关键指标。

Agent 源码审查 形态 / 费用 Star 最近更新 主语言 完整支持的平台
GitHub Copilot SDK 当前 56 · 缺口较多 代码库 / SDK免费 + 模型费 ★ 11k 1 天前 Java —
Agent2Agent (A2A) 协议 证据不足 代码库 / SDK免费 ★ 26k 今天 Shell —
Prismer Cloud 56 · 缺口较多 命令行工具免费版 + 付费版 ★ 1.4k 6 天前 TypeScript Claude Code
Promptise Foundry 44 · 缺口较多 代码库 / SDK免费 + 模型费 ★ 874 今天 Python Claude.ai · OpenAI API · Claude API

FollowAgents 如何评估这个 Agent?

FollowAgents 源码审查 · FARS-2.1
缺口较多
56/ 100 五分制 2.8 / 5
信任安全 13/29
可靠稳定 6/14
适用触发 12/18
规范维护 14/18
有效结果 7/13
证据核验 4/8
查看各维度的扣分理由
信任安全13 / 29 · 2.2/5

文档明确说明默认暴露 Copilot CLI 的一等工具,行为类似 --allow-all,工具执行仍受各 SDK 的权限处理器约束,但教程示例普遍使用 PermissionHandler.approve_all / ApproveAllHandler,最小权限与用户确认在示例层面被弱化,故 least_privilege 与 user_confirmation 仅给 1。数据流方面有 JSON-RPC 架构图、OAuth 时序图与认证优先级说明,透明度较好给 2;敏感数据处理有令牌类型、轮换、禁用自动登录、多租户隔离等说明给 2;依赖安全仅提及 CLI 捆绑与版本固定建议,无 SBOM/审计证据给 1;外部效应(文件编辑、工具调用)有提及但缺少默认限制说明给 1;回滚仅提到会话恢复与卸载 API,缺少通用回滚机制给 1;来源归属有 MIT、官方组织与社区 SDK 免责声明,给 2。

可靠稳定6 / 14 · 2.1/5

跨语言示例结构一致、事件与方法命名基本对齐,self_consistency 给 2;依赖可用性方面仅给出安装命令与版本下限指引,未提供锁定版本或镜像/离线方案,给 1;失败信息仅在认证与配额章节有部分错误语义说明,缺少系统性错误码与排障映射,给 1。

适用触发12 / 18 · 3.3/5

面向六种语言、多用户、CI、BYOK、企业等场景覆盖充分,audience_and_scenarios 给 3;能力边界有实验性 API 标注与语言差异说明,给 2;触发精度方面缺少对工具触发条件、权限判定规则的精确描述,给 1;环境适配有捆绑 CLI 与外部服务器两种模式,给 2。

规范维护14 / 18 · 3.9/5

文档索引、快速链接、分语言折叠结构清晰,information_architecture 给 3;安装说明详尽给 3;命名稳定性因实验性 API 与跨语言命名差异(如 gitHubToken/github_token)给 2;示例与 FAQ 丰富给 3;已知限制有专门章节但分散,给 2;许可证 MIT 明确给 2;版本化仅指向 CHANGELOG 链接,未见实际内容,给 1;维护责任有 Issues 渠道与官方组织,给 2。

有效结果7 / 13 · 2.7/5

输出可用性有完整可运行示例,但部分示例标注 docs-validate: skip/hidden,未验证,给 2;边际价值在于复用成熟 agent 运行时,给 2;成本效益涉及订阅计费与令牌消耗,文档有说明但缺少成本控制手段,给 1。

证据核验4 / 8 · 2.5/5

声明多指向外部链接(cookbook、awesome-copilot),仓库内缺少对应证据,claim_traceability 给 1;跨源佐证有限,给 1;事实与推断分离较好,文档区分了实验性与稳定 API,给 2。

风险与缓解建议
  • 示例默认使用 approve_all 权限处理器,生产集成前应替换为最小权限的显式审批逻辑。
  • 默认工具集类似 --allow-all,需在客户端选项中显式收敛可用工具。
  • 部分示例标注 docs-validate: skip/hidden,未经文档校验,直接复制可能失败。
  • 实验性 API(session.quota、usage.getMetrics 等)需同时固定 SDK 与 CLI 版本。
  • 依赖安全与版本锁定缺乏仓库内证据,需自行审计捆绑 CLI 与传递依赖。
证据充分度:低 评估于 2026年10月20日 审查版本 51e9556d2607
查看完整评分方法 →

常见问题

不用 Copilot 订阅也能用吗?
可以,但仅限 BYOK 模式:配置自有 OpenAI、Microsoft Foundry 或 Anthropic 等受支持提供方的 API 密钥即可,无需 GitHub 认证。非 BYOK 的标准用法需要 GitHub Copilot 订阅,其中包含有限用量的免费档。
费用怎么算?
SDK 本身以 MIT 许可开源,但使用按 Copilot CLI 的同一计费模型,每条提示词都会计入你的用量额度;BYOK 模式下则按你所选提供方的价格计费。
必须单独安装 Copilot CLI 吗?
Node.js、Python 和 .NET SDK 会自动捆绑 CLI,无需单独安装。Go、Java 和 Rust 默认不捆绑,需手动安装或确保 copilot 在 PATH 中;Go 与 Rust 另外提供应用级 CLI 打包能力。
默认会执行哪些工具,安全吗?
默认暴露 Copilot CLI 的第一方工具,效果类似以 --allow-all 运行 CLI;但每次调用仍受各 SDK 权限处理器约束,应用可以批准、拒绝或定制,也可通过客户端选项启用或禁用具体工具。
支持哪些模型?
Copilot CLI 可用的模型在 SDK 中都受支持,SDK 还提供方法在运行时查询当前可用的模型列表。
在 GitHub 查看 ↗ 安装 ↓

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents