此儲存庫包含 Bot Framework Web 聊天元件的程式碼。 Bot Framework Web 聊天元件是 Bot Framework v4 SDK 的高度可自訂的基於 Web 的用戶端。 Bot Framework SDK v4 使開發人員能夠對對話進行建模並建立複雜的機器人應用程式。
這個儲存庫是 Microsoft Bot Framework 的一部分,這是一個用於建立企業級對話式 AI 體驗的綜合框架。
Web 聊天支援內容安全策略 (CSP)。建議 Web 開發人員啟用 CSP 以提高安全性並保護對話。您可以在本文中閱讀有關 CSP 的更多資訊。
本節指出重要的版本註解。有關更多信息,請參閱相關連結並查看
CHANGELOG.md
注意:建議 Web 開發人員使用~
(波形符範圍)來選擇次要版本,其中包含新功能和/或修復。使用^
(插入符號範圍)選擇主要版本,其中可能包含重大變更。
在此版本中,我們專注於效能改進,包括記憶體和載入時間優化。
機器人現在可以直播他們的回答。在 Bot Framework SDK 支援此功能之前,機器人作者可以按照 LIVESTREAMING.md 中的詳細資訊建立直播回應。
Web Chat 現在與 CommonJS(命名和未命名導出)一起匯出為 ES 模組(命名導出)。
最終用戶現在可以在將文件上傳到機器人之前添加訊息並確認。若要選擇退出新體驗,請在樣式選項中傳遞sendAttachmentOn: 'send'
。
我們很高興添加主題包支援。開發人員現在可以將所有自訂打包到一個套件中並將其發佈到 NPM。
我們很高興地宣布 Fluent UI 主題包正在開發中,目前處於實驗階段。此主題包專為希望為客戶帶來原生 Copilot 使用者體驗的 Web 開發人員而設計。
我們將繼續添加新功能,並以同等程度支援白標體驗和 Fluent UI 體驗。
您可以使用
封裝 Web Chat 來嘗試新體驗。
import ReactWebChat from 'botframework-webchat' ;
import { FluentThemeProvider } from 'botframework-webchat-fluent-theme' ;
export default function MyComponent ( ) {
return (
< FluentThemeProvider >
< ReactWebChat / >
< / FluentThemeProvider >
) ;
}
Web Chat 現在將在 Markdown 中呈現 HTML。我們已經將我們的清理程序和輔助功能修復程序移植到 HTML 層級。 Markdown 和 HTML-in-Markdown 都將受到相同的處理,並滿足我們的安全性和可訪問性要求。
您可以透過將styleOptions.markdownRenderHTML
設定為false
來關閉此選項。
Web Chat 現在支援高達 1.6 的自適應卡架構。自適應卡中的某些功能處於預覽狀態或設計為在 Bot Framework 之外使用。網路聊天不支援這些功能。
從 4.16.0 開始,不再支援 Internet Explorer。在 Internet Explorer 11 正式退役一年多後,我們決定停止支援 Internet Explorer。這將有助於我們為網路聊天帶來新功能。 4.15.9 是最後一個以有限方式支援 Internet Explorer 的版本。
adaptiveCardsParserMaxVersion
Web Chat 4.12.1 修補程式包含一個新的樣式屬性,讓開發人員可以選擇最大自適應卡架構版本。有關程式碼更改,請參閱 PR #3778。
若要指定不同的最大版本,您可以調整樣式選項,如下所示:
window . WebChat . renderWebChat (
{
directLine ,
store ,
styleOptions : {
adaptiveCardsParserMaxVersion : '1.2'
}
} ,
document . getElementById ( 'webchat' )
) ;
PR #3703 中的 Web Chat 新增了新的輔助使用更新。預設情況下,此變更為轉錄本(粗體黑色邊框)和aria-activedescendent
聚焦活動(黑色虛線邊框)建立視覺焦點。在適用的情況下, transcriptVisualKeyboardIndicator...
值也將應用於輪播( CarouselFilmStrip.js
)子項。這樣做是為了匹配自適應卡目前的預設焦點樣式,該卡可能是輪播的子項目。
要修改這些樣式,您可以透過styleOptions
更改以下屬性:
transcriptActivityVisualKeyboardIndicatorColor: DEFAULT_SUBTLE,
transcriptActivityVisualKeyboardIndicatorStyle: 'dashed',
transcriptActivityVisualKeyboardIndicatorWidth: 1,
transcriptVisualKeyboardIndicatorColor: 'Black',
transcriptVisualKeyboardIndicatorStyle: 'solid',
transcriptVisualKeyboardIndicatorWidth: 2,
上面的程式碼顯示了您將在網路聊天中看到的預設值。
Web Chat API 已重構為單獨的套件。要了解更多信息,請查看 API 重構摘要。
從 Web Chat 4.7.0 開始,支援 Direct Line Speech,這是在 Web Chat 中提供整合語音功能的首選方式。我們正在努力縮小 Direct Line Speech 和 Web Speech API(包括認知服務和瀏覽器提供的語音功能)之間的功能差距。
從 Web Chat 4.6.0 開始,Web Chat 需要 React 16.8.6 或更高版本。
儘管我們建議您儘早升級主機應用程序,但我們知道主機應用程式可能需要一些時間才能更新其 React 依賴項,特別是對於大型應用程式。
如果您的應用程式尚未準備好使用 React 16.8.6,您可以按照混合 React 範例在您的應用程式中使用雙主機 React。
網路聊天中有關語音和輸入提示的行為預期發生了重大變化。詳細資訊請參閱4.5.0之前的輸入提示行為部分。
查看遷移文件以了解如何從 Web Chat v3 進行遷移。
首先,使用 Azure 機器人服務建立一個機器人。建立機器人後,您將需要在 Azure 入口網站中取得機器人的 Web 聊天金鑰。然後使用該密鑰產生令牌並將其傳遞到您的網路聊天。
Web 聊天在 Direct Line 和 Direct Line 語音頻道之上提供 UI。有兩種方法可以透過客戶端的 HTTP 呼叫連接到您的機器人:發送機器人金鑰或透過金鑰產生令牌。
我們強烈建議使用令牌 API,而不是向應用程式提供您的金鑰。若要了解更多原因,請參閱有關令牌 API 和用戶端安全性的驗證文件。
如需進一步閱讀,請參閱以下連結:
將 Web 聊天與 Azure Bot 服務驗證結合使用
增強的 Direct Line 驗證功能
Web Chat 旨在使用 JavaScript 或 React 與您現有的網站整合。與 JavaScript 整合將為您提供適度的樣式和可自訂性選項。
您可以使用完整的、典型的 Web 聊天包(稱為全功能包),其中包含最常用的功能。
以下是將網頁聊天控制項新增至您的網站的方法: