Microsoft 365 Agents SDK for .NET
用 ASP.NET Core 构建可连接 Teams、Microsoft 365 与 Copilot Studio 的多渠道代理。
文档明确建议生产环境启用 TokenValidation、使用授权、将密钥放入 Key Vault/托管身份/环境变量,并提示 MemoryStorage 仅用于开发;但示例仍展示 ClientSecret 配置、ConnectionsMap 使用通配 ServiceUrl,且错误处理会删除会话状态并把 exception.Message 发送给用户,缺少最小权限、确认、敏感数据流和恢复边界说明,因此扣分。
安装、ASP.NET Core 主机、路由、认证和 Copilot Studio 客户端路径均有连贯示例,且传递 CancellationToken;但要求先通过 MCP 和 NuGet 核验最新 API,未提供版本锁定、编译结果、异常输入覆盖或针对这些关键路径的测试,静态证据不足,按上限扣分。
描述和触发词明确,覆盖 .NET、Teams/M365、Copilot Studio 及 ASP.NET Core 场景;但未充分说明非适用场景、输入输出边界、具体触发规则、部署前提或中文使用环境,部分核心依赖 Microsoft 文档/Microsoft 服务的可达性也未说明,因此扣分。
SKILL.md 具备概览、前置检查、安装、配置、工作流、最佳实践和参考链接,含 MIT、作者和 1.0.0 版本元数据;但缺少 FAQ、故障排查、已知限制、变更记录、稳定的 SDK 版本矩阵和明确维护更新责任,且仓库声明仍在积极开发,因而扣分。
示例可直接作为 ASP.NET Core agent host、AgentApplication 路由和 Copilot Studio 客户端的起点,且涵盖开发与生产建议;但 API/包版本未在文件内验证,认证、配置和生产持久化仍需较多项目化改造,未有目标技能的执行结果或对替代方案的比较,静态评估限制下扣分。
文件提供 Microsoft Learn、GitHub samples 等一手参考链接,仓库还包含通用 CI/评估和测试材料;但提供的材料未证明该技能关键示例已编译或端到端运行,也没有该技能专属验收测试或多来源交叉复现证据,因此不能超过静态上限并扣分。
- 不要直接提交示例中的 ClientSecret;应改用托管身份、Key Vault 或受控环境变量,并限制配置映射范围。
- 生产环境应验证当前 Microsoft.Agents 包版本和 API;文档中的示例未经本次静态审查执行或编译确认。
- 避免将 exception.Message 原样返回给外部用户,并确认删除会话状态符合恢复和审计要求。
- 该技能未说明中文文档、地区网络可达性或 Microsoft 文档/MCP 不可用时的替代流程。
它能做什么 & 适用场景
该技能面向使用 Microsoft 365 Agents SDK for .NET 的开发者,覆盖 ASP.NET Core 托管、AgentApplication 路由和基于 MSAL 的身份验证。它提供安装命令、appsettings.json 配置、消息入口、欢迎消息、消息处理与错误处理示例。技能还展示了通过 CopilotClient 直接连接 Copilot Studio 引擎的交互式令牌流程。实现前,它要求使用 microsoft-docs MCP 验证 API,并确认 NuGet 包版本。
指导开发者安装 Microsoft.Agents.* NuGet 包,配置令牌验证、服务连接和 Copilot Studio 设置;创建 ASP.NET Core 主机并映射 /api/messages;注册 AgentApplication、存储和认证服务;实现成员加入、消息回复及回合错误处理;配置带 MSAL 令牌获取的 DelegatingHandler;使用 CopilotClient 启动会话并提问。
- 负责 Teams 或 Microsoft 365 集成的 .NET 开发者,需要搭建 ASP.NET Core 代理宿主时。
- 构建需要 AgentApplication 路由、欢迎消息、消息处理和统一错误处理的企业代理时。
- 需要使用 MSAL 和服务连接配置保护 /api/messages 入口的团队。
- 需要从 .NET 控制台应用直接连接 Copilot Studio 并进行交互式身份验证时。
优缺点一览
- 覆盖 ASP.NET Core 宿主、AgentApplication 路由、MSAL 认证和 Copilot Studio 客户端。
- 提供可复制的 C#、配置文件和 NuGet 安装示例。
- 包含生产相关建议,如启用 TokenValidation、使用持久化存储和保护认证机密。
- 示例使用 MemoryStorage,生产环境仍需自行替换为持久化存储。
- 依赖 microsoft-docs MCP 和 NuGet 版本确认,技能未固定具体包版本。
- 源材料未提供该单项技能的独立测试覆盖或平台兼容性验证。
如何安装
安装整个技能集合:运行 npx skills add microsoft/skills,在向导中选择 m365-agents-dotnet。手动方式是克隆 https://github.com/microsoft/skills,然后将 .github/plugins/azure-sdk-dotnet/skills/m365-agents-dotnet/ 复制到目标代理的技能目录。技能未提供单独的安装脚本。
如何使用
在编码代理中使用触发词,例如“使用 Microsoft 365 Agents SDK 创建一个 .NET Teams 代理”或“配置 AddAgentAspNetAuthentication 和 Copilot Studio client”。按照技能提供的 dotnet add package 命令、appsettings.json 配置和 ASP.NET Core/CopilotClient 示例实现;实现前使用 microsoft-docs MCP 验证 AddAgent、AgentApplication 和认证选项的最新 API。