azure-hosted-copilot-sdk

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 Extensions、Foundry 代理(使用 microsoft-foundry)。

1196Star
196Fork
更新于 2026/6/9
SKILL.md
readonly只读
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 Extensions、Foundry 代理(使用 microsoft-foundry)。

GitHub Copilot SDK on Azure

代码库检测 — 必须首先检查

⚠️ 关键:当存在现有代码库时,此检查必须在任何其他技能(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-sdk package.json 的 dependencies 或 devDependencies
copilot-sdk package.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
使用 Azure/自有模型 步骤 3(BYOM 配置)

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

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

模板包含 API(Express/TS)+ Web UI(React/Vite)+ 基础设施(Bicep)+ Dockerfile + 令牌脚本 — 请勿重新创建。请参阅 SDK 参考

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

用户已有现有代码,并希望在其旁边添加新的 Copilot SDK 服务。将模板脚手架到临时目录,将 API 服务 + 基础设施复制到用户的仓库中,调整 azure.yaml 以包含现有服务和新服务。请参阅 部署现有参考

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

用户已有可用的 Copilot SDK 应用,需要 Azure 基础设施。请参阅 部署现有参考

步骤 3:模型配置

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

路径 配置
GitHub 默认 model 参数 — SDK 选择默认模型
GitHub 特定 model: "<name>" — 使用 listModels() 发现
Azure BYOM model + provider 配合 bearerToken,通过 DefaultAzureCredential 获取

⚠️ BYOM 认证 — 必须: Azure BYOM 配置必须使用 DefaultAzureCredential(本地开发)或 ManagedIdentityCredential(生产环境)来获取 bearerToken。唯一支持的认证模式是 provider 配置中的 bearerToken。请参阅 auth-best-practices.md 了解凭据模式,以及 模型配置参考 了解完整的 BYOM 代码示例。

请参阅 模型配置参考

步骤 4:部署

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

规则

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