microsoft/BotFramework-WebChat

A highly-customizable web-based client for Azure Bot Services.

Bot Framework Web Chat 是什么?

Bot Framework Web Chat 是一个 开箱即用、高度可定制的 Web UI,可让您将 Microsoft Bot Framework 机器人嵌入任何网站。它基于 Bot Framework 的 Direct Line(以及 Direct Line Speech)通道构建,负责处理 UI、活动渲染、文件上传、语音、自适应卡片及其他对话功能,让您专注于机器人的逻辑。


谁会使用它?

  • 希望为网站添加聊天窗口但不想从零开始构建 UI 的 Web 开发者
  • 在 Azure Bot Service 上创建机器人且需要安全、可嵌入前端的 机器人创建者
  • 希望对聊天界面进行主题化(包括 Fluent UI 主题)或使用 React 组件替换 UI 部分的 产品团队

核心功能(如 README 所述)

功能 含义
Direct Line 集成 通过从机器人密钥生成的令牌连接 UI 与机器人。
Direct Line Speech 使用 Azure Speech Services 内置语音转文本 / 文本转语音。
实时流式响应 机器人可以流式传输部分回复,边生成边发送。
自适应卡片 v1.6 渲染丰富的卡片 UI;可通过 adaptiveCardsParserMaxVersion 限制版本。
主题包 将一整套样式自定义发布为 NPM 包;实验性 Fluent UI 主题包模仿 Copilot 风格外观。
Markdown 中的 HTML Markdown 可包含安全的 HTML;可通过 styleOptions.markdownRenderHTML 禁用。
可访问性 提供视觉焦点指示器、ARIA 支持以及专用的可访问性指南。
自定义 通过 CDN 打包(简单 CSS/JS)或 React 包(完整组件重构、自定义渲染器、Redux DevTools)实现。
浏览器支持 现代浏览器(Chrome、Edge、Firefox 的最新两个版本)。v4.16 之后不再支持 IE 11。
安全性 推荐使用内容安全策略(Content-Security-Policy);建议使用令牌认证而非暴露机器人密钥。

如何快速开始(来自 README 的简要步骤)

  1. 在 Azure Bot Service 中 创建一个机器人
  2. 从 Azure 门户获取 Web Chat 密钥,并将其兑换为 Direct Line 令牌。
  3. 添加脚本(或安装 NPM 包)到您的页面。
  4. 调用 WebChat.renderWebChat({ directLine: WebChat.createDirectLine({ token }) }, element)(或使用 React 的 <ReactWebChat> 组件)。
  5. 可选地,通过 React API 自定义颜色、大小、CSS,或替换组件。

获取更多信息的途径

  • CHANGELOG.md – 详细的版本变更记录。
  • docs/ – API 参考、迁移指南、可访问性、本地化、遥测和语音文档。
  • samples/ – CDN 打包、React 主机、ES5 打包和自定义主题包的现成示例。
  • NPM – 包 botframework-webchat(完整功能打包)和 botframework-webchat-fluent-theme(用于 Fluent UI 主题)。

TL;DR

Bot Framework Web Chat 是由 Microsoft 维护的、适用于 Azure Bot Framework 机器人的生产级 Web 客户端。它提供开箱即用的 UI、语音、自适应卡片、主题化以及深度 React 级别的自定义能力,同时鼓励使用安全的令牌认证和现代浏览器。

相关

  • 项目
  • 项目
  • 项目
  • 项目