
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 的一般網頁應用程式(請用 azure-prepare)、Copilot Extensions、Foundry 代理程式(請用 microsoft-foundry)。
在 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 的一般網頁應用程式(請用 azure-prepare)、Copilot Extensions、Foundry 代理程式(請用 microsoft-foundry)。
GitHub Copilot SDK on Azure
程式碼庫偵測 — 強制優先檢查
⚠️ 重要:當存在現有程式碼庫時,此檢查必須在任何其他技能(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 感知的 scaffolding |
| 「為此應用程式新增功能」 | 需要 SDK 感知的實作模式 |
| 「更新此應用程式」/「修改此應用程式」 | 必須保留 SDK 整合模式 |
⚠️ 警告: 任何針對現有程式碼庫的建置、修改、新增功能或準備提示,若程式碼庫包含
@github/copilot-sdk,即使提示未提及「copilot」,也必須路由到此技能。此技能隨後會協調 azure-prepare 和 azure-deploy 作為子技能。
⚠️ 讓位給 azure-deploy: 當程式碼庫已有
.azure/deployment-plan.md且使用者想要部署(而非修改或新增功能)時,請改為路由到 azure-deploy。此技能負責準備;azure-deploy 負責執行。
步驟 1:路由
| 使用者需求 | 動作 |
|---|---|
| 建置新專案(空專案) | 步驟 2A(scaffold) |
| 為現有儲存庫新增 SDK 服務 | 步驟 2B(並行 scaffold) |
| 將現有 SDK 應用程式部署到 Azure | 步驟 2C(為現有 SDK 應用程式新增基礎架構) |
| 修改/為現有 SDK 應用程式新增功能 | 使用程式碼庫上下文 + SDK 參考來實作 |
| 為現有應用程式程式碼新增 SDK | 整合 SDK |
| 使用 Azure/自有模型 | 步驟 3(BYOM 設定) |
步驟 2A:Scaffold 新專案(Greenfield)
azd init --template azure-samples/copilot-sdk-service
範本包含 API(Express/TS)+ Web UI(React/Vite)+ 基礎架構(Bicep)+ Dockerfile + Token 腳本 — 請勿重新建立。請參閱 SDK 參考。
步驟 2B:為現有儲存庫新增 SDK 服務
使用者已有現有程式碼,並希望在其旁邊新增一個新的 Copilot SDK 服務。將範本 scaffold 到暫存目錄,將 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 了解憑證模式,以及 model config ref 了解完整的 BYOM 程式碼範例。
請參閱 model config ref。
步驟 4:部署
依序呼叫 azure-prepare(跳過其步驟 0 路由 — scaffolding 已完成)→ azure-validate → azure-deploy。
規則
- 在修改前讀取使用者儲存庫中的
AGENTS.md - 需要 Docker(
docker info) - BYOM 驗證:僅支援透過
DefaultAzureCredential或ManagedIdentityCredential的bearerToken— 不支援其他驗證模式



