Microsoft 365 Agents SDK (.NET)
使用 .NET 建構 Microsoft 365 智慧代理
為 Microsoft 365 建構多通路智慧代理需要了解 Microsoft.Agents SDK 承載模型、驗證模式和路由架構。此技能提供 ASP.NET Core 承載、MSAL 驗證和 Copilot Studio 整合的生產就緒程式碼範例。
تنزيل ZIP المهارة
رفع في Claude
اذهب إلى Settings → Capabilities → Skills → Upload skill
فعّل وابدأ الاستخدام
اختبرها
استخدام "Microsoft 365 Agents SDK (.NET)". 建立具有訊息處理常式的 AgentApplication 子類別以回應用戶輸入
النتيجة المتوقعة:
產生繼承 AgentApplication 的 C# 類別,建構函式註冊 OnActivity(ActivityTypes.Message, OnMessageAsync),以及 OnMessageAsync 方法呼叫 turnContext.SendActivityAsync 傳送回應文字。
استخدام "Microsoft 365 Agents SDK (.NET)". 產生具有 TokenValidation 和 ServiceConnection 配置的 appsettings.json
النتيجة المتوقعة:
產生包含 TokenValidation 區段的 JSON 配置,含有 Enabled、Audiences 陣列、TenantId,以及 Connections 區段包含 AuthType、ClientId、ClientSecret、AuthorityEndpoint 和 api.botframework.com 的 Scopes。
استخدام "Microsoft 365 Agents SDK (.NET)". 展示如何在生產環境中為 /api/messages 端點新增授權
النتيجة المتوقعة:
展示使用 if (!app.Environment.IsDevelopment()) { incomingRoute.RequireAuthorization(); } 包裝 POST 路由,在開發環境外強制執行驗證。
التدقيق الأمني
آمنDocumentation-only skill with no executable code. Contains C# code examples and configuration templates for Microsoft 365 Agents SDK. No scripts, network operations, file system access, or external commands detected. Static analysis correctly identified this as a prompt-only skill with zero security risk.
درجة الجودة
ماذا يمكنك بناءه
建立具有驗證功能的 Teams 機器人
產生生產就緒的 ASP.NET Core 機器人,透過 MSAL 驗證使用者並回應 Microsoft Teams 通路中的訊息。
與 Copilot Studio 整合
使用 direct-to-engine 用戶端模式和委派權杖,建構直接連線至 Copilot Studio 的控制台或 Web 應用程式。
實作智慧代理錯誤處理
在 AgentApplication 子類別中新增綜合錯誤處理和狀態管理,包含適當的清理和對話結束流程。
جرّب هذه الموجهات
產生用於 Microsoft.Agents SDK 機器人的 ASP.NET Core Minimal API 主機。包含 AddAgentApplicationOptions、MyAgent 類別的 AddAgent、MemoryStorage、AddAgentAspNetAuthentication,以及具有 IAgentHttpAdapter 的 POST /api/messages 端點。
建立名為 SupportAgent 的 AgentApplication 子類別,包含用於歡迎訊息的 OnConversationUpdate、路由至處理常式方法的 OnActivity (ActivityTypes.Message),以及具有狀態清理的 OnTurnError 例外處理。
建立名為 AddTokenHandler 的 DelegatingHandler,使用 MSAL PublicClientApplication 取得權杖,包含 AcquireTokenSilent 回退至 AcquireTokenInteractive。包含 Bearer 標頭注入和 CopilotClient.ScopeFromSettings 使用。
產生 HostApplicationBuilder 控制台應用程式,使用 AddHttpClient 註冊 CopilotClient、自訂 DelegatingHandler 處理權杖,並使用 StartConversationAsync 和 AskQuestionAsync 與 Copilot Studio 互動。
أفضل الممارسات
- 使用 AgentApplication 基礎類別將路由邏輯、事件處理常式和錯誤處理集中在一個位置,而不是分散在中介軟體中。
- 在生產部署中將 MemoryStorage 替換為持續性儲存體(如 BlobStorage 或 CosmosDbStorage),以便在伺服器重新啟動時維持對話狀態。
- 在 appsettings.json 中啟用 TokenValidation 並將 RequireAuthorization 套用到 /api/messages 端點,以防止未經授權的存取您的智慧代理。
تجنب
- 將 ClientSecret 或其他認證直接儲存在程式碼中,而非使用配置提供者(如 Azure Key Vault、環境變數或受控識別)。
- 為每個請求建立新的 HttpClient 實體,而非使用 IHttpClientFactory 註冊並有效重複使用 HTTP 連線。
- 使用 .Result 或 .Wait() 同步阻塞異步呼叫,而非適當 await 異步 SDK 方法並傳遞 CancellationToken。