Microsoft 365 Agents Playground (以前称为 Teams 应用测试工具) 使调试基于机器人的应用变得轻松。 你可以与机器人聊天,并在Microsoft Teams 中查看其消息和自适应卡片。 无需Microsoft 365 开发人员帐户、隧道或 Teams 应用和机器人注册即可使用 Agents Playground。
下图显示了在 Agents Playground 中显示响应的示例应用:
以下是代理场的优点:
沙盒环境:代理场的沙盒环境模拟 Teams 的行为、外观和用户体验。
隧道:不需要外部隧道服务,因为 Agents Playground 在机器人可以与之通信的本地服务器上运行。
减少帐户依赖项:调试机器人不需要Microsoft 365 开发人员租户和应用上传权限。
快速内部循环迭代:优化对应用设计和机器人逻辑进行更改的过程,而无需将机器人重新部署到云。
模拟数据和活动:使用 Agents Playground 可以轻松测试复杂方案,例如,在新成员加入通道时发送欢迎消息,并使用模拟数据和活动触发器。
可靠:代理场可靠,因为机器人的自适应卡片使用与 Teams 中的相同呈现技术。
与现有 Teams 机器人应用程序集成:Agents Playground 与使用 Bot Framework SDK 构建的现有 Teams 机器人应用程序轻松集成。
对不同范围的支持:Agents Playground 支持在个人、团队和群聊范围内进行测试。
先决条件
请确保安装以下工具,用于在 Agents Playground 中生成和部署机器人:
| 安装 | 用于使用... |
|---|---|
| Node.js | 后端 JavaScript 运行时环境。 |
|
Visual Studio 2022 |
可以在 Visual Studio 2022 中安装企业版,并安装 ASP.NET 和 Web 开发工作负载。 使用版本 17.9 或更高版本。 |
Visual Studio 中的代理演练体验
与 Teams 客户端相比,Agents Playground 为机器人应用程序提供了更快的调试体验。 Agents Playground 支持所有机器人应用功能。 在此方案中,我们使用 AI 聊天机器人 作为示例。 若要在 Agents Playground 中调试机器人,请执行以下步骤:
打开 Visual Studio。
选择 “创建新项目”。
在搜索框中,输入 “Microsoft Teams”。 在搜索结果中,选择“ Microsoft Teams 应用”。
选择 下一步。
输入 “项目名称 ”,然后选择“ 创建”。
选择 “AI 聊天机器人>创建”。
注意
- OpenAI 或 Azure OpenAI 是调试 AI 聊天机器人 应用的先决条件。
此时会显示一个 GettingStarted 窗口。
该文件
appsettings.Playground.json通过更新几个参数来帮助配置 Agents Playground。 若要更新appsettings.Playground.json文件,请按照 OpenAI 或 Azure OpenAI 步骤作:更新 文件中的
appsettings.Playground.jsonOpenAIApiKey。
在调试下拉列表中,选择 “Microsoft 365 代理场” (浏览器) 。
Agents Playground 在网页中打开机器人。
活动触发器
可以使用活动触发器在 Agents Playground 中模拟活动。 有两种类型的活动触发器:
预定义的活动触发器
Agents Playground 提供预定义的活动触发器来测试机器人的功能。
| 类别 | 活动 | 处理程序 |
|---|---|---|
| 触发安装更新活动 | 安装机器人 卸载机器人 |
onInstallationUpdate onInstallationUpdateAdded onInstallationUpdate onInstallationUpdateRemove |
| 触发对话更新活动 | 添加用户 添加机器人 添加通道 |
onMembersAddedonTeamsMembersAddedEvent onTeamsChannelRenamedEvent |
| 删除用户 删除机器人 删除频道 删除团队 |
onMembersRemoved onTeamsMembersRemovedEvent onMembersRemoved onTeamsMembersRemovedEvent onTeamsChannelDeletedEvent onTeamsTeamDeletedEvent |
|
| 重命名通道 重命名团队 |
onTeamsChannelRenamedEvent onTeamsTeamRenamedEvent |
注意
并非所有范围都提供所有类型的活动。 例如,不能在个人聊天或群组聊天中添加或删除频道。
预定义的活动触发器可在代理场的 “模拟活动 ”菜单中使用。 在此方案中,我们使用 “添加用户 活动触发器”作为示例。 若要模拟 “添加用户” 活动,请执行以下步骤:
在 Visual Studio Code 中,转到“解决方案资源管理器”。
选择 Program.cs 文件。
在 Program.cs 文件中,在 下
builder.Services.AddTransient<IBot>(sp =>添加以下代码:app.OnConversationUpdate("membersAdded", async (context, state, cancellationToken) => { await context.SendActivityAsync($"new member added", cancellationToken: cancellationToken); });处理程序
OnConversationUpdate识别加入聊天的成员,如添加用户活动所述。
在“代理演练”中,转到 模拟活动 ,然后选择“ 添加用户”。
此时会显示一个弹出对话框来预览活动处理程序。
选择“ 发送活动”。
机器人发送响应。
自定义活动触发器
可以使用 自定义活动 来自定义活动触发器 reactionsAdded,以满足机器人应用的要求。 Agents Playground 会自动填充活动的必需属性。 还可以修改活动类型并添加更多属性,例如 、 MembersAddedmembersremoved和 reactionsremoved。
在 Visual Studio Code 中,转到“解决方案资源管理器”。
选择 Program.cs 文件。
在 Program.cs 文件中,在 下
builder.Services.AddTransient<IBot>(sp =>添加以下代码:app.OnMessageReactionsAdded(async (context, state, cancellationToken) => { await context.SendActivityAsync($"reaction added.", cancellationToken: cancellationToken); });处理程序
OnMessageReactionsAdded使用ReplyToId先前会话的 属性标识要追加的反应。
转到“代理场”网页,从日志面板中选择最新响应以复制
replyToId。
选择模拟 活动>自定义活动。
若要自定义活动,请在 属性下
type添加messageReaction。将 替换为最新的
replyToId。{ "type": "messageReaction", "reactionsAdded": [ { "type": "like" } ], "replyToId": "d60fd1cb-3e8f-44ef-849c-404806ba1b47" }选择“ 发送活动”。
机器人在响应中发送
onReactionsAdded处理程序。
限制
通过应用清单启用的机器人功能不可用,因为 Agents Playground 不会处理它。
代理场不支持除自适应卡以外的所有类型的卡片。
Agents Playground 不支持以下自适应卡片功能:
Agents Playground 不支持以下体验:
- 移动设备
- 会议