github/copilot-sdk

GitHub: github/copilot-sdk

GitHub 官方推出的多语言 SDK,让开发者能将 Copilot Agent 的编排与执行能力以编程方式嵌入自定义应用和服务中。

Stars: 9358 | Forks: 1233

# GitHub Copilot CLI SDK ![GitHub Copilot SDK](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/949102bd4a015606.png) [![NPM 下载量](https://img.shields.io/npm/dm/%40github%2Fcopilot-sdk?label=npm)](https://www.npmjs.com/package/@github/copilot-sdk) [![PyPI - 下载量](https://img.shields.io/pypi/dm/github-copilot-sdk?label=PyPI)](https://pypi.org/project/github-copilot-sdk/) [![NuGet 下载量](https://img.shields.io/nuget/dt/GitHub.Copilot.SDK?label=NuGet)](https://www.nuget.org/packages/GitHub.Copilot.SDK) [![Go 参考](https://img.shields.io/badge/Go-Reference-00ADD8?logo=go&logoColor=white)](https://pkg.go.dev/github.com/github/copilot-sdk/go) [![crates.io](https://img.shields.io/crates/v/github-copilot-sdk?label=crates.io)](https://crates.io/crates/github-copilot-sdk) [![Maven Central](https://img.shields.io/maven-central/v/com.github/copilot-sdk-java?label=Maven%20Central)](https://central.sonatype.com/artifact/com.github/copilot-sdk-java) 为每个应用打造的 Agent。 将 Copilot 的 Agentic 工作流嵌入您的应用程序——现已作为可编程的 SDK 推出公开预览版,支持 Python、TypeScript、Go、.NET 和 Java。Rust SDK 也已在技术预览版中提供。 GitHub Copilot SDK 暴露了与 Copilot CLI 相同的引擎:这是一个经过生产测试的 Agent 运行时,您可以通过编程方式调用它。无需构建您自己的编排——您只需定义 Agent 行为,Copilot 会处理规划、工具调用、文件编辑等操作。 ## 可用的 SDK | SDK | 位置 | Cookbook | 安装 | | ------------------------ | ----------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | **Node.js / TypeScript** | [`nodejs/`](./nodejs/) | [Cookbook](https://github.com/github/awesome-copilot/blob/main/cookbook/copilot-sdk/nodejs/README.md) | `npm install @github/copilot-sdk` | | **Python** | [`python/`](./python/) | [Cookbook](https://github.com/github/awesome-copilot/blob/main/cookbook/copilot-sdk/python/README.md) | `pip install github-copilot-sdk` | | **Go** | [`go/`](./go/) | [Cookbook](https://github.com/github/awesome-copilot/blob/main/cookbook/copilot-sdk/go/README.md) | `go get github.com/github/copilot-sdk/go` | | **.NET** | [`dotnet/`](./dotnet/) | [Cookbook](https://github.com/github/awesome-copilot/blob/main/cookbook/copilot-sdk/dotnet/README.md) | `dotnet add package GitHub.Copilot.SDK` | | **Rust** | [`rust/`](./rust/) | — | `cargo add github-copilot-sdk` | | **Java** | [`github/copilot-sdk-java`](https://github.com/github/copilot-sdk-java) | [Cookbook](https://github.com/github/awesome-copilot/blob/main/cookbook/copilot-sdk/java/README.md) | Maven 坐标
`com.github:copilot-sdk-java`
参见 [Maven](https://github.com/github/copilot-sdk-java?tab=readme-ov-file#maven) 和 [Gradle](https://github.com/github/copilot-sdk-java?tab=readme-ov-file#gradle) 的说明 | 有关安装、用法示例和 API 参考,请参阅各个 SDK 的 README。 ## 快速入门 如需完整的操作指南,请参阅 **[快速入门指南](./docs/getting-started.md)**。 快速步骤: 1. **(可选)安装 Copilot CLI** 对于 Node.js、Python 和 .NET SDK,Copilot CLI 会自动捆绑,无需单独安装。 对于 Go 和 Rust SDK,请[手动安装 CLI](https://github.com/features/copilot/cli),或确保 `copilot` 在您的 PATH 中可用,除非您选择启用它们的应用程序级 CLI 捆绑功能。 2. 使用上述命令**安装您首选的 SDK**。 3. 有关用法示例和 API 文档,请**参阅 SDK README**。 ## 架构 所有 SDK 均通过 JSON-RPC 与 Copilot CLI 服务器通信: ``` Your Application ↓ SDK Client ↓ JSON-RPC Copilot CLI (server mode) ``` SDK 会自动管理 CLI 进程的生命周期。您也可以连接到外部 CLI 服务器——有关在服务器模式下运行 CLI 的详细信息,请参阅[快速入门指南](./docs/getting-started.md#connecting-to-an-external-cli-server)。 ## 常见问题 ### 我是否需要 GitHub Copilot 订阅才能使用 SDK? 是的,除非您使用 BYOK (Bring Your Own Key),否则需要 GitHub Copilot 订阅才能使用 GitHub Copilot SDK。通过 BYOK,您可以通过配置支持的 LLM 提供商提供自己的 API 密钥来使用 SDK,而无需 GitHub 身份验证。对于标准(非 BYOK)使用,请参阅 [GitHub Copilot 定价页面](https://github.com/features/copilot#pricing),该页面包含提供有限使用量的免费套餐。 ### SDK 使用的计费方式是怎样的? GitHub Copilot SDK 的计费基于与 Copilot CLI 相同的模型,每个提示都会计入您的 Premium 请求配额。有关 Premium 请求的更多信息,请参阅 [GitHub Copilot 中的请求](https://docs.github.com/en/copilot/concepts/billing/copilot-requests)。 ### 它是否支持 BYOK (Bring Your Own Key)? 是的,GitHub Copilot SDK 支持 BYOK (Bring Your Own Key)。您可以将 SDK 配置为使用支持的 LLM 提供商(例如 OpenAI、Azure AI Foundry、Anthropic)提供的 API 密钥,以通过这些提供商访问模型。有关设置说明和示例,请参阅 **[BYOK 文档](./docs/auth/byok.md)**。 **注意:** BYOK 仅使用基于密钥的身份验证。不支持 Microsoft Entra ID (Azure AD)、托管标识和第三方身份提供者。 ### 支持哪些身份验证方法? SDK 支持多种身份验证方法: - **GitHub 已登录用户** - 使用 `copilot` CLI 登录时存储的 OAuth 凭据 - **OAuth GitHub App** - 从您的 GitHub OAuth 应用传递用户 Token - **环境变量** - `COPILOT_GITHUB_TOKEN`、`GH_TOKEN`、`GITHUB_TOKEN` - **BYOK** - 使用您自己的 API 密钥(无需 GitHub 身份验证) 有关每种方法的详细信息,请参阅 **[身份验证文档](./docs/auth/index.md)**。 ### 我需要单独安装 Copilot CLI 吗? 不需要——对于 Node.js、Python 和 .NET SDK,Copilot CLI 会作为依赖项自动捆绑。您无需单独安装。 对于 Go 和 Rust SDK,CLI 默认不捆绑。请手动安装 CLI,确保 `copilot` 在您的 PATH 中可用,或者选择启用它们的应用程序级 CLI 捆绑功能。 进阶:您可以覆盖 CLI 二进制文件或连接到外部服务器。有关特定语言的选项,请参阅各个 SDK 的 README。 ### 默认启用了哪些工具? 默认情况下,SDK 会暴露 Copilot CLI 的第一方工具,类似于使用 `--allow-all` 运行 CLI。工具执行仍受每个 SDK 的权限处理程序控制,因此应用程序可以批准、拒绝或自定义工具调用。您可以通过配置 SDK 客户端选项来启用和禁用特定工具,从而自定义工具的可用性。有关工具配置的详细信息,请参阅各个 SDK 文档;有关可用工具的列表,请参阅 Copilot CLI 文档。 ### 我可以使用自定义的 Agent、Skill 或 Tool 吗? 是的,GitHub Copilot SDK 允许您定义自定义的 Agent、Skill 和 Tool。您可以通过实现自己的逻辑并根据需要集成其他工具来扩展 Agent 的功能。有关更多详细信息,请参阅您首选语言的 SDK 文档。 ### 是否有针对 Copilot 的指令或 SDK 指南可以加速开发? 是的,请查看自定义指令和特定于 SDK 的指南: - **[Node.js / TypeScript](https://github.com/github/awesome-copilot/blob/main/instructions/copilot-sdk-nodejs.instructions.md)** - **[Python](https://github.com/github/awesome-copilot/blob/main/instructions/copilot-sdk-python.instructions.md)** - **[.NET](https://github.com/github/awesome-copilot/blob/main/instructions/copilot-sdk-csharp.instructions.md)** - **[Go](https://github.com/github/awesome-copilot/blob/main/instructions/copilot-sdk-go.instructions.md)** - **[Rust](./rust/README.md)**(SDK 指南;自定义指令尚未发布) - **[Java](https://github.com/github/copilot-sdk-java/blob/main/instructions/copilot-sdk-java.instructions.md)** ### 支持哪些模型? Copilot CLI 可用的所有模型均支持在 SDK 中使用。SDK 还暴露了一个方法,该方法将返回可用的模型,以便在运行时访问它们。 ### SDK 可以用于生产环境吗? GitHub Copilot SDK 目前处于公开预览阶段。虽然它功能齐全并可用于开发和测试,但可能尚不适合生产环境使用。 ### 我该如何报告问题或请求功能? 请使用 [GitHub Issues](https://github.com/github/copilot-sdk/issues) 页面报告错误或请求新功能。我们欢迎您的反馈,以帮助改进 SDK。 ## 快速链接 - **[文档](./docs/index.md)** – 完整文档索引 - **[快速入门](./docs/getting-started.md)** – 启动并运行教程 - **[设置指南](./docs/setup/index.md)** – 架构、部署和扩展 - **[身份验证](./docs/auth/index.md)** – GitHub OAuth、BYOK 等 - **[功能](./docs/features/index.md)** – Hooks、自定义 Agent、MCP、Skill 等 - **[故障排除](./docs/troubleshooting/debugging.md)** – 常见问题和解决方案 - **[Cookbook](https://github.com/github/awesome-copilot/blob/main/cookbook/copilot-sdk)** – 跨所有语言的常见任务实用方法 - **[更多资源](https://github.com/github/awesome-copilot/blob/main/collections/copilot-sdk.md)** – 额外的示例、教程和社区资源 ## 非官方的、社区维护的 SDK ⚠️ 免责声明:这些是非官方的、社区驱动的 SDK,GitHub 不提供支持。使用需自行承担风险。 | SDK | 位置 | | ----------- | -------------------------------------------------------- | | **Clojure** | [copilot-community-sdk/copilot-sdk-clojure][sdk-clojure] | | **C++** | [0xeb/copilot-sdk-cpp][sdk-cpp] | ## 贡献 有关贡献指南,请参阅 [CONTRIBUTING.md](./CONTRIBUTING.md)。 ## 许可证 MIT
标签:AI 编程助手, Cilium, CLI, crates.io, DLL 劫持, GitHub Copilot, Go, JS文件枚举, LLM集成, Maven, NPM, NuGet, PyPI, Python, Ruby工具, Rust, TypeScript, WiFi技术, 代码生成, 企业级应用集成, 可视化界面, 多人体追踪, 多平台, 大语言模型, 威胁情报, 安全插件, 工具调用, 开发者工具, 技术预览版, 文件编辑, 无后门, 日志审计, 正则匹配, 渗透测试工具, 漏洞验证, 网络流量审计, 自动化编排, 逆向工具, 通知系统