Microsoft 365 代理工具包命令行界面

Microsoft 365 Agents Toolkit 命令行接口 (Agents Toolkit CLI) 是基于文本的命令行接口,可帮助从终端或 CI/CD 进程为 Microsoft 365 搭建、验证和部署应用程序。 有关详细信息,请参阅 源代码npm 包

无论你喜欢以键盘为中心的开发人员作,还是要自动执行 CI/CD 管道,Agents Toolkit CLI 都提供与 IDE 扩展相同的功能。 它提供以下功能,以方便开发适用于 智能 Microsoft 365 Copilot 副驾驶®、Microsoft Teams 和 Microsoft 365 的代理或应用:

  • 协作:邀请其他开发人员协作处理代理工具包项目进行调试和部署。
  • 代理/应用程序创建:使用可用的模板和示例生成新的代理或应用。
  • 代理/应用程序预览版:在 Teams、Outlook 和 Microsoft 365 应用中上传和预览代理或应用。
  • 资源预配和部署:预配必要的云资源并将应用程序部署到 Azure。
  • 验证、打包和发布:使用 CLI 命令验证、打包和发布代理或应用程序。
  • 环境管理:管理多个环境、Microsoft Entra应用和 Teams 应用注册。

入门

npm 安装 @microsoft/m365agentstoolkit-cli,并运行 atk -h 以检查所有可用命令:

  npm install -g @microsoft/m365agentstoolkit-cli
  atk -h

屏幕截图显示了 npm 包的安装。

支持的命令

下表列出了可帮助开发人员生成和管理代理或应用程序的受支持命令:

命令 说明
atk doctor 用于生成Microsoft 365 应用版的先决条件检查程序。
atk new 创建新的 Microsoft 365 应用。
atk add 将功能添加到 Microsoft 365 应用。
atk auth 管理 Microsoft 365 和 Azure 帐户。
atk entra-app 管理当前应用程序中的Microsoft Entra应用。
atk env 管理环境。
atk help 显示 Microsoft 365 代理工具包 CLI 帮助。
atk install 跨 Microsoft 365 上传给定的应用程序包。
atk launchinfo 获取已获取Microsoft 365 应用的启动信息。
atk list 列出可用Microsoft 365 应用模板和示例。
atk provision 在 或 m365agents.local.ymlm365agents.yml运行预配阶段。
atk deploy 在 或 m365agents.local.ymlm365agents.yml运行部署阶段。
atk package 将 Microsoft 365 应用构建到包中以供发布。
atk validate 使用清单架构、验证规则或测试用例验证 Microsoft 365 应用。
atk publish 在 中 m365agents.yml运行发布阶段。
atk preview 预览当前应用程序。
atk update 将 Microsoft 365 应用清单更新到开发人员门户。
atk upgrade 升级项目以使用最新版本的 Microsoft 365 代理工具包。
atk collaborator 检查、授予和列出谁可以访问和管理Microsoft 365 应用和Microsoft Entra应用程序的权限。
atk uninstall 清理与清单 ID、游戏 ID 或环境关联的资源。

屏幕截图显示了可用命令的列表。

全局选项

以下是可用于每个命令的全局选项:

选项 说明
--version -v 显示 Microsoft 365 代理工具包 CLI 版本。
--help -h 显示 Microsoft 365 代理工具包 CLI 帮助。
--interactive -i 在交互模式下运行 命令。 默认值为 true。
--debug 打印调试信息。 默认值为 false。
--verbose 打印诊断信息。 默认值为 false。
--telemetry 启用遥测。 默认值为 true。

屏幕截图显示了全局选项的列表。

交互模式

命令具有不同的默认交互模式。 默认情况下,某些命令是交互式的,有些命令是非交互式的。 若要确定命令的默认交互模式,请将 选项与特定命令结合使用 -h

atk doctor

命令atk doctor检查生成Microsoft 365 应用版所需的先决条件。

atk new

默认情况下,该 atk new 命令在交互模式下运行,并提供创建新Microsoft 365 应用的指导。 若要在非交互模式下工作 atk new ,请将 --interactive 标志设置为 false

atk new
atk new -i false
命令 说明
atk new sample 从现有示例创建应用。
atk list samples 显示所有可用预先存在的示例的列表。

atk new 参数

下表列出了可用于 atk new的参数:

