你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

在网站中嵌入机器人

适用于:SDK v4

虽然机器人通常在网站外,但它们也可以嵌入网站中。 例如,可在网站中嵌入知识机器人,以便用户能在复杂网站结构中快速查找信息;如果未嵌入机器人,可能很难找到。 或者,也可以在支持网站中嵌入机器人,作为传入用户请求的第一响应者。 机器人可以独立解决简单问题,将更复杂的问题移交给人工处理。

本文探讨如何将机器人与网站集成以及使用反向通道机制促进网页和机器人之间的私有通信的过程。

Microsoft 提供两种不同的方法在网站中集成机器人:Skype Web 控件开源 Web 控件

开源 Web 控件

开源 Web 聊天空间基于 ReactJS,使用 Direct Line API 与 Bot Framework 进行通信。 Web 聊天控件提供一个用于实现 Web 聊天的空白画布,你可以完全控制其行为及其提供的用户体验。

借助反向通道机制,托管控件的网页可以采用对用户完全不可见的方式直接与机器人通信 。 此功能支持多种实用方案:

  • 网页可将相关数据发送给机器人(如 GPS 位置)。
  • 网页可就用户操作向机器人提供建议(如“用户刚从下拉列表中选择了 A 选项”)。
  • 网页可向机器人发送登录用户的身份验证令牌。
  • 机器人可将相关数据发送到网页(如用户项目组合的当前值)。
  • 机器人可向网页发送“命令”(例如更改背景色)。

使用反向通道机制

开源 WebChat 控件使用 Direct Line API 与机器人进行通信,此 API 让 activities 可在客户端和机器人之间来回发送。 最常见的活动类型是 message,但也有其他类型。 例如,活动类型 typing 表示用户正在键入或机器人正在编译答复。

通过将活动类型设置为 event,可使用反向通道机制在客户端和机器人之间交换信息,而无需将其呈现给用户。 Web 聊天控件将自动忽略 type="event" 的所有活动。

示例代码

可通过 GitHub 获得开源 Web 聊天控件。 有关如何使用开源 Web 聊天控件和 Bot Framework SDK for Node.js 实施反向通道机制的详细信息,请参阅使用反向通道机制

其他资源