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 的简要步骤)
- 在 Azure Bot Service 中 创建一个机器人。
- 从 Azure 门户获取 Web Chat 密钥,并将其兑换为 Direct Line 令牌。
- 添加脚本(或安装 NPM 包)到您的页面。
- 调用
WebChat.renderWebChat({ directLine: WebChat.createDirectLine({ token }) }, element)(或使用 React 的<ReactWebChat>组件)。 - 可选地,通过 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 级别的自定义能力,同时鼓励使用安全的令牌认证和现代浏览器。
相关
- 项目
- 项目
- 项目
- 项目