参数 必需 说明
--app-name -n 应用程序的名称。
--capability -c 指定应用功能。 可用选项包括 declarative-agentbasic-custom-engine-agentweather-agent。 使用 atk list templates 查看所有可用选项。
--programming-language -l 程序设计语言。 可用选项包括 javascripttypescriptcsharp。 默认值为 javascript
--folder -f 创建项目文件夹的目录。 默认值为 ./
--spfx-solution -s 创建或导入现有SharePoint 框架解决方案。 可用选项为 newimport。 默认值为 new
--spfx-install-latest-package 安装最新版本的 SharePoint 框架。 默认值为 true
--spfx-framework-type -k 如果选择了 framework 功能,则适用。 可用选项包括 minimalreactnone。 默认值为 react
--spfx-webpart-name -w SharePoint 框架 Web 部件的名称。 默认值为 helloworld
--spfx-folder 包含现有SharePoint 框架解决方案的目录或路径。
--me-architecture -m 基于搜索的消息扩展的体系结构。 可用选项包括 new-apiapi-specbot。 默认值为 new-api
--openapi-spec-___location -a OpenAPI 说明文档位置。
--api-operation -o 选择 () Teams 可以与之交互的作。
--bot-host-type-trigger -t 指定应用模板的 Chat Notification Message 触发器。 可用选项包括 http-expresshttp-webapihttp-and-timer-functions。 默认值为 http-express

屏幕截图显示 atk 新参数。

atk new 场景

下面是使用 atk new控制所有参数的方案列表:

  • 创建天气代理。

    atk new -c weather-agent -l typescript -n myagent -i false
    
  • 创建新的计时器触发的通知机器人。

    atk new -c notification -t timer-functions -l typescript -n myapp -i false
    
  • 导入现有SharePoint 框架解决方案。

    atk new -c tab-spfx -s import --spfx-folder <folder-path> -n myapp -i false
    

atk add

将功能添加到 Microsoft 365 应用。

命令 说明
atk add spfx-web-part [options] 与 Microsoft 365 紧密集成的自动托管 SPFx Web 部件。
atk add action [options] 使用 API 扩展 Copilot 的作。
atk add auth-config [options] 添加配置以支持声明性代理中的身份验证作。
atk add capability [options] 使用 API 扩展 Copilot 的功能。

atk auth

管理 Microsoft 365 和 Azure 帐户。

命令 说明
atk auth list 显示所有已连接的 Microsoft 365 和 Azure 帐户。
atk auth login 登录到 Microsoft 365 或 Azure 帐户。
atk auth logout <service> 注销 Microsoft 365 或 Azure 帐户。

atk entra-app

管理当前应用程序中的Microsoft Entra应用。

命令 说明
atk entra-app update 更新当前应用程序中的 Microsoft Entra 应用。

atk env

管理应用程序环境。

命令 说明
atk env add 通过从指定的环境复制来添加新环境。
atk env list Lists所有可用环境。
atk env reset 重置环境文件。

atk env 场景

通过从现有开发环境复制来创建新环境:

atk env add staging --env dev

atk help

命令 atk help 显示可用于 Microsoft 365 代理工具包 CLI 的所有命令。

atk install

跨 Microsoft 365 上传给定的应用程序包。

atk install 参数

下表列出了可用于 atk install的参数:

命令 说明
--file-path 应用清单 zip 包的路径。
--xml-path XML 清单 xml 文件的路径。
--scope 应用范围。 可用选项为“个人”和“共享”。

atk install 场景

将包含基于 JSON 的清单的应用程序包上传到 Teams、Outlook 和 Microsoft 365 应用。

atk install --file-path appPackage.zip

使用基于 JSON 的清单将共享范围内的应用程序包上传到 Teams、Outlook 和 Microsoft 365 应用。

atk install --file-path appPackage.zip --scope Shared

将带有基于 XML 的清单的 Outlook 外接程序应用程序包上传到 Outlook。

atk install --xml-path manifest.xml

atk launchinfo

获取已获取Microsoft 365 应用的启动信息。

atk launchinfo 参数

下表列出了可用于 atk launchinfo的参数:

命令 说明
--title-id 指定获取的 Microsoft 365 应用的游戏 ID。
--manifest-id 指定获取的 Microsoft 365 应用的清单 ID。

atk launchinfo 场景

按游戏 ID 获取已获取Microsoft 365 应用的启动信息。

atk launchinfo --title-id U_xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

按清单 ID 获取获取的 Microsoft 365 应用的启动信息。

atk launchinfo --manifest-id xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

atk list

列出可用Microsoft 365 个应用模板和示例。

atk list 参数

下表列出了可用于 atk list的参数:

命令 说明
atk list samples 显示可用应用示例的列表。
atk list templates 显示可用应用模板的列表。

屏幕截图显示了模板列表。

atk provision

命令 atk provision 在 中 m365agents.yml运行预配阶段。

若要在 中 m365agents.local.yml触发预配阶段,请运行 atk provision --env local

