开发与工程 ✓ Microsoft · 官方 microsoft-365-agentspython-sdkaiohttpteamscopilot-studiomsalazure-openai

Microsoft 365 Agents Python 开发技能

用 Python 构建 Teams、Microsoft 365 与 Copilot Studio 多渠道代理。

FollowSkills 评估 · FSRS-2.0
不推荐
50/ 100 五分制 2.5 / 5
信任安全14 / 25 · 2.8/5

文档要求使用环境变量保存密钥、MSAL、JWT 中间件和显式 Graph 认证,并展示了令牌用途;但未规定最小权限范围、用户确认、令牌生命周期/日志脱敏、外部数据流披露或回滚方案,MemoryStorage 仅提示生产环境替换。因此主要风险可见但治理不完整,扣分。

可靠稳定8 / 20 · 2.0/5

主流程、路由、流式处理和异常处理均有示例,且流式响应使用 finally 收尾;但示例存在未展示的依赖与导入问题(如 Activity),Copilot 示例与“始终使用 async with”原则不一致,版本签名需外部核验,缺少针对关键路径的测试和异常输入反馈。按静态校准不超过10,扣分。

适用触发9 / 15 · 3.0/5

触发词、Python 受众、Teams/M365/Copilot Studio 场景和主要能力较明确;但未充分说明不适用范围、部署前置条件、不同认证模式边界、输入输出契约,也没有中文使用或中国大陆网络可达性说明。场景清晰但边界和环境适配证据有限,扣分。

规范维护9 / 15 · 3.0/5

SKILL.md 具备元数据、安装、环境变量、分层示例、最佳实践、参考链接及 capabilities.md;MIT 许可和 Microsoft 归属清楚。缺少明确维护负责人、变更日志、兼容版本矩阵、依赖锁定、故障排查和完整资源清理说明,且部分文档要求依赖外部 MCP,扣分。

有效结果7 / 15 · 2.3/5

内容直接覆盖 aiohttp 托管、路由、流式响应、OAuth 和 Copilot Studio 客户端,能够作为编码参考;但多个代码片段需要自行补全导入、配置、版本核验和生产化安全细节,缺少可验证的代表性输出或端到端结果。静态校准限制最高为7,取满上限但不再加分。

证据核验3 / 10 · 1.5/5

文件提供 Microsoft Learn、GitHub samples、PyPI 等可追溯参考,并有仓库级 CI/测试材料;但这些材料未证明该指定技能关键路径已执行验证,且缺少该技能专属测试、固定版本和交叉核验记录。仅给有限可审计证据,扣分。

证据充分度: 评估于 2026年7月20日 审查版本 9ccaf7c3704a
使用前请注意
  • 实现前必须核对当前 SDK API 签名和包版本;文档明确要求通过外部 Microsoft Docs MCP/PyPI 验证。
  • 不要把示例直接视为生产配置:应限定 OAuth/Graph 最小权限,避免记录令牌,明确用户同意、数据发送目的、存储策略和失败恢复。
  • 检查所有示例的导入、异步资源关闭和 CopilotClient 清理逻辑;MemoryStorage 仅适合开发。
  • 若运行环境无法访问 Microsoft/Azure 服务、Graph、Copilot Studio 或外部文档 MCP,核心功能和核验流程可能受阻。
查看完整评分方法 →

它能做什么 & 适用场景

该技能为 Microsoft 365 Agents SDK for Python 提供面向编码代理的开发指导。它覆盖 aiohttp 托管、AgentApplication 路由、流式响应、MSAL 身份验证和 Copilot Studio 客户端。内容包含安装命令、环境变量、可运行代码模式以及生产实践。适合需要用 Python 构建 Microsoft 365、Teams 或 Copilot Studio 代理的开发者。

指导编码代理安装 Microsoft Agents SDK 相关 Python 包,配置客户端、租户和连接信息等环境变量,并生成 aiohttp Web 应用、CloudAdapter、AgentApplication、TurnContext 和路由处理器代码。它展示消息、会话更新、invoke、错误和 OAuth 保护路由的实现,也说明如何通过 Azure OpenAI 流式输出、调用 Microsoft Graph,以及直接连接 Copilot Studio。实现前要求通过 microsoft-docs MCP 核对 API 签名,并在 PyPI 确认相关包版本。

  1. 为 Teams 或 Microsoft 365 构建使用 aiohttp 托管的 Python 多渠道代理的开发者。
  2. 需要用 AgentApplication 按消息内容、命令或活动类型分发请求的团队。
  3. 希望通过 MSAL 和 Microsoft Graph 为代理加入 OAuth 登录、令牌获取或登出流程的开发者。
  4. 需要将 Azure OpenAI 流式回复接入 Microsoft 365 代理体验的团队。
  5. 需要从 Python 直接启动对话并向 Copilot Studio 代理提问的开发者。

优缺点一览

优点
  • 提供从安装、环境配置到 aiohttp 服务入口的完整 Python 示例。
  • 覆盖消息路由、OAuth、Microsoft Graph、Azure OpenAI 流式响应和 Copilot Studio 客户端。
  • 明确要求异步处理、显式认证管理器、资源上下文管理和流结束清理。
  • MIT 许可,且仓库通过技能集合方式安装。
局限
  • 示例依赖多个 Microsoft Agents 包、Azure Identity、MSAL、aiohttp 和 OpenAI 客户端,部署配置较多。
  • 内容要求使用 microsoft-docs MCP 和 PyPI 核对最新信息,API 或包版本不能仅依赖示例。
  • 技能只描述 Python SDK;没有提供独立的测试套件或平台兼容性测试证据。
  • CopilotClient 明确不实现上下文管理器,部分令牌缓存实现也只留作示例占位。

