开发与工程 ✓ Microsoft · 官方 github-copilotcopilot-sdkjson-rpcmcpstreamingsession-persistencecustom-tools

GitHub Copilot 应用开发技能

用统一 SDK 构建可编程的 GitHub Copilot 应用与代理工作流。

FollowSkills 评估 · FSRS-2.0
不推荐
49/ 100 五分制 2.5 / 5
信任安全13 / 25 · 2.6/5

文档披露了stdio/TCP、MCP、模型提供商、令牌、会话持久化和工具执行等数据流,并展示了工具权限钩子、拒绝示例、会话删除和清理建议;但远程MCP示例使用Bearer令牌和tools:["*"],持久化保存完整对话及工具结果,用户确认、最小权限、敏感数据边界和回滚流程不够明确,因此扣分。

可靠稳定8 / 20 · 2.0/5

多语言核心流程、超时、重试、错误钩子和异常场景说明较完整,仓库也提供相关测试与评估工作流;但本次仅静态阅读,未验证依赖版本、API示例、跨语言关键路径或实际失败行为,且文档内容在Client Configuration处截断,因此不超过静态上限并扣分。

适用触发8 / 15 · 2.7/5

目标用户、支持语言、前置条件、核心场景和若干部署模式较清楚;但非适用范围、触发边界、版本适配和中文使用说明不足,核心依赖GitHub Copilot CLI、订阅或海外端点,未提供中国大陆网络可达性方案,因此扣分。

规范维护8 / 15 · 2.7/5

结构按前置条件、安装、架构、示例、权限、安全、持久化和部署组织,且有MIT许可证、官方组织来源、README目录和安全报告入口;但仓库明确处于WIP,技能版本、变更日志、维护责任、更新路径、FAQ和完整文档边界不充分,SKILL.md还显示不完整,因此扣分。

有效结果7 / 15 · 2.3/5

技能覆盖客户端、会话、流式输出、工具、钩子、MCP、BYOK、持久化、代理和部署,并提供四种语言的可直接改写示例,能够支持核心集成任务;但示例正确性、当前SDK兼容性、完整输出和相对替代方案的证据不足,静态审查下按上限7分评估。

证据核验5 / 10 · 2.5/5

证据包括目标技能源文件、MIT许可证、README、CI评估工作流、测试代码和错误分类测试,具备一定可审计性;但没有针对该技能的已执行结果、覆盖报告或第三方交叉验证,本次也未执行任何复现,因此静态上限为5分。

证据充分度: 评估于 2026年7月20日 审查版本 9ccaf7c3704a
使用前请注意
  • 使用远程MCP、shell或持久化会话前,应明确限制工具集合、隔离工作目录、审查令牌传播并获得逐次用户确认;tools:["*"]和示例中的环境令牌不应直接用于生产。
  • 示例依赖GitHub Copilot CLI、订阅或外部模型端点;请先核验当前SDK版本、区域网络可达性、认证权限和各语言API是否仍兼容。
  • 仓库标注为WIP,且所给SKILL.md在Client Configuration处不完整;不能仅凭文档或CI存在性视为已验证的生产方案。
查看完整评分方法 →

它能做什么 & 适用场景

该技能指导开发者使用 GitHub Copilot SDK,通过 Copilot CLI 以 JSON-RPC 方式构建应用。内容覆盖 Node.js/TypeScript、Python、Go 和 .NET,并涵盖会话、流式响应、自定义工具、钩子、MCP、BYOK、持久化、定制代理和部署。它适合需要把 Copilot 能力嵌入后端服务、桌面应用或自动化流程的开发者。使用通常需要已安装并认证的 Copilot CLI,以及 GitHub Copilot 订阅;BYOK 场景可不需要订阅。

提供四种语言的安装包与客户端、会话创建和消息发送示例;说明如何通过 stdio 或 TCP 连接 Copilot CLI;配置流式事件、自定义工具、权限处理器、生命周期钩子和错误处理;接入本地或 HTTP MCP 服务器;配置 GitHub 凭据或 OpenAI、Azure、Anthropic、Ollama 等 BYOK 提供商;保存、恢复、列出和删除会话;配置定制代理、技能目录、无限会话和 Docker Compose 部署。

  1. 为 Node.js、Python、Go 或 .NET 后端添加可编程的 Copilot 会话和消息处理。
  2. 需要逐步输出模型响应的交互式应用或实时界面。
  3. 希望让 Copilot 调用业务 API、天气服务或其他自定义工具的开发团队。
  4. 需要通过钩子审批工具调用、修改参数、脱敏结果或记录会话指标的应用。
  5. 需要接入本地或远程 MCP 服务器的代理应用。
  6. 需要跨应用重启恢复会话,或在多用户服务中隔离会话状态的团队。

优缺点一览

优点
  • 覆盖 Node.js/TypeScript、Python、Go 和 .NET。
  • 同时提供会话管理、流式响应、自定义工具、钩子、MCP、BYOK 和部署模式。
  • 包含本地 stdio 与 TCP 两种 CLI 通信方式。
  • 说明了会话持久化、权限控制、错误处理和生产部署注意事项。
局限
  • 依赖 GitHub Copilot CLI;通常还需要 Individual、Business 或 Enterprise 订阅。
  • BYOK 凭据不会自动刷新,恢复会话时必须重新提供 provider 配置。
  • SDK 不包含 Copilot CLI 的交互式界面、斜杠命令、会话导出和部分 CLI 专属功能。
  • 源材料未提供该技能自身独立测试套件或各运行时平台的验证结果。

如何安装

