المهارات Microsoft 365 Agents SDK (.NET)
📦

Microsoft 365 Agents SDK (.NET)

آمن

使用 .NET 建構 Microsoft 365 智慧代理

為 Microsoft 365 建構多通路智慧代理需要了解 Microsoft.Agents SDK 承載模型、驗證模式和路由架構。此技能提供 ASP.NET Core 承載、MSAL 驗證和 Copilot Studio 整合的生產就緒程式碼範例。

يدعم: Claude Codex Code(CC)
🥉 72 برونزي
1

تنزيل ZIP المهارة

2

رفع في Claude

اذهب إلى Settings → Capabilities → Skills → Upload skill

3

فعّل وابدأ الاستخدام

اختبرها

استخدام "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 路由,在開發環境外強制執行驗證。

التدقيق الأمني

آمن
v1 • 2/25/2026

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.

1
الملفات التي تم فحصها
296
الأسطر التي تم تحليلها
0
النتائج
1
إجمالي عمليات التدقيق
لا توجد مشكلات أمنية
تم تدقيقه بواسطة: claude

درجة الجودة

38
الهندسة المعمارية
100
قابلية الصيانة
87
المحتوى
50
المجتمع
100
الأمان
74
الامتثال للمواصفات

ماذا يمكنك بناءه

建立具有驗證功能的 Teams 機器人

產生生產就緒的 ASP.NET Core 機器人,透過 MSAL 驗證使用者並回應 Microsoft Teams 通路中的訊息。

與 Copilot Studio 整合

使用 direct-to-engine 用戶端模式和委派權杖,建構直接連線至 Copilot Studio 的控制台或 Web 應用程式。

實作智慧代理錯誤處理

在 AgentApplication 子類別中新增綜合錯誤處理和狀態管理,包含適當的清理和對話結束流程。

جرّب هذه الموجهات

建立基本 ASP.NET Core 智慧代理主機
產生用於 Microsoft.Agents SDK 機器人的 ASP.NET Core Minimal API 主機。包含 AddAgentApplicationOptions、MyAgent 類別的 AddAgent、MemoryStorage、AddAgentAspNetAuthentication,以及具有 IAgentHttpAdapter 的 POST /api/messages 端點。
新增具有路由的 AgentApplication
建立名為 SupportAgent 的 AgentApplication 子類別,包含用於歡迎訊息的 OnConversationUpdate、路由至處理常式方法的 OnActivity (ActivityTypes.Message),以及具有狀態清理的 OnTurnError 例外處理。
配置 MSAL 驗證處理常式
建立名為 AddTokenHandler 的 DelegatingHandler,使用 MSAL PublicClientApplication 取得權杖,包含 AcquireTokenSilent 回退至 AcquireTokenInteractive。包含 Bearer 標頭注入和 CopilotClient.ScopeFromSettings 使用。
設定 Copilot Studio 控制台用戶端
產生 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。

الأسئلة المتكررة

AddAgentApplicationOptions 和 AddAgent 之間有什麼區別?
AddAgentApplicationOptions 註冊核心配置設定(如 StartTypingTimer 和 RemoveRecipientMention)。AddAgent 將您的特定 AgentApplication 子類別(如 MyAgent)註冊到相依性插入容器中。
何時應該使用 MemoryStorage 與持續性儲存體提供者?
僅將 MemoryStorage 用於本機開發和測試。對於生產環境,請使用 BlobStorage、CosmosDbStorage 或其他持續性儲存體提供者,以便在應用程式重新啟動和擴展情境中維持對話狀態。
如何取得配置的 ClientId 和 ClientSecret?
在 Azure Active Directory 中註冊應用程式。ClientId 來自應用程式註冊總覽刀鋒視窗。在「憑證與秘密」區段中建立用戶端秘密。使用目錄(租用者)ID 作為 TenantId。
我應該為 Copilot Studio 整合使用哪種驗證流程?
對於控制台應用程式或互動式情境,使用具有 AcquireTokenInteractive 的 PublicClientApplication。對於伺服器對伺服器情境(如 Web API),使用具有用戶端認證流程的 ConfidentialClientApplication。
為什麼 /api/messages 端點在要求授權前要檢查 app.Environment.IsDevelopment()?
這允許在本機測試時於開發模式中無需驗證,同時在生產環境中強制執行授權。部署前務必在啟用驗證的情況下測試,以確保您的權杖驗證配置正常運作。
我可以將此智慧代理與其他 ASP.NET Core 端點一起承載嗎?
是的,Microsoft.Agents SDK 與標準 ASP.NET Core 路由整合。您可以在 /api/messages 端點旁邊新增其他控制器、Minimal API 或中介軟體,以建立混合式應用程式。

تفاصيل المطور

المؤلف

sickn33

الترخيص

MIT

مرجع

main

بنية الملفات

📄 SKILL.md