IBM Cloud Docs
Web 聊天的工作方式

Web 聊天的工作方式

Web 聊天提供了一个易于使用的聊天机器人界面,您可以在不编写任何代码的情况下将其添加到 Web 站点。

将 Web 聊天脚本添加到 Web 站点后,您的客户会看到一个启动程序图标,他们可以单击该图标以打开聊天窗口并开始与助手的对话。 启动程序图标的外观适用于桌面和移动浏览器。

当客户点击启动器时,网络聊天窗口打开,最初显示_主屏幕_。 主屏幕会显示问候语以及一系列常见问题和难题的可选建议对话。 客户可以点击对话开始按钮,或在输入栏中输入信息,与助手开始对话。

启动器图标、主屏幕以及网络聊天的大多数其他方面的外观和行为都可以进行配置和自定义,以符合您的网站风格和品牌。 有关更多信息,请参阅 配置 Web 聊天

发射器的外观和行为

网络聊天启动器欢迎并吸引客户,以便他们在需要时知道从哪里获得帮助。 默认情况下,网络聊天启动器显示为一个圆圈,位于右下角的初始启动器示例

15秒后,启动器会展开,向用户显示问候语。 在这种扩展状态下,客户仍然可以点击启动器打开网络聊天。 (如果客户在启动器展开之前重新加载页面或导航到其他页面,15秒计时器将重新开始计时。)

这种扩展状态的外观会因客户使用的是桌面浏览器还是移动浏览器而略有不同:

  • 对于桌面浏览器,扩展的启动器显示两个主要按钮,客户可以点击它们打开网络聊天,也可以点击“关闭”按钮关闭启动器。

    桌面启动器示例

    即使客户重新加载页面或导航至其他页面,扩展后的启动器仍保持扩展状态。 它一直处于展开状态,直到顾客打开它。 客户只需点击两个主按钮中的一个即可打开。 当客户关闭它时,它将在会话的剩余时间内恢复到初始的小状态。

  • 对于移动浏览器,启动器仅显示一个主按钮。

    移动发射器的示例

    客户可以通过滚动页面、向右滑动展开的启动器或等待10秒来关闭启动器,此时展开的启动器会自动缩小回初始状态。 如果用户在启动器展开时重新加载页面或导航至其他页面,启动器将保持展开状态,10秒计时器将重新开始计时。

下一次页面刷新后,如果启动程序保持在其小状态而未被点击,那么它会上下跳动以吸引客户的注意力。 第一次退信在页面刷新后 15 秒发生; 如果客户仍未单击启动程序,那么会在 60 秒后再次退信。 (如果用户刷新页面或浏览到其他页面,那么第二次退信的时间可能会受到影响。) 如果用户仍未单击启动程序,那么不会再次跳出。

启动程序中显示的缺省文本的语言取决于为 Web 聊天配置的语言环境。 如果定制问候语文本,那么将使用您提供的文本,而不考虑语言环境设置。

您可以在 Web 聊天设置中配置启动程序的颜色和问候消息文本。 有关更多信息,请参阅 配置 Web 聊天

呈现助手输出

除了纯文本之外,watsonx Assistant 还支持许多可用于输出多媒体和交互式元素的响应类型。 Web 聊天包含对各种响应类型的内置支持:

  • 文本格式化: Web 聊天支持对使用 Markdown 或 HTML 的文本进行格式化。 有关更多信息,请参阅 Markdown 格式设置
  • URL: 有效的 URL (例如 http://example.com) 将自动呈现为可单击的链接。 当客户单击 Web 聊天中的链接时,目标 Web 站点将在新的浏览器选项卡中打开。
  • 选项: 选项响应 (当助手要求客户从一组选项中进行选择时) 会自动呈现为交互式元素。 (缺省情况下,一组少于五个选项将呈现为一组可单击按钮; 五个或更多选项将呈现为下拉列表。)
  • 日期: 当助手要求客户指定日期时,Web 交谈会显示交互式日期选取器。 客户可以通过单击日期选取器或在输入字段中输入有效的日期值来指定日期。
  • 多媒体响应: Web 聊天支持所有多媒体响应类型 (audioimagevideo)。
  • iframe: Web 聊天支持 iframe 响应类型,此响应类型将 HTML 内容 (例如表单或交互式映射) 直接嵌入到 Web 聊天窗口中。

有关 Web 聊天如何处理特定响应类型的更多信息,请参阅 响应类型参考

Markdown 格式设置

在来自助手的文本响应中,可以使用 Markdown 格式来应用突出显示 (例如斜体),或者包含诸如段落和标题之类的元素。 Markdown 格式的一些常见示例包括:

  • 标题:

    # First-level heading
    
    ## Second-level heading
    
  • 突出显示:

    This text includes *italic* and **bold** highlighting, as well as a `code` snippet.
    
  • 列表:

    1. ordered
    2. list
    
    - bulleted
    - list
    
  • 表:

    | Column 1 | Column 2 |
    |----------|----------|
    | Row      | One      |
    | Row      | Two      |
    
  • 链接:

    [This link](https://www.ibm.com/products/watson-assistant/demos/lendyr/demo.html) opens in a new tab.
    
    [This link](https://www.ibm.com/products/watson-assistant/demos/lendyr/demo.html){{target=\"_self\" rel=\"noopener noreferrer\"}} opens in the same tab.
    

有关 Markdown 格式的更多信息,请参阅 CommonMark 规范

实时代理传输

Web 聊天支持在助手无法处理的情况下将客户转移给人员。 如果配置其中一个受支持的联系中心集成,那么 Web 聊天可以打开单独的聊天窗口,客户可以在该窗口中与实时代理进行通信。

然后,在助手无法处理客户请求的情况下,助手可以启动传输。 (有关启动传输的更多信息,请参阅 连接到实时代理。)

有关如何将联系中心集成添加到 Web 聊天的信息,请参阅 添加联系中心支持

技术详细信息

Web 聊天通过简短的 JavaScript 代码片段显示在您的 Web 站点上,该代码片段调用由 IBM Cloud托管的其他 JavaScript 代码。 托管的代码将使用新功能和修订自动更新,因此缺省情况下,您始终具有最新版本。 (如果您希望自己控制升级,那么可以选择 锁定特定版本。)

创建 Web 聊天窗口小部件的代码片段包含一个配置对象,您可以修改该配置对象以更改 Web 聊天的外观和行为。 配置对象还指定使 Web 交谈能够连接到助手的详细信息。 如果您乐于编写 JavaScript 代码,那么可以通过修改代码片段并使用 Web 聊天 API 来定制 Web 聊天。

Web 聊天使用 watsonx Assistant v2 有状态 API 与助手进行通信。 缺省情况下,会话在 5 分钟处于不活动状态后结束,而对话在分钟后结束。 这意味着,如果用户停止与助手交互,5分钟后,之前对话中设置的任何上下文变量值都将设置为空或恢复为初始值。 您可以更改助手设置中的不活动超时设置 (如果计划允许)。

辅助功能

IBM 致力于为每个人提供可访问的产品,无论年龄或能力。

Web 聊天集成符合 Web 内容辅助功能选项 2.1 级别 AA 标准。 它通过屏幕朗读器和自动化工具持续进行测试。

计费

watsonx Assistant 根据每月唯一活动用户数 (MAU) 收费。

缺省情况下,Web 聊天在新用户首次启动会话时创建唯一的匿名标识。 此标识存储在第一方 cookie 中,该 cookie 保持活动状态 45 天。 如果同一用户返回到您的站点,并在此 cookie 仍处于活动状态时再次与助手交谈,那么 Web 聊天集成将识别该用户并使用相同的用户标识。 对于同一匿名用户,每月仅向您收费一次。

在 Apple 设备上,Intelligent Tracking Prevention 功能会在 7 天后自动删除任何客户端 cookie。 如果匿名客户访问您的 Web 站点,然后在两周后再次访问,那么这两次访问将被视为两个不同的 MAU。 有关如何防止此问题的信息,请参阅 在 Web 聊天中管理用户身份信息

有关如何为计费目的定制用户身份信息处理的信息,请参阅 在 Web 聊天中管理用户身份信息

使用量的度量方式根据套餐类型而有所不同。 对于轻量套餐,使用量按从 Web 聊天集成发送到助手的 /message 调用 (API) 的数量进行度量。 对于其他所有套餐,使用量按 Web 聊天与之交互的每月活动用户 (MAU) 的数量进行度量。 允许的最大 MAU 数根据 watsonx Assistant 套餐类型而有所不同。

计划详细信息
套餐 最大使用量
企业 无限制 MAU
高级 (旧版) 无限制 MAU
Plus 无限制 MAU
试用 5,000 MAU
Lite 10,000 API(约为 1,000 MAU)

浏览器支持

Web 聊天支持各种设备和平台。 通常,如果浏览器的最后两个版本占所有桌面或移动流量的 1% 以上,那么 Web 聊天支持该浏览器。

以下列表指定 Web 聊天所需的最低浏览器软件 (包括两个最新版本,除非另有说明):

  • Apple Safari
  • Apple Safari 移动
  • Google Chrome
  • Google Chrome for Android
  • Microsoft Edge (Chromium 和非 Chromium)
  • Mozilla Firefox
  • Mozilla Firefox ESR (仅限最新的 ESR)
  • Mozilla Firefox Mobile
  • Opera
  • Samsung Mobile Browser
  • 适用于 Android 的 UC 浏览器

为了获得在移动设备上呈现 Web 聊天的最佳结果,Web 页面的 <head> 元素必须包含以下元数据元素:

<meta name="viewport" content="width=device-width, initial-scale=1" />

Cookie 和 GDPR

Web 聊天存储标识,以标识浏览器打开的长度的当前会话。 这允许 Web 聊天在用户浏览您的页面时使会话保持打开状态。 用户关闭浏览器后,将除去该信息。

  • 如果提供与 userID的 Web 交谈,那么浏览器上存储的唯一数据或 cookie 来自当前会话。 该userID 可用于根据请求删除用户数据,因为它也会作为 Watson HTTP 头信息的 customer_id 部分传递,这就是为什么userID 语法必须符合 RFC 7230 中定义的头信息字段要求(所有可见的 ASCII 字符)。 有关在 保护助手 中除去用户数据的更多信息。

  • 如果无法提供具有唯一 userID 的 Web 聊天,请添加具有生成的匿名标识的第一方 cookie。 Cookie 保持活动 45 天,以确保我们对一个用户进行一次计数,即使在当月进行多次访问,也不会污染计费指标。

Web 聊天可对使用的功能进行分析,从而不断改善用户体验。 收集的任何数据都不会向 IBM标识最终用户,并且不会跨不同 Web 站点跟踪用户。 我们仅记录 Web 聊天中的行为。

语言支持

缺省情况下,Web 聊天以英语显示硬编码标签和消息,但对于 watsonx Assistant支持的所有语言内置了支持。 您还可以从广泛的语言环境中进行选择,以便为全局受众定制字符串 (例如日期和时间) 的显示。

无论您使用哪种语言,您还可以定制任何硬编码字符串的文本。

有关更多信息,请参阅 在 Web 聊天中支持全局受众

安全性

缺省情况下,将使用传输层安全性 (TLS) 对在 Web 聊天和助手之间发送的所有消息进行加密。 如果您需要更强大的保护,那么可以启用 Web 聊天安全功能。

您在 Web 站点上包含的 Web 聊天嵌入脚本包含使 Web 聊天能够与助手连接的唯一标识 (例如集成标识和服务实例标识)。 这些标识不被视为秘密,对于有权访问您的 Web 站点的任何人都可视。 具有这些标识的任何人都可以使用这些标识向助手发送消息并接收其回复。 但是,这些标识不能用于登录到您的帐户,对助手进行更改或检索有关助手的日志或分析信息。

如果您担心对助手进行未经授权的访问,那么可以启用 Web 聊天安全功能以实现额外的安全性,例如验证消息源和认证用户。 启用安全功能需要在 Web 站点上进行更多开发工作。 有关更多信息,请参阅 Web 聊天安全性

更新站点安全策略

如果 Web 站点使用内容安全策略 (CSP),那么必须对其进行更新以授予对 Web 聊天的许可权。

表格。 CSP 属性 列出要添加到 CSP 的值。

CSP 属性
属性
default-src "self" *.watson.appdomain.cloud "unsafe-inline"
connect-src *.watson.appdomain.cloud

对于 default-src,如果您有单独的 font-src,那么必须将 *.watson.appdomain.cloudfont-src 一起添加。

以下示例显示了完整的 CSP 元数据标记:

<meta
  http-equiv="Content-Security-Policy"
  content="default-src 'self' *.watson.appdomain.cloud fonts.gstatic.com 'unsafe-inline';connect-src *.watson.appdomain.cloud" />
允许元素

如果 CSP 使用现时标志将 <script><style> 标记之类的元素添加到允许列表,请不要使用 unsafe-inline 来允许所有此类元素。 请改为向 Web 聊天窗口小部件提供现时标志值作为配置选项。 Web 聊天在其动态生成的任何 <script><style> 元素上设置现时标志。

将现时标志传递到 Web 聊天窗口小部件的 CSP 可能如下所示:

<meta
  http-equiv="Content-Security-Policy"
  content="default-src 'self' *.watson.appdomain.cloud fonts.gstatic.com 'nonce-<server generated value>';connect-src *.watson.appdomain.cloud"
>

您可以通过编辑嵌入脚本将现时标志传递到 Web 聊天,如下所示:

window.watsonAssistantChatOptions = {
  integrationID: "YOUR_INTEGRATION_ID",
  region: "YOUR_REGION",
  serviceInstanceID: "YOUR_SERVICE_INSTANCE",

  cspNonce: "<server generated value>",

  onLoad: function(instance) {
    instance.render();
  }
};

访问 Web 聊天主机

如果托管 Web 站点的系统具有有限的因特网访问权 (例如,如果使用代理或防火墙),请确保可访问以下 URL:

  • https://web-chat.global.assistant.watson.appdomain.cloud: 托管 Web 聊天窗口小部件的代码,并由您在 Web 站点上嵌入的脚本引用。
  • https://integrations.{location}.assistant.watson.appdomain.cloud: 托管 Web 聊天服务器,用于处理与助手的通信。 将 {location} 替换为服务实例所在数据中心的位置,这是服务端点 URL 的一部分。 更多信息,请参阅 查找和更新端点 URL

复审安全性

Web 聊天集成会定期进行测试和扫描,以查找和解决潜在的安全问题,例如跨站点脚本编制 (XSS) 漏洞。

请确保运行您自己的安全评论,以了解 Web 聊天如何与您当前的 Web 站点结构和策略相符。 Web 聊天托管在您的站点上,并且可以继承您的站点存在的任何漏洞。 通过 HTTPS 提供内容,使用内容安全策略 (CSP),并实施其他基本的网络安全预防措施。

正在复制会话状态

Web 聊天集成将当前会话的状态作为高速缓存存储在用户的 Web 浏览器中。 当用户向助手发送查询时,助手会随会话当前状态的副本一起应答。 当助手会话由于 不活动超时 而在服务器中到期时,Web 聊天会创建新会话并将先前的会话状态复制到新会话。 因此,如果会话在用户处于对话中间时到期,那么用户将从用户获取无缝对话。 仅当用户在打开 Web 聊天的情况下保持浏览器选项卡时,才会保留此状态。 如果用户重新装入页面,离开页面或关闭选项卡,那么此会话状态将丢失,并且他们将在下次打开 Web 聊天时获得具有新状态的新会话。 当服务器上的会话到期时,将向用户显示一条警告,指示他们将需要发送消息以继续对话。

Web 聊天所存储的会话状态不包含任何 专用变量。 这些变量仅存储在服务器中。 当助手在新会话 (在旧服务器会话到期后启动) 中从服务器复制旧会话状态时,将丢失从旧会话设置的任何专用变量。