atk provision 参数

下表列出了可用于 atk provision的参数:

参数 必需 说明
--env 指定由 Microsoft 365 Agents Toolkit 搭建的项目基架的环境名称。
--folder -f 指定项目的根文件夹。 默认为 ./
--ignore-env-file 在未指定 --env 时跳过加载 .env 文件。

atk deploy

命令 atk deploy 在 中 m365agents.yml运行部署阶段。

若要在 中 m365agents.local.yml触发部署阶段,请运行 atk deploy --env local

atk deploy 参数

下表列出了可用于 atk deploy的参数:

参数 必需 说明
--env 指定由 Microsoft 365 Agents Toolkit 搭建的项目基架的环境名称。
--folder -f 指定项目的根文件夹。 默认为 ./
--ignore-env-file 在未指定 --env 时跳过加载 .env 文件。
--config-file-path -c 指定配置 yaml 文件的路径。

atk package

将 Microsoft 365 应用构建到包中以供发布。

atk package 参数

下表列出了可用于 atk package的参数:

参数 必需 说明
--env 指定由 Microsoft 365 Agents Toolkit 搭建的项目基架的环境名称。
--env-file 指定要在应用清单模板文件中替换的变量的 .env 文件。
--manifest-file 指定应用清单文件路径。 默认值为 ./appPackage/manifest.json
--output-folder 指定包含清单 () 的输出文件夹。 默认值为 ./appPackage/build
--output-package-file 指定输出压缩的应用包文件路径。 默认值为 ./appPackage/build/appPackage.${env}.zip
--folder -f 指定项目的根文件夹。 默认值为 ./

atk validate

使用清单架构、验证规则或测试用例验证 Microsoft 365 应用。

atk validate 参数

下表列出了可用于 atk validate的参数:

参数 必需 说明
--env 指定由 Microsoft 365 Agents Toolkit 搭建的项目基架的环境名称。
--env-file 指定要在应用清单模板文件中替换的变量的 .env 文件。
--manifest-file 指定应用清单文件路径。 默认值为 ./appPackage/manifest.json
--package-file 指定压缩的应用包文件路径。
--output-folder 指定包含清单 () 的输出文件夹。 默认值为 ./appPackage/build
--output-package-file 指定输出压缩的应用包文件路径。 默认值为 ./appPackage/build/appPackage.${env}.zip
--folder -f 指定项目的根文件夹。 默认值为 ./
--validate-method -m 指定验证方法 Allowed 值: validation-rulestest-cases

atk publish

命令 atk publish 在 中 m365agents.yml运行发布阶段。

atk publish 参数

下表列出了可用于 atk publish的参数:

参数 必需 说明
--env 指定由 Microsoft 365 Agents Toolkit 搭建的项目基架的环境名称。
--env-file 指定要在应用清单模板文件中替换的变量的 .env 文件。
--manifest-file 指定应用清单文件路径。 默认值为 ./appPackage/manifest.json
--package-file 指定压缩的应用包文件路径。
--output-folder 指定包含清单 () 的输出文件夹。 默认值为 ./appPackage/build
--output-package-file 指定输出压缩的应用包文件路径。 默认值为 ./appPackage/build/appPackage.${env}.zip
--folder -f 指定项目的根文件夹。 默认值为 ./

atk preview

命令 atk preview 允许你在开发过程中预览应用。 此命令提供应用的实时视图,帮助你在部署之前识别和修复问题。

atk preview 参数

下表列出了可用于 atk preview的参数:

参数 必需 说明
--m365-host -m 在 Teams、Outlook 或 Microsoft 365 应用中预览应用程序。 可用选项包括 teamsoutlookoffice。 默认值为 teams
--manifest-file 指定应用清单文件路径。 默认值为 ./appPackage/manifest.json
--run-command -c 命令启动服务,并且仅在本地环境中工作。 如果未定义,它将从项目类型 (、 dotnet runfunc start) npm run dev:atk自动检测相应的命令。 如果为空,则跳过启动本地服务。
--running-pattern -p 启动服务的就绪信号输出。 local仅适用于环境。 如果未定义,则命令 默认值为 (started|successfully|finished|crashed|failed|listening|ready) 。 如果为空,则进程作为就绪信号启动。
--open-only -o local仅适用于环境。 如果为 true,则直接打开 Web 客户端,而不启动本地服务。 默认值为 false
--browser -b 选择浏览器以打开Microsoft Teams Web 客户端。 可用选项包括 chromeedgedefault。 默认值为 default
--browser-arg -ba 要传递给浏览器的参数。 例如,--browser-args="--guest
--exec-path -ep 执行命令时添加到系统环境变量“PATH”的路径。 默认值为 devTools/func
--desktop -d 如果为 true,请打开 Teams 桌面客户端,而不是 Web 客户端。 默认值为 false。
--env 指定项目的现有环境。 默认值为 local
--folder -f 指定项目的根文件夹。 默认值为 ./

