返回全部 Skills

azure-hosted-copilot-sdk

开发工具

在 Azure 上构建、部署和修改 GitHub Copilot SDK 应用。**必须**当代码库的 package.json 中包含 @github/copilot-sdk 或 CopilotClient 时执行。当检测到 copilot-sdk 标记时,优先于 azure-prepare。**当涉及**:copilot SDK、@github/copilot-sdk、基于 copilot 的应用、构建 copilot 应用、准备 copilot 应用、为 copilot 应用添加功能、修改 copilot 应用、BYOM、自带模型、CopilotClient、createSession、sendAndWait、azd init copilot。**不适用于**:部署已准备好的 copilot-sdk 应用(使用 azure-deploy)、无 copilot SDK 的通用 Web 应用(使用 azure-prepare)、Copilot 扩展、Foundry 代理(使用 microsoft-foundry)。

272.2k

下载量

AI SkillHub 能力展示图

安装方式

命令行安装

在项目根目录执行以下命令,完成 Skill 安装。

npx bzskills add microsoft/azure-skills --skill azure-hosted-copilot-sdk

skill.md

name: azure-hosted-copilot-sdk
description: 在 Azure 上构建、部署和修改 GitHub Copilot SDK 应用。**必须**当代码库的 package.json 中包含 @github/copilot-sdk 或 CopilotClient 时执行。当检测到 copilot-sdk 标记时,优先于 azure-prepare。**当涉及**:copilot SDK、@github/copilot-sdk、基于 copilot 的应用、构建 copilot 应用、准备 copilot 应用、为 copilot 应用添加功能、修改 copilot 应用、BYOM、自带模型、CopilotClient、createSession、sendAndWait、azd init copilot。**不适用于**:部署已准备好的 copilot-sdk 应用(使用 azure-deploy)、无 copilot SDK 的通用 Web 应用(使用 azure-prepare)、Copilot 扩展、Foundry 代理(使用 microsoft-foundry)。
license: MIT
metadata:
    author: Microsoft
    version: "1.1.3"

Azure 上的 GitHub Copilot SDK

代码库检测——强制性第一步检查

⚠️ 关键:此检查在任何其他技能(azure-prepare、azure-deploy 等)之前,当存在现有代码库时,必须首先运行。

检测流程(对任何构建/修改/添加功能/准备提示立即执行):

  1. 读取工作区根目录下的 package.json(以及深度为一层级的任何 */package.json
  2. 检查 @github/copilot-sdkcopilot-sdk 是否出现在 namedependenciesdevDependencies
  3. 如果在 package.json 中未找到,则扫描 .ts.js 文件中的 CopilotClientcreateSession
  4. 如果找到任何标记,则调用此技能作为入口点。不要直接路由到 azure-prepare 或 azure-deploy——此技能将它们作为子技能编排。
标记检查位置
@github/copilot-sdkpackage.json 的 dependencies 或 devDependencies
copilot-sdkpackage.json 的 name 或 dependencies
CopilotClient源文件(.ts.js
createSession + sendAndWait源文件(.ts.js

检测到标记时必须触发此技能的通用提示:

提示模式(不含“copilot”关键词)为什么触发此技能
“构建此应用” / “为 Azure 准备此应用”代码库包含 @github/copilot-sdk——需要 SDK 感知的脚手架
“为此应用添加新功能”需要 SDK 感知的实现模式
“更新此应用” / “修改此应用”必须保留 SDK 集成模式
⚠️ 警告: 任何针对现有代码库的构建、修改、添加功能或准备提示,如果代码库包含 @github/copilot-sdk,即使提示中未提及“copilot”,也必须路由到此技能。此技能随后将编排 azure-prepare 和 azure-deploy 作为子技能。
⚠️ 让路给 azure-deploy: 当代码库已具有 .azure/deployment-plan.md 且用户想要部署(而非修改或添加功能)时,请改为路由到 azure-deploy。此技能处理准备;azure-deploy 处理执行。

步骤 1:路由

用户需求操作
新建(空项目)步骤 2A(脚手架)
向现有仓库添加新的 SDK 服务步骤 2B(并行脚手架)
将现有 SDK 应用部署到 Azure步骤 2C(为现有 SDK 应用添加基础设施)
修改/添加现有 SDK 应用的功能使用代码库上下文 + SDK 引用进行实现
向现有应用代码添加 SDK[集成 SDK](references/existing-project-integration.md)
使用 Azure/自有模型步骤 3(BYOM 配置)

步骤 2A:新建脚手架(绿地项目)

azd init --template azure-samples/copilot-sdk-service

模板包含 API(Express/TS)+ Web UI(React/Vite)+ 基础设施(Bicep)+ Dockerfile + 令牌脚本——请勿重新创建。参见 [SDK 参考](references/copilot-sdk.md)。

步骤 2B:向现有仓库添加 SDK 服务

用户已有现有代码,并希望在其旁边添加一个新的 Copilot SDK 服务。将模板脚手架到临时目录,将 API 服务 + 基础设施复制到用户的仓库中,调整 azure.yaml 以同时包含现有服务和新服务。参见 [部署现有参考](references/deploy-existing.md)。

步骤 2C:部署现有 SDK 应用

用户已有一个正常运行的 Copilot SDK 应用,需要 Azure 基础设施。参见 [部署现有参考](references/deploy-existing.md)。

步骤 3:模型配置

三种模型路径(叠放在 2A/2B 之上):

路径配置
GitHub 默认不传 model 参数——SDK 选择默认模型
GitHub 指定model: "<name>"——使用 listModels() 发现
Azure BYOMmodel + provider,通过 DefaultAzureCredential 传递 bearerToken
⚠️ BYOM 认证——强制要求: Azure BYOM 配置必须使用 DefaultAzureCredential(本地开发)或 ManagedIdentityCredential(生产环境)获取 bearerToken。唯一支持的认证模式是 provider 配置中的 bearerToken。请参见 [auth-best-practices.md](references/auth-best-practices.md) 获取凭证模式,参见 [模型配置参考](references/azure-model-config.md) 获取完整的 BYOM 代码示例。

参见 [模型配置参考](references/azure-model-config.md)。

步骤 4:部署

依次调用 azure-prepare(跳过其步骤 0 路由——脚手架已完成)→ azure-validateazure-deploy

规则

  • 在修改之前,读取用户仓库中的 AGENTS.md
  • 需要 Docker(docker info
  • BYOM 认证:仅通过 DefaultAzureCredentialManagedIdentityCredential 使用 bearerToken——不支持其他任何认证模式