Microsoft 365 Agents SDK
用一套 SDK 构建可部署到 Microsoft 365 Copilot、Teams、Web 与自定义应用的多渠道智能体。
- Star 数
- ★ 1.1k
- 最近更新
- 5 天前
- License
- MIT
- 主语言
- TypeSpec
- FA 评分
- 34/100 · 缺口较多
30 秒速览
- 可在哪里用
- 兼容但需适配
- 开始前需要
- 典型场景
- 企业开发者需要把已有智能体接入 Microsoft Teams 或 Microsoft 365 Copilot,希望由 SDK 承担渠道通信与事件分发的脚手架工作。
- 主要局限
- 本仓库不含客户端库源码:实际实现分布在 Agents-for-net、Agents-for-js、Agents-for-python,定位仓库后再跳转会增加检索与跟踪成本。
这个 Agent 能做什么,适合哪些场景?
Microsoft 365 Agents SDK 是微软提供的智能体开发框架,README 明确其目标是帮助开发者构建 full stack、multichannel、trusted 的智能体,并可部署到 M365、Teams、Copilot Studio、Webchat 等渠道。该仓库本身是语言无关的入口仓库,客户端库源码主要分布在 Agents-for-net、Agents-for-js、Agents-for-python 三个独立仓库中,本仓库用于汇总、分流 issue 并托管 agent-plugins。SDK 提供所谓的 agent 'container',包含状态、存储以及处理 activities 与 events 的能力,并负责处理渠道所需的通信脚手架。SDK 对 AI 服务保持 agnostic,开发者可自行选择一个或多个服务、模型或智能体,而不被绑定到特定技术栈。README 还列出 Semantic Kernel、Azure AI Foundry、Copilot Studio 等相关平台,说明各自的定位与配合方式。
该 SDK 让开发者创建一个带状态与存储的智能体容器,并在其中管理 activities 和 events;SDK 负责处理与各渠道通信所需的脚手架,使同一个智能体可部署到 Microsoft 365 Copilot、Microsoft Teams、Web 与自定义应用等渠道。它通过渠道管理能力把智能体对外发布,并允许开发者接入自选的 AI 服务、模型或智能体来完成编排。仓库层面,本仓库本身不直接承载某一种语言的源码,而是指向 Agents-for-net(C#/.NET)、Agents-for-js(JavaScript)、Agents-for-python(Python)等语言仓库;跨语言的通用问题可在此提交,单一语言问题应提交到对应仓库。此外,仓库托管 agent-plugins,为 AI 编码助手提供 agents-sdk-common、agents-for-js、agents-for-net、agents-for-python 四个插件;其中 agents-sdk-common 覆盖 Azure 资源预配、身份凭据与通过 az CLI 完成的 OAuth 设置,agents-for-js 覆盖构建智能体、调试认证与启动问题以及配置 OpenTelemetry 可观测性,agents-for-net 额外包含 Bot Framework 迁移和 ActivityHandler 到 AgentApplication 的迁移,agents-for-python 覆盖 OpenTelemetry 可观测性的配置与排错。
- 企业开发者需要把已有智能体接入 Microsoft Teams 或 Microsoft 365 Copilot,希望由 SDK 承担渠道通信与事件分发的脚手架工作。
- 团队希望在不锁定单一模型供应商的前提下构建智能体,用同一套 SDK 接入自选的 AI 服务或模型。
- 使用 C#/.NET、JavaScript 或 Python 的开发者,按语言进入对应仓库查找 QuickStart 与 samples 后开始实现第一个智能体。
- 使用 Copilot Studio 构建智能体,并通过本仓库 samples 中的 Copilot Studio Client 示例把智能体集成进自己的应用或构建多智能体模式。
- 从 Bot Framework 迁移到 Agents SDK 的 .NET 团队,借助 agents-for-net 插件中的 Bot Framework 迁移与 ActivityHandler 到 AgentApplication 迁移技能降低改造工作量。
- 在 GitHub Copilot CLI 或 Claude Code 中工作的开发者,安装 SDK 插件以获得 SDK API、常见模式和常见错误的提示。
如何安装或部署这个 Agent?
README 未给出 SDK 本身的安装命令,实际的包安装方式需查阅对应语言仓库。已记录的安装步骤仅针对 AI 编码助手插件,且明确适用于 GitHub Copilot CLI 或 Claude Code:
- 添加插件市场:
/plugin marketplace add microsoft/Agents- 安装通用插件:
/plugin install agents-sdk-common@microsoft-agents-sdk- 按需安装语言插件:
/plugin install agents-for-js@microsoft-agents-sdk
/plugin install agents-for-net@microsoft-agents-sdk
/plugin install agents-for-python@microsoft-agents-sdk- 使用 /plugin 命令确认安装结果;技能会按语言与任务自动激活,无需手动加载。
需要注意,除插件安装外,README 没有提供 SDK 的依赖清单、运行时版本要求或凭据配置步骤;agents-sdk-common 插件涉及通过 az CLI 完成 OAuth 与身份凭据配置,但具体参数未在 README 中列出。
如何使用这个 Agent?
README 建议的入手路径是进入本仓库的 samples 目录,先选择语言,再浏览示例列表,其中 QuickStart 被推荐用于理解基础概念。随后根据所用语言转到对应仓库:C#/.NET 使用 Agents-for-net,JavaScript 使用 Agents-for-js,Python 使用 Agents-for-python。若要接入 Copilot Studio,可在 samples 中选择对应语言的 Copilot Studio Client 示例。一个重要的边界是:使用该 SDK 本身并不需要 Microsoft 365 Copilot 订阅,只有当目标渠道本身要求订阅或服务时才需要,例如专门面向 Microsoft 365 Copilot 渠道时。此外,README 说明 SDK 对 AI 服务保持 agnostic,开发者需自行选择一个或多个服务、模型或智能体来完成编排;官方文档地址为 aka.ms/M365-Agents-SDK-Docs,另有 .NET、JavaScript、Python 的 API 文档链接。
这个 Agent 有哪些优点和局限?
- 渠道覆盖明确:README 点名 Microsoft 365 Copilot、Microsoft Teams、Web 与自定义应用,并由 SDK 承担渠道所需的通信脚手架,减少自建渠道适配的重复工作。
- AI 服务中立:SDK 明确对所选 AI 保持 agnostic,可选择一个或多个服务、模型或智能体,避免被单一模型供应商绑定。
- 多语言且按仓库拆分:C#/.NET、JavaScript、Python 分别有独立源码仓库,团队可按既有技术栈选型,跨语言问题保留在总仓库汇总。
- 内置面向编码助手的能力:agent-plugins 提供四个插件,agents-sdk-common 覆盖 Azure 预配与 az CLI 的 OAuth 设置,net 插件还覆盖 Bot Framework 与 ActivityHandler 迁移,对存量迁移场景有直接帮助。
- 无需 Copilot 订阅即可起步:README 明确除非针对需要订阅的渠道,否则使用该 SDK 不要求 Microsoft 365 Copilot 订阅。
- 本仓库不含客户端库源码:实际实现分布在 Agents-for-net、Agents-for-js、Agents-for-python,定位仓库后再跳转会增加检索与跟踪成本。
- 安装信息不完整:README 没有给出 SDK 的包安装命令、运行时版本或依赖清单,新手必须先进入语言仓库与官方文档才能补齐。
- 生态耦合度高:核心渠道是 Microsoft 365 Copilot、Teams、Copilot Studio 等微软产品,若目标是其他对话平台需要评估迁移或适配成本。
- 部分能力依赖插件生态与外部工具:agents-sdk-common 依赖 az CLI 完成 OAuth 与凭据配置,插件安装仅在 GitHub Copilot CLI 或 Claude Code 中记录。
- README 中关于状态、存储、activities 与 events 的描述偏概念化,缺少具体 API 名称与错误处理说明,评估时必须结合 samples 与官方文档。
这个 Agent 与同类方案有什么区别?
README 明确点名了几个相关但不同的选择。Semantic Kernel 是把 OpenAI、Azure OpenAI、Hugging Face 等 LLM 与传统编程语言集成的 SDK,通过可链式组合的 plugins 实现编排;Azure AI Foundry 提供核心后端智能体能力,包括推理、检索增强与可观测性,可选用 Azure AI Agent Service 或用其单个组件自行构建;Copilot Studio 是智能体构建平台,可与 Microsoft 365 Agents SDK 配合把智能体集成进应用并构建多智能体模式。三者的定位是互补关系,README 将 Agents SDK 描述为汇聚核心组件、便于创建和管理 AI 服务与第三方 SDK 的入口。
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|
| Microsoft 365 Agents SDK 当前 | 34 · 缺口较多 | ★ 1.1k | 5 天前 | TypeSpec | — |
| Microsoft Agent Framework | 49 · 缺口较多 | ★ 14k | 今天 | Python | OpenAI API |
| Rig | 70 · 存在缺口 | ★ 8.7k | 今天 | Rust | OpenAI API |
| tRPC-Agent-Go | 53 · 缺口较多 | ★ 1.8k | 1 天前 | Go | OpenAI API |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
least_privilege:CI 工作流显式声明 permissions: contents: read,pullrequestlabeler 仅授予 contents: read、pull-requests: write、issues: write,且限定 github.repository_owner == 'microsoft',属最小权限的良好实践,但仅覆盖工作流层面,SDK 运行时权限模型未在文件中体现,故仅 1 分。user_confirmation:README 与代码中没有任何关于破坏性操作需用户确认的说明,0 分。data_flow_transparency:README 说明开发者可自选 AI 服务、SDK 对 AI 供应商保持中立,但未描述数据流向、遥测或日志传输路径,仅 1 分。sensitive_data_handling:SECURITY.md 提供漏洞报告渠道与协调披露政策,但无密钥、凭据、PII 处理规范,1 分。dependency_security:devDependencies 使用 ^ 范围且无 lockfile 证据,CI 中 actions 已按 SHA 固定(良好),但依赖本身未固定,1 分。external_effects:SDK 会向 Teams/M365 等渠道发送消息,属外部副作用,README 未说明幂等或影响范围,1 分。rollback:无任何回滚、撤销或恢复机制说明,0 分。source_attribution:LICENSE 明确 Microsoft Corporation 版权,README 提供商标与第三方商标政策,归属清晰,2 分。
self_consistency:README 自称是各语言仓库的跳转入口,但仓库内又包含 samples、agent-plugins、CI 等实质内容,定位表述与实际结构存在张力,1 分。dependency_availability:package.json 仅列 devDependencies,未固定版本、无 lockfile,CI 依赖 npm ci 与外部 registry 可用性,1 分。failure_messages:文件中没有任何错误信息、故障排查或诊断输出示例,0 分。
audience_and_scenarios:README 明确面向 C#/JS/Python 开发者,列出 M365 Copilot、Teams、Web/Custom Apps 等场景,并说明无需 M365 Copilot 订阅即可上手,2 分。capability_boundaries:说明 SDK 是 agent 容器、AI 供应商中立,但未界定不支持的能力或边界条件,1 分。trigger_precision:agent-plugins 声称按语言与任务自动激活,但未给出触发条件、优先级或冲突处理规则,1 分。environment_fit:给出 Node 20、Python 3.10 最低版本与 VS Code 扩展建议,但缺少操作系统、网络、区域等环境要求,1 分。
information_architecture:README 结构清晰,含快速开始、语言仓库表、插件、文档、贡献、商标等章节,2 分。install_notes:仅提供插件安装命令与 samples 指引,缺少 SDK 包安装、构建、运行步骤,1 分。naming_stability:仓库名 Agents 与各语言仓库 Agents-for-* 命名一致,但无版本或 API 稳定性承诺,1 分。examples_and_faq:指向 samples 文件夹但未在本文件内提供示例代码或 FAQ,1 分。known_limitations:无已知限制、不支持场景或注意事项章节,0 分。license:MIT 许可证全文完整,版权归属明确,3 分。versioning_changelog:无 CHANGELOG、无版本号或发布说明,0 分。maintenance_responsibility:SECURITY.md 给出 MSRC 报告渠道与 24 小时响应承诺,README 说明各语言问题应在对应仓库提交,维护责任较清晰,2 分。
output_usability:README 提供文档链接与插件安装命令,但缺少可直接运行的端到端示例,1 分。marginal_value:作为多语言 SDK 的入口仓库,提供插件与 samples 导航,但核心库在别处,本仓库边际价值有限,1 分。cost_benefit:上手需跳转多个仓库并安装插件,收益与成本大致相当,1 分。
claim_traceability:README 的多数主张可追溯到具体链接(文档、语言仓库、插件路径),但无版本或提交锚点,1 分。cross_source_corroboration:README、package.json、CI 工作流在语言与工具链上相互印证,但缺少测试或构建产物佐证,1 分。fact_inference_separation:README 多为描述性陈述,未明确区分事实与推断,也未标注未验证内容,1 分。
- 源码中未见:执行前用户确认开启或自行加上执行前确认;先在沙箱或测试环境跑通,确认行为后再接入真实数据。
- 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
- 本仓库是入口/导航仓库,核心 SDK 代码位于 Agents-for-net、Agents-for-js、Agents-for-python,评估结论不能代表这些语言仓库的实现质量。
- package.json 仅含 devDependencies 且使用 ^ 版本范围,未见 lockfile,依赖供应链可复现性不足。
- README 未说明数据流向、遥测、日志或敏感数据处理方式,集成到企业环境前需自行核查。
- 无 CHANGELOG、版本号或已知限制章节,升级与兼容性风险需自行评估。
- 本次为静态源码审查,未执行任何构建或运行,所有结论置信度为低。