【教程】使用Microsoft 365 Agents Toolkit快速开发Office加载项(上)

快乐小子新
快乐小子新 Lv.2 潜力创作者

Lv.2潜力创作者

一、什么是 Office Web Add-Ins?

Office Web Add-Ins(加载项)是微软推出的 Office 扩展技术,是一个嵌入 Office 应用内部的 Web 应用,通过 Office.js 与Office 文档进行交互。相比传统的 VSTO/COM 插件,它基于 Web 技术栈,跨平台支持 Windows、macOS、Web 端。

Microsoft 365 Agents Toolkit 就是微软官方为构建这类加载项提供的一站式开发工具集。更多关于 Office 加载项平台的信息可参考官方概述:https://learn.microsoft.com/en-us/office/dev/add-ins/overview/office-add-ins

二、Microsoft 365 Agents Toolkit 概述

2.1 从 Teams Toolkit 到 Agents Toolkit

Microsoft 365 Agents Toolkit(GitHub 仓库:https://github.com/OfficeDev/microsoft-365-agents-toolkit)是微软 OfficeDev 团队维护的开源工具集,其前身是 Teams Toolkit。随着 Microsoft 365 Copilot 的推出,其定位从"Teams 应用开发工具"扩展为覆盖Copilot、Teams、Office 三大产品线的统一构建平台。开发者只需使用一套工具,即可触达 Microsoft 365 生态的全部可扩展面。

2.2 架构设计:一套工具,三条产品线

Agents Toolkit 采用"核心引擎 + 可插拔扩展"的模块化架构,其 GitHub 仓库(OfficeDev/microsoft-365-agents-toolkit)包含以下核心子包:

子包

职责

fx-core

IDE 扩展与 CLI 共享的核心引擎,实现脚手架生成、配置管理等基础能力

SDK

封装客户端与服务端的认证逻辑,简化 OAuth 2.0 / SSO 集成

API

IDE 扩展和 CLI 支持的合约集合,开发者可编写插件扩展 TeamsFx 新能力

Spec Parser

解析 OpenAPI 描述文档,自动生成基于 API 的消息扩展和 Adaptive Cards

Azure Functions Extension

无服务器函数集成支持,帮助开发者在 Teams 应用中包含 Azure Functions 后端

Simple Auth

简化 SSO 认证模块

MCP Server

Model Context Protocol 服务器,对接 AI 模型上下文协议

这种"核心引擎 + 可插拔扩展"的架构模式,使工具集能够在不重构主体代码的前提下快速接入新的平台能力(如 MCP 协议支持)。这一架构设计,正是从单一 Teams 开发工具演进为覆盖三大产品线统一平台的基石。

2.3 三种使用形态

Agents Toolkit 提供三种使用方式,开发者可根据自身偏好选择:

  • Visual Studio Code 扩展:面向 JavaScript / TypeScript 开发者,集成项目脚手架、调试、部署全流程

  • Visual Studio 工作负载:面向 C# / .NET 开发者

  • CLI 命令行工具:通过 @microsoft/m365agentstoolkit-cli 分发,适用于 CI/CD 自动化

三、安装与环境准备

3.1 安装 Agents Toolkit

VS Code 扩展方式(推荐 JS/TS 开发者):

在 VS Code 的扩展市场中搜索"Microsoft 365 Agents Toolkit"并安装,安装后活动栏会出现 Agents Toolkit 图标。

CLI 命令行方式(适合 CI/CD 场景):

npm install -g @microsoft/m365agentstoolkit-cli

安装后可通过 atk 命令使用,验证方式:atk -h

Visual Studio 方式(适合 .NET 开发者):

在 Visual Studio 2022 安装程序中勾选"Microsoft 365 Agents Toolkit"工作负载即可。

3.2 前置条件

  • Node.js

  • Office 客户端:Office 网页版、Office on Windows、Office on Mac、Outlook on Windows 均支持,永久授权版 Office 和移动版 Office 暂不支持

  • Visual Studio CodeVisual Studio 2022

更多安装和配置细节可参考 Agents Toolkit 官方文档:https://learn.microsoft.com/en-us/microsoftteams/platform/toolkit/overview-agents-toolkit

四、使用 Agents Toolkit 创建 Office Web Add-In 项目

4.1 创建项目

Agents Toolkit 创建的 Office Add-In 项目使用 Microsoft 365 统一清单(Unified Manifest),这是相比传统 XML 清单的一个重大变化。统一清单采用 JSON 格式,使 Office 加载项能够与 Teams 选项卡、Copilot 代理合并为单一分发单元。

创建步骤如下:

  1. 打开 VS Code,点击活动栏中的 Agents Toolkit 图标

  1. 选择 Create a New App

  1. 在项目类型中选择 Office Add-in

  1. 在功能中选择 Task pane(任务窗格)

  1. 选择工作区文件夹并命名项目

  1. Agents Toolkit 会自动生成项目脚手架,并在新窗口中打开

注意:生成的项目默认配置为可安装在 Excel、Outlook、PowerPoint 和 Word 上。你可以根据需要编辑清单文件和源文件来更改支持的 Office 应用。需要特别留意的是,统一清单对 Excel、PowerPoint 和 Word 的支持目前处于预览阶段,因此创建这些应用的加载项时,需要安装 Agents Toolkit 的 prerelease 版本才能获得完整支持。

4.2 项目结构

my-office-addin/
├── src/
│   ├── taskpane/        # 任务窗格 HTML / CSS / JS
│   └── commands/        # 功能区命令逻辑
├── manifest.json        # 统一清单(JSON 格式)
├── package.json
└── webpack.config.js

4.3 统一清单

统一清单(Unified Manifest)将 Office 加载项与 Teams 选项卡、Copilot 代理统一为单一分发单元,使用 JSON 格式替代传统 XML 清单。

统一清单的核心属性包括:

  • "id":加载项唯一标识符

  • "version":版本号

  • "manifestVersion":清单版本(当前为 "1.0"

  • "name":加载项名称

  • "description":描述信息

  • "accentColor":主题色

  • "extensions":扩展点配置数组

  • "authorization":声明所需的 Microsoft Graph 权限

  • "webApplicationInfo":标识 Microsoft Entra ID 中的应用注册

完整架构参考:https://learn.microsoft.com/en-us/office/dev/add-ins/develop/unified-manifest-overview

注意,Office 安全策略要求加载项的所有资源必须通过 HTTPS 提供服务。开发阶段 Agents Toolkit 会自动生成本地开发证书(自签名证书)来启用 HTTPS,浏览器可能会提示证书风险,选择继续即可。生产部署时,必须将 Web 应用部署到支持 HTTPS 的服务器上,并在 manifest 中将加载项入口地址更新为生产环境的 HTTPS URL。

4.4 安装依赖与启动

# 在项目根目录安装依赖
npm install

# 启动开发服务器
npm start

浏览 115
收藏
6
分享
6 +1
+1
全部评论