在 Copilot CLI 中安装整个技能集合:npx skills add microsoft/skills。根据向导选择技能;GitHub Copilot 技能会安装到所选代理目录,例如项目的 .github/skills/。SDK 包安装命令分别为:Node.js/TypeScript 使用 npm install @github/copilot-sdk;Python 使用 pip install github-copilot-sdk;Go 使用 go get github.com/github/copilot-sdk/go;.NET 使用 dotnet add package GitHub.Copilot.SDK。使用 SDK 前还需安装并认证 Copilot CLI。

如何使用

在支持 Agent Skills 的编码代理中,针对需要程序化集成 GitHub Copilot 的任务触发此技能,例如:“用 Python Copilot SDK 创建可恢复会话,并接入一个自定义工具”。实现时创建 CopilotClient,创建会话,调用 sendsendAndWait,按需配置 streamingtoolshooksmcpServersprovidersessionId,最后停止客户端。具体 API 以目标语言示例为准。

对比同类

与直接使用 Copilot CLI 相比,该技能聚焦于通过 SDK 在应用中管理会话、消息、工具、事件和部署;CLI 仍提供交互式界面、斜杠命令、登录流程和会话导出等 SDK 不具备的功能。

常见问题

必须购买 GitHub Copilot 订阅吗?
使用 GitHub Copilot 服务通常需要 Individual、Business 或 Enterprise 订阅;使用 BYOK 时不要求 Copilot 订阅,但需要自行提供支持的模型提供商凭据。
SDK 如何连接 Copilot?
SDK 通过 JSON-RPC 连接 Copilot CLI,默认使用 stdio 将 CLI 作为子进程运行,也可以连接 TCP 模式的外部 CLI 服务。
会话能否跨进程恢复?
可以。创建会话时提供自定义 sessionId,之后可通过 resumeSession 恢复;会话历史、工具结果、规划状态和会话文件会被保存,但 API 密钥和内存中的工具状态不会保存。
如果工具调用不应被允许怎么办?
可以使用 onPreToolUse 或 onPermissionRequest 检查工具名称和参数,并返回 allow、deny 或 ask 等决定。SDK 的权限请求默认拒绝,除非提供处理器。

同仓库的其他 Skills

均来自 microsoft/agent-skills

开发与工程 ✓ Microsoft · 官方

Azure Identity Python 认证技能

为 Python Azure 应用提供基于 Microsoft Entra ID 的可复用身份认证指导。

开发与工程 ✓ Microsoft · 官方

Azure Event Hubs Java 开发技能

帮助 Java 开发者构建高吞吐、可 checkpoint 的 Azure 事件流应用。

开发与工程 ✓ Microsoft · 官方

Azure Tables Python 技能

帮助 Python 开发者使用 Azure Tables 完成安全认证、实体管理、查询与批量事务操作。

开发与工程 ✓ Microsoft · 官方

Azure Identity TypeScript

为 TypeScript Azure 应用配置安全、可切换的 Microsoft Entra ID 身份验证。

自动化与运维 ✓ Microsoft · 官方

Azure 应用可靠性顾问

评估并提升 Azure Functions 与 App Service 的可靠性。

开发与工程 ✓ Microsoft · 官方

Azure 云架构师

帮助编码代理按照 Azure 架构中心最佳实践设计和审查生产级云系统。

开发与工程 ✓ Microsoft · 官方

Azure AI 文本分析 Python 技能

为 Python 开发者提供 Azure 文本分析与自然语言处理集成指导。

自动化与运维 ✓ Microsoft · 官方

Azure 资源架构可视化器

分析 Azure 资源组及其依赖关系,生成详细的 Mermaid 架构图。

开发与工程 ✓ Microsoft · 官方

Azure Maps .NET 开发技能

为 .NET 应用提供地理搜索、路线、地图、定位与天气开发指导。

开发与工程 ✓ Microsoft · 官方

Azure AI Vision 图像分析技能

为 Python 编码代理提供 Azure AI Vision 图像理解实现指南。

开发与工程 ✓ Microsoft · 官方

Azure Blob Storage Python 技能

帮助 Python 开发者安全高效地操作 Azure Blob Storage。

开发与工程 ✓ Microsoft · 官方

Azure Queue Storage Python 技能

帮助编码代理使用 Python 构建安全、可靠的 Azure Queue Storage 异步消息处理。

自动化与运维 ✓ Microsoft · 官方

Azure AI 网关治理

用 Azure API Management 统一治理 AI 模型、MCP 工具和智能体流量。

自动化与运维 ✓ Microsoft · 官方

AKS Automatic 就绪评估

评估 Kubernetes 工作负载能否迁移到 AKS Automatic,并定位兼容性阻塞项。

开发与工程 ✓ Microsoft · 官方

Azure Cosmos DB .NET 资源管理技能

用 .NET 通过 ARM 部署和管理 Azure Cosmos DB 资源。

开发与工程 ✓ Microsoft · 官方

Azure Playwright 工作区管理技能

用 .NET 通过 Azure Resource Manager 配置和管理 Microsoft Playwright Testing 工作区。

开发与工程 ✓ Microsoft · 官方

Azure Cosmos DB Python 技能

帮助 Python 开发者可靠地构建和操作 Azure Cosmos DB NoSQL 应用。

开发与工程 ✓ Microsoft · 官方

Azure Key Vault Python SDK 技能

帮助 Python 编码代理安全管理 Azure Key Vault 中的机密、加密密钥和证书。

开发与工程 ✓ Microsoft · 官方

Azure API Management Python 技能

帮助编码代理使用 Python SDK 管理 Azure API Management 的服务、API、产品、订阅与策略。

开发与工程 ✓ Microsoft · 官方

Azure Monitor 查询 Python 技能

帮助 Python 开发者查询 Azure Monitor 日志与指标。

相关 Skills