如何安装

先安装整个技能集合:运行 npx skills add microsoft/skills,在向导中选择 m365-agents-py。README 说明技能会安装到所选编码代理的目录,例如 GitHub Copilot 使用 .github/skills/;本技能的仓库路径是 .github/plugins/azure-sdk-python/skills/m365-agents-py/SKILL.md。运行代理代码时,按技能说明使用 pip 安装所列 Microsoft Agents SDK 包、python-dotenvaiohttp

如何使用

在编码代理中输入例如“使用 Microsoft 365 Agents SDK for Python 创建一个 aiohttp 托管的 Teams 代理,并配置 AgentApplication、MSAL 身份验证和消息路由”。实现前让代理核对 AgentApplicationstart_agent_process 和身份验证选项的最新签名,并确认 PyPI 包版本。根据需要提供客户端 ID、客户端密钥、租户 ID、Azure OpenAI 或 Copilot Studio 环境变量。

对比同类

该仓库 README 列出了面向 .NET 和 TypeScript 的 Microsoft 365 Agents SDK 技能,但本条目仅覆盖 Python 版本。

常见问题

它是否会自动部署代理或创建 Azure 资源?
来源只提供安装、配置和代码实现指导,没有说明会自动部署资源。
生产环境可以继续使用 MemoryStorage 吗?
技能明确建议 MemoryStorage 仅用于开发,生产环境应使用 BlobStorage 或 CosmosDB。
必须使用 API 密钥访问 Azure OpenAI 吗?
不是。示例优先使用 DefaultAzureCredential 和 AAD token provider,并将 API 密钥方式列为未采用的偏好方案。

同仓库的其他 Skills

均来自 microsoft/agent-skills

开发与工程 ✓ Microsoft · 官方

Azure Identity Python 认证技能

为 Python Azure 应用提供基于 Microsoft Entra ID 的可复用身份认证指导。

开发与工程 ✓ Microsoft · 官方

Azure Event Hubs Java 开发技能

帮助 Java 开发者构建高吞吐、可 checkpoint 的 Azure 事件流应用。

开发与工程 ✓ Microsoft · 官方

Azure Tables Python 技能

帮助 Python 开发者使用 Azure Tables 完成安全认证、实体管理、查询与批量事务操作。

开发与工程 ✓ Microsoft · 官方

Azure Identity TypeScript

为 TypeScript Azure 应用配置安全、可切换的 Microsoft Entra ID 身份验证。

自动化与运维 ✓ Microsoft · 官方

Azure 应用可靠性顾问

评估并提升 Azure Functions 与 App Service 的可靠性。

开发与工程 ✓ Microsoft · 官方

Azure 云架构师

帮助编码代理按照 Azure 架构中心最佳实践设计和审查生产级云系统。

开发与工程 ✓ Microsoft · 官方

Azure AI 文本分析 Python 技能

为 Python 开发者提供 Azure 文本分析与自然语言处理集成指导。

自动化与运维 ✓ Microsoft · 官方

Azure 资源架构可视化器

分析 Azure 资源组及其依赖关系,生成详细的 Mermaid 架构图。

开发与工程 ✓ Microsoft · 官方

Azure Maps .NET 开发技能

为 .NET 应用提供地理搜索、路线、地图、定位与天气开发指导。

开发与工程 ✓ Microsoft · 官方

Azure AI Vision 图像分析技能

为 Python 编码代理提供 Azure AI Vision 图像理解实现指南。

开发与工程 ✓ Microsoft · 官方

Azure Blob Storage Python 技能

帮助 Python 开发者安全高效地操作 Azure Blob Storage。

开发与工程 ✓ Microsoft · 官方

Azure Queue Storage Python 技能

帮助编码代理使用 Python 构建安全、可靠的 Azure Queue Storage 异步消息处理。

自动化与运维 ✓ Microsoft · 官方

Azure AI 网关治理

用 Azure API Management 统一治理 AI 模型、MCP 工具和智能体流量。

自动化与运维 ✓ Microsoft · 官方

AKS Automatic 就绪评估

评估 Kubernetes 工作负载能否迁移到 AKS Automatic,并定位兼容性阻塞项。

开发与工程 ✓ Microsoft · 官方

Azure Cosmos DB .NET 资源管理技能

用 .NET 通过 ARM 部署和管理 Azure Cosmos DB 资源。

开发与工程 ✓ Microsoft · 官方

Azure Playwright 工作区管理技能

用 .NET 通过 Azure Resource Manager 配置和管理 Microsoft Playwright Testing 工作区。

开发与工程 ✓ Microsoft · 官方

Azure Cosmos DB Python 技能

帮助 Python 开发者可靠地构建和操作 Azure Cosmos DB NoSQL 应用。

开发与工程 ✓ Microsoft · 官方

Azure Key Vault Python SDK 技能

帮助 Python 编码代理安全管理 Azure Key Vault 中的机密、加密密钥和证书。

开发与工程 ✓ Microsoft · 官方

Azure API Management Python 技能

帮助编码代理使用 Python SDK 管理 Azure API Management 的服务、API、产品、订阅与策略。

开发与工程 ✓ Microsoft · 官方

Azure Monitor 查询 Python 技能

帮助 Python 开发者查询 Azure Monitor 日志与指标。

相关 Skills