atk preview 场景

命令atk preview必须在 和 atk deploy之后atk provision使用。

以下列表提供了 的 atk preview常见方案:

  • 本地预览版:下面是使用本地预览版的依赖项:

    • Node.js
    • .NET SDK
    • Azure Functions Core Tools
    atk preview --env --local
    atk preview --env --local --browser chrome
    
  • 远程预览

    atk preview --env --remote
    atk preview --env --remote --browser edge
    

    注意

    React 等后台服务的日志保存在 ~/.fx/cli-log/local-preview/ 中。

atk update

将应用清单更新到开发人员门户。

atk update 参数

下表列出了可用于 atk update的参数:

参数 必需 说明
--env 指定由 Microsoft 365 Agents Toolkit 搭建的项目基架的环境名称。
--env-file 指定要在应用清单模板文件中替换的变量的 .env 文件。
--manifest-file 指定应用清单文件路径。 默认值为 ./appPackage/manifest.json
--package-file 指定压缩的应用包文件路径。
--output-folder 指定包含清单 () 的输出文件夹。 默认值为 ./appPackage/build
--output-package-file 指定输出压缩的应用包文件路径。 默认值为 ./appPackage/build/appPackage.${env}.zip
--folder -f 指定项目的根文件夹。 默认值为 ./

atk upgrade

升级项目以使用最新版本的 Microsoft 365 代理工具包。

atk upgrade 参数

下表列出了可用于 atk upgrade的参数:

参数 必需 说明
--force -f 强制升级项目以使用最新版本的 Microsoft 365 代理工具包。 默认值 false为 。

atk collaborator

检查、授予和列出谁可以访问和管理应用和Microsoft Entra应用程序的权限。

命令 说明
atk collaborator status 显示项目的当前权限状态。
atk collaborator grant 授予另一个帐户的权限。

atk collaborator status 参数

下表列出了可用于 atk collaborator status的参数:

参数 必需 说明
--env 指定由 Microsoft 365 Agents Toolkit 搭建的项目基架的环境名称。
--manifest-file 指定应用清单文件路径。 默认值为 ./appPackage/manifest.json
--entra-app-manifest-file -a 选择 Entra 清单模板文件的路径。 默认值为 ${folder}/aad.manifest.json
--all -a 显示所有协作者。
--folder -f 选择项目的根文件夹。 默认值为 ./

atk collaborator grant 参数

下表列出了可用于 atk collaborator grant的参数:

参数 必需 说明
--email 输入协作者的电子邮件地址。
--manifest-file 指定应用清单文件路径。 默认值为 ./appPackage/manifest.json
--entra-app-manifest-file -a 选择 Entra 应用清单文件的路径。 默认值为 ${folder}/aad.manifest.json
--env 指定由 Microsoft 365 Agents Toolkit 搭建的项目基架的环境名称。
--folder -f 选择项目的根文件夹。 默认值为 ./

atk collaborator 场景

向另一个 Microsoft 365 帐户授予协作处理应用的权限。

atk collaborator grant -i false --manifest-file ./appPackage/manifest.json --env dev --email other@email.com

atk uninstall

在 Microsoft 365 Agents Toolkit 生成的项目中清理与清单 ID、游戏 ID 或环境关联的资源。 资源包括开发人员门户中的应用注册、Bot Framework 门户中的机器人注册,以及 Microsoft 365 应用中上传的自定义应用。

atk uninstall 参数

下表列出了可用于 atk uninstall的参数:

命令 说明
--mode 选择清理资源的方法。
--title-id 指定已安装 Microsoft 365 应用的游戏 ID。
--manifest-id 指定已安装Microsoft 365 应用的清单 ID。

atk uninstall 场景

使用游戏 ID 删除获取Microsoft 365 应用程序。

atk uninstall -i false --mode title-id --title-id U_xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

使用清单 ID 删除获取的 Microsoft 365 应用程序。

atk uninstall -i false --mode manifest-id --manifest-id xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx --options 'm365-app,app-registration,bot-framework-registration'

使用 Microsoft 365 Agents Toolkit 生成的项目中的环境删除获取的 Microsoft 365 应用程序。

atk uninstall -i false --mode env --env xxx --options 'm365-app,app-registration,bot-framework-registration' --folder ./myapp

在交互模式下卸载。

atk uninstall