1. 基本信息
| 项目 | 内容 | 数据来源 |
|---|---|---|
| 正式名称 | m365-agents-py(合集仓库子目录名) | 目录名 |
| 所属合集仓库 | microsoft/skills(微软官方维护的多语言 Agent Skills 仓库) | GitHub API |
| 作者/维护者 | Microsoft 官方 | GitHub 组织账号 |
| 来源链接 | https://github.com/microsoft/skills/tree/main/.github/plugins/azure-sdk-python/skills/m365-agents-py | — |
| 许可证 | MIT | GitHub API 实测 |
| 所属合集仓库整体 Stars | 2,818(属整个合集仓库,不代表本技能自身热度,仅供了解仓库规模) | GitHub API |
| 该技能自身活跃度 | 该目录下 6 次实质性提交,最近一次 2026-07-15;作者含 Larry Osterman、Xiang Yan、Scott Addie、Kay Venkatrajan 等具名工程师 | GitHub Commits API(路径限定查询) |
| 底层 SDK 仓库 | microsoft/Agents-for-python:201 stars、42 个 issue、最近提交 2026-07-24,未归档 | GitHub API |
| 最新版本 | 无独立版本号(随仓库整体迭代,SKILL.md 标注 1.0.0) | SKILL.md |
| 安装方式 | 见第十章 | 仓库根 README |
2. 功能介绍与亮点
m365-agents-py 教会 Agent 使用微软 Microsoft 365 Agents SDK for Python,把一个 Python 编写的对话智能体同时接入 Teams、Microsoft 365 与 Copilot Studio,核心能力:
- aiohttp 全套托管范式:从连接管理器、CloudAdapter 到
AgentApplication的完整启动代码,覆盖会话存储、鉴权中间件与消息路由 - 多种消息路由方式:正则匹配、精确字符串匹配、成员加入事件、invoke 活动、错误兜底处理器一次给全
- 流式响应:对接 Azure OpenAI 的增量流式输出,含“生成方标注”“敏感度标注”等企业合规字段的示例代码
- OAuth 自动登录与登出:
auth_handlers参数保护路由、拿到令牌后调用 Microsoft Graph API 的完整闭环 - Copilot Studio 直连客户端:绕开 Teams/Bot 渠道,直接用
CopilotClient与已发布的 Copilot Studio 智能体对话 - 额外附带 references/capabilities.md,收录非核心场景示例与 API 覆盖度自查清单
该技能是本仓库“127 个技能按 5 种语言重组为插件包”官方架构调整(2026-02)的产物,随后经历多轮实质更新(最近一次 2026-07-15 补充参考文档),非一次性生成后弃置。
3. 适用场景
所属分类:集成与工作流自动化。适合已在用 Claude Code / Codex 等编程 Agent、需要为企业内部或客户开发 Teams/M365 对话机器人的 Python 开发者;也适合需要把已发布的 Copilot Studio 智能体接入自建后端服务的场景。
4. 跨 Agent 兼容性
- Claude Code:✅ 原生支持——仓库根 README 明确给出
.github/skills到.claude/skills的符号链接安装方式,且提供npx skills add microsoft/skills交互式安装向导 - Codex:❓ 未验证——已抓取材料未提及 Codex CLI 的技能目录结构支持
- OpenClaw:❓ 未验证——未见相关材料
- Hermes Agent:❓ 未验证——未见相关材料
5. 推荐理由
Bot Framework SDK 已于 2025 年底归档停止维护,Microsoft 365 Agents SDK 是微软官方给出的继任方案。这份技能把该 SDK 里容易配置错的鉴权生命周期、流式响应字段、Copilot Studio 直连认证流程,封装成经过官方多轮实质更新的可复制代码,省去开发者自己啃迁移文档、试错鉴权链路的时间。
6. 评分
| 维度 | 分数 | 说明 |
|---|---|---|
| 受欢迎程度 | 7 | 合集仓库整体规模不计入个体评分;改看该子目录自身提交记录(6 次实质提交、4 位具名工程师)与底层 SDK 仓库(201 stars、42 个 issue、近 2 天内仍有提交),未见第三方独立平台的活跃讨论 |
| 可用性 | 9 | SKILL.md 正文近 1.4 万字符,是同插件包内文档密度最高的一份,涵盖托管、路由、流式、OAuth、Copilot Studio 直连五大场景的可运行代码,另附能力自查清单;最近一次实质更新距今约 11 天 |
| 安全性 | 8 | 见下方检查清单 |
安全检查清单:
① 无 shell 命令执行,全部为标准 SDK 调用代码示例 ② 会联网外发数据(上报 Teams/Web Chat 消息、调用 Microsoft Graph API 与 Azure OpenAI),属 SDK 预期功能,目标在文档中写明 ③ 需要 Azure AD 应用凭据(CLIENTID/CLIENTSECRET/TENANTID),SKILL.md 最佳实践第 10 条明确要求“密钥放环境变量、不要放源码” ④ 未发现可疑指令、混淆代码或隐蔽外发 ⑤ 官方微软仓库,提交记录含多位具名工程师 ⑥ License 为 MIT,明确 ⑦ 最近一次实质提交 2026-07-15,距今约 11 天
7. 跟同类 Skills 相比的优势
| 名称 | 定位 | 与本技能的差异 |
|---|---|---|
| Bot Framework SDK(microsoft/botframework-sdk) | 微软此前主推的多渠道机器人开发框架 | 已于 2025 年 12 月归档、不再更新,是本技能所封装 SDK 的前身,仍在用它的项目需要按官方指南迁移 |
| Slack Bolt for Python(slackapi/bolt-python) | Slack 官方应用框架 | 只覆盖 Slack 单一渠道的事件订阅与交互组件,不具备 Teams/M365/Copilot Studio 的多渠道路由能力 |
| copilot-sdk(同一 microsoft/skills 仓库姊妹技能) | 教 Agent 调用 GitHub Copilot SDK,把 Copilot 智能体运行时嵌入自建应用 | 服务于“调用 Copilot”这一场景,与本技能“把自建 Agent 接入 Teams/M365/Copilot Studio 多渠道”的场景互补而非重叠 |
8. 用户评价
该技能目前在第三方平台尚无具名用户评价;其封装的底层 SDK 仓库 microsoft/Agents-for-python 的 42 个 issue 均为微软内部工程师之间的任务追踪讨论(如 rodrigobr-msft、kylerohn-msft),暂未见外部独立开发者的公开评论。
9. 其他补充
SKILL.md 的 description 字段列出了触发关键词(如 “AgentApplication”、“CloudAdapter”、“Copilot Studio client”),便于 Agent 按意图自动匹配加载本技能,避免一次性加载全部 127 个技能造成的上下文稀释。
10. 安装使用方式
- 交互式安装(推荐):在项目根目录运行
npx skills add microsoft/skills,向导中勾选 azure-sdk-python 插件包下的 m365-agents-py - 手动安装:
git clone仓库后,将.github/plugins/azure-sdk-python/skills/m365-agents-py目录复制或符号链接到所用 Agent 的 skills 目录(Claude Code 为.claude/skills/) - 安装后无需重启,Agent 在识别到 Teams/M365/Copilot Studio 相关任务意图时会自动加载该技能内容
11. 注意事项
- SDK 近期把 Python 包的 import 路径从
microsoft.agents(点号)改为microsoft_agents(下划线),沿用旧文档或旧代码示例的项目需要相应调整 - 使用前需在 Azure AD 完成应用注册并配置好 Teams/Bot 渠道,属于“步骤清晰但需要配置”,不是复制即用
MemoryStorage仅适合本地开发,SKILL.md 明确提示生产环境需换成 BlobStorage 或 CosmosDB- Copilot Studio 直连客户端目前不支持上下文管理器协议,需要开发者自行处理连接资源的关闭