开发与工程 ✓ 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
1 2 3 4 5 6
1信任安全14 / 25 · 2.8/5

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

2可靠稳定8 / 20 · 2.0/5

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

3适用触发9 / 15 · 3.0/5

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

4规范维护9 / 15 · 3.0/5

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

5有效结果7 / 15 · 2.3/5

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

6证据核验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,核心功能和核验流程可能受阻。
查看完整评分方法 →

这个 Skill 能做什么,适合哪些场景?

该技能为 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 代理提问的开发者。

这个 Skill 有哪些优点和局限?

优点
  • 提供从安装、环境配置到 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 明确不实现上下文管理器,部分令牌缓存实现也只留作示例占位。

如何安装这个 Skill?

先安装整个技能集合:运行 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

如何使用这个 Skill?

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

这个 Skill 与同类方案有什么区别?

该仓库 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 · 官方

Microsoft 365 Agents TypeScript 技能

帮助你用 TypeScript 构建可路由、可流式响应并接入 Copilot Studio 的 Microsoft 365 企业代理。

开发与工程 ✓ Microsoft · 官方

Microsoft 365 Agents SDK for .NET

用 ASP.NET Core 构建可连接 Teams、Microsoft 365 与 Copilot Studio 的多渠道代理。

开发与工程 ✓ Microsoft · 官方

Microsoft 365 代理评测器

为 Microsoft 365 Copilot 声明式代理设计并运行评测套件

开发与工程 ✓ Microsoft · 官方

Microsoft Foundry Python 项目技能

为编码代理提供使用 Azure AI Projects Python SDK 构建 Foundry AI 应用的可靠模式。

开发与工程 ✓ Microsoft · 官方

Azure Identity Python 认证技能

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

开发与工程 ✓ Microsoft · 官方

Azure AI Foundry Agent Framework

帮助 Python 开发者构建具备持久会话、托管工具和流式响应能力的 Azure AI Foundry 智能体。

开发与工程 ✓ Microsoft · 官方

Azure Tables Python 技能

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

开发与工程 ✓ 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 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 日志与指标。

开发与工程 ✓ Microsoft · 官方

Azure AI 内容安全 Python 技能

帮助 Python 应用检测文本和图像中的有害内容,并管理自定义屏蔽词。

开发与工程 ✓ Microsoft · 官方

Azure 应用配置 Python 技能

为 Python 应用集中管理配置、功能标志和动态设置。

开发与工程 ✓ Microsoft · 官方

Azure 容器注册表 Python 技能

用 Python 管理 Azure 容器镜像、制品与仓库。

开发与工程 ✓ Microsoft · 官方

Azure Monitor 自定义日志采集

帮助 Python 编码代理通过 Logs Ingestion API 发送自定义日志。

开发与工程 ✓ Microsoft · 官方

Azure 对话语言理解 Python 技能

帮助 Python 开发者使用 Azure SDK 分析对话意图和实体。

开发与工程 ✓ Microsoft · 官方

Azure 文档翻译 Python 技能

帮助 Python 开发者批量翻译 Azure Blob Storage 中的文档,同时保留原始格式。

相关 Skills