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 的一般網頁應用程式(請用 azure-prepare)、Copilot Extensions、Foundry 代理程式(請用 microsoft-foundry)。

1196星標
196分支
更新於 2026/6/9
SKILL.md
readonlyread-only
name
azure-hosted-copilot-sdk
description

Build, deploy, and modify GitHub Copilot SDK apps on Azure. MANDATORY when codebase contains @github/copilot-sdk or CopilotClient in package.json. PREFER OVER azure-prepare when copilot-sdk markers detected. WHEN: copilot SDK, @github/copilot-sdk, copilot-powered app, build copilot app, prepare copilot app, add feature to copilot app, modify copilot app, BYOM, bring your own model, CopilotClient, createSession, sendAndWait, azd init copilot. DO NOT USE FOR: deploying already-prepared copilot-sdk apps (use azure-deploy), general web apps without copilot SDK (use azure-prepare), Copilot Extensions, Foundry agents (use microsoft-foundry).

GitHub Copilot SDK on Azure

程式碼庫偵測 — 強制優先檢查

⚠️ 重要:當存在現有程式碼庫時,此檢查必須在任何其他技能(azure-prepare、azure-deploy 等)之前執行。

偵測程序(針對任何建置/修改/新增功能/準備提示立即執行):

  1. 讀取工作區根目錄的 package.json(以及一層深度的 */package.json
  2. 檢查 namedependenciesdevDependencies 中是否包含 @github/copilot-sdkcopilot-sdk
  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 感知的 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-validateazure-deploy

規則

  • 在修改前讀取使用者儲存庫中的 AGENTS.md
  • 需要 Docker(docker info
  • BYOM 驗證:僅支援透過 DefaultAzureCredentialManagedIdentityCredentialbearerToken — 不支援其他驗證模式