关于 azure-hosted-copilot-sdk
面向部署到 Azure 的 GitHub Copilot SDK 应用的路由与实现 Skill。它检测 SDK 项目,指导脚手架搭建或集成、模型配置,并协调 Azure 准备与部署技能。
主要功能
- 01检测 Copilot SDK 代码库
- 02指导项目脚手架与集成
- 03配置 GitHub 或 Azure 模型
- 04协调 Azure 准备和部署流程
- 05要求使用支持的 Azure BYOM 凭据
适用场景
- 01为 Azure 准备新的 Copilot SDK 服务
- 02在现有仓库中添加 SDK 服务
- 03修改或部署现有 SDK 应用
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ microsoft/ azure-skills --skill azure-hosted-copilot-sdk安装后在 Claude Code 中输入/azure-hosted-copilot-sdk确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/auth-best-practices.mdazure-model-config.mdcopilot-sdk.mddeploy-existing.mdexisting-project-integration.md详细介绍
Azure 上的 GitHub Copilot SDK
代码库检测 — 必须首先检查
⚠️ 重要:当存在现有代码库时,必须先运行此检查,然后才能运行任何其他技能(azure-prepare、azure-deploy 等)。
检测流程(对于任何构建/修改/添加功能/准备提示,立即运行):
- 读取工作区根目录中的
package.json(以及向下一层的任何*/package.json) - 检查
name、dependencies或devDependencies中是否出现@github/copilot-sdk或copilot-sdk - 如果
package.json中未找到,则扫描.ts和.js文件,查找CopilotClient或createSession - 如果找到任何标记 → 将此技能作为入口点调用。不要直接转到 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 | 使用 DefaultAzureCredential,通过 bearerToken 配置 model 和 provider |
⚠️ BYOM 身份验证——必须遵守:Azure BYOM 配置必须使用
DefaultAzureCredential(本地开发)或ManagedIdentityCredential(生产环境)获取bearerToken。唯一受支持的身份验证模式是在提供程序配置中使用bearerToken。有关凭据模式,请参阅 auth-best-practices.md;完整的 BYOM 代码示例请参阅 model config ref。
请参阅 model config ref。
步骤 4:部署
依次调用 azure-prepare(跳过其步骤 0 中的路由——脚手架搭建已完成)→ azure-validate → azure-deploy。
规则
- 修改前,先读取用户仓库中的
AGENTS.md - 必须安装 Docker(
docker info) - BYOM 身份验证:只能通过
DefaultAzureCredential或ManagedIdentityCredential使用bearerToken——不支持其他身